FreeCAD / FreeCAD/FreeCAD

Sketcher: Underconstrained sketch reported as BOTH overconstrained and fully constrained

Open
#32,263 4 comments 0 reactions 0 assignees View on GitHub
Mod: Sketcher Status: Needs confirmation Topic: GCS Type: Bug
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)
Image
Image
Image
Image

### 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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.