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"
0

Comments

6 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?

    0
    Comment actions Permalink
  • 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?

    0
    Comment actions Permalink
  • 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?

    0
    Comment actions Permalink
  • 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.

     

    0
    Comment actions Permalink
  • 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"

    0
    Comment actions Permalink
  • 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!

    0
    Comment actions Permalink

Please sign in to leave a comment.

Didn't find what you were looking for?

New post