FreeCAD / FreeCAD/FreeCAD

Sketcher: Sketch jumps between 3 states and Auto remove redundants fails to aid the user

Open
#26,990 2 comments 0 reactions 0 assignees View on GitHub
Mod: Sketcher Status: Confirmed Type: Bug
Dominant language
C++
Stars
33.6k
Forks
6k
Avg merge
3d 15h
Merged PRs (30d)
196

Description

### Problem description

In this simple sketch, adding two arcs is way too problematic. The struggle is shown in a YouTube tutorial starting from here: https://youtu.be/pCkFo42xGCg?si=3dqFMTYoi_3WxwzJ&t=1364

Image

The author manages to actually constrain the sketch only when he disables "Auto remove redundants" (which IMO shouldn't be necessary).

There are a few problems here:
1. Adding a circle from the center breaks the constraints of the centered rectangle. Here, there are two such circles, so the problems happen twice.
2. Constraints are annoyingly often removed by "Auto remove redundants".
3. The sketch changes state when just moving or closing it.

IMO Auto remove redundants should be more robust (this part could be a feature request), but the state changes shouldn't happen so easily (this looks like a bug).

### Workbench affected?

Sketcher

### Steps to reproduce

[Arcs with redundancy.zip](https://github.com/user-attachments/files/24691848/Arcs.with.redundancy.zip)

1. Change the extension to .FCStd and open the file.
2. Open Sketch005.
3. Drag the underconstrained arc a bit to the right.
4. Apply a coincident constraint between the center of that arc and the origin. The sketch becomes fully constrained.
5. Exit the sketch - there will be an error about redundant constraints.
6. Open the sketch again - now it's orange. Drag something, and it will be back to underconstrained (standard color).

Even if you disable "Auto remove redundants" and then proceed with step 4, the sketch will initially become orange, but then it will get fully constrained after dragging it, but will keep showing warnings about partially redundant constraints.

I know that "Auto remove redundants" has some limitations, should be used carefully, and the user should be more cautious in general and watch out for redundant constraints. However, I also think that this option could be "smarter" and help users more like commercial software does - you won't get such issues there. In terms of that, this issue reminds #10248 - there the idea was also to make "Auto remove redundants" more reliable.

### Expected behavior

More robust "Auto remove redundants", no such jumps between the sketch states

### Actual behavior

"Auto remove redundants" makes it too problematic to constrain this simple sketch, and there are several sketch state changes

### Development version About Info (in Safe Mode)

```shell
OS: Windows 11 build 26200
Architecture: x86_64
Version: 1.2.0dev.20260113 (Git shallow)
Build date: 2026/01/13 22:48:50
Build type: Release
Branch: (HEAD detached at 4cc0a1b)
Hash: 4cc0a1b718735be10261d936066cf1382dd51884
Python 3.11.14, 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.2, OCC 7.8.1
Locale: Polish/Poland (pl_PL)
Navigation Style/Orbit Style/Rotation Mode: Blender/Rounded Arcball/Window center
Stylesheet/Theme/QtStyle: FreeCAD.qss/FreeCAD Light/
Logical DPI/Physical DPI/Pixel Ratio: 96/81.5973/1
```

### Last known good version (optional)

```shell

```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.