Draft: dim end point is changed if dimension is constrained
- Dominant language
- C++
- Stars
- 33.6k
- Forks
- 6k
- Avg merge
- 3d 17h
- Merged PRs (30d)
- 196
Description
### Problem description
The end point picked for a linear dimension is changed if the dimension is constrained to be horizontal or vertical.
### Workbench affected?
Draft
### Steps to reproduce
1. Restart in Safe Mode.
2. Start Draft_Dimension.
3. Pick 0,0 for the 1st point by snapping to the grid.
4. Pick 10,10 for the 2nd point.
5. Hold Shift and move the cursor above y=10.
6. The preview should show a horizontal dimension, click a point to confirm the position.
7. Result: End property of the dimension object is 10,0,0.
### Expected behavior
Picked points should be preserved, alignment should be achieved through the Direction property.
### Actual behavior
End point is changed.
### Development version About Info (in Safe Mode)
```shell
OS: Ubuntu 22.04.5 LTS (ubuntu:GNOME/ubuntu/wayland)
Architecture: x86_64
Version: 1.2.0dev.20260429 (Git shallow) AppImage
Build date: 2026/04/29 07:07:16
Build type: Release
Branch: grafted,grafted
Hash: a785d40ac4c37f559b0b82fbaf9bf7dc68a468e4
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, IfcOpenShell 0.8.2, OCC 7.8.1
Locale: Dutch/Netherlands (nl_NL)
Stylesheet/Theme/QtStyle: FreeCAD.qss/FreeCAD Light/
Navigation Style/Orbit Style/Rotation Mode: CAD/Rounded Arcball/Window center
Logical DPI/Physical DPI/Pixel Ratio: 96/86.1283/1
```
### Last known good version (optional)
```shell
```
Contributor guide
Research direction
Reproduce the issue in the Draft workbench using Draft_Dimension and the listed snapping and Shift-constrained steps. Compare the picked points with the dimension object's End and Direction properties; the work is complete when the picked end point is preserved while horizontal or vertical alignment is represented by Direction.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- design
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100