So, I think I've finally gotten to the bottom of this one! Had everyone here scratching their heads for a while.
I got ahold of this code that was being submitted to the tool:
'----------------------------------------------------------------
'SHOPBOT ROUTER FILE IN INCHES
'GENERATED BY PARTWorks
'Minimum extent in X = -2.500 Minimum extent in Y = -2.500 Minimum extent in Z = -0.125
'Maximum extent in X = 2.500 Maximum extent in Y = 2.500 Maximum extent in Z = 0.000
'Length of material in X = 5.000
'Length of material in Y = 5.000
'Depth of material in Z = 0.125
'Home Position Information = Center, Material Surface
'Home X = 0.000000 Home Y = 0.000000 Home Z = 0.800000
'Rapid clearance gap or Safe Z = 0.200
'UNITS:Inches
'
IF %(25)=1 THEN GOTO UNIT_ERROR 'check to see software is set to standard
SA 'Set program to absolute coordinate mode
CN, 90
'New Path
'Toolpath Name = TESTPRT
'Tool Name = End Mill (0.063 inches)
&PWSafeZ = 0.200
&PWZorigin = Material Surface
&PWMaterial = 0.125
'&ToolName = "End Mill (0.063 inches)"
&Tool =1 'Tool number to change to
C9 'Change tool
TR,14000 'Set spindle RPM
C6 'Spindle on
PAUSE 2
'
MS,0.0,0.0
JZ,0.800000
J3,0.000000,-0.281502,0.200000
J3,0.000000,-0.281502,0.000000
M3,0.000000,-0.281502,-0.032500
M3,-0.032801,-0.281170,-0.032500
....
Now if any of you are familiar with ShopBot code--try to spot something out of the ordinary before continuing...
give up?
Check out the MS command right after the spindle is turned on by the C6 command. MS is short for move speed and it passes the feedrate data from your tool profile in vcarve to the FabMo control software. MS, 0.0, 0.0 tells the tool that the feedrate should be 0 inches per second in the X and Y axes, and 0 inches per second in the Z axis. In the old ShopBot software, this would generate a warning that wouldn't allow you to continue with the cut until the move speed was at least 0.05 ips in every axis. Currently there is no such warning in FabMo. Instead, it will commence the cut, it will even move a little bit because the first few moves in the file are Jogs (high speed moves) which have their own speed settings with defaults in FabMo. As soon as it gets to the first move command (M3, ..., ..., ...) it can't find a speed value so it skips every move all the way to the end of the file where it jogs home and turns off the spindle.
The fix here would be to edit the tool profile in vcarve with a non-zero value for feedrate and then recalculate the toolpath and save a new copy of the file. In a pinch you can also just edit the MS command in the code.
This is why the problem seemed intermittent. Running files from certain apps would put a speed value into the system and things would run correctly. Other apps that didn't specify speed would just use the values left over from previous runs. However, when one of the vcarve files would run, it would wipe out the speed values...and any app that didn't specify its own speed values would also stop working.
Anyway--this was a great puzzle and we all learned something here in trying to solve it! We're trying to decide how best to implement warnings about speed values in FabMo now. Can anyone think of a reason that you'd want a zero speed for a toolpath??
Brian