What is a Post Processor?
CAM requires post processors to format toolpaths into CNC programs, a.k.a. G-Code. These CNC programs are executed by the CNC control to drive the machine as it removes material from stock to produce a finished part.
Let's start by reviewing the basic steps of going from a CAD model to machined a part:
How do I post a NC Program?
Fusion allows you to post a specific Operation or Operations, Post a complete Setup or Post Multiple Setups into one program. Simply, select the Operation(s), Setup or Setups and Click post.
When posting multiple Setups you can even optimize the program to remove un-need tool changes! Don't worry; it will never break the order of operations for a single setup. But, before putting a face mill away, it does makes sense to see if that tool is the next one needed for one of the setups doesn't it? If it is, the machine will retract to home in Z, move the other Setup and perform the facing operation!
What if the NC program isn't correct?
Fusion 360 includes a variety of standard library post processors or "posts". If your machine is not listed in the post processor library then you may need to request a special post to be created. If the post for your machine is listed, you may need to have some modifications done to get the exact output you are looking for. Depending on your experience in machining and machine tool knowledge this may or may not be important to you. For others, such as professional CNC programmers - this is essential.
BEFORE, you request a post edit start by confirming that you can't make your required changes my modifying the POST parameters.
Basic parameters include:
AllowHelical moves - If your machine does not support helical moves it may machine an Arc and the plunge in Z. Setting "Allow Helical moves" to false will convert all helical moves to small linear moves at the specified (Built-in) Tolerance
Show Sequence numbers - Specifies is Sequence numbers are output on each line
Some examples Advanced Parameters are:
Use G0 - Specifies if rapids that change in multiple Axis at are allowed. If this is set to no, these moves will be output as a linear move (G01) at the Specified (Built-in) highFeedrate. Machines that do not move in a linear fashion between to rapid points will produce what we "Dogleg rapid" that can potentially gouge parts.
UseG28 - While G28 should be a SAFE home position, some machines have G28 set at the top of the table. So, when the machine homes at the begging or end of a program it plunges into part. Setting UseG28 to false will not send the machine home at the beginning or end of the program.
What do I need to have a Post modified?
When having post customizations done, the best thing to do is to create simple part for each machine type in their CAD. This part should utilize all the processes you would normally use. Then post process the program with the closest generic post that is shipped with the system. When this is complete you should edit the NC output in an editor, and markup the output with comments showing what they want to change (don’t delete anything).
Here is an example of the best way to indicate the changes you require:
#1 HAVE THE COOLANT M8 BE ON THE LINE AFTER THE G43 LINE
#2 AT THE BEGINNING OF EACH TOOL HAVE THE WCS OUTPUT ON THE FIRST POSITIONING LINE
#3 PUT M9 AT END OF EACH TOOL BEFORE RETRACT TO Z HOME ?
#4 REMOVE X0. SO IT DOESN'T HOME IN X, JUST IN Y AT THE END OF THE CODE
#5 RECALL 1RST TOOL AT THE END OF THE FILE
#6 A N20 G28 G91 Z0. AT THE BEGINNING OF EACH TOOL JUST AFTER THE M1
%
O03091 (AVP 7)
(T1 D=0.25 CR=0. TAPER=90deg - ZMIN=-0.08 - spot drill)
(T2 D=0.257 CR=0. TAPER=118deg - ZMIN=-1.1272 - drill)
(T8 D=0.3125 CR=0. - ZMIN=-0.5 - right hand tap)
N10 G90 G94 G17
N15 G20
N20 G28 G91 Z0.
N25 G90
(Drill1)
N30 T1 M6
N35 T2
N40 S2500 M3
N45 G55
N50 M8
N60 G0 X4.5 Y-0.25
N65 G43 Z0.6 H1
N75 G0 Z0.2 (#1 PUT M8 HERE, JUST AFTER G43 LINE?)
N80 G98 G81 X4.5 Y-0.25 Z-0.08 R0.2 F20.
N85 X6.125
N90 X7.75
N95 G80 (#3 PUT M9 AT END OF EACH TOOL BEFORE RETRACT TO Z HOME ? )
N100 Z0.6
N105 M5
N110 G28 G91 Z0.
N115 G90
(Drill2)
N120 M9
N125 M1
N130 T2 M6
N135 T8
N140 S1000 M3
N145 M8
N155 G0 ( PUT WCS HERE ON EACH TOOL SECTION) X4.5 Y-0.25
N160 G43 Z0.6 H2
N170 G0 Z0.2 (#1 PUT M8 HERE, JUST AFTER G43 LINE?)
N175 G83 X4.5 Y-0.25 Z-1.1272 R0.2 Q0.1 P0 F3.
N180 X6.125
N185 X7.75
N190 G80 (#3 PUT M9 AT END OF EACH TOOL BEFORE RETRACT TO Z HOME ? )
N195 Z0.6
N200 M5
N205 G28 G91 Z0.
N210 G90
(Drill3)
N215 M9
N220 M1
N225 T8 M6
N230 T1
N235 S100 M3
N240 M8
N250 G0 X4.5 Y-0.25
N255 G43 Z0.6 H8
N265 G0 Z0.2
N270 G84 X4.5 Y-0.25 Z-0.5 R0.2 F5.5556
N275 X6.125
N280 X7.75
N285 G80
N290 Z0.6
N295 M9
N300 G28 G91 Z0.
N305 G28 X0. Y0. (#4 REMOVE X0. SO IT DOESN'T HOME IN X, JUST IN Y)
(#5 RECALL 1RST TOOL AT THE END OF THE FILE)
N310 M30
%
To obtain more information or request a post or post modifications please visit: http://camforum.autodesk.com/index.php?board=3.0.
Because all Autodesk CAM tools utilize the same post processor system and CAM kernel we have a dedicated forum to discuss all things CAM.
I hope this was a help.
Feel free to add comments if you feel I missed something!
@LibertyMachine, Fusion God and Java Wizard! Knew I could count on you!
I'll try it right away!
/David
I......wouldn't go that far. Just someone who's arrogant confident enough to try to help outside my comfort zone.
You went the full-blown route!
I would've just suggested replacing this line in the tapping cycles:
pitchOutput.format(F)
with this:
pitchOutput.format(tool.threadPitch)
Yeah...I started off like that and it worked. But one thing led to another and next thing I knew I had it fully decked out in that area. It was a fun learning exercise for me.
I've got this Setup I really need to be working on right now, but I'm having more enjoyment over here
I should have guessed that you were at it too, @Steinwerks, you two guys are just incredible. And since I learned from Instagram that you're a fan of Scandinavia, I'm starting to grow quite a fan of both Iowa and Maine.
/ David (@skeldepth)
All - we have locked this thread. To help make sure we can help address your individual question or issue, please create a new thread with enough detail so that we can chime in!
Can't find what you're looking for? Ask the community or share your knowledge.