Commit Graph

64 Commits

Author SHA1 Message Date
jffmichi
2c83e612b3 CAM: fix rrf postprocessor always writing to "-" instead of specified file 2025-05-14 22:00:11 +02:00
jffmichi
f0c4205507 CAM: prevent marlin postprocessor from always writing to "-" 2025-05-14 21:55:49 +02:00
jffmichi
c3f491be57 CAM: fix crash in dynapath_4060 postprocessor due to fmt function expecting precision as integer 2025-05-14 21:50:04 +02:00
jffmichi
ffdc9832e0 CAM: fix uccnc postprocessor not checking the Active state of operations 2025-05-14 21:44:48 +02:00
jffmichi
2fd2ec5f5c CAM: fix handling of Active state and CoolantMode with nested dressups for some non-refactored postprocessors 2025-05-14 21:43:31 +02:00
jffmichi
1e6637a9c8 CAM: replace opProperty with more specific activeForOp 2025-05-14 05:10:05 +02:00
jffmichi
6539f90e92 CAM: respect SHOW_OPERATION_LABELS in post-operation information 2025-05-07 04:56:08 +02:00
jffmichi
fbae84fc69 CAM: fix handling of Active state and CoolantMode with nested dressups 2025-05-07 04:46:16 +02:00
sliptonic
2b50357b45 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
2302645ace 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
778102c890 CAM: Fix tool change output errors, with tests 2025-04-22 14:57:45 -07:00
pre-commit-ci[bot]
1e015a054d [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2025-04-18 22:31:35 +00:00
Samuel Abels
77d0ca335b fix KineticNCBeamicon2_post script crash 2025-04-19 00:25:43 +02:00
Samuel Abels
f097e5da0e CAM: fix invalid syntax in snapmaker_post that caused test warnings 2025-04-19 00:25:34 +02:00
jalapenopuzzle
cdf4bc02c9 Merge branch 'main' into jalapenopuzzle/cam_snapmaker_machine_types 2025-04-18 22:05:47 +10:00
tarman3
cd673390e2 CAM: Fix postprocessors Help arguments --postamble and --preamble (#20792) 2025-04-16 11:54:04 +02:00
pre-commit-ci[bot]
ed53455c22 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2025-04-13 23:21:39 +00:00
jalapenopuzzle
6e190328a8 CAM: Snapmaker use manufacturer's data table instead of calculating boundary offsets 2025-04-14 08:03:17 +10:00
pre-commit-ci[bot]
8f7488479c [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
89a0faf8ee CAM: snapmaker add --quick-swap and --bracing-kit options 2025-04-14 08:03:16 +10:00
jalapenopuzzle
e22eb3cce9 CAM: snapmaker clean output_header() 2025-04-14 08:03:16 +10:00
jalapenopuzzle
25ba7b3c84 CAM: snapmaker add linear module lead screw pitch 2025-04-14 08:03:15 +10:00
jalapenopuzzle
394046df36 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
26c8aacc54 CAM: snapmaker --machine is a required option 2025-04-14 08:03:14 +10:00
jalapenopuzzle
f6e12966dc CAM: snapmaker machines separate T machines and capitalise names 2025-04-14 08:03:13 +10:00
jalapenopuzzle
c6f62b0523 CAM: snapmaker machines separate boundaries 2025-04-14 08:03:12 +10:00
jalapenopuzzle
9d819f1ad3 CAM: snapmaker use order {min,max} 2025-04-14 08:03:12 +10:00
jalapenopuzzle
ed29dc3ef0 CAM: snapmaker fix invalid escape sequences in regular expressions 2025-04-14 08:03:10 +10:00
jalapenopuzzle
c8803f0096 CAM: snapmaker fix lint on types 2025-04-14 08:03:09 +10:00
jalapenopuzzle
ea51ae5533 CAM: snapmaker fix lint on formatted strings 2025-04-14 08:03:09 +10:00
jalapenopuzzle
8a59930cbb CAM: snapmaker fix broken license URL 2025-04-14 08:03:08 +10:00
tarman3
80611a6c4e CAM: Multiline POSTAMBLE and PREAMBLE arguments in old postprocessors (#20715)
* CAM Multiline POSTAMBLE and PREAMBLE in old postprocessors

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* CAM: Fix preamble and postamble help text

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-04-10 12:05:48 +02:00
Lawrence Woestman
22f73df97c CAM: Enabled coolant in the refactored_grbl post, with test 2025-03-27 07:31:13 +01:00
phaseloop
fc23531e4a CAM: fix estlcam postprocessor (#20407) 2025-03-25 10:24:27 +01:00
Lawrence Woestman
e08f948661 CAM: Used inheritance to simplify the refactored postprocessors more
Updated the Masso tests now that it is using the new API.
2025-03-20 19:22:50 -07:00
Lawrence Woestman
1fecb21db7 CAM: Added three options to the refactored postprocessors
with tests.

Removed extra spaces in comments to work around auto-fix
removal of spaces at the end of lines in multi-line python strings.
2025-03-17 20:59:29 -05:00
Luz Paz
6564a7b107 Fix various typos 2025-03-14 12:37:12 -04:00
clsergent
ea3d78c398 Added snapmaker postprocessor to CAM 2025-03-12 20:00:55 +01:00
clsergent
6eb5181852 Update UtilsParse.py
Fixed an error where strings were added to a list (gcode) using the addition assignment operator ('+=') rather than the 'list.append' method, resulting in adding every character as a list member
2025-03-03 22:49:42 +01:00
Lawrence Woestman
033817f5fe CAM: Fixed F parameter handling for only rotary axes
with tests
      and the commit for converting the refactored*
      postprocessors to the new API
2025-02-17 11:10:40 -06:00
LarryWoestman
26e532bd10 CAM: converted the refactored* postprocessors to the new (more object-oriented) API (#19006)
* CAM:  converted the refactored* postprocessors to the new API

      with corresponding tests

* [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-02-10 10:37:57 -06:00
pre-commit-ci[bot]
17e17cccb5 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2025-02-03 22:51:14 +00:00
Lawrence Woestman
c16f04fdc8 CAM: Fixed script-style postprocessors getting the wrong __name__
Also added a test that the __name__ of the postprocessor is correct
2025-01-27 18:02:26 +01:00
CandL
65daa70c6b Addition of CAM postprocessor for the Masso controller (#18845)
* Mods to accommodate tool order in Gcode. Some controllers want T# M6 others want M6 T#. Masso wants T# M6.

Added file refactored_masso_g3_post.py (based on refactored_linuxcnc_post.py) and modified UtilsParse.py

* Added tests and additional comments

* Working on the testing framework

* Tried to make refactored linux and masso as compatable line by line to support fil diffing

* A space in the file name caused all sorts of grief ... Thanks Larry

* added files to , swapped tool order in testrefactored_masso

* Added note regarding how files are "clones" of one another

* Added space in comment line for consistent formatting.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Updated formatting and comments

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-01-27 17:41:18 +01:00
luzpaz
bc6183eb81 CAM: Linting Path/Post/Processor.py (#18539)
Added various docstrings + fixed a typo
2024-12-16 11:09:17 -06:00
LarryWoestman
c98b0eaa4a CAM: fixed A, B, and C axis handling; added relevant tests (#18103)
* CAM:  fixed A, B, and C axis handling; added relevant tests

* [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>
2024-12-13 10:55:47 -06:00
Jonas Bähr
61d6492418 Revert "CAM: Rename CW/CCW to Climb/Conventional for consistency (#14364)"
This reverts commit 232bed5b44749b098d9f7599b717548243cc7bea and adapts
to the in between commits where necessary.
 - CAM: apply precommit eb53ed3cefb9444a4473bdd4c89116796ec94b4b
 - CAM: rename "Tests" to "CAMTests" 2ff4914fd8

Motivations for the revert:
 - Instead of actually implementing #14364 only a search and replace in
   the enums values has been performed. But this does not mean the
   feature is there, becasue "climb"/"conventional" milling depends not
   only on the path's direction, but also on the spindle direction and
   whether the milled feature is "inside" or "outside".
 - In half of the cases of every changed operation or dressup, depending
   on whether we mill "inside" or "outside", we now get the wrong results.
 - In the (rarer) case of a reversed spindle direction, the "other half"
   is wrong.
 - Files created with previous versions of FreeCAD cannot be recomputed
   any longer because there were no precautions on document restore.
 - In files created with previous versions of FreeCAD one cannot change
   the broken operation as the choices are now invalid.
 - The original search/replace was incomplete.
 - Only property values have been changed, the property names are still
   inconsistent ("Direction" vs "Cutting Mode").
 - The original search/replace also changed internal APIs where the
   "climb"/"conventional" wording is not applicable as there is no
   notation of "inside"/"outside" or "forward"/"reverse". If only the
   path's direction is concerned, "CW"/"CCW" fits better.
2024-11-24 09:18:23 +01:00
Chris Mayo
cf8355ccb3 BIM,CAM: Resolve Python invalid escape sequence warnings 2024-11-05 17:18:50 -05:00
ronak
55c1086466 final returned at line 461 2024-10-15 08:47:56 -05:00
bgbsww
94aad208bc Make python Regex Strings raw to avoid py3.12 SyntaxError 2024-09-30 17:42:49 +02:00