Dwell at the bottom of each drill pass is not working

I’m using Vcarve and a spindle and drilling holes in a plastic box lid. After drilling the hole, I’m using a 90 degree bit to create a chamfer. Since it’s plastic there is some give in the middle of the box lid and so I need the bit to stay at the bottom for a fraction of a second. Vcarve allows the tool to dwell at the bottom, but even with the setting turned on and the time set to 1 second, there is no wait time. AI says that it might be a post processor issue. Anyone have any suggestions?

This post was moved to the Vectric section, but I’m wondering if it’s some other issue. I’m curious if this is a problem for other CAD software or if anyone else has this issue in Vcarve? I’m assuming it is a feature that is not often used.

What does the G code say?

N34 G1 X4.0055 Y7.4470 Z-0.0100 F35.0
N35 G04 P1.00
N36 G00 X4.0055 Y7.4470 Z0.2000

If I understand correctly, G04 is the dwell command and P1.00 is one second.

Could the value be in milliseconds?

Pat

That is correct. If you add a decimal point, it is in milliseconds.

P10 = 10 seconds

P10.0 = 10 milliseconds

1 Like

Seems like it is a VCarve Pro issue. Here are the settings that generated this G code:

When I get time I’ll try increasing the Dwell Time significantly to see if that addresses the issue, and/or removing the decimal point.

1 Like

OK, here is what I found…

I changed the Dwell Time to 1000.0 seconds in VCarve Pro and it gave me one second of dwell time when I ran it on my Onefinity.

VCarve produced this G-code:

 N35 G04 P1000.00

Then I manually changed the G-code to this:

N35 G04 P1

Which did not give me any dwell time that I could measure. I assume that G04 only reads in milliseconds.

So, it looks like VCarve has a bug where seconds are really milliseconds, or perhaps this is a post-processor issue? Thanks for your help with this.

I believe when you use a decimal value it’s interpreted as ms but without decimals it’s seconds. Try changing it to 10 and see if you get 10 seconds of dwell.

OK, I did some testing.

G04 P100 - Could not discern a delay. Probably 100mS
G04 P1000 - 1 second delay
G04 P10000 - 10 second delay
G04 P10000.00 - 10 second delay

The decimal point does not make a difference between seconds and milliseconds, at least in the way I have it configured.

1 Like

Sorry about the incorrect advice. Turns out the G4 pause command is not standardized. On my CNC Plasma machine it distinguishes between ms and seconds using the decimal point. Funny, but Haas CNCs use it that way too but in reverse - with decimal is seconds.

There’s a difference as well with CNC router controllers vs 3D printer controllers so those of us using both technologies need to make sure we specify it correctly for each machine :face_with_diagonal_mouth: I modded my plasma table’s F360 Post-processor to always assume seconds in my F360 setup and convert the value to ms for the controller.

Buildbotics (the open source standard version) defaults to using the P parameter on the G4 command to specify seconds. Some other controllers use P for milliseconds and S for seconds. Apparently based on your testing 1F uses this other method. Switching to G4 S10 for 10 seconds should prove whether the 1F supports both of the P & S parameters. Dropping the parameter altogether (G4 10) would be an interesting test to see what the 1F BB default time unit is.

“Not standardized.” That is interesting and probably very frustrating for these software companies. If they make a change they have the potential to ruin any previous scripts made using the old parameters. I currently have 400 seconds (400mS actually) programmed into my dwell time for one project. If Vectric fixes the problem and I recalculate, that bit is going to be spinning in place for a long time.

I tried dropping the “P” (G04 1000) as you suggested and there was no delay on my Onefinity. I also tried using “S” (G04 S1000) and again no delay.

Thanks for doing the testing. Apparently 1F’s fork of the BB code and firmware is limited in support for different time units. Similar to some of the other limits they built into their version (or native BB support they didn’t include if you prefer). Disappointing since it’s pretty fundamental.

Here’s the breakdown per controller type for P (dwell time) values:

BB Buildbotics (seconds):
P1 = 1 Second Delay
P10 = 10 Second Delay
P60 = 60 Second Delay (1 minute)

Decimal points are irrelevant

Masso (milliseconds):
P 1000 = 1 Second Delay
P 10000 = 10 Second Delay
P 60000 = 60 Second Delay (1 minute)

Redline ( seconds )
P1 = 1 Second Delay
P10 = 10 Second Delay
P60 = 60 Second Delay (1 minute)