Arc instead of corner

You see in stern.png that a arc is cut instead of a corner.
Why this?
The diameter of the plasma jet is set to 0.5mm.
Here is the generated G-code:

N0010 (Filename: Stern.ngc)
N0020 (Post processor: LinuxCNC THC.scpost)
N0030 (Date: 02.05.2019)
N0040 G21 (Units: Metric)
N0050 G00 Z10
N0060 F1
N0070 G90 G40
N0080 (Part: Stern)
N0090 (Operation: Außen Versatz, Color 0, T1: Plasma, 0.5 mm Schnittbreite)
N0100 G00 X33.3607 Y2.7704
N0110 Z3.0000
N0120 M03
N0130 G04 P0.5
N0140 G01 Z1.5000 F100.0
N0150 X31.1780 Y4.8285 F3000.0
N0160 X52.2810 Y27.2090
N0170 X79.8191 Y16.2081
N0180 G03 X80.1311 Y16.5603 I0.0927 J0.2322 F1200.0
N0190 G01 X65.3671 Y43.5464 F3000.0
N0200 X84.3394 Y66.3372
N0210 G03 X84.1009 Y66.7428 I-0.1921 J0.1599 F1200.0
N0220 G01 X53.8733 Y61.0405 F3000.0
N0230 X38.0607 Y86.1269
N0240 G03 X37.6012 Y86.0255 I-0.2115 J-0.1333 F1200.0
N0250 G01 X33.6835 Y55.5152 F3000.0
N0260 X4.9386 Y48.2287
N0270 G03 X4.8931 Y47.7603 I0.0614 J-0.2423 F1200.0
N0280 G01 X32.6994 Y34.6062 F3000.0
N0290 X30.7467 Y5.0165
N0300 M05
N0310 G00 Z10.0000
N0320 X0.0000 Y0.0000
N0330 M05 M30


I ran your gcode in my cnc program and it worked fine. No rounding of corners.

My guess is this is the settings in your cnc controller, not a Sheetcam problem.

Your acceleration setting is too low for your feedrate in your CNC controller.

Not a sheetcam problem

No its just your tolerance settings not set up in your gcode file.

Hi Rod,

I think G64 has a more appropriate name in Lcnc - “Path Blending”. I’ve always heard it called “Constant Velocity Mode”, but path blending is a more accurate description.

Just out of curiosity, can you enter the G64 parameters on screen in Lcnc or is it only in gcode.

In UCCNC, based on the G64 documentation, it appears the gcode G64 parameters have priority, and if none are set in gcode, it uses what’s entered in the setup screen.


G64 parameters are normally default set in the motion controller software (mach3, mach4 and uccnc)

Plasma by default should run in g64… Exact stop will just lead to a mess on the junctions between each and every linear and arc move.

Yes you can customise G64 in every file… If you want to change your tolerance settings … But you should not have to… Just set them for your machines highest precision… Then if you want a rough cut then adjust to the lower setting relative to the part you want.

Still not a sheetcam problem…

Keith, in Linuxcnc you set the startup commands in the ini file. I learnt about this issue when I first built my plasma table far enough to run gcode commands. So I traced a square about 1 metre x 1 metre and watched the machine almost draw a circle to my horror. Glad I was not cutting! I’ve never seen it again. I’m pretty sure my sheetcam post sticks the G64 in the preamble by default though!

Constant velocity is really a bit of a phurphy as I’m sure no CNC controller on earth can achieve it! The laws of physics and the maximum velocity and acceleration your machine is capable of constrain the velocity. eg. You can’t cut a 1cm square at 10 metres per second.

I think G64 adds another set of constraints for the trajectory planner in that it sets what level of inaccuracy you will tolerate. eg what deviation from the commanded path is the TP allowed in the actual path. The tighter it is, the more it has to slow down to achieve the tolerances you set.

eg. You can’t cut a 1cm square at 10 metres per second.

Actually you can… IF your acceleration is high enough…

Centripetal Acceleration

:unamused: :sunglasses:

Ok… I admit a perfect inside square is not possible (acceleration too high) … But if you over it with triangles or arcs at the corners you’ll get a perfect square… (Dropout…)

Totally useless and out of context here Robert. The OP’s original problem and image clearly demonstrates what can be achieved at constant velocity on his machine in the absence of G64 constraints stating how far the actual path can deviate from the commanded path.

I have used the centripedal acceleration physics in real time at 1 kHz in Linuxcnc. Its a very good predictor of velocity but a poor predictor of the arc radius which is what I wanted to calculate.

I disagree, but YMMV

maybe your planner is poor in linuxcnc as I cannot see how it can get a relationship such as

radius = velocity ^2 / acceleration wrong or have some sort of inaccuracy that you consider to be a poor predictor of arc radius.

its physics! Happy to be educated though with something factual.

Yes,it sounded good in theory but when I plotted stuff in real time, the results were inconsistent. Whether that was my maths or not I don’t know. But I think I had it right. There is (hopefully) a better method calculating the radius of a circle passing through three points:
R = (A * B * C)/(4 * K)

Thx for your tips.
I solve the problem with the entry in the ini of LCNC:

PARAMETER_FILE = linuxcnc.var