+================================================ + + LinuxCNC - Vectric machine output configuration file + +================================================ + + History + + Who When What + ======== ========== =========================== + Tony 02/08/2005 Written + Pieter 20/06/2008 adapted for EMC2, begin + end + its uses M7 to start coolant/vacu-cleaner + Mark 28/06/2008 Added Arcs and new segment section. + Mark 11/08/2008 Inch version. + Jeremy 03/07/2012 Rewritten for PROBOTIX + Kaden 07/09/2018 Changed header to include file info + Set ATLaS as default toolchange routine + Separated Spindle, Router and Laser posts + Kaden 29/09/2018 Changed Laser command + Edward 29/05/2020 Moved laser commands into laser records + Restored Spindle commands to allow dual use + Scaled laser power 1-100(%) + Output power variable (A)lways + Edward 31/05/2020 Feedrate variable (A)lways + Used M67 (on next feed) laser control code + instead of M68 to try and improve performance + Changed line endings & formatting to match + Probotic 'Spindle' post wherever possible +================================================ POST_NAME = "PROBOTIX LinuxCNC Laser Arcs(inch)(*.ngc)" FILE_EXTENSION = "ngc" UNITS = "INCHES" SUBSTITUTE = "({)}" +------------------------------------------------ + Line terminating characters +------------------------------------------------ LINE_ENDING = "[13][10]" +------------------------------------------------ + Block numbering +------------------------------------------------ LINE_NUMBER_START = 0 LINE_NUMBER_INCREMENT = 10 LINE_NUMBER_MAXIMUM = 999999 +================================================ + + Formating for variables + +================================================ VAR LINE_NUMBER = [N|A|N|1.0] VAR SPINDLE_SPEED = [S|A|S|1.0] VAR POWER = [P|A|Q|1.0] VAR FEED_RATE = [F|A|F|1.1] VAR X_POSITION = [X|C|X|1.4] VAR Y_POSITION = [Y|C|Y|1.4] VAR Z_POSITION = [Z|C|Z|1.4] VAR ARC_CENTRE_I_INC_POSITION = [I|A|I|1.4] VAR ARC_CENTRE_J_INC_POSITION = [J|A|J|1.4] VAR X_HOME_POSITION = [XH|A|X|1.4] VAR Y_HOME_POSITION = [YH|A|Y|1.4] VAR Z_HOME_POSITION = [ZH|C|Z|1.4] VAR SAFE_Z_HEIGHT = [SAFEZ|C|Z|1.4] +================================================ + + Block definitions for toolpath output + +================================================ +--------------------------------------------------- + Commands output at the start of the file +--------------------------------------------------- begin HEADER "%" "(Probotix LinuxCNC: [TP_FILENAME])" "(Tools: )" " ([TOOLS_USED])" "(Notes: )" " ([FILE_NOTES])" " " "G54 G17 G20 G40 G49 G80 G90 G94" "G92.1 (Reset any offsets)" "G64 P0.010 (Tolerance)" "M68 E0 Q0 (Laser OFF)" " " "G00 [ZH]" " " "G00 [XH] [YH]" "G00 [SAFEZ]" +--------------------------------------------------- + Command output after the header to switch spindle on +--------------------------------------------------- begin SPINDLE_ON "M3 [S]" "G0 M8" "G4 P4 (pause for spindle accel)" +--------------------------------------------------- + Commands output at toolchange +--------------------------------------------------- begin TOOLCHANGE " " "(AXIS,notify,TOOLCHANGE called during LASER usage!)" "(T[T] M06) ([TOOLNAME])" "M68 E0 Q0" " " +--------------------------------------------------- + Commands output for a new segment - toolpath + with same toolnumber but maybe different feedrates +--------------------------------------------------- + + begin NEW_SEGMENT + + "M68 E0 Q0" +--------------------------------------------------- + Commands output for first rapid move +--------------------------------------------------- begin FIRST_RAPID_MOVE "G00[Z]" "G00[X][Y]" +--------------------------------------------------- + Commands output for rapid moves +--------------------------------------------------- begin RAPID_MOVE "G00[X][Y][Z]" +--------------------------------------------------- + Commands output for the first feed rate move +--------------------------------------------------- begin FIRST_FEED_MOVE + "M67 E0 [P]" "G01[X][Y][Z] [F]" +--------------------------------------------------- + Commands output for feed rate moves +--------------------------------------------------- begin FEED_MOVE "[X][Y][Z]" +--------------------------------------------------- + Commands output for the first clockwise arc move +--------------------------------------------------- begin FIRST_CW_ARC_MOVE + "M67 E0 [P]" "G02[X][Y] [I] [J] [F]" +--------------------------------------------------- + Commands output for clockwise arc move +--------------------------------------------------- begin CW_ARC_MOVE "G02[X][Y] [I] [J]" +--------------------------------------------------- + Commands output for the first counterclockwise arc move +--------------------------------------------------- begin FIRST_CCW_ARC_MOVE + "M67 E0 [P]" "G03[X][Y] [I] [J] [F]" +--------------------------------------------------- + Commands output for counterclockwise arc move +--------------------------------------------------- begin CCW_ARC_MOVE "G03[X][Y] [I] [J]" +--------------------------------------------------- + Commands output for the First Plunge Move +--------------------------------------------------- begin FIRST_PLUNGE_MOVE "G01[Z] [F]" +--------------------------------------------------- + Commands output when the jet is turned on +--------------------------------------------------- begin JET_TOOL_ON "M67 E0 [P] (Laser ON)" +--------------------------------------------------- + Commands output when the jet is turned off +--------------------------------------------------- begin JET_TOOL_OFF "M68 E0 Q0 (Laser OFF)" +--------------------------------------------------- + Commands output when the jet power is changed +--------------------------------------------------- begin JET_TOOL_POWER "M67 E0 [P] (Laser Power SET)" + --------------------------------------------------- + Commands output for Retract Moves + --------------------------------------------------- + begin RETRACT_MOVE + + "M68 E0 Q0" +--------------------------------------------------- + Commands output at the end of the file +--------------------------------------------------- begin FOOTER "M68 E0 Q0 (Laser OFF)" "G00 [SAFEZ]" "G00 [XH] [YH] (Return to origin)" "M30" "%"