- PolyData.boolean_intersection(other_mesh, tolerance=1e-05, progress_bar=False)¶
Perform a boolean intersection operation on two meshes.
Essentially, boolean union, difference, and intersection are all the same operation. Just different parts of the objects are kept at the end.
The intersection of two manifold meshes
Bis the mesh which is the volume of
Athat is also in
If your boolean operations don’t react the way you think they should (i.e. the wrong parts disappear), one of your meshes probably has its normals pointing inward. Use
PolyDataFilters.plot_normals()to visualize the normals.
This method returns the “volume” intersection between two meshes whereas the
PolyDataFilters.intersection()filter returns the surface intersection between two meshes (which often resolves as a line).
New in version 0.32.0.
The result of the boolean operation.
Demonstrate a boolean intersection with two spheres. Note how the final mesh only includes the intersection of the two.
>>> import pyvista >>> sphere_a = pyvista.Sphere() >>> sphere_b = pyvista.Sphere(center=(0.5, 0, 0)) >>> result = sphere_a.boolean_intersection(sphere_b) >>> pl = pyvista.Plotter() >>> _ = pl.add_mesh(sphere_a, color='r', style='wireframe', line_width=3) >>> _ = pl.add_mesh(sphere_b, color='b', style='wireframe', line_width=3) >>> _ = pl.add_mesh(result, color='tan') >>> pl.camera_position = 'xz' >>> pl.show()
See Boolean Operations for more examples using this filter.