Sketcher: Add a direction marker to sketch lines for better UI/UX with direction sensitive tools and views
- Dominant language
- C++
- Stars
- 33.6k
- Forks
- 6k
- Avg merge
- 3d 17h
- Merged PRs (30d)
- 196
Description
### Is there an existing issue for this?
- [x] I have searched the existing issues
### Problem description
Currently, there's no way to identify the start and end of a line segment.
While this was previously only important for BIM objects (like walls), the sketcher itself now has direction-sensitive tools (clockwise or counterclockwise).
In this video, I demonstrate how sketch direction affects the offset tool.
If the directions match, the offset is constructed without problems.
If the directions differ, the offset is created incorrectly.
https://github.com/user-attachments/assets/ee365973-1052-46f9-8227-648ef789cdba
It's likely a long and arduous process to improve the offset algorithms. BUT! We could enable users to "fix" sketches themselves.
This requires two things:
1) Line direction markers.
This option may be optional and can be enabled in the element filter.

2) Add a direction change tool.
I described its operation in another issue. https://github.com/FreeCAD/FreeCAD/issues/11957
All this will allow the user to analyze directions and change them independently WITHOUT rebuilding the entire geometry anew.
A test file is attached. Remove the .zip extension.
[SketchLineDirection.FCStd.zip](https://github.com/user-attachments/files/22560270/SketchLineDirection.FCStd.zip)
### Full version info
```shell
OS: Manjaro Linux (KDE/plasma/xcb)
Architecture: x86_64
Version: 1.1.0dev.14555 (Git shallow) AppImage
Build date: 2025/09/23 18:47:15
Build type: Release
Branch: main
Hash: e9ce06155d8d47aad7d6c079bfa8ba54df2b6081
Python 3.11.13, 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: Russian/Russia (ru_RU)
Navigation Style/Orbit Style/Rotation Mode: Revit/Turntable/Drag at cursor
Stylesheet/Theme/QtStyle: unset/FreeCAD Classic/fusion
Logical DPI/Physical DPI/Pixel Ratio: 96/91.7938/1
Installed mods:
* addFC-main 1.6.2
* Reinforcement
* SvgWorkbench-main 1.0.0.dev5
* PitchedRoof
* LyapinWorkbrench
* FreeCAD_FastenersWB-master 0.5.42
* FreeCAD_SketchArch-master
* FrameForge 0.1.3
* Road 2025.2.22
* Curves 0.6.70
* freecad.gears 1.3.0
* CurvedShapesWorkbench-master 1.0.13
* sheetmetal 0.7.53
* OpenTheme 2025.5.20
* FreeCAD_ThreadProfile-master 1.97.0
```
### Subproject(s) affected?
Sketcher
### Anything else?
_No response_
### Code of Conduct
- [x] I agree to follow this project's Code of Conduct
Contributor guide
Assessment
This issue has not been assessed yet.