FreeCAD / FreeCAD/FreeCAD

Sketcher: B-splines hate symmetry and/or tangent

Open
#14,040 3 comments 0 reactions 0 assignees View on GitHub
Mod: Sketcher Priority: High Type: Feature
Dominant language
C++
Stars
33.6k
Forks
6k
Avg merge
3d 15h
Merged PRs (30d)
196

Description

### Is there an existing issue for this?

- [X] I have searched the existing issues

### Problem description

Sketcher solver will oscillate between "Over constrained" and "Under constrained" when B-splines have a symmetry and a coincident constraint at the end. Easiest to reproduce with ends on arcs with additional tangent constraints.

Might be a tangent constraint issue actually. I have no idea.

The attached test case shows as okay in this screenshot, but if you try to drag b-splines around it'll claim redundancy about every other twiddle.
![Screenshot_20240515_164122](https://github.com/FreeCAD/FreeCAD/assets/2147138/39bfaca3-d0a9-445d-ac74-d36dd68fa47f)
[bspline-solver-buggies.zip](https://github.com/FreeCAD/FreeCAD/files/15326888/bspline-solver-buggies.zip)

### Full version info

```shell
OS: Gentoo Linux (KDE/plasma)
Word size of FreeCAD: 64-bit
Version: 0.22.0dev.37249 (Git) AppImage
Build type: Release
Branch: main
Hash: 3acbc561f299b4cddea8215c387a52f3d5132cf6
Python 3.11.9, Qt 5.15.13, Coin 4.0.2, Vtk 9.2.6, OCC 7.7.2
Locale: English/United States (en_US)
Installed mods:
* parts_library
* Curves 0.6.36
* A2plus 0.4.64a
* DynamicData 2.62.0
* Assembly4 0.50.12 (Disabled)
* Alternate_OpenSCAD 1.0.0 (Disabled)
* CurvedShapes 1.0.9
* fasteners 0.5.20
* SearchBar 1.0.2
* Nodes 0.1.36 (Disabled)
* 3D_Printing_Tools
* workfeature
* MnesarcoUtils 0.2.5
* OpenTheme 2024.5.3
* Manipulator 1.5.7
* Assembly3 0.12.2
* lattice2 1.0.0
* Launcher
* CommandPanel
* CubeMenu
* Reinforcement
* PieMenu 1.5.0
* MeshRemodel 1.9.23
```

### Subproject(s) affected?

Sketcher

### Anything else?

Possibly related are https://github.com/FreeCAD/FreeCAD/issues/10248 and https://github.com/FreeCAD/FreeCAD/issues/12653 and https://github.com/FreeCAD/FreeCAD/issues/13645 and https://github.com/FreeCAD/FreeCAD/issues/13930

### Code of Conduct

- [X] I agree to follow this project's Code of Conduct

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.