Answered
Snapmaker Post Processor Issue
I have a Snapmaker 2.0, and the post processor does not maintain a constant speed when making cutting paths. I have tried making a few modifications to the code, but haven not found a way to keep the speed constant. Below is the text for the post processor. Any help would be greatly appreciated!
; | |
; G - Code configuration file - with Arc Support | |
; | |
; History | |
; | |
; Who When What | |
; === ======== ======================================== | |
; TM 13/05/99 Written | |
; BEM 20/05/99 Removed line numbers | |
; BEM 21/03/00 Added DESCRIPTION and FILE_EXTENSION fields | |
; BEM 19/06/01 Added support for circular arc output | |
; move to home pos at end instead of 0,0,ZH | |
; bem 07/09/01 Added G17 to define plane for circular arcs | |
; | |
DESCRIPTION = "Snapmaker CNC (mm) (*.cnc)" | |
; | |
FILE_EXTENSION = "cnc" | |
; | |
UNITS = MM | |
; | |
; Cariage return - line feed at end of each line | |
; | |
END_OF_LINE = "[13][10]" | |
; | |
; Block numbering | |
; | |
LINE_NUM_START = 0 | |
LINE_NUM_INCREMENT = 10 | |
LINE_NUM_MAXIMUM = 999999 | |
; | |
; Set up default formating for variables | |
; | |
; Line numbering | |
FORMAT = [N|@|N|1.0] | |
; Spindle Speed | |
FORMAT = [S|@|S|1.0] | |
; Feed Rate | |
FORMAT = [F|#|F|1.1] | |
; Tool moves in x,y and z | |
FORMAT = [X|#|X|1.3] | |
FORMAT = [Y|#|Y|1.3] | |
FORMAT = [Z|#|Z|1.3] | |
; Arc Centre Cordinates | |
FORMAT = [I|@|I|1.3] | |
FORMAT = [J|@|J|1.3] | |
; Home tool positions | |
FORMAT = [XH|@|X|1.3] | |
FORMAT = [YH|@|Y|1.3] | |
FORMAT = [ZH|@|Z|1.3] | |
; | |
; Set up program header | |
; | |
START = "G0 Z10.00 F120" | |
START = "G0 Z0.50 F120" | |
START = "M3 P100" | |
; | |
; Program moves | |
; | |
RAPID_RATE_MOVE = "G0 [X] [Y] [Z]" | |
; | |
FIRST_FEED_RATE_MOVE = "G1 [X] [Y] [Z] [F]" | |
FEED_RATE_MOVE = "G1 [X] [Y] [Z]" | |
; | |
FIRST_CW_ARC_MOVE = "G2 [X] [Y] [I] [J] [F]" | |
CW_ARC_MOVE = "G2 [X] [Y] [I] [J]" | |
; | |
FIRST_CCW_ARC_MOVE = "G3 [X] [Y] [I] [J] [F]" | |
CCW_ARC_MOVE = "G3 [X] [Y] [I] [J]" | |
; | |
; End of file | |
; | |
END = "M5" |
Comments
Hi Frank, could you elaborate a bit please? What do you exactly mean that the cutting speed varies? I'm reading this as it starts cutting with a feed rate of say 100mm/min and then changes to 500mm/min over time, is that correct?
My apologies. What you are seeing is correct; however, the speed does not translate to each line, which causes the machine to slow down severely to the point of the bit heating up and causing the wood to start burning. Below is a sample of the code that is generated in this post process.
G0 Z10.00 F120
G0 Z0.50 F120
M3 P100
G0 X-77.787 Y0.000 Z6.350
G1 Z-0.682 F152.4
G2 X-76.211 Y15.656 I78.213 J0.032 F304.8
G2 X-58.263 Y51.532 I75.852 J-15.518
G1 X-58.263 Y51.533
G1 X-57.592 Y52.289
G1 X-57.567 Y52.317
G1 X-56.321 Y53.655
G1 X-56.295 Y53.683
G1 X-55.017 Y54.991
G1 X-54.991 Y55.017
G1 X-53.683 Y56.295
G1 X-53.655 Y56.321
G1 X-52.317 Y57.567
G1 X-52.289 Y57.592
G1 X-51.533 Y58.263
G2 X-15.695 Y76.203 I51.394 J-57.904
G2 X-4.022 Y77.685 I15.617 J-76.289
G2 X3.982 Y77.687 I4.022 J-79.074
G2 X15.656 Y76.211 I-3.904 J-77.777
G2 X51.532 Y58.263 I-15.518 J-75.852
G1 X51.533 Y58.263
G1 X52.289 Y57.592
G1 X52.317 Y57.567
G1 X53.655 Y56.321
G1 X53.683 Y56.295
G1 X54.991 Y55.017
G1 X55.017 Y54.991
G1 X56.295 Y53.683
G1 X56.321 Y53.655
G1 X57.567 Y52.317
G1 X57.592 Y52.289
G1 X58.263 Y51.533
G2 X76.203 Y15.695 I-57.904 J-51.394
G2 X77.685 Y4.022 I-76.289 J-15.617
G2 X77.687 Y-3.982 I-79.074 J-4.022
G2 X76.211 Y-15.656 I-77.777 J3.904
G2 X58.263 Y-51.532 I-75.852 J15.518
G1 X58.263 Y-51.533
G1 X57.592 Y-52.289
G1 X57.567 Y-52.317
G1 X56.321 Y-53.655
G1 X56.295 Y-53.683
G1 X55.017 Y-54.991
G1 X54.991 Y-55.017
G1 X53.683 Y-56.295
G1 X53.655 Y-56.321
G1 X52.317 Y-57.567
G1 X52.289 Y-57.592
G1 X51.533 Y-58.263
G2 X15.695 Y-76.203 I-51.394 J57.904
G2 X4.022 Y-77.685 I-15.617 J76.289
G2 X-3.982 Y-77.687 I-4.022 J79.074
G2 X-15.656 Y-76.211 I3.904 J77.777
G2 X-51.532 Y-58.263 I15.518 J75.852
G1 X-51.533 Y-58.263
G1 X-52.289 Y-57.592
G1 X-52.317 Y-57.567
G1 X-53.655 Y-56.321
G1 X-53.683 Y-56.295
G1 X-54.991 Y-55.017
G1 X-55.017 Y-54.991
G1 X-56.295 Y-53.683
G1 X-56.321 Y-53.655
G1 X-57.567 Y-52.317
G1 X-57.592 Y-52.289
G1 X-58.263 Y-51.533
G2 X-76.203 Y-15.695 I57.904 J51.394
G2 X-77.388 Y-7.931 I76.080 J15.583
G2 X-77.787 Y0.000 I78.284 J7.919
G1 Z-1.364 F152.4
G2 X-76.211 Y15.656 I78.213 J0.032 F304.8
These are the first 75 lines of over 3,000 lines of code. I know the G0 is a rapid movement. I have figured out how to speed that up. The G1 lines with a "F" value of 152.4 are my plunges. On line 6 you see the first cutting speed value of 304.8. The speed value of 304.8 does not appear again until line 75. This value should be on every line otherwise the machine slows to nearly a stop. Is there a way to modify the post processor to translate the speed to every line?
No need to apologise Frank. The reason those feed rate moves are not on every line is because it should always stay constant until the next time that a F command is mentioned in the code, this could be at 9999999th place in the code and throughout the job it should remain at 304.8 and not deviate. This has been the same on every CNC I have ever seen. It sounds as though for whatever reason, the CNC is losing power through the job, something I have never seen before. I have seen it on corners and circles due to jerk settings and acceleration, but not slowing down to almost a halt.
Have you reached out to Snapmaker?
I know it's not a power issue. I can generate things in Fusion 360 all day long and not have this issue. The two things I noticed in Fusion 360 processes vs. Carveco is that Fusion generates all G1 codes and the speed is on every line. Is there someone in support that could help me modify this post processor to translate the speed to every line? I went through about 200 lines of code last night and placed the speed on every line. This fixed the issue. I know what needs to happen. I just don't know code well enough to program it.
Fair enough Frank, its just I've never seen a CNC that needs feed rates on every single line otherwise it slows down. We don't have any posts in Carveco that do this and I cant recall ever having been asked.
Here is a modified post. You need to copy it to C:\Program Files\Carveco\postp
If you want to modify it yourself, then the bottom section should look like this and it will output the feed rates on every line;
; Program moves
;
RAPID_RATE_MOVE = "G0 [X] [Y] [Z]"
;
FIRST_FEED_RATE_MOVE = "G1 [X] [Y] [Z] [F]"
FEED_RATE_MOVE = "G1 [X] [Y] [Z] F[FC]"
;
FIRST_CW_ARC_MOVE = "G2 [X] [Y] [I] [J] [F]"
CW_ARC_MOVE = "G2 [X] [Y] [I] [J] F[FC]"
;
FIRST_CCW_ARC_MOVE = "G3 [X] [Y] [I] [J] [F]"
CCW_ARC_MOVE = "G3 [X] [Y] [I] [J] F[FC]"
;
; End of file
;
END = "M5"
I wish I could explain why it needed the speed on every line as well. Thank you for this! I will try it tonight and let you know if it worked!
Please sign in to leave a comment.