Commit Graph

82 Commits

Author SHA1 Message Date
pre-commit-ci[bot]
f413a569b3 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2025-10-31 21:06:39 +00:00
PhoneDroid
ba99bc5da4 [ CAM ]: Update SPDX License Identifiers 2025-10-31 17:00:32 -04:00
David Kaufman
e3874a1973 [CAM] make the adaptive model aware feature optional (#24553)
* [CAM] make the adaptive model aware feature optional

* fix CAM tests

* placate github codql

* remove model-aware-only properties from the adaptive task ui panel
2025-10-17 10:42:15 -05:00
ᴩʜᴏɴᴇᴅʀᴏɪᴅ
cab1261a42 CAM: Remove UTF-8 coding declarations (#24527)
These declarations are no longer needed for Python 3+.
2025-10-09 13:49:18 -05:00
sliptonic
768cbbc85b Merge pull request #23856 from Connor9220/library-editor
CAM: Replace the main library editor dialog and add copy & paste & drag & drop support
2025-09-15 10:37:19 -05:00
sliptonic
4ae36283d0 Ensure Qt5 compatibility with enums
Correct LGPL headers

rework bullnose  Fixes #19050
2025-09-12 15:24:16 -04:00
Billy
81faf7727c CAM: Remove hardcoded style for Tool Number, Fix TestPathToolBitSerializer
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
2025-09-12 14:18:33 -04:00
sliptonic
10d1031e9b Make default postprocessor empty string. (#23706)
* 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>
2025-09-11 16:07:38 -05:00
Samuel Abels
2168e3cd99 CAM: Add AssetManager.copy() and .deepcopy()
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
2025-09-11 10:45:41 -05:00
David Kaufman
f156e467c9 [CAM] Fix ramp dressup performance (#21944)
* [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
2025-09-02 10:32:03 -05:00
Samuel Abels
173ee65b8b CAM: Fix: rename vbit and threadmill back to v-bit and thread-mill to avoid backward compatibility issues 2025-06-30 22:59:14 +02:00
Samuel Abels
3829e1db76 CAM: Fix: Remove invalid normalization of shape name 2025-06-30 20:26:51 +02:00
Samuel Abels
33935cf73e CAM: store tool quantities in user units, not metric 2025-06-29 11:52:07 +02:00
Samuel Abels
11d5707141 CAM: Fix: custom shape attributes not showing in toolbit editor 2025-06-29 01:30:06 +02:00
sliptonic
7545c9fd23 Merge pull request #21961 from knipknap/tool-cleanups
CAM: Some cleanups (moving DetachedDocumentObject around)
2025-06-23 15:02:24 -05:00
LarryWoestman
4e30eb21c6 CAM: added command line arguments for finish label, (#21881)
output machine name, and post operation.
	With tests.
2025-06-23 10:45:19 -05:00
Samuel
034b8bf579 CAM: Show abbreviations next to properly labels in the toolbit editor (#21887) 2025-06-16 10:40:32 -05:00
Samuel Abels
b88bafc138 CAM: fix: broken import in tests 2025-06-12 18:17:21 +02:00
Samuel Abels
07d466e1fb CAM: move DetachedDocumentObject into a dedicated module for better reuse 2025-06-12 17:01:36 +02:00
Samuel
39e79cee58 CAM: fix default asset directory (#21775) 2025-06-05 08:20:19 -05:00
tarman3
c30407cbbf CAM: Vcarve - fix zStart 2025-06-02 22:53:37 +03:00
sliptonic
2a26a38f0f Merge pull request #21425 from knipknap/btl
CAM: Integration of the tool and shape editors from BTL (Better Tool Library)
2025-06-02 10:37:38 -05:00
sliptonic
8140329f5d Merge pull request #21563 from LarryWoestman/tests
CAM:  added command line arguments for line number start, increment
2025-06-02 10:07:22 -05:00
Samuel Abels
d2f2befaa9 CAM: Handle import of unknown shape types gracefully; allow case insensitive filenames, and allow invalid tool ID data type 2025-05-29 19:50:51 +02:00
sliptonic
17e56f6570 Merge pull request #21416 from jffmichi/custom_gcode_allow_empty_lines
CAM: allow empty lines in Custom operation
2025-05-29 09:47:32 -05:00
Samuel Abels
a68e3cd11c CAM: No need to copy defaultl shapes anymore, because the asset manager now dynamically fetches built-in shapes as a fallback 2025-05-27 16:04:10 +02:00
Samuel Abels
857d7269ee CAM: Improved handling of toolbit shape type inference 2025-05-27 12:07:19 +02:00
Samuel Abels
b2176b0731 CAM: Improve LinuxCNC and Camotics serializer tests 2025-05-26 23:53:30 +02:00
pre-commit-ci[bot]
2a569e4407 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2025-05-26 17:17:07 +00:00
Samuel Abels
b0a900f335 CAM: AssetManager now supports passing mutilple stores to all get_*() methods 2025-05-26 17:40:03 +02:00
Samuel Abels
2239603398 CAM: Rename getBuiltinToolPath to getBuiltinAssetPath 2025-05-26 17:34:49 +02:00
Lawrence Woestman
77410cf1b5 CAM: added command line arguments for line number start, increment
Also added command line arguments for listing tools in preamble
2025-05-24 18:43:11 -07:00
sliptonic
2d413d271c Merge pull request #21437 from mosfet80/moveLibarea
Update clipper lib
2025-05-20 08:39:56 -05:00
jffmichi
70f3c7c387 CAM: add configuration value to suppress blank lines in refactored postprocessors 2025-05-20 02:37:00 +02:00
Lawrence Woestman
e741a761ff CAM: added three command line arguments, with tests 2025-05-19 13:52:20 -07:00
Samuel Abels
8670cb839c CAM: Fix Gui test for ToolBitBrowserWidget 2025-05-19 21:02:54 +02:00
Samuel Abels
d749098dcb CAM: Replace complete tool management (PR 21425) 2025-05-19 20:27:28 +02:00
Andrea
043646477b update clipper 2025-05-19 16:40:24 +02:00
jffmichi
3bcc702de9 CAM: add test for refactored postprocessor using dressups 2025-05-07 04:58:07 +02:00
jffmichi
f4d853e5dc CAM: respect SHOW_OPERATION_LABELS in post-operation information 2025-05-07 04:56:08 +02:00
sliptonic
8336d8c475 Merge pull request #20928 from LarryWoestman/refactor
CAM:  Fix tool changes not correctly output in gcode in the refactored code base
2025-05-06 10:47:47 -05:00
sliptonic
205c556e69 Merge pull request #20591 from jalapenopuzzle/jalapenopuzzle/cam_snapmaker_machine_types
CAM: snapmaker improve support for different machine variants and toolheads
2025-05-05 10:47:07 -05:00
Lawrence Woestman
8cb1f6fc1c CAM: Fix tool change output errors, with tests 2025-04-22 14:57:45 -07:00
sliptonic
0749068c09 Merge pull request #18880 from dbtayl/adaptive_roughing
[CAM] Adaptive roughing/overhang detection
2025-04-21 09:21:13 -05:00
jalapenopuzzle
5f2792968b CAM: Snapmaker use manufacturer's data table instead of calculating boundary offsets 2025-04-14 08:03:17 +10:00
pre-commit-ci[bot]
c7773b5d4d [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2025-04-14 08:03:17 +10:00
jalapenopuzzle
9298ad8ad0 CAM: snapmaker add --quick-swap and --bracing-kit options 2025-04-14 08:03:16 +10:00
jalapenopuzzle
42636926ca CAM: snapmaker clean output_header() 2025-04-14 08:03:16 +10:00
jalapenopuzzle
5eaa6326a4 CAM: snapmaker toolheads and spindle speeds
* 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.
2025-04-14 08:03:14 +10:00
jalapenopuzzle
699a25e243 CAM: snapmaker --machine is a required option 2025-04-14 08:03:14 +10:00