Can I also ask which post-processor you're using to save the gcode. I got into looking at those recently for a laser setup, can verify there is nothing screwy with it if you want me to look at it as well.
Darren,
The recommended PP for both PVC and VCarve is GCode_Inch.pp. However, there is a difference between the files due to additional functionality in VCarve.
Neither of these versions has commands for starting and stopping a spindle or ending a program properly. I added those to the base GCode_inch, renamed it "SO2-09i_GCode_inch.pp" and placed an appropriate version in folders for VCarve and PVC. One modification I made to each of the base files is the gcode filename extension. The default is "nc" but I have my PPs make the extension "v.nc" for VCarve and "pvc.nc" for PVC so I can tell the difference in my gcode folder. Below is what I'm using to generate gcode. The two "VAR" lines I highlighted are the only difference in the commands in each file.
+================================================
+
+ G Code - Vectric machine output configuration file
+
+================================================
+
+ History
+
+ Who When What
+======== ========== ===========================
+ Tony 02/08/2005 Written
+================================================
+ Bill Arnold July 2015 Modified
+================================================
POST_NAME = "SO2-09GCode_inchVC"
FILE_EXTENSION = "v.nc"
UNITS = "INCHES"
+------------------------------------------------
+ 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 FEED_RATE = [F|C|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|A|Z|1.4]
+================================================
+
+ Block definitions for toolpath output
+
+================================================
+---------------------------------------------------
+ Commands output at the start of the file
+---------------------------------------------------
begin HEADER
"T1"
"G17"
"G20"
"G0[ZH]"
"G0[XH][YH]
M3"
"(Toolname [TOOLNAME])"
"(Material Setup)"
"(X Min = [XMIN] Y Min = [YMIN] Z Min = [ZMIN])"
"(X Max = [XMAX] Y Max = [YMAX] Z Max = [ZMAX])"
"(X Length = [XLENGTH])"
"(Y Length = [YLENGTH])"
"(Z Length = [ZLENGTH])"
+---------------------------------------------------
+ Commands output for rapid moves
+---------------------------------------------------
begin RAPID_MOVE
"G0[X][Y][Z]"
+---------------------------------------------------
+ Commands output for the first feed rate move
+---------------------------------------------------
begin FIRST_FEED_MOVE
"G1[X][Y][Z][F]"
+---------------------------------------------------
+ Commands output for feed rate moves
+---------------------------------------------------
begin FEED_MOVE
"G1[X][Y][Z]"
+---------------------------------------------------
+ Commands output at the end of the file
+---------------------------------------------------
begin FOOTER
"G0[ZH]"
"G0[XH][YH]"
"M5"
"M30"