Creating a Negative for Casting

Hello all,

I am trying to cut out a negative from MDF and foam on a CNC. Its a site model for school. I figured i would build the site out of extrusions, and then create my stock in rhino, then boolean diff my model out of the stock. This way the CNC has exactly what it needs to cut out. I did it this wy to capture the topography.

Long and behold boolean diff is failing…

any suggestions?

Casting.3dm (12.6 MB)

First thing I noticed, looking at the first spot that got highlighted with annotation dots after the failed difference, is that the little building at that spot has a top and bottom that are not planar, made of patches that are just barely not flat. Not sure why this would cause a problem, but it seems weird, especially at this resolution, to have surfaces that complex on block models.

OK, so I tried the subtraction again after replacing one building that had a complicated patch for tops and bottoms with a very similar sized pure box, using the 4 point box command. I found another building with the same problem, corrected it the same way.

That got rid of all the annotation dots, and the difference kept failing.

Next step in trouble shooting was to check to see if you had a lot of coplanar faces. Like faces on subtractors in the exact same plane as on the stock. And there seems to be some of that too. By shrinking your bottom stock chunk from .750 to .745, the topography subtraction works. you could also nudge the topography down .005 or .002 or whatever. Doesn’t matter if it’s under .01, you’re not making an engine, nobody will notice.

Anyway, yeah, look for coplanar faces, ideally fudge the position of the subtractors a tiny bit to change that, and it ought to start working.

This is a bug that was worse in Rhino 5, when coplanar faces or colinear edges almost always caused a subtraction fail. Now it seems like (anecdotally, not sure) it takes a more perfect overlaps happening at the same time to get this problem.

Hello - you have many coincident faces in the buildings - moved apart a little here, for example:

And then again, some that are disjoint:


You’ll need to clean up - make sure the thing you are subtracting is all one valid closed object.


Before i spend three hours doing this, would simply dupedge the tops of the structures, then extruding them down as a solid be a quicker solution?

This way they are all garenteed solids? Im a still a rhino newb and trying to determine how to find coplanar edges. I thought they were when two solids are touching faces. does a coplanar edge mean when two solids are different shapes yet they share a single face?

DupFaceBorder and extruding down might make things faster, yes.

Also, try selecting individual buildings, running _booleanunion on them and then _mergeallfaces. I tried that with the cluster of five highrises. After doing that, they subtracted cleanly from your stock block.

I also tried selecting every object on the buildings layer and running boolean union all at once, and that didn’t work.

So this might be a bit tedious, but not horribly so. Just do unions on buildings one at a time, and if the union doesn’t fail, run the subtraction with them and then move the ones that subtract well to a new layer. leave the problematic ones out to fix manually later if needed, either with the extrusion method you mentioned or more manual tweaking. Probably the unions will cover most of it, extrusions the rest, and you won’t have to do much more.

Coplanar face = two faces in the same plane, sharing the same space.

Sketchup = not your friend if you’re doing CNC.

1 Like


Get the topography layer to subtract before you do the buildings. I think it overlaps with some of their bottoms. It had worked on it’s own before, but after I tested the idea above it didn’t work.

Ok! i got everything to work. I wasnt thinking clearly, and found that everything wont _booleandifference together in the same command, so doing it one layer/building at a time worked after i have _booleanunion _mergeallfaces. I know this isnt perfect, but it will work for casting because i can simply correct by hand any mishaps. Whew.

okay now my last problem which should be rather simple is my topography. I cant get it too subtract. Ive tried everyting i know to do.

New file: Casting.3dm (10.6 MB)

I need it to subtract, and i need its bottom outline to subtract out of the stock as well (so i can pour into it.)

Just saw this, didnt refresh browser window. Maybe ill do the topography, and worry about the rest later

You might be able to just lift the topography up .01 inches with the gumball and get a subtraction that works. Worth a shot.

Its a no go. Didnt work, getting late here, thanks for the help. Ill post the file im currently on now. ill work on it in the morning. Right now the issue is i cant subtract this topo surface from my stock.

I feel like there should be an easier answer than going back and redoing the booleans.

Current: Casting.3dm (10.7 MB)

Hello - the first thing to do in troubleshooting Boolean operations is to run the Intersect command on the objects- then look at the resulting curves - can these be used for trimming the objects? If not (generally open curves , so SelOpenCrv is a good tool) then you need to either fix the geometry or complain (here) about the intersection being incorrect - it does happen.

In this case it looks like there are incomplete intersections between the two parts- e.g.