* CAM: Drilling - Fix regression after #26584
* CAM: Linking generator - Fix machinestate handling
Fix linking generator for drilling
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Add remaining logic to terminate canned cycles appropriately (#2)
* sorted heights
* Refactor buildPostList
Introduces early tool prep to the buildpostables.
Allows emitting a T command early to give tool changer
time to index the tool before the M6 tool change command is emitted.
updates unit testing for this use case
Not implemented in postprocessors yet.
fix
* Helper and tests for terminating canned cycles
fix cycle termination
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* CAM: setFeedRate now aware of drilling semantics (#3)
Remove retract plane property
machinestate properly handling z position
* next bugs (#4)
* setFeedRate now aware of drilling semantics
Remove retract plane property
machinestate properly handling z position
* unnecessary import.
Improved linking
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Fix rendering of canned cycles in G99 mode (#5)
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix for collision (#6)
* collision bug fix
* fix local variable
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
---------
Co-authored-by: sliptonic <shopinthewoods@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
This PR introduces a machine object and a machine library, along with a
new machine editor dialog for creating and editing *.fcm machine asset
files. The editor is integrated into the CAM preferences panel, with new
Python modules for the dialog and minimal model validation. Machine
management (add, edit, delete) is now available in the CAM asset
preferences panel.
Key Features:
- Machines now have a type and units property. The machine type can be
used to distinguish between different classes of machines (e.g., mill,
lathe, laser).
- Machine units are stored internally and in the .fcm JSON file as
metric. Note: This differs from how toolbits work (which store units in
their native units)
- Support for 2-5 axis machines.
- Support for multiple spindles (up to 9)
- Processor defaults
- JSON Text Editor with basic validation and line numbers.