How can I slice an object horizontally into equal pieces?
Boolean modifiers

I'll report the main passages of the method suggested by BlendersSushi in this article.

Basically it uses the Boolean modifier in combination with thin planes.



Start from creating the Array of evenly spaced planes



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



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



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]):
    print(slave.name)
    bpy.context.scene.objects.active = master_object
    bpy.ops.object.modifier_add(type='BOOLEAN')


    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)]




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



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



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



Now you are able to rotate/translate each object.



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