I’m searching a solution about a prob while exporting gCode export from Vectric.
When I’m exporting several toolpath using the same bit they’re merged into the same .ngc file and it’s fine but when I run the file on my journeyman I get a msg on the display before to run the new toolpath, it comes from the lines : M0(MSG, Click ‘Continue’ when the spindle is up to speed) that are added at each start of the toolpath. I can manually update the file and remove these lines, but it’s not answome
Does anyone has an idea how I can skip these msg in order the processing goes through all toolpath without any msg ??
I do not recall ever seeing this behavior when combining multiple tool paths with the same bit. Are you sure you have not inadvertently assigned different tool numbers in the settings for each path?
Stefano, I get the same thing when I group tool paths in the same file. Fortunately, the spindle never slows down and I am able to just press continue. It is a minor annoyance, probably coded into the post processor by design.
I’ve checked it → I’ve applied the same tool Nb for the 4 toolpath, only adapted some parameter like pass depth, stepover or feed rate. Into the gCode, the tool Nb is mentioonned only once at the begining.
When exporting the gCode I use option : Visible toolpath to one file and of course with the oneFInity post processor…
Will you post your Vcarve project and gcode so we can see them?
I have run several tests. The only way I have found to recreate this behavior on my end is to assign a different tool number to one of the paths. But I would be interested to see your files in more detail to see if something else is at play.
Unfortunately, I can’t open the .crv3d file. I had incorrectly assumed you were using VCarve, not Aspire.
However, it’s worth noting that the gcode intro is different, so it may be a post processor issue specific to Aspire, as there are clearly differences. Are you using the Onefinity post processor that comes with Aspire or one of the older ones posted by Onefinity?
Gcode intro from my machine:
%
(VECTRIC POST REVISION)
(14915DE88D57FEB54FDB7F235745EEBE)
T1
...
M0(MSG, Click 'Continue' when the spindle is up to speed)
Gcode intro from yours:
%
T1 (MSG, Insert Tool 1)
...
M0(MSG, Click 'Continue' when the spindle is up to speed)
Interesting. I have confirmed that the NEW_SEGMENT block is removed from the current Vectric-supplied Onefinity post processor. That seems to be the culprit. But removing it means all instances of that tool would run at the same spindle speed as the change is never sent, something I had actually already noticed on my end but didn’t give too much thought.
I wonder if you could simply replace the M0 command with a pause/dwell instead to allow the spindle to change speed.
Of course, if you are using a hand-held router, the programmable speed change is irrelevant and unneeded, unless it’s being done manually.
1 Like
Aiph5u
(Aiph5u (not affiliated with Onefinity))
10
Hey Stefano,
I don’t know if your Aspire has an option activated that tells it to insert the spindle wait to speed message, but at least to remove it in the g-code program is easy if you have sed installed:
sed -i "s/M0(MSG, Click 'Continue' when the spindle is up to speed)//g" all\ path.ngc
I checked this with your file “all path.ngc”, all instances of this M0 pause with the message are removed:
If I diff your original file with the file modified by ‘sed’ above, you can see the difference (in unified diff format):
--- "all path.ngc" 2022-07-29 17:35:44.356265394 +0200
+++ "all path.new.ngc" 2022-07-29 17:37:12.840830333 +0200
@@ -3,7 +3,7 @@
G0 G17 G21 G90 G40 G49
G0 Z20.000
G0 X0.000 Y0.000 M03 S10200
-M0(MSG, Click 'Continue' when the spindle is up to speed)
+
G0 X-184.500 Y-158.000 Z20.000
G0 Z10.000
G1 Z-1.000 F400.0
@@ -92,7 +92,7 @@
G1 X-182.820
G0 Z20.000
G0 Z20.000 M03 S10200
-M0(MSG, Click 'Continue' when the spindle is up to speed)
+
G0 X-172.500 Y-162.000 Z20.000
G0 Z10.000
G1 Z-7.100 F400.0
@@ -142,7 +142,7 @@
G3 X-172.500 Y-162.000 I17.000 J0.000
G0 Z20.000
G0 Z20.000 M03 S10200
-M0(MSG, Click 'Continue' when the spindle is up to speed)
+
G0 X-188.708 Y-64.866 Z20.000
G0 Z10.000
G1 Z-5.000 F400.0
@@ -876,7 +876,7 @@
G1 X185.890
G0 Z20.000
G0 Z20.000 M03 S10200
-M0(MSG, Click 'Continue' when the spindle is up to speed)
+
G0 X-160.000 Y-129.499 Z20.000
G0 Z10.000
G1 Z-2.500 F400.0
1 Like
Aiph5u
(Aiph5u (not affiliated with Onefinity))
11
Hey Stefano,
I am not familiar with the post processor, but it’s clear that removing these lines will simply remove what they do.
In your “all path.ngc”, the first line translates to
G0 Z20.000 M03 S10200
Does it make sense to you to have the Z moved rapidly (G0) to 20 mm (Z20.000) at the beginning of each new segment? If yes, I would leave it there. In any case, you would want to have the spindle set in “run” mode (M03) and at the desired speed (S10200) before running a program segment. If you remove this part, your spindle will not run.
The second line tells to pause the program and to display the message and to wait until the operator clicks “continue”.
If you remove this, it will not pause and wait, but run the next segment immediately. However maybe at least once at the start of the first segment, you would want to make sure the spindle reached the set speed?
PS: I just saw that in your “all path.ngc” (I hate spaces in filenames), the first instance of the pause and message is preceded with another line:
G0 Z20.000
G0 X0.000 Y0.000 M03 S10200
M0(MSG, Click 'Continue' when the spindle is up to speed)
Probably the first instance of the rapid move to Safe Z, set spindle to “run”, set speed, is not made by the lines you cited above (since it also contains a “home XY” command), but by another code portion somewhere (I don’t have the post processor here!). I would remove the line and see what g-code it generates then. Is the first instance still there if you remove the line(s)?
The tip from Matticustard is a known workaround (replace the pause with message with waiting for operator acknowledgement by a G4, dwell command)
But I don’t know if anything is version-specific to Vectric.
I would probably start by changing the NEW_SEGMENT M0 line in your existing PP to a pause of a second or two and see if that works for you, or however long your spindle needs.
I’m hesitant to tell you the wrong thing. But I think this would be a 2-second dwell/pause:
"G4 P2"
However, I’ve seen some references that mention milliseconds, which would be 2000 instead.
1 Like
Aiph5u
(Aiph5u (not affiliated with Onefinity))
14
Hey Matticustard,
the P[milliseconds] is historically correct and e.g. to find here, but for the buildbotics controller, the LinuxCNC g-code was the model, so it is like on the LinuxCNC page: P[seconds]. See here for proof.
With your generous knowledges sharing, my understanding of this matter has made another step, thank you very much !!
I’m going to replace the M0 line for NEW_SEGMENT with G4 P5000 and test it (I also viewed it’s miliseconds)
I won’t touche the line above “G0[SAFEZ] M03[S]” even if you’re right Aiph5h it’s probably useless because the spindle is already running , M03 with speed instruction is given by the header block.
for the moment, I prefer to keep my post pro as close as possible to the original, then learn and practice more
I’ll dig more about SED … it could be very helpfull for other situations
Matticustard, thx four your PP version … I’ll compare and check diff before to use it.
I’m not sure to understand 100% from where your version comes from, you got it from vectric online library ?