Draft arrays and Part mirror of link (with link transform) do not respect placement applied to original
- Dominant language
- C++
- Stars
- 33.6k
- Forks
- 6k
- Avg merge
- 3d 15h
- Merged PRs (30d)
- 196
Description
### Problem description
I'm using the Part workbench. In the first image, I have a sketch and an extrusion of the sketch. A placement offset has been applied to the extrusion.
To this, I have applied Part Mirror over the XZ plane. The placement of the original is respected.
And I can also make a Draft array, and this too respects the placement.
Next, we have a link with link transform. This is still good.
But this one is with Part Mirror applied to the link. The mirrored piece is totally in the wrong place.
Finally, in this one, I've applied Draft Array to the link, and it's making an array out of the original placement, not respecting the placement applied to the original.
### Workbench affected?
Part
### Steps to reproduce
[mirror-array-link-bug.FCStd.zip](https://github.com/user-attachments/files/29261377/mirror-array-link-bug.FCStd.zip)
See the attached design. You can hide and unhide the various permutations.
Steps:
- Make an object in Sketcher.
- Extrude it in Part
- Apply an offset
- Make a link
- Try to Part Mirror or Draft Array the link
### Expected behavior
Mirror and Array should respect the placement.
### Actual behavior
Mirror and Array do not respect the placement.
### Development version About Info (in Safe Mode)
```shell
OS: macOS 26.5
Architecture: arm64
Version: 26.3.0dev.47371 +3 (Git)
Build date: 2026/06/22 20:12:45
Build type: Debug
Branch: fix/sketcher-axiscross-oob
Hash: 2cb852e429901dfd2a6165415a2c33f6a37d7b3d
Python 3.11.14, Qt 6.8.3, Coin 4.0.8, Vtk 9.3.1, boost 1_86, Eigen3 3.4.0, PySide 6.8.3
shiboken 6.8.3, xerces-c 3.3.0, Clipper2 , IfcOpenShell 0.8.2, OCC 7.8.1
Locale: English/United States (en_US) [ OS: English/United States (en_US) ]
Stylesheet/Theme/QtStyle: unset/Classic/
Navigation Style/Orbit Style/Rotation Mode: Touchpad/Trackball/Drag at cursor
Logical DPI/Physical DPI/Pixel Ratio: 72/127.5/2
Installed mods:
* Curves workbench 0.6.71
* Fasteners Workbench 0.5.39
* FreeCADMCPAgent
* Lattice2 Workbench 1.0.0
* OpenSCAD alternate importer 1.0.0
* Pyramids-and-Polyhedrons
* TextManipulation
* freecad.gears workbench 1.3.0
```
### Last known good version (optional)
```shell
```
Contributor guide
Research direction
Start with the attached mirror-array-link-bug.FCStd design and reproduce the Part Mirror and Draft Array cases after applying an offset to the extrusion and creating a link. Compare the original and transformed placements in both permutations; done means Part Mirror and Draft Array preserve the link's placement as shown in the expected behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- computer-graphics, desktop
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100