pyvista_cad.CadMultiBlockAccessor.flatten

pyvista_cad.CadMultiBlockAccessor.flatten#

CadMultiBlockAccessor.flatten()[source]#

Collapse a nested MultiBlock into a flat MultiBlock of leaves.

Walks the assembly tree depth-first and returns a single-level pyvista.MultiBlock containing every leaf dataset, keyed by its full slash-joined path. Structure is flattened but each leaf stays a separate block (geometry is not merged). Contrast flatten_to_polydata(), which fuses every leaf into one pyvista.PolyData.

Returns:
pyvista.MultiBlock

One block per leaf, named by its tree path.

Return type:

MultiBlock

Examples

>>> import pyvista as pv
>>> import pyvista_cad
>>> inner = pv.MultiBlock([pv.Sphere(), pv.Cube()])
>>> tree = pv.MultiBlock([inner, pv.Cone()])
>>> flat = tree.cad.flatten()
>>> len(flat)
3
>>> all(isinstance(b, pv.DataSet) for b in flat)
True