Part: Union of additive helical thread with tubular shaft fails (1.0 release, 1.1 release)
- Dominant language
- C++
- Stars
- 33.6k
- Forks
- 6k
- Avg merge
- 3d 15h
- Merged PRs (30d)
- 196
Description
### Problem description
This can be reproduced in both the 1.0 and 1.1 release versions. See STR for details.
Essentially, a union of a circular shaft and a thread created via additive helix works if and only if the shaft is not tubular for any part of the shaft which intersects with the helical thread. This results in an object with numerous non-manifold edges - it is visibly obvious in FreeCAD's UI that the object is invalid.
The expected outcome is shown on the right, and is created using the following workaround:
1. Create a solid shaft
2. Create a union with the additive helix
3. Create a cylinder matching the desired tube cutout
4. Create a cut
Note that the workaround **must** be done in this order.
Also note that later tests revealed that there can be hollow sections in the shaft as long as they are not in any area where the helical threads intersect.
### Workbench affected?
None
### Steps to reproduce
This was reproduced both with the 1.0 and 1.1 releases on Windows.
[tubular-threaded-shaft-defect-examples.zip](https://github.com/user-attachments/files/26753595/tubular-threaded-shaft-defect-examples.zip)
1. Create a tubular shaft, either by revolution or by padding a sketch with an inherent hole (other methods should work as well such as creating a tube in the Part workbench).
2. Create an additive helical thread which intersects the outer skin of the tube.
3. Select both the tubular shaft and thread in the Part workbench and create a Union
### Expected behavior
The union should be a logical fusion of the tubular shaft and the thread, and should be exportable as an STP file. See the rightmost image in description.
### Actual behavior
See left and center images in description. Invalid meshes result which cannot be exported, and even if repair of non-manifold edges is attempted they cannot be repaired.
### Development version About Info (in Safe Mode)
```shell
OS: Windows 10 build 19045
Architecture: x86_64
Version: 1.1.0.20260325 (Git shallow)
Build date: 2026/03/25 02:17:53
Build type: Release
Branch: (HEAD detached at 34a971666)
Hash: 34a9716668b1ddeb55b914f1c5be644826bdbbbf
Python 3.11.15, Qt 6.8.3, Coin 4.0.3, Vtk 9.3.1, boost 1_86, Eigen3 3.4.0, PySide 6.8.3
shiboken 6.8.3, xerces-c 3.3.0, IfcOpenShell 0.8.4, OCC 7.8.1
Locale: English/United States (en_US)
Navigation Style/Orbit Style/Rotation Mode: CAD/Trackball/Drag at cursor
Stylesheet/Theme/QtStyle: unset/FreeCAD Classic/
Logical DPI/Physical DPI/Pixel Ratio: 96/79.3403/1
Installed mods:
* A2plus 0.4.68
* A2plus-backup-before-zip-migration 0.4.68 (Disabled)
* CfdOF 1.33.7
* Curves 0.6.71
* Curves-backup-before-zip-migration 0.6.51 (Disabled)
* LCInterlocking 1.5.1
* LCInterlocking-backup-before-zip-migration (Disabled)
* Lithophane
* Pyramids-and-Polyhedrons 0.2.1
* Rocket 5.1.1
* woodworking 3.0.20260223
* woodworking-backup-before-zip-migration 1.1.0.dev.1.1.1.2025.10.18 (Disabled)
```
### Last known good version (optional)
```shell
```
Contributor guide
Assessment
This issue has not been assessed yet.