Fix issue with toolshapes
Renamed fillet to radius
Added Tool Type Filter to library
Fix units so that they honor user preference
Remove the QToolBox widget from the Shape Selector page and combine into a single page.
Fix issue with PropertyBag so that CustomPropertyGroups as a string is converted to enum and enums are handled correctly.
Update TestPathPropertyBag test for enum changes.
Update TestPathToolBitListWidget
Update TestPathToolLibrarySerializer to match new LinuxCNC output
Fix LinuxCNC export too handle ALL tool types, use user preferences for units, and include all lcnc fields
* Make default postprocessor empty string.
Default post when creating a job is now not set. This will cause the user to be prompted for a post instead
This PR also cleans up some unit tests to avoid loading from disk
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
CAM: Add copy/paste support for the ToolBitBrowser
CAM: Move library dropdown and sort order combo to dedicated row to give them more space
CAM: Fix: PathAssetManagerTest failed
CAM: Add YamlSerializer
[pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
CAM: Fix CodeQL complaints
CAM: add LibraryProperties dialog
CAM: Replace the LibraryEditor
CAM: allow for editing tool number in the tool editor dialog
CAM: Remember last selected library and sort order in preferences
CAM: support natural sort order in tool and library lists
CAM: Fix CodeQL complaints
CAM: Fix: not all attributes included in YAML serialization
CAM: Fix: UTF8 chars not included in LinuxCNC export
Fix: tool library not displayed when loading it for the first time
CAM: Fix: custom shape class not found
CAM: Check dependencies on import for friendlier error messages
CAM: Open file dialogs in home by default
CAM: Show "All Tools" entry in library list in the library editor
CAM: fix: error on sorting tools with no tool number
CAM: Fix: traceback if library contained tool number as string
CAM: Fix: Linter errors in manager.py
CAM: Fix: separator between library and tool buttons
CAM: Add drag & drop support to the library editor
CAM: Fix numerous linter errors on the AssetManager
CAM: Show current library in library editor window title
CAM: Add dedicated icons for library add + remove
CAM: Support F2 key in library editor
CAM: library editor handles delete key when library list is in focus; focus search field by default
CAM: fix: tool list in dock initially not loading
CAM: Fix: library editor did not open from "all tools" list
CAM: Increase precision of parameters in tool summary to 3 digits
fix TestToolBitListWidget
* [CAM] fix biggest performance problems in ramp dressup
key items:
- finding the index of the current edge with edeges.index(edge) was very
expensive; fixed by tracking the index while looping
- checking which edges were rapids with edge equality was also
expensive; fixed by keeping a list of indexes of rapid input edges,
and tagging output edges with whether or not they are rapids
* [CAM] comment out Path.Log.debug in hot segments of ramping code
Even when low level logs are supposed to be suppressed, Path.Log.debug
takes take invoking traceback.extract_stack. This time adds up if logs
are invoked in frequently run loops.
* Fix CAM test
* [CAM] reimplment ramp method 1 with faster code
* [CAM] reimplement ramp methods 2, 3, and helix
* [CAM] patch to make output match original
* [CAM] ramping full performance + functionality fix
* Removed generic snapmaker machine and toolhead configuration. The idea of running a CNC code that is not matched to the machine's abilities and work area seems dangerous.
* --machine argument is required
* --toolhead argument is required when the selected machine is compatible with more than one toolhead. When the selected machine only supports one toolhead, it is selected as the default.
* --spindle-percent defaults according to the selected toolhead capabilities. If the toolhead can do RPM, then RPM is used, otherwise falls back to percent. This option now functions as an override.
* fixed a bug in convert_spindle() when RPM is selected. The gcode was not returned.