Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    EXPERIMENTAL FreeCAD PostProcessor

    Scheduled Pinned Locked Moved
    CNC
    3
    8
    1.8k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • PCRundefined
      PCR
      last edited by PCR

      Here is a WiP FreeCAD Path PP.

      some drawbacks

      • 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 Path You can now turn the TC on and off with OUTPUT_TOOL_CHANGE = True or 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
      

      to

      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.
      

      rrf_post.py

      PCRundefined 1 Reply Last reply Reply Quote 6
      • PCRundefined
        PCR @PCR
        last edited by

        @pcr Update to the original post. With some Help from the FreeCAD Forum

        PCRundefined 1 Reply Last reply Reply Quote 1
        • PCRundefined
          PCR @PCR
          last edited by

          @pcr bugfix 20211115

          PCRundefined 1 Reply Last reply Reply Quote 3
          • crapundefined
            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

            M3 S'rpm'
            

            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.

            1 Reply Last reply Reply Quote 0
            • PCRundefined
              PCR @PCR
              last edited by

              @pcr

              https://github.com/FreeCAD/FreeCAD/pull/5228

              Merged into main freeCAD. To use this you have to use the weekly build till freeCAD will release 0.20

              P-C-R opened this pull request in FreeCAD/FreeCAD

              closed Path | RRF (RepRapFirmware | Duet Boards) PP #5228

              steve123undefined 3 Replies Last reply Reply Quote 4
              • steve123undefined
                steve123 @PCR
                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
                
                1 Reply Last reply Reply Quote 0
                • steve123undefined
                  steve123 @PCR
                  last edited by steve123

                  @pcr Problem was that the cmake file was not updated to include rrf_post.py. That issue has been fixed by this PR: https://github.com/FreeCAD/FreeCAD/pull/6813

                  See also: https://forum.freecadweb.org/viewtopic.php?p=592373#p592373

                  Russ4262 opened this pull request in FreeCAD/FreeCAD

                  closed Path: Add missing post-processor modules [bug] #6813

                  1 Reply Last reply Reply Quote 1
                  • steve123undefined
                    steve123 @PCR
                    last edited by

                    @pcr @dc42 This might be a useful sticky post for the CNC forum.

                    1 Reply Last reply Reply Quote 2
                    • Phaedruxundefined Phaedrux pinned this topic
                    • First post
                      Last post
                    Unless otherwise noted, all forum content is licensed under CC-BY-SA