I recently picked up a Wazer Desktop second hand and wanted to generate gcode for it from Fusion 360. I noticed there is an existing post processor for it in Autodesk’s library. I was hoping to make some improvements to that code.
One improvement I’d like to see, and it’s one that is applicable to both Fusion 360’s post processor and the “WAM” web based app, is to get more granular feed recommendations.
Currently Wazer maintains a list of materials along with their recommended feeds & pierce times but these are only published for specific thickness. It’s my impression that these are based on formulas Wazer is not publishing directly but are fairly trivial to plot and fit functions to. I’ve gone ahead and mapped most of the materials to functions and updated the Fusion 360 post processor to look at the material thickness of the body used in the manufacturing setup and in turn apply these per-material functions so you don’t have to calculate feedrates by hand.
Here are “Fine” and “Rough” feedrate functions for 6061 Aluminum where the X-Axis is thickness in mm and the Y-Axis is feedrate in mm/m:
Here’s a pierce time function for 6061 Aluminum where the X-Axis is thickness in mm and the Y-Axis is time in seconds:
These functions appear to be close enough to match the thicknesses listed and allow one to select a material thickness not published by Wazer and get something that appears to be on the curve. For example, 11 gauge Aluminum being approx 0.09”/2.3mm seems to have fine-rough feedrate ranges in the ballpark of 43mm/m to 55mm/m.
Another improvement I’d like to see is around the actual gcode being output by Fusion 360. I’ve read a few of the threads, including this recommendation from Wazer about “corner compensation”: Please fix wam! - #61 by Alex . And note that while Fusion 360’s 2D Profile does have some built in functionality for “Feed Optimization” which sort of speaks to this, it also appears to have some limitations:
- One limitation is that it requires you have to specify the “Reduce Feedrate” in ipm or mmpm instead of something like a “Reduction Percentage” which at minimum means you have to specify feeds twice.
- Another perceived limitation is that it does not progressively slow into the corners but rather goes from the normal cutting feedrate down to the reduced feedrate in one jump. I don’t know how critical this is in practice, but i noted that the gcode generated by WAM seems to do this progressive slow down into corners.
- Yet another perceived limitation is that it does not progressively ramp back up to the feedrate when exiting a corner. Again, I don’t know how critical this is in practice, but I noted that the gcode generated by WAM seems to do this.
I’d like to improve feed optimization / corner compensation in Fusion 360. I’m curious if Wazer is interested in collaborating on this, and other such improvements in hopes of making Fusion 360 a more viable option for folks that have these machines. I suspect that the closed nature of the ecosystem is likely motivated by the desire to safely run these machines for the hobby crowd they appeared target towards, as well as to limit warranty concerns over software you don’t directly support. But it seems from this quote in the thread above there is in fact some openness to collaboration with third parties:
“We would be happy to work with LightBurn on getting the concerns above mitigated”
As my machine is second hand and presumably outside of warranty, I’ve already made and tested some modifications to the Fusion 360 post processor in hopes of getting closer to the “corner compensation” mentioned above. It’s WIP but I’m able to generate gcode that does take corners into consideration and progressively slows similar to what I’ve observed in the gcode generated by WAM.
I suspect this corner compensation functionality should be more or less attainable by modifying the Fusion 360 post processor alone, if we have a clearer understanding of the underlying algorithm. Or at least a clearer picture of the desired output and parameters to consider. I presume material, and thickness of material, as well as the inside angle of the corner are some of those parameters. Some of these considerations I’m sure can be deduced by reverse engineering the WAM generated gcode but if we could collaborate that may be a more fruitful, and less error prone path.
Here’s an example of a 1”x1” square cut from 2mm 6061 Aluminum generated by WAM:
;-------------------------------Cut file parameters------------------------
; Input file name : 25mm square ish.svg
; File rotation : 0 File scale : 3.8400000000000007
; Machine : Desktop
; Material name : Aluminum - 6061
; Material thickness : 2 mm
; Cut path : Outside
; Cut quality : mediumRate
; Raw Material width : 1.07in
; Raw Material height : 1.04in
;-------------------------------Do Not modify the Gcode file---------------
G90
G21
M1403
M1405 X215.31 Y-139.56
M1406 X242.48 Y-165.98
M1407 S9.72
M1410 2.1.0; Generated on Wam
M1411 Aluminum - 6061
M1412 2 mm
G0 X242.26 Y-141.25
M3
M8
G4 S9.72
G1 X242.17 Y-141.26 F56.02
G1 X242.08 Y-141.28 F39.21
G1 X241.99 Y-141.32 F47.62
G1 X241.92 Y-141.37 F39.21
G1 X241.85 Y-141.44
G1 X241.80 Y-141.51
G1 X241.76 Y-141.60
G1 X241.74 Y-141.69
G1 X241.73 Y-141.78
G1 X241.73 Y-146.04 F44.82
G1 X241.73 Y-150.29 F50.42
G1 X241.73 Y-152.77 F56.02
G1 X241.73 Y-157.77
G1 X241.73 Y-162.77 F47.62
G1 X241.73 Y-165.68 F39.21
G1 X241.58 Y-165.83
G1 X241.43 Y-165.98
G1 X236.43 Y-165.98 F47.62
G1 X231.43 Y-165.98 F56.02
G1 X228.52 Y-165.98
G1 X223.52 Y-165.98
G1 X218.52 Y-165.98 F47.62
G1 X215.61 Y-165.98 F39.21
G1 X215.46 Y-165.83
G1 X215.31 Y-165.68
G1 X215.31 Y-160.68 F47.62
G1 X215.31 Y-155.68 F56.02
G1 X215.31 Y-152.77
G1 X215.31 Y-147.77
G1 X215.31 Y-142.77 F47.62
G1 X215.31 Y-139.86 F39.21
G1 X215.46 Y-139.71
G1 X215.61 Y-139.56
G1 X220.61 Y-139.56 F47.62
G1 X225.61 Y-139.56 F56.02
G1 X228.52 Y-139.56
G1 X233.52 Y-139.56
G1 X238.52 Y-139.56 F47.62
G1 X241.43 Y-139.56 F39.21
G1 X241.58 Y-139.71 F42.02
G1 X241.73 Y-139.86 F28.01
G1 X241.73 Y-139.86
G1 X241.73 Y-139.86
G4 S1.
M9
G4 S1.
M5
G4 S1.
M1413 00:02:15
M1404
Here’s an example of a 1”x1” square cut from 2mm 6061 Aluminum generated by Fusion 360 with the WIP Wazer Desktop post processor described above:
;-------------------------------Cut file parameters------------------------
;Input file name : 1inch square v1
;Material name : Aluminum6061
;Material thickness : 2.000MM
;Cut Time: 1m:54s
;-------------------------------Do not modify the Gcode file---------------
;Machine
; vendor: Wazer
; model: Wazer Desktop
; description: Waterjet
G90
G21
M1403
M1405 X216.332 Y-140.734
M1406 X241.732 Y-166.134
M1407 S9.64
M1410 1.2;2D Profile3 2
;Cut path : left
;Cut quality : Medium
G0 X243.599 Y-141.656
G0 X243.599 Y-141.656
M3
M8
G4 S9.64
G1 X242.862 Y-141.656 F40.529
G1 X242.354 Y-141.656 F39.609
G1 X242.354 Y-156.134 F55.657
G1 X242.354 Y-166.134 F51.271
G1 X242.347 Y-166.231 F39.462
G1 X242.324 Y-166.326
G1 X242.286 Y-166.417
G1 X242.235 Y-166.500 F38.971
G1 X242.172 Y-166.574
G1 X242.098 Y-166.637
G1 X242.015 Y-166.688
G1 X241.924 Y-166.726 F39.515
G1 X241.829 Y-166.749
G1 X241.732 Y-166.756
G1 X226.332 Y-166.756 F55.673
G1 X216.332 Y-166.756 F51.271
G1 X216.235 Y-166.749 F39.462
G1 X216.140 Y-166.726
G1 X216.049 Y-166.688
G1 X215.966 Y-166.637 F38.971
G1 X215.892 Y-166.574
G1 X215.829 Y-166.500
G1 X215.778 Y-166.417
G1 X215.740 Y-166.326 F39.515
G1 X215.717 Y-166.231
G1 X215.710 Y-166.134
G1 X215.710 Y-150.734 F55.673
G1 X215.710 Y-140.734 F51.271
G1 X215.717 Y-140.637 F39.462
G1 X215.740 Y-140.542
G1 X215.778 Y-140.451
G1 X215.829 Y-140.368 F38.971
G1 X215.892 Y-140.294
G1 X215.966 Y-140.231
G1 X216.049 Y-140.180
G1 X216.140 Y-140.142 F39.515
G1 X216.235 Y-140.119
G1 X216.332 Y-140.112
G1 X231.732 Y-140.112 F55.673
G1 X241.732 Y-140.112 F51.108
G1 X241.812 Y-140.117 F39.273
G1 X241.890 Y-140.132 F39.172
G1 X241.966 Y-140.157 F39.072
G0 X241.966 Y-140.157
G4 S1.
M9
G4 S1.
M5
G4 S1.
M1413 00:01:54
M1404
I’ve simulated the Fusion 360 generated gcode in ncviewer and was confident enough to test it on my machine. To me the results seem comparable to the WAM generated gcode for this specific test case.
Thanks in Advance for your consideration.