Simplify mesh by cutting out inside parts I have a mesh that I created with a particle emitter and it's just a bunch of cubes randomly rotated. Here's a picture:



What I want to do is simplify this mesh so only the exterior parts are left. Basically something like a binary operation of adding the two cubes together, except every single piece needs to be added together so it simplifies into one exterior mesh with nothing protruding inside. How can this be accomplished?
I don't think there is any easy way to do this. Here are a few ways, however they are quite resource intensive:

Remesh modifier:

You can use the Remesh modifier to do this, however it will take a long time to compute and result in a very dense mesh.

Make sure you have Remove Disconnected Pieces disabled:



Python:

Expanding on Matt's answer, you can make a script that will create boolean modifiers for every cube on every cube:

import bpy

# Make a group of your particle cubes and replace 'Group' with the name of your group:
particles = bpy.data.groups['Group'].objects

#iterate through every cube in the group:
for object in particles:
    # Remove all existing modifiers:
    object.modifiers.clear()
    # For every object in the group,
    for target in particles:
        # Test if the object is the not the same as the object we are currently adding modifiers to:
        if target.name != object.name:
            # Add a boolean modifier
            mod = object.modifiers.new(name="test", type="BOOLEAN")
            # Set the target object:
            mod.object = target
            # Set the operation mode to UNION:
            mod.operation = 'UNION'


I tested it with 100 cubes and it took quite a long time.
Also note that every cube will be joined to every other cube, so there will be a lot of failed boolean operations caused by cubes that don't intersect trying to be joined.