Sketcher: Underconstrained sketch reported as BOTH overconstrained and fully constrained
- Dominant language
- C++
- Stars
- 33.6k
- Forks
- 6k
- Avg merge
- 3d 15h
- Merged PRs (30d)
- 196
Description
### Problem description
I was designing a piece to fit a nema 17 shaft. So, a 5mm diameter arc connected to a flat spot.
Sketcher incorrectly reports my sketch as over-constrained, but still allows me to drag/resize part of it.
After dragging its geometry, sketcher reports the geometry as fully constrained, which it is not either.
### Workbench affected?
Sketcher
### Steps to reproduce
Create a new sketch (on whatever plane you want).
-Create a new line, across the vertical axis of the sketch.
-Apply Symmetry constraint, on its endpoints, against the vertical axis of the sketch.
-Create an arc, whose center is on the origin of the sketch and endpoints coincident with the line endpoints.
(Even at this point, if you drag a vertex, the sketch will sometimes turn red, and sketcher will complain it is over constrained, which it is clearly not !)
-Apply a radius constraint to the arc
[sketcher_bug_report.zip](https://github.com/user-attachments/files/31596780/sketcher_bug_report.zip)
### Expected behavior
The sketch should still be reported as underconstrained. The length of the line is still undefined.
### Actual behavior
Sketcher engine reports the sketch as "overconstrained", but I can still move parts of its geometry.
After I drag one of the two vertices, sketcher reports the sketch as "fully constrained" which is still incorrect.
### Development version About Info (in Safe Mode)
```shell
I encountered this issue on both 1.1.13 and 2026.08.26 weekly.
OS: Debian GNU/Linux 13 (trixie) (KDE/plasma/wayland)
Architecture: x86_64
Version: 26.3.0dev.20260825 (Git shallow) AppImage
Build date: 2026/08/25 17:50:34
Build type: Release
Branch: (HEAD detached at 964fce2ed)
Hash: 964fce2edc9a7e1905c2fd3fcd6e7be90afc8375
Python 3.11.14, Qt 6.8.3, Coin 4.0.10 (bundled), Pivy 0.6.11 (bundled), 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.0, OCC 7.8.1
Locale: French/France (fr_FR)
Stylesheet/Theme/QtStyle: FreeCAD.qss/FreeCAD Dark/
QPA/File dialog/Color dialog: xcb/via Qt/via Qt
Navigation Style/Orbit Style/Rotation Mode: Blender/Rounded Arcball/Window center
Logical DPI/Physical DPI/Pixel Ratio: 96/101.6/1
OpenGL version/vendor/renderer: 4.6.0 NVIDIA 610.57.04/NVIDIA Corporation/NVIDIA GeForce RTX 3060/PCIe/SSE2
```
### Last known good version (optional)
```shell
```
Contributor guide
Research direction
Start by reproducing the case in the Sketcher workbench using the line, symmetry, arc, coincidence, and radius constraints described. Trace how Sketcher determines the constraint state before and after dragging a vertex, then add a regression check showing that the line length remains undefined and the sketch stays underconstrained.
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
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100