Started a general refactor to handle all the conversion between global and object coordinate system inside the main methods and just use object coordinates inside object functions.
Draft: Edit reordering 2
Fixed Editing of Part objects according to the new refactor
Draft: fix in autogroup function for dimensions
Draft: fixed Polygon editing when inscribed or circumscribed
Draft: Edit support for Ellipse object
.
Draft: Edit docstrings
Draft: Edit reordering 3
Draft: Fixed Edit for structure object
And also refactor Edit methods that control special object display during editing.
Draft: Fixed edit for arch wall object
New package for organizing the geometrical utility functions of
the workbench, `draftgeoutils`.
The first submodule is one that deals with general operations.
- Only apply aggressive optimizations to short horizontal moves within
cutter diameter. The safe model STL does not accurately reflect stock
state, so using it for determining long distance move safe heights is
not safe. There would be a high chance of hitting the stock at rapid
speeds.
Thankfully, the vast majority of step-overs tend to be short, so are
still optimized.
- For short moves, only allow completely lift-free transitions when
there is (almost) no Z change, and the min safe travel height does not
rise above the same level.
Otherwise, lift to the max of end points and min safe travel height
first, then move horizontally. A future optimization would be to
directly use the drop scan for transition path generation.
- add addGroup, addGroupElements, removeGroup to C++ mesh class
- expose the methods to Python
- add a unit test class
- update test commands file
- add test to fem test app module
========================================================
- Correction to mustExecute() to account for the new properties
- Make properties not used by the mode as read-only.
- Gui: apply() only for construction mode valid features