v2.0 Bug Fixes/Updates?

 From:  Michael Gibson
3964.8 In reply to 3964.3 
Hi Roger the comments above are all correct - this is not actually a bug, it's a consequence of using some non-solid open surfaces in your boolean operations.

The booleans are more oriented around working on volumes, so you'll get more predictable results with them if you solidify the objects you are trying to boolean together.

In your particular case, when you do the first boolean you have one solid object (the block part) but since you were combining it with a non-solid open surface object the result of that is not a solid and that's why the second operation behaves differently because there is no volume for any piece in that second operation.

There are a variety of ways you can get better results - as others mentioned above you don't actually need to extrude things like this in order to cut holes, just draw a circle curve and use that non-extruded circle as the cutting object in boolean difference and it will drill a hole.

Or another method is to leave the "Cap ends" option enabled when extruding shapes like this - that will create a solid from the extrusion. (The "Cap ends" option actually should be on by default, is there a particular reason why you wanted to disable it?)

You can also solidify the existing cylinder pieces by selecting them and running the Construct > Planar command to cap their open planar ends and make them into solids.

Once those cylinder pieces are solids instead of open surfaces, if you then repeat your Boolean Union steps you should get the result that you were expecting.


Another tip is that if you do want to work with open surfaces, you may want to use the Edit>Trim command when cutting one piece by another. The booleans work by trying to maintain solid volumes, but the Trim command works by cutting surfaces and then letting you specifically pick which fragments to discard. You can then follow that by using Join to glue the pieces together if you want. But usually this method of Trim + Join is better to use when working with surface objects that do not have a closed volume to them.

Booleans are kind of like a Trim + Join process but that tries to automatically figure out which pieces to discard by what volume the pieces were inside of.

- Michael