3
$\begingroup$

You would think this would be very simple, but I've had no luck so far, so I'm posting here. I'm trying to generate this shape (courtesy WolframAlpha).

enter image description here

This is simply the intersection of three mutually perpendicular cylinders of equal radius. I can intersect two cylinders in Blender just fine.

enter image description here

But when I try to intersect a 3rd...

enter image description here

I get this.

enter image description here

I've already made sure the normals on each shape are correct, and I've even tried accomplishing the same by cutting a cylinder out of a larger cube, then subtracting that cube from the correct two-cylinder intersection shown above. Blender's boolean modifier always seems to get it disastrously wrong. Given how easy this is to try yourself, I was hoping one of the lovely people on here could provide a working example, or, if not, at least explain what's going wrong. Cheers!

$\endgroup$
  • $\begingroup$ Worked for me the first time I tried. I applied the first Boolean modifier before creating the second. that might help. Edit: I think this is a bug in blender 2.80. Works for me in 2.79, but not 2.80. $\endgroup$ – JeffUK Jan 7 at 0:41
  • 1
    $\begingroup$ You could just duplicate and rotate the panels you have in your second illustration, or go from scratch as described in my suggestion, below... $\endgroup$ – Robin Betts Jan 7 at 12:21
3
$\begingroup$

Of course one solution would be to model it another way, but it is worth noting that Boolean algorithms do not work well with matching geometry - if faces, edges or vertices are very close to each other or if the edges intersect. In those cases slightly moving one object or another in a way that would not change the result sometimes helps, sometimes trying another Boolean algorithm also solves the issues. this happens in all versions of Blender and in most other 3d software as well.

enter image description here

$\endgroup$
  • $\begingroup$ ... :).. I'm just a Booliephobe.. $\endgroup$ – Robin Betts Jan 7 at 13:05
  • 1
    $\begingroup$ Oh, yes, of course. I think most of us are. :D I avoid them as well. It's just that I think it is worth knowing that it is not a bug - they just work like that :D $\endgroup$ – Martin Z Jan 7 at 13:10
  • 1
    $\begingroup$ Unfortunately 2.8 doesn't give a choice of boolean algo. Can confirm that small translations as suggested does the trick $\endgroup$ – batFINGER Jan 7 at 14:19
  • $\begingroup$ I was so sure it would be there, I didn't even bother to check - you are right. Well, hopefully they will add it back in later since apparently we found a use for it. :) $\endgroup$ – Martin Z Jan 7 at 15:53
1
$\begingroup$

You can model this one...

  • Create a cylinder with the desired number of sides (here, 16, to illustrate) and Ctrl R cut an edge loop around its equator, leaving it in place.
  • In front view, K (with C and Z) make the 45 degree cuts as shown
  • In side view, make the same cuts, and select the faces shown
  • X Delete all the others.

All the panels in the final object are duplicates of your reserved region, you just have to find the snappiest way to ShiftDRY (followed by ShiftR to repeat, etc). duplicate them and rotate them (or groups of them) by 90 degrees around each axis into place, CtrlVR removing doubles at the end.

enter image description here

$\endgroup$
1
$\begingroup$

I think this is a bug in Blender 2.80, 2.79 it just worked as expected.

Hhowever, I got it the same net effect in 2.80 by following the below steps.

  1. Create two Cylinders A and B
  2. Add a Boolean Intersect modifier on Cylinder A. Apply the modifier
  3. Rotate Cylinder B by 90 Degrees
  4. Add a Boolean Intersect modifier on Cylinder B. Apply the modifier
$\endgroup$
  • $\begingroup$ Are you saying the above instructions worked in 2.8? In 2.79b I was sort of able to get it to work. After applying the intersect modifier on B, (targeted at what was left of A,) all of the geometry necessary was present in B, but I still had to go into edit mode and do some cleanup. The 4 "corners" sticking out of the horizontal cylinder in picture 2 of the OP were still there. After deleting all of the undesirable verts, the desired geometry was visible underneath (minus a few faces I was able to add manually). Did you have to go through any of that? $\endgroup$ – AIGuy110 Jan 7 at 10:07

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.