Commit Graph

68 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
Sebastian Ohl
70be188426 adding newline, as the Zero-4 machine controller don't like two M-commands in one line 2025-10-23 13:54:22 +02: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
Billy Huddleston
cbeb67b509 CAM: Convert tapping operation to experimental feature, Add tap pitch support, improve tapping logic, and update toolbit schema and legacy linuxcnc post
CAM/App/PathSegmentWalker.cpp
- Add G74 to drill/tap/bore G-code recognition for tapping cycles

CAM/InitGui.py
- Move CAM_Tapping command behind experimental feature flag
- Only group drilling/tapping commands if both are enabled

CAM/Path/Base/Generator/tapping.py
- Add pitch and spindle_speed parameters to tapping.generate
- Output S (spindle speed) and F (pitch) in generated G-code

CAM/Path/Op/Tapping.py
- Require Pitch property for tap tools and SpindleSpeed for tool controllers
- Pass pitch and spindle speed to tapping.generate
- Use SpindleDirection to determine right/left hand tap

CAM/Path/Post/scripts/linuxcnc_post.py
- Handle G84/G74 tapping cycles: convert pitch and spindle speed to feed rate
- Remove F and S from output and recalculate F as needed

CAM/Path/Tool/shape/models/tap.py
- Add Pitch property to ToolBitShapeTap schema
- CAM/Path/Tool/toolbit/models/tap.py
- Show pitch and rotation in tap tool summary
- Use is_imperial_pitch to format pitch as TPI or mm

CAM/Path/Tool/toolbit/util.py
- Add is_imperial_pitch utility to classify pitch as imperial or metric

CAM/Tools/Bit/375-16_Tap.fctb
- Remove unused parameters (Coating, Rotation, TPI, Type)
- Keep only relevant tap parameters for new schema
2025-09-25 16:26:03 -04:00
Matthias Deimbacher
c0c9212c97 CAM: fix library import in postprocessor 2025-09-13 21:33:31 +02:00
zophon
1f32565819 Update KineticNCBeamicon2_post.py (#23602)
Added a return in the postamble to separate M05 and M09 GCode as beamicon2-basic doesn't like having both M-code on the same line.
2025-09-08 11:07:01 -05:00
tarman3
4fc408910c CAM: Fix uccnc postprocessor for G2|G3 (#23194) 2025-09-02 11:20:14 -05:00
J-Dunn
96f32cae5a CAM: correct grbl_post retract heights (#23010)
* CAM: correct grbl_post retract heights

Some small corrections to retraction heights in expansion of G8x drilling cycles for GRBL machines. 

Add comment blocks from NIST definitions to aid maintenance and understanding. 
Rename some variables for clarity and ease of future maintenance.

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

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

* correct typo which prevented final retract move

* [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-02 11:15:37 -05:00
J-Dunn
966cb36e9e CAM: revert grbl_post regression (#22569)
* CAM: revert grbl_post regression

I recently noticed a bug in grbl_proc post processor where it was not correctly setting OLD_Z  if current machine_z is below G81 retract plane in R parmeter. 

On digging into my original commit is looks like the two lines which did this have been commented out. 
I can never find the Blame feature when I need so if someone else can find the culprit feel free. 

2bd617a2b3

This PR simply reinstates the missing lines and adds a snippet of NIST as a comment block  to prevent any over-zealous editing in the future. 

This regression means that drilling cycles start with z=clearance height instead of z=safe height leading to much costly air cutting.
This similarly messes up the  the retract plane for G98 leading to excessive machine time wasting and incorrect application of G98 returns. 

Indeed this regression was noticed because some were claiming the Safe height was redundant in drilling ops since it was never used. 

There is much discussion about all this at the moment which is being disrupted by people assuming the current broken paths are what FreeCAD is intended to do. 

Let's fix this ASAP, so we can stop this confusion and get discussions back to reality.

* [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-08-04 10:57:03 -05:00
Ian Abreu
05d9eeded2 correcting to use Tool vs. ToolController 2025-07-04 11:30:46 -04:00
Ian Abreu
bd24577184 initial fix 2025-07-04 11:10:43 -04:00
sliptonic
7f6af23acb Cam: Add Ondsel SVG post processor (#21743)
* Ondsel SVG post processor

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

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

* Update src/Mod/CAM/Path/Post/scripts/svg_post.py

* Update src/Mod/CAM/Path/Post/scripts/svg_post.py

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Nauck <benjamin@nauck.se>
2025-06-03 21:37:20 +00: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
jffmichi
09e356cec6 CAM: fix philips postprocessor always writing to "-" instead of specified file and not processing arguments 2025-05-20 05:18:03 +02:00
jffmichi
08cba3fa45 CAM: fix fablin postprocessor always writing to "-" instead of specified file 2025-05-20 05:17:53 +02:00
jffmichi
a59fc30d6c CAM: fix some non-refactored postprocessors crashing on blank lines 2025-05-20 05:00:06 +02:00
Lawrence Woestman
e741a761ff CAM: added three command line arguments, with tests 2025-05-19 13:52:20 -07:00
sliptonic
fa2de9bc7b Merge pull request #21129 from jffmichi/fix_active_and_coolant
CAM: fix handling of Active state and CoolantMode with nested dressups
2025-05-19 10:33:45 -05:00
Luz Paz
5d052cc043 Fix various typos
Missed by the codespell CI not being functional for a period of time.
2025-05-15 10:59:48 -05:00
jffmichi
1809c6cf01 CAM: fix rrf postprocessor always writing to "-" instead of specified file 2025-05-14 22:00:11 +02:00
jffmichi
bb409986f7 CAM: prevent marlin postprocessor from always writing to "-" 2025-05-14 21:55:49 +02:00
jffmichi
82a473ee59 CAM: fix crash in dynapath_4060 postprocessor due to fmt function expecting precision as integer 2025-05-14 21:50:04 +02:00
jffmichi
9d72b917b6 CAM: fix uccnc postprocessor not checking the Active state of operations 2025-05-14 21:44:48 +02:00
jffmichi
747afab6e5 CAM: fix handling of Active state and CoolantMode with nested dressups for some non-refactored postprocessors 2025-05-14 21:43:31 +02:00
Lawrence Woestman
07e78f5631 CAM: updated opensbp post to work with current Processor.py 2025-05-11 15:39:49 -07:00
jffmichi
1e87d8e668 CAM: fix handling of Active state and CoolantMode with nested dressups 2025-05-07 04:46:16 +02: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
pre-commit-ci[bot]
58851e89e3 [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
4e75b8cc89 fix KineticNCBeamicon2_post script crash 2025-04-19 00:25:43 +02:00
Samuel Abels
0105dcd468 CAM: fix invalid syntax in snapmaker_post that caused test warnings 2025-04-19 00:25:34 +02:00
jalapenopuzzle
2266dd2875 Merge branch 'main' into jalapenopuzzle/cam_snapmaker_machine_types 2025-04-18 22:05:47 +10:00
tarman3
d84d9c9bd1 CAM: Fix postprocessors Help arguments --postamble and --preamble (#20792) 2025-04-16 11:54:04 +02:00
pre-commit-ci[bot]
3cd0a7d2ff [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
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
7e54513e5e CAM: snapmaker add linear module lead screw pitch 2025-04-14 08:03:15 +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
jalapenopuzzle
94140ab2b1 CAM: snapmaker machines separate T machines and capitalise names 2025-04-14 08:03:13 +10:00
jalapenopuzzle
c71bca3d49 CAM: snapmaker machines separate boundaries 2025-04-14 08:03:12 +10:00
jalapenopuzzle
42f40115a1 CAM: snapmaker use order {min,max} 2025-04-14 08:03:12 +10:00
jalapenopuzzle
ac80d6e4df CAM: snapmaker fix invalid escape sequences in regular expressions 2025-04-14 08:03:10 +10:00
jalapenopuzzle
322a2f7b3f CAM: snapmaker fix lint on types 2025-04-14 08:03:09 +10:00
jalapenopuzzle
884fca0cc2 CAM: snapmaker fix lint on formatted strings 2025-04-14 08:03:09 +10:00
jalapenopuzzle
424f7d820c CAM: snapmaker fix broken license URL 2025-04-14 08:03:08 +10:00
tarman3
b91c5ef2af 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
1dddbb2aa5 CAM: Enabled coolant in the refactored_grbl post, with test 2025-03-27 07:31:13 +01:00