I’m new to CNC, so please bear with me here.
I have an STL model generated by OpenSCAD that I have already used to do 3D printed draft versions of two mechanical parts that I need to fabricate in very small quantities (like 1 each). My goal is to cut the final versions of these parts out of an 8mm-thick sheet of T6 aluminum using the 200W CNC module. Unfortunately, I’m running into a few sharp edges in the software that I’m not quite sure how to solve.
The biggest issue I’m running into is that the toolpath that Luban generates is incredibly suboptimal, removing far more material than is actually needed. Like 10,000x as much material as is needed.
The model I’m trying to mill consist of two separate pieces that are roughly U-shaped. That means there’s an area in the middle that isn’t part of either model. That area is roughly plus-shaped, and is 120mm x 80mm, the center of which is a roughly square area that’s roughly 40mm x 80mm, for a total of almost 50% of the 120mm x 120mm part of the plate that’s I’m actually working with.
The model is, in fact, entirely flat, with the exception of some bore holes, which need to be bored at a small diameter for the screw and a larger diameter partway through the material to accommodate the head. Were it not for that, I’d just use an SVG file and tell it to do cutting, but it insists on treating this as carving because I’m starting from a 3D model. I’m not sure if this is a problem or not.
An optimal toolpath would cut out a single path that’s as wide as the end mill, removing just enough material to separate the part that I want to keep from the rest. This would result in cuts totaling somewhere on the order of 800–1000 mm in length.
But does Luban do that? Oh, no. Luban chooses to grind away everything that isn’t supposed to be kept. The result is a lot of unnecessary cutting because of the shape of the model. We’re talking about 1.3 million lines of g-code here, the overwhelming majority of which involves going back and forth hundreds of thousands of times to grind away those huge areas of unused material that could just as easily be left alone.
The same is true for the two large holes in each piece, though that’s at least a more tolerable amount of material than the space between them.
Compounding this is the fact that it needs to drill five bore holes in extremely precise spots, which requires the use of the 1.5mm flat end mill, and I’d rather not try to change bits out in the middle if I can help it, which means that removing so much material is a huge problem.
The result, of course, is a model that is estimated to take 55 days to carve. Slow doesn’t begin to cover that. And maybe I’m being way too conservative in the stepdown, stepover, plunge speed, and work speed numbers, but even if I could speed things up by an order of magnitude, the amount of time would still be absolutely nuts.
The second problem is that it isn’t adding cuts all the way around the pieces, instead leaving one entire side of the pieces completely uncut. There’s no obvious way to get it to keep showing me the outline for the imported model so I can draw additional cut lines. I guess I could import a simple rectangular model and create a separate toolpath from that, but I was wondering if there’s a way to tell it to cut the edges, too.
Then again, the cynic software engineer in me thinks that perhaps this is a good thing, because if it did, it might try to grind away the entire remainder of the 200mm x 200mm plate.
Any thoughts? Are there settings I’m missing that would cause it to generate g-code that completely detaches the part from the plate, and that doesn’t waste time grinding away anything that would be completely detached? Are there other tools for generating g-code from STL (or directly from OpenSCAD) that would produce less overly verbose g-code?