This is a follow-on question as suggested by a commenter. What I'd like to do is to create a geometry with the following properties:
A cube with several spherical indentations carved out on top. 16 indentations are half-spheres. The 17th indentation has the shape of four half-cylinders that form a ring (with slightly rounded corners corresponding to the radius of the cylinders).
My plan of attack is as follows:
- create and scale the cube
- create 16 spheres clustered around the center of the cube's top face
- create 4 cylinders, scale and rotate them to form the basic ring
- create 4 more spheres at the corners to complete the ring
- add 16 DIFFERENCE boolean modifiers to the cube with the 16 spheres from step 2 as targets; hide each sphere after adding the corresponding modifier
- add 4 DIFFERENCE boolean modifiers to the cube with the 4 cylinders from step 3 as targets; hide each cylinder after adding the corresponding modifier
- add 4 DIFFERENCE boolean modifiers to the cube with the 4 spheres from step 4 as targets; hide each sphere after adding the corresponding modifier
Steps 1 + 2 work as expected:
Steps 3 + 4 also work as expected:
And so does step 5:
And even step 6 for the 1st cylinder:
However when I try to subtract the 2nd cylinder the visual result is unexpected and the error message appears:
What is going on here and how can I obtain the desired geometry?
Could the problem be caused by the fact that the two cylinders I wish to subtract from the cube are themselves overlapping? (The Blender documentation mentions "concurrent Boolean operations for the same modified mesh, which in most cases is impossible to execute depending on the chosen target" but does not elaborate further.)
UPDATE Here's the (still expected) result when joining the 4 cylinders and last 4 spheres before subtracting the from the cube (see @Polosson's comment):