2
$\begingroup$

I tried to put a cylinder and a box together and this happened:enter image description here

Is this a bug in the new 2.8 or has blender always been like this?

I'm not looking for other "Blenderland" methods of making the same shape, I want to know how a union operation between two primitives can possibly create holes.

$\endgroup$
2
2
$\begingroup$

It's not a bug and it's not a Blender thing. Boolean algorithms are like that in most 3d software packages. Stored numbers are not infinitely precise in computers. Look into binary rounding errors if you want to know more. It just so happens that we can observe the consequences of these errors very clearly with boolean operations. Every time you have geometry that has vertices very close to each other or faces or edges that overlap and a boolean operation you may get unexpected results. This happens in all 3d software to some extent with polygonal modelling.

Try to avoid having surfaces that overlap in boolean operations. Sometimes you can make the parts bigger and still get the same boolean result but without errors. You may also move the objects very slightly to improve the results.

This is one of the main reasons you will see many experienced modellers avoid booleans altogether and/or dislike them in general.

$\endgroup$
5
  • $\begingroup$ While that's an explanation to this behaviour, I don't see how you can't call this a bug in the boolean algorithm used. I can't recall this ever happening in Solidworks or even Sketchup which I have used for many hundredths if not thousands of hours. How come Blender doesn't just use the algorithms they use? :S $\endgroup$ Jan 12 '20 at 20:54
  • $\begingroup$ Solid modelling CAD software works differently. This problem is not that easy to solve in CG 3d packages where we use polygonal surface modeling instead of solid volume modelling, I am afraid. It has been there as long as I remember and I suspect it will stay there for a very long time. We might see some improvements maybe, but to some extent I think it is safe to assume this is going to stay problematic. Better to get used to it and be prepared to deal with it. It is a widely known problem so reporting it as a bug will have no effect, I am afraid. $\endgroup$ Jan 12 '20 at 21:15
  • $\begingroup$ Ok. You don't happen to know if this is a "speed" thing, like is there some addon or algorithm that just takes a long time to run but gives good results or is this an unsolved problem? :S $\endgroup$ Jan 12 '20 at 21:30
  • $\begingroup$ As far as I know this is an unsolved problem. Solid modelling software can do this, but then the surface geometry coming out of it is just terrible and very hard to work with as always. Booleans work in sculpting/remeshing context, but then you need high density meshes and detail is lost when remeshing... No perfect solution exists for surface modeling with polygons as far as I know. You can try to fiddle with it, or model the forms other way, or join surfaces manually using modelling tools. $\endgroup$ Jan 12 '20 at 21:36
  • 1
    $\begingroup$ Simple forms like this can be solved extremely easily with "Blenderland" solutions, but you said, you did not want to go there, so I am not going to anger you with solutions. Sometimes even with complex geometry they are not as bad as they seem. Pretty bad though usually. It's probably tedious and annoying compared to solid modelling software, but you cannot do some other stuff in there that is easy in surface modelling and animation packages... $\endgroup$ Jan 12 '20 at 21:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.