EXPERIMENTAL FreeCAD PostProcessor
PCR last edited by PCR
Here is a WiP FreeCAD Path PP.
Toolchange is always on. So it will always write the T paramter of the tool. If you dont have a toolchanger and want to change tools give the Tool the same number in PathYou can now turn the TC on and off with
OUTPUT_TOOL_CHANGE = Trueor
OUTPUT_TOOL_CHANGE = False. This command can be given to FreeCAD without the need of modifying the rrf_post.py
Tool start with number 1. A tool with T0 is not possible.
if you want to add a special command before every Toolchange you can do this by modify the rrf_post.py by changing
TOOL_CHANGE = '''''' # Tool Change commands will be inserted
TOOL_CHANGE = '''G333''' # Tool Change commands will be inserted
and just FYI
In RepRapFirmware 2.03 and later, if you try to execute a G- or M-command that RRF does not implement, it will execute a system macro of that name if it exists. For example, if you send G40 then it will execute /sys/G40.g if it exists; and if you send M48 then it will execute /sys/M48.g if it exists. So you can script any custom Gcodes that you need. See https://forum.duet3d.com/topic/14930/m7-... for an example.
@pcr Update to the original post. With some Help from the FreeCAD Forum
@pcr bugfix 20211115
crap last edited by
Thanks for sharing this, I'll be trying it out in a week or so. I'm using the GRBL post processor so far which seems to work alright, but I'm sure there will be situations where this is better. I'll probably also be trying some modifications, for an example I've made my own brushless outrunner spindles that are controlled by a servo signal rather than a conventional spindle PWM so it would be great if I could have the postprocessor output
M280 P'servo number' S'pulselength'
where rpm is converted to pulselength by the postprocessor, instead of
It would be even better if the firmware would support this, to define spindles that uses servo signals instead of normal PWM. But modifying the firmware is more than I can manage. Also if I modify the firmware I will have to do it again whenever I want to upgrade, whereas a post processor will most likely work the same in the next version of FreeCAD.
I'll let you know how it works.
steve123 last edited by
@pcr This commit doesn't seem to be included with the recent build I downloaded:
OS: macOS 10.16 Word size of FreeCAD: 64-bit Version: 0.20.28671 (Git) Build type: Release Python 3.9.12, Qt 5.12.9, Coin 4.0.0, OCC 7.5.3 Locale: C/Default (C)
I do not see rrf_post.py in the list of the installed post processors at /Applications/FreeCAD.app/Contents/Resources/Mod/Path/PathScripts/post:
centroid_post.py comparams_post.py dxf_post.py dynapath_post.py example_pre.py gcode_pre.py grbl_post.py jtech_post.py linuxcnc_post.py mach3_mach4_post.py nccad_post.py opensbp_post.py opensbp_pre.py philips_post.py rml_post.py slic3r_pre.py smoothie_post.py uccnc_post.py
steve123 last edited by steve123
steve123 last edited by