My question is how can I split or slice up horizontally a 3D object into ten (or more) equal pieces, and every piece observe and rotate individually?


1 Answer 1


Boolean modifiers

I'll report the main passages of the method suggested by BlendersSushi in this article. enter image description here Basically it uses the Boolean modifier in combination with thin planes.

Start from creating the Array of evenly spaced planes

enter image description here

Apply the Array modifier and add a Solidify modifier with the minumum thickness possible (we'll lose the part inside the extruded plane)

enter image description here

Apply the modifier and Separate by Loose part by enter in edit mode and press P.

enter image description here

Select all the plane and make the object to cut the Active object. Then Run the script:

import bpy

# Get all selected except Active Object
slave_objects = (bpy.context.selected_objects)

# Get Active Object
master_object = bpy.context.active_object

# Iterate each newly created Modifier to point to corresponding slave objects

for num, slave in enumerate(slave_objects[:-1]):
    bpy.context.scene.objects.active = master_object

    current_modifier_name = bpy.context.object.modifiers[num].name

    bpy.context.object.modifiers["{current_modifier_name}".format(current_modifier_name=current_modifier_name)].operation = 'DIFFERENCE'
    bpy.context.object.modifiers["{current_modifier_name}".format(current_modifier_name=current_modifier_name)].object = bpy.data.objects["{slave_name}".format(slave_name = slave.name)]

enter image description here

After a while, you'll have the object automatically filled with Boolean modifiers.

enter image description here

Apply them, then add an Edge split modifier to get rid of shanding artifacts

enter image description here

Run the Origin to geometry command for an easier object handling.

enter image description here

Now you are able to rotate/translate each object.

enter image description here

By pressing Numpad/ you'll be able to get in to the Local view mode of the selection and examine each section.

enter image description here

  • 1
    $\begingroup$ I think that the simplest solution would be to write a script that would iterate the Bisect operator with different Z values. Meantime, I'll suggest an alternative solution that it not optimized for your task, but is more flexible (you can arrange the planes in every way you want) $\endgroup$
    – Carlo
    Commented Oct 4, 2015 at 12:33

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .