I am interested in taking a model and splitting it into 1x1x1 cubes.

For the sake of a simple example, in my attempt, I have a simple model, the default cube in blender scaled up by 2. I have formed a grid from another 1x1x1 cube using array modifiers, so that I can split the initial cube by this grid. I want to break down my initial model into 1x1x1 parts. So, I applied a Boolean modifier with Intersect over the grid cube.

enter image description here

It might be hard to see but I did get close to this result:

enter image description here

However, I had to set the array modifier offset to 1.001. In case it is a 1, I get a blank result, the intersection seems to return no results.

enter image description here

My question is why is this 1.001 necessary, and is it creating an uneven split? In my use case it is extremely important that the split is a perfectly even split, a very small offset is not acceptable. Is there a better approach?

  • $\begingroup$ What are you trying to do? If it's just cubes, one would just make the cubes separately and snap them to each other. What is the actual situation and context? $\endgroup$ Jul 14 at 0:13
  • $\begingroup$ Are you looking for voxels youtu.be/ZFKUaXvieBQ $\endgroup$
    – Rick T
    Jul 14 at 9:36
  • $\begingroup$ The 1.001 is necessary because if the array instances are directly face on face, the Boolean modifier does not "see" two faces by which to divide the larger cube. If two array faces are in the exact same location, they will get treated as one cutting plane by the Boolean modifier. So with a distance of 1.000 the faces of the larger cube will be subdivided (as you can see e.g. in Wireframe mode), but not split with faces created on the inside... and therefore the subdividing edges are not visible in Solid mode like on other subdivided meshes without an angle between adjacent faces. $\endgroup$ Jul 14 at 11:00


You must log in to answer this question.

Browse other questions tagged .