+================================================
+
+ WinPC-NC - Vectric machine output configuration file
+
+================================================
+
+ History
+
+ Who When Ver What
+ ======== ========== === =======
+ RK 2007-12-05 V1.0 Coolant Output
+ SPRS 2007-12-06 v1.1 Units mm/s Pathname
+ Documentation Extended.
+ RK 2007-11-21 Documentation of the code implemented
+ SPRS 2007-10-28
+ Mark 2008-05-13 Added Arcs
+ Mark 2008-06-18 Added initial Move to X & Y Home following
+ Move to Z Home.- Requested by John McKinnon
+ ShadowVoice 2012-05-13 Removed initial ZH, so it moves XY Home first, and
+ than Z Home.
+ ShadowVoice 2012-09-09 Movement to home XY at SAFE Z after tool change
+
+ ShadowVoice 2014-06-13 Rapid plunge to start Z added
+================================================
POST_NAME = "WinPC-NC ATC Arcs mm (*.nc)"
FILE_EXTENSION = "nc"
UNITS = "MM"
RAPID_PLUNGE_TO_STARTZ = "YES"
+------------------------------------------------
+ Line terminating characters
+------------------------------------------------
LINE_ENDING = "[13][10]"
+------------------------------------------------
+ Block numbering
+------------------------------------------------
LINE_NUMBER_START = 0
LINE_NUMBER_INCREMENT = 1
LINE_NUMBER_MAXIMUM = 999999
+================================================
+
+ Formating for variables
+
+================================================
VAR LINE_NUMBER = [N|A|N|1.0]
VAR SPINDLE_SPEED = [S|A|S|1.0]
VAR FEED_RATE = [F|C|F|1.1|0.01666]
VAR CUT_RATE = [FC|A||1.0|0.0166]
VAR PLUNGE_RATE = [FP|A||1.0|0.0166]
VAR X_POSITION = [X|C|X|1.3]
VAR Y_POSITION = [Y|C|Y|1.3]
VAR Z_POSITION = [Z|C|Z|1.3]
VAR ARC_CENTRE_I_INC_POSITION = [I|A|I|1.3]
VAR ARC_CENTRE_J_INC_POSITION = [J|A|J|1.3]
VAR X_HOME_POSITION = [XH|A|X|1.3]
VAR Y_HOME_POSITION = [YH|A|Y|1.3]
VAR Z_HOME_POSITION = [ZH|A|Z|1.3]
+================================================
+
+ Block definitions for toolpath output
+
+================================================
+---------------------------------------------------
+ Commands output at the start of the file
+---------------------------------------------------
begin HEADER
"(---------------------------------------------------------------)"
"( File Information: )"
"(---------------------------------------------------------------)"
"( Filename: [TP_FILENAME])"
"( File Path = [PATHNAME])"
"(---------------------------------------------------------------)"
"( Material Information: All sizes in mm )"
"(---------------------------------------------------------------)"
"( X Length = [XLENGTH])"
"( Y Length = [YLENGTH])"
"( Z Length = [ZLENGTH])"
"( X Min = [XMIN] Y Min = [YMIN] Z Min = [ZMIN])"
"( X Max = [XMAX] Y Max = [YMAX] Z Max = [ZMAX])"
"()"
"( Home Position: X = [XH] Y = [YH] Z = [ZH])"
"( Safe Z: Z = [SAFEZ])"
"()"
"(---------------------------------------------------------------)"
"( Program Start )"
"(---------------------------------------------------------------)"
"%"
"[N] G17"
"[N] G90"
"[N] G71"
"(---------------------------------------------------------------)"
"( First Tool )"
"(---------------------------------------------------------------)"
"( Tool Number = [T])"
"( Tool Name = [TOOLNAME])"
"( Speeds and Feeds )"
"( Cut Rate = [FC] mm/s)"
"( Plunge Rate = [FP] mm/s)"
"( Spindle Speed = [S] U/min)"
"(---------------------------------------------------------------)"
"[N] M05"
"[N] M09"
"[N] T[T] M06"
"[N] G00 [XH] [YH]"
"[N] [S] M03"
"[N] G00 [ZH]"
"(---------------------------------------------------------------)"
"( Toolpath Name: = [TOOLPATH_NAME])"
"(---------------------------------------------------------------)"
+---------------------------------------------------
+ Commands output for rapid moves
+---------------------------------------------------
begin RAPID_MOVE
"[N] G00 [X] [Y] [Z] M09"
+---------------------------------------------------
+ Commands output for the first feed rate move
+---------------------------------------------------
begin FIRST_FEED_MOVE
"[N] G01 [X] [Y] [Z] [F] M07"
+---------------------------------------------------
+ Commands output for feed rate moves
+---------------------------------------------------
begin FEED_MOVE
"[N] G01 [X] [Y] [Z]"
+---------------------------------------------------
+ Commands output for the first clockwise arc move
+---------------------------------------------------
begin FIRST_CW_ARC_MOVE
"[N] G02 [X] [Y] [i] [J] [F] M07"
+---------------------------------------------------
+ Commands output for clockwise arc move
+---------------------------------------------------
begin CW_ARC_MOVE
"[N] G02 [X] [Y] [i] [J]"
+---------------------------------------------------
+ Commands output for the first counterclockwise arc move
+---------------------------------------------------
begin FIRST_CCW_ARC_MOVE
"[N] G03 [X] [Y] [i] [J] [F] M07"
+---------------------------------------------------
+ Commands output for counterclockwise arc move
+---------------------------------------------------
begin CCW_ARC_MOVE
"[N] G03 [X] [Y] [i] [J]"
+---------------------------------------------------
+ Commands output at toolchange
+---------------------------------------------------
begin TOOLCHANGE
"(--------------------------------------------------------------)"
"( Tool Change )"
"(--------------------------------------------------------------)"
"( Tool Number = [T])"
"( Tool Name = [TOOLNAME])"
"( Previous Tool Number = [TP])"
"()"
"( Cut Rate = [FC] mm/s)"
"( Plunge Rate = [FP] mm/s)"
"( Spindle Speed = [S] U/min)"
"(---------------------------------------------------------------)"
"[N] M05"
"[N] M09"
"[N] G00 [ZH]"
"[N] T[T] M06"
"[N] G00 [XH] [YH]"
"[N] [S] M03"
"[N] G00 [ZH]"
"(---------------------------------------------------------------)"
"( Toolpath Name: [TOOLPATH_NAME])"
"(---------------------------------------------------------------)"
begin NEW_SEGMENT
"(---------------------------------------------------------------)"
"( Toolpath Name: [TOOLPATH_NAME])"
"( Tool Number = [T])"
"( Tool Name = [TOOLNAME])"
"(---------------------------------------------------------------)"
+---------------------------------------------------
+ Commands output at the end of the file
+---------------------------------------------------
begin FOOTER
"(---------------------------------------------------------------)"
"( Program End )"
"(---------------------------------------------------------------)"
"[N] G00 [ZH]"
"[N] M05"
"[N] M09"
"[N] M30"