I’m quite glad to discover the Kiri:Moto. There isn’t too much good opensource CAM software, and Kiri certainly has a big potential.
I’m mostly interested in CNC machining & laser engraving as I have only those machines at home. I’m trying to get used with Kiri. As my first task I decided to cut a broken gear carrier from planetary gearbox of my coffee mill. The material will be aluminium but that doesn’t matter so far. The stock is a 20x40xInf alluminium bar (19.8mm height, to be exact).
The detail is 16mm height, so first I add a “level” with Z offset 2.8 (I don’t risk cutting more than ~3mm of Alu in one pass to avoid breaking the cutter). So stock is now 17mm high which is okay since my cutter’s flute length is 17.
Then I add a “rough” pass. I set “Z top” to 17 so that it starts cutting from current stock top in steps of 2mm. And here’s the first surprise: For some reason Kiri will create a rough cutting pass at Z=-1.9 (which is 17.9mm absolute Z counting from table top). This is strange as it exceeds “Z top” and thus it will cut just air.
Then it adds cutting passes down till it reaches Z=-13.8 (absolute Z=6) and moves to next operation. This is second surprise as it was expected to cutt down till abs Z=5 (Z=-14.8) as that’s the height of my bottom barrel of the detail. So basically it leaves it 1mm higher than needed. Well, it’s a “Rough” operation so maybe it’s expected to leave some extra material here and there. But I’m not sure what operation I must use to cut down to barrel surface?
I’ve added an “Outline” operation with step=2, then with step=3 but this doesn’t help with the top surface of the bottom barrel.
What’s the correct approach to cut out my detail?
P.S. New users can’t upload files so here’s the workspace on my gdrive:
here are a couple of options. pocket with no cut down does a single pass. sample provided for the top. trace can select regions with pockets. two are used here. one for the collar up and one for the cutout. pocket and trace have loads of options to tweak their behavior.
Thank you for suggestion! Indeed it does exactly what I need. But for some reason it cuts that face twice, don’t know why.
It’s sad this option is available only in Rough operation. I need to cut an square hole with “dog bones” so that it accepts a square shaft. But “dog bones” are available only in “Outline” operations and it won’t cut the “bones” to the bottom of the hole.
And here’s a view that illustrates “Outline” operation not going to the bottom of the shaft (the squares with “dog bones”) while “Rough” operation reaches bottom, but doesn’t have an option for “dog bones” (the plain squares):
And another strange thing is that it doesn’t cut the tabs to their height, it seems the “clear faces” option doesn’t affect tabs. Here you can see that the tool path is way above the top of the tab:
Thanks! First, I didn’t know you can enable/disable operations until I’ve seen your example
Dog bones are needed because otherwise the square shaft won’t fit in.
Trace is an interesting operation, I didn’t notice it. And it has dogbones. I will try to do the square shaft with it.
So, in the end, I used two Level operations (to clean stock down to top level of the part), one Rough (to make the top face of the bottom barrel) and three Traces to make holes and the final cut. The only strange thing is that the face of the bottom barrel is cut twice, maybe it wants to polish it, don’t know.
In case some newbie like me reads that, here’s the final version that worked:
And now I’m the proud owner of this unique gear support part prototype, made of authentic beech wood!
Some notes about the generated G-Code:
In my machine setup I have added a pause in the ‘Spindle’ sequence, e.g.:
S{speed} ; Set spindle speed
M3; Start spindle
G4 P3.0 ; Wait to spin up
Kiri inserted 6 such sequences, so 5 unneded 3-sec pauses because the spindle was already at speed “1000” (not real RPM, meh). Maybe the G-Code output code could track the current spindle speed and avoid unneeded speed “changing” sequences.
The start of the .nc file was:
G21
G90
S1000
M3
G4 P3.0
G0 X0.0 Y0.0 F2000
G0 Z5.0 F1000
This is dangerous as I tend to start cutting at position (0,0,0), especially for Z which touches the top of the stock. So it first turns on the spindle, scratching the stock, then moves it to (0,0) at same height, and only after that will move it up.
So as a workaround I had to add an “G0 Z5” to my G-Code header.
Maybe I don’t understand something, but I think the correct sequence should be:
a) Rise the spindle to whatever “Z clearance” is
b) Move to (0,0)
c) Turn spindle on
I noted there are a lot of instructions like:
G0 Z5.0 F1000
As far as I know the feed setting influences only G1/G2/G3. G0 will always move at maximum speed (which is set up in controller settings and never changes). I tested this and at least on Grbl firmware this is so. So it looks like the global settings “Z Feed” and “XY Feed” are not needed.
All in all, these are all minor issues so Kiri is now part of my CNC software lineup.
Thanks again for your awesome work.
did you experiment with first z max and force z max under the left output menu? G0/G1 feed speed behavior differs depending on controllers and is therefore an option.
tab issue is known. at present tabs just “cut” an existing perimeter line. it introduces other problems you haven’t found yet, but are also known. will be fixed in the future.