New experimental feature: Boolean operations (union, intersection, difference) on meshes

We have added a new module - Combine models - to Sandbox extension to compute union, intersection, or subtraction operations on models (surface meshes).

This can be used to construct surgical guides and various other patient-specific devices by combining patient-specific meshes with CAD-designed parts.

See short demo here:

Although Segment Editor can also combine models using Logical operators effect, this effect requires conversion of the mesh to a labelmap representation. Meshes that contain small, sharp features requires very fine resolution labelmap, resulting in high memory usage and long computation times.

The module relies on vtkbool package instead of VTK’s built-in Boolean operations filter, because vtkbool appears to be much more stable.

We would like to hear from users if these operations work well. If they do, then the feature will be made available in Slice core (as a new tool in Dynamic modeler module).


@mikebind and other 3D printing folks - we would like to hear from you. Do you find this feature useful? What can we do further improve your workflows?


Thanks for tagging, I’ve passed this on to my 3D printer colleague.

1 Like

@lassoan where can I install this pls

It does not come up with extensions?


Sandbox extension shows up in the Examples category (you can also search for its name).

1 Like

This is really helpful for custom designed implants

And even studying deformity cotrrection surgery

But I cannot visualise the output model

I’ve only used it a few times so far, but this is a very helpful feature for combining multiple segments, or adding labels to parts created in Slicer.

Prior to this functionality, I had to train people in using something like Meshmixer or Blender, in addition to Slicer. This simplifies the rapid prototyping workflow quite a lot. Thanks.

1 Like

Thank you. I found a Perk Lab video 3D Slicer: Dynamic Modeler - Parametric Surface Editing for Biomedical Applications that will be helpful as well. And I installed the Sandbox extension. This should streamline our process. I’ll let you know how it works. Thanks.