So I went ahead and subtracted the column from a block:
Now, it gets complicated. There are some spikes that I would like to remove in order to make the mold machinable:
I tried that with additional boolean operations:
They failed with NURBS, although there were clear overlaps. With the objects meshed, I succeed, but the result is buggy and has naked edges.
What’s a good work flow to get what I want?
Unconventional idea: One could create a depth map. VRay I think can do that, possibly also the demo of it. The map could be edited in the Gimp, smoothing out spikes. Finally, one would import it back into Rhino using _Heightfield.
Before you start trying to get this cleaned up, you’d better redesign the column.
There’s no way you can cut those column flutes on a 3-axis. You can’t have undercuts using a 3-axis mill with conventional cutters.
I know, and if undercuts are missing, then that’s fine. I definitely don’t want to redesign the column. I want to work with what’s there and bring it into a shape that’s machinable. Perhaps it’s easier with a solid modeler such as Fusion 360, which I have yet to learn.
Wait, but I do not want to machine it on a 5-axis machine. I want to machine it on a 3-axis machine, thus also the idea with the depth map, which would eliminate all the undercuts. Anyhow, I assume that the CAM processor will just ignore those undercuts.
I have used your depth map idea to get something 3-axis machineable from an object that has undercuts. Had to use a mesh though instead of nurbs as there was a lot of detail that would get “melted” in a nurbs object.
If the boolean difference didn’t give you good results, then you should start again, but this time use the other tools in Rhino to get good results. Split, trim etc. will give you nice clean results.
There was a very long thread about booleans vs. knowing how to model without them recently. I think this is an example where it would be more beneficial to take the long road. If you learn how to model without using the boolean operations you will be better off in the long run. I sometimes use Boolean2Objects, but it’s always for simple objects. I think the same could be said for the FilletEdge command. It’s convenient for simple objects, but knowing how to add fillets with FilletSrf will make you a better modeler. Anyway, I don’t want to take this thread back down that road!
Steve is correct about those undercuts. Unless your CAM software has the ability to do undercut remachining, you won’t be cutting what you’ve modeled on your 3-axis machine (or remove the part even if you did). Also, those sharp corners on the end won’t be possible without making an electrode and using EDM. On a 5-axis machine we would go with a tiny cutter, and rotate so that we could have minimal tool extension and make sure we clear for the holder. It still wouldn’t be sharp but you could get it close.
I’d echo what others have said - don’t rely on Boolean operations for jobs like this, not if you want clean geometry.
I’ve done quite a lot of injection mould tool modelling over the years and building a clean split is one of the most important aspects of the job, actually the most important. To do this you need to know your entire model, the surfaces where the split occurs at least. You need to inspect, split and rebuild as required - a Boolean isn’t going to give you anything but a brute force solution.
Having said that, for simple geometry a Boolean may work.
Regarding undercuts: small re-entrant angles are occasionally left on a model as they won’t be machined anyway. I prefer to remove them where possible so the CAD is a true reflection of the real world geometry. Sometimes budgets don’t stretch to that kind of finesse.
That’s a good point. When I do a tool model I’m always working with imported geometry (often from Solidworks) so the first thing I do is search for gaps and missing surfaces like those you point out. In my experience, Solidworks models usually come in pretty clean via STEP but there is usually some clean up to do.
There are always issues which arise from using free 3D models… There’s a reason why they are free.
Looking at the number of ‘errors’ in the way the column has been assembled (identifies with your purpose in mind) there is no way to work around bugs because the bugs aren’t within the program but are with the model.
Unfortunately you’ll have to do some legwork, and with free models it’s usually a lot more than doing it yourself. I’ve learnt that from a great deal of experience where quick fixes like this cause untold problems along the way and ultimately ending with errors at the point where you’re trying to export or print/machine.
Merely splitting the two parts and looking at the mess where they converge highlights the problem. It’s compounded due to the fact you’re after the negative.
It’s a bit of a non starter, you won’t be able to CNC it even on a 5 axis machine and if you 3D printed it to take a mould, you’d have to fill in all the undercuts by hand before you poured silicone on it.
As for the missing surface, run the _ShrinkTrimmedSrf to remove the error there.
P.S. start to extrude things to remove hollows and unwanted undercuts. If and when you choose to remodel it try to put a draft angle on everything or else you’ll never get the part to come our of the mould.
Surfaces that are not visible are clues to bad objects - bad trims, bad joins etc. They are invisible because Rhino can’t figure out how to mesh them to make them visible. Does rhino say your object is valid? (Check command)
If you explode the object, the surface will probably magically become visible again. Once exploded, if you run RebuildEdges on all surfaces and then Join, you will probably see a bunch of naked edges where the tolerances are out.
Quite possibly, but they could just as conceivably be due to Solidworks export function. As I see it, it doesn’t really matter where the “fault” lies, the problems need to be repaired to get a good watertight model so I just get on and do it. In an ideal world it wouldn’t be necessary but as others have said, exchanging data between CAD systems is rarely plain sailing.
You can try other exchange formats, for complex geometry I will sometimes ask for a STEP, an IGES and a SLDPRT. I’ll import all three and extract good geometry from each to build a composite within Rhino. Even that doesn’t guarantee that you won’t have to rebuild and repair bad surfaces manually.
It’s worth mentioning that Solidworks does do a good job of importing geometry from Rhino. It’s automatic healing and repair tools fix issues that sometimes I can’t repair in Rhino (I could but the budget isn’t there to spend the time necessary). I don’t do this myself so exactly what Solidworks does to the geometry to make it solid I don’t know, but it works well enough to machine mould tools from the data it exports.