Can't figure out G02 problem
Posted:
Mon Dec 21, 2020 3:19 pm
by vdl
N116 G02 Y-26. Z19.6 R13.4
it should make an arc using Y and Z ( G19 is active ), but instead it throws error.
There are no X axis moves anywhere in code.
Seems that it takes Y pos and puts in X and takes Z pos and puts in Y.
version 1.2111
config/g code attached
Re: Can't figure out G02 problem
Posted:
Mon Dec 21, 2020 6:51 pm
by cncdrive
The problem is that the arc cannot be made, because the radius of the arc R is too small to define the arc.
If two times the radius is shorter than the distance between the start and the endpoint then it is impossible to create the arc, then the arc is mathematically invalid.
There is a parameter called "arc tolerance" it acts as a possible addition to the R radius parameter, so if the arc is not definable because the two times radius shorter then the distance between the start and endpoint then the software extends the radius with up to the arc tolerance parameter in order to create the arc, in this case the software extends the radius creating a 180 degree arc which is a half circle.
So, your g-code is mathematically wrong. You could still make it work with highering the arc tolerance parameter, however ofcourse the arc will be not precise, because the radius has to be extended to create the arc. This is why the IJK arc programming method is usually more precise than the R method.
However the R method could be also used, but it can be problematic in many cases, because the CAM softwares path calculations and numeric representations can cause inaccuracies in the R programming method when the problem you experiencing happens, when the radius becomes a little shorter than what it should be to create a valid arc. But again you can use the radius tolerance parameter with higher value to overcome the problem. Or you could tell your CAM software to use the IJK arc programming method, that is always accurate, because then the arc center is clearly defined in the code.
Re: Can't figure out G02 problem
Posted:
Tue Dec 22, 2020 8:42 pm
by vdl
Figured out. It was output for lathe. somehow i need to divide X by 2. Made script that patches g code - seems to be working