I experienced some issues with Draft Edit on Draft Wires:
(1) A perfectly planar wire often becomes slightly non planar when editing it's vertexes.
- Select a non XY face and set it as Working Plane
- Activate Snap Working Plane
- Draw a closed Draft Wire
- A face is automatically created
- Double-click in the tree view to edit wire
- Click on a vertex and move it
- Notice while moving the vertex that Local Dz is not exactly 0.000000
- Click again the set new vertex position
- The face disappears (not always, repeat if necessary)
- Open the Points property dialog and notice that the edited vertexes have z not exactly 0.000000
(2) A wire snapped on another shape during its creation works better in Part Boolean operations than a wire snapped later during its edition
- Create a Draft polygon, Sides = 6, Radius = 1000 mm
- Extrude the polygon, Length = 1000 mm, Direction = Normal (this creates a prism)
- Select the top face of the prism and set it as Working Plane
- Draw a Wire that covers approximately (no snap) half the top face of the prism
- Double-click in the tree view to edit wire
- Activate snap EndPoint and move the wire's Vertexes exactly on the points of the prism
- Extrude the Wire, Length = 500 mm, Direction = Normal, Reversed
- Run a Part Cut on the two extrusions
- Notice that the resulting shape is bad
EditTracker.get doesn't give back the exact value set by EditTracker.set. Specifically it's coin.SoCoordinate3() that is the culprit...
I tried modifying the gui_trackers.py file like that https://github.com/FreeCAD/FreeCAD/pull/9202 and it indeed appears to partially solve the issue (there is still the problem that the wire becomes non planar when inserting a new Vertex).
I would like to have the opinion of Draft developers or users before opening an issue or PR.
There are probably better ways to solve the issue in gui_edit.py or SoCoordinate3 ? Also I dit not find were the precision is lost when inserting a new vertex...
Draft users can try the proposed fix and check if it breaks anything else...
Thanks