Hi, someone has reported to me that their machine ( built with a smoothie board ) is having trouble with arcs output by my HeekCNC 1.0 CAD/CAM software. The output it is making is fine for LinuxCNC; using G2 and G3 with the I and J parameters defining the centre point relative to the arc’s start point.
The smoothieboard documentation says that I and J are relative coordinates. Is this relative to the arc start point also?
Any ideas why the arcs might not be working correctly?
Can anyone give me some sample g-code with G2 and G3 moves which works correctly on smoothieboard, so I can produce similar code?
I’m also having problems with arcs generated by HeeksCNC and executed by the Smoothieboard. Were you able to solve this? I also made a post here regarding the use of two digit (leading zero) g-code commands, that I suspect are causing this problem too. Some arc move commands may simply be dropped due to syntax. I end up getting pocket operations that have sections which appear to be shifted.
Changes made were adding G03 to each line of the circle. I also added G00 to the z move and then moved it up a line before the xy moves so the tool didn’t drag across the workpiece.
I think the reason why the Heeks CAD output is not working is because the lines after a G03 command for example are not indented by 1 space, which is required by Smoothieware to recognize that the command is G03 as well (The other option is as you mentioned to prefix each line with a G02/G03 etc.) .
But the last G03 line of the second code block doesn’t look valid to me:
The Z2 line is skipped and all li nes starting with X are skipped.
It executes the first G02 then begins the arc with the first G03 then executes the second G02 and returns to the start point. It should be drawing a full circle.
The NC code itself seems to be valid, just verified using this tool: https://nraynaud.github.io/webgcode/
It only says that G43 is an unknown command which seem valid to me as it doesn’t appear in the list of supported G-codes.
You can make HeeksCNC 1.0 output g-codes on each move line.
The easiest way is to replace every “iso_modal” in file “emc2b.py” with “iso”.
On my computer, the file is at “C:\Program Files (x86)\HeeksCNC 1.0\HeeksCNC\nc\emc2b.py”