The ULTIMATE RepRap Post-Processor for Fusion 360
-
The ULTIMATE Duet3D RepRap CNC Post-Processor for Autodesk Fusion 360
Here is my take on a post-processor for Fusion 360Get it here from my GitHub : https://github.com/BruceRoyce/UltimateRepRapPost/blob/main/UltimateRRPost.cps
This post-processor takes care of some issues and shortcomings that I found with other existing posts for RepRap, such as Linear Backlash Compensation, support for multi-tool and accurate tool change, inline probe and more
I made this for my own use, so please exercise caution if you take it! Obviously I won't be responsible for anything related to the use of this post-processor! Use own your own risk
-
See Instructions here
https://github.com/BruceRoyce/UltimateRepRapPost -
I updated the ULTIMATE post-processor for RepRap (get it here on GitHub).
With this release the backlash compensation is improved and now offers two compensation methods:- Steps: This method is preferred over the old compensation by distance method. This method compensates backlash by adjusting the Steps Per Unit and keeps motion distances as they are reported by the CAM. To use this method in this version you will need to know your current Steps Per Unit configuration. To get these configuration, open "config.g" file (normally under /sys/ folder) and note M92 X and Y and Z values. When posting your part, enter these values in the backlash compensation input as asked. (Section 4 of the post "Linear Backlash Compensation)
The post Steps Per Unit values you enter are ONLY effective if you choose "Steps" as your compensation method and check "Apply Backlash Compensation" tick box - Distance: This is the older method and still quite useful if you don't know your Steps per unit configuration, or for whatever strange reason you don't want to use Steps method.
In both methods X, Y and Z axis measured backlash for 1mm and 10mm is required for a successful compensation calculation. - Tolerance: By setting tolerance you tell the post-processor to not trigger backlash compensation for motion distances smaller that the tolerance value. When dealing with small detail this will increase the machine stability by ignoring tiny backlashes.
- Steps: This method is preferred over the old compensation by distance method. This method compensates backlash by adjusting the Steps Per Unit and keeps motion distances as they are reported by the CAM. To use this method in this version you will need to know your current Steps Per Unit configuration. To get these configuration, open "config.g" file (normally under /sys/ folder) and note M92 X and Y and Z values. When posting your part, enter these values in the backlash compensation input as asked. (Section 4 of the post "Linear Backlash Compensation)
-
@bruce Thanks for your post pro !
I tried with my config but when I use an other tool than T0 my spindle doesn't turn. How do you manage this ?
-
Hello @bruce Thanks for the post processor, I'm just getting started with my CNC using a duet 2 Wifi and I just did a test circle as my first attempt using it. No cutting just moving in air. I noticed that the post doesn't output arc (G2) is there a way to enable that? I know that the duet boards can handle arcs as I have used the arc welder plugin for my 3D printers. I just noticed that with my machine being large and having accelerations relatively slow that many segments for a circle make for some choppy movements.
Thanks for your help.
-
I have managed to fix the G2-G3 issue with this post (or at least is was an issue for me)
there is a piece missing after allowedHelicalMove = true; which should be allowedCircularPlanes = undefined;
Then under // circular output all the i, j, and k variables are forced false that needs to be replaced with
// circular output
false
falsevar iOutput = createReferenceVariable({ prefix: "I"}, xyzFormat);
false
falsevar jOutput = createReferenceVariable({ prefix: "J"}, xyzFormat);
false
falsevar kOutput = createReferenceVariable({ prefix: "K"}, xyzFormat);
false
falseand that should give you G2 and G3 movements. I haven't tested the Gcode yet but at least circular movements are arcs and not thousands of segments.
-
@baird1fa Any chance you can explain the second change to the post? I made the circular plane addition, but I can't quite follow what is described in the second image/change.
Thanks in advance!
@baird1fa said in The ULTIMATE RepRap Post-Processor for Fusion 360:
Then under // circular output all the i, j, and k variables are forced false that needs to be replaced with
// circular output
false
falsevar iOutput = createReferenceVariable({ prefix: "I"}, xyzFormat);
false
falsevar jOutput = createReferenceVariable({ prefix: "J"}, xyzFormat);
false
falsevar kOutput = createReferenceVariable({ prefix: "K"}, xyzFormat);
false
false -
@teamcoco sorry I cannot explain as I really don't know. I just took what I was told to do from the Autodesk HSM post forum and posted it here. But I think what is happening is that the i j and k variables are disabled by default because when the autodesk guys wrote the post G2,G3 were not supported by Reprap. The text in the screen shot is what you want to add and replace what is there.
-
-
I have issue with G3. it looks like something is wrong within the duet itself, it looks good in gcode viewers, but created an oval
will check and probably open a d3 issue
at the moment I back to thousands of segments -
Hey @bruce
Thank you so much for developing and sharing your post processor! I use it with the HSM-Works plugin directly in SolidWorks for my duet based CNC Mill.
Any chance to also include a profile for turning as well? I am in the process of converting a Lathe to CNC using a Duet3 6HC board. With lathe support, it would really be the "one post processor to rule them all"
Cheers Max
-
@bruce This is much better than other Fusion PP's I've experimented with, but I have the same problem as I do with all the the Fusion post processors in that it tries to do the first move into position without lifting the spindle.
Once it gets to the first ramp down position, it moves the spindle up first before plunging, but it's already too late as it's crashed into the stock on the move and snapped the end mill.
Not so hard to fix manually by inserting the appropriate move command just before the first G0, but its easy to forget.
Is there a setting I'm missing that would make raise the spindle first (ideally to Z Max, and ideally also after a tool change) by first moving the spindle up and out of the way of the stock and clamps.
Thanks.
-
-