pyvista.DataSetFilters.clip#
- DataSetFilters.clip(
- normal='x',
- origin=None,
- invert=True,
- value=0.0,
- inplace=False,
- return_clipped=False,
- progress_bar=False,
- crinkle=False,
Clip a dataset by a plane by specifying the origin and normal.
If no parameters are given the clip will occur in the center of that dataset.
- Parameters:
- normal
tuple
(float
)or
str
, default: ‘x’ Length 3 tuple for the normal vector direction. Can also be specified as a string conventional direction such as
'x'
for(1, 0, 0)
or'-x'
for(-1, 0, 0)
, etc.- originsequence[
float
],optional
The center
(x, y, z)
coordinate of the plane on which the clip occurs. The default is the center of the dataset.- invertbool, default:
True
Flag on whether to flip/invert the clip.
- value
float
, default: 0.0 Set the clipping value along the normal direction.
- inplacebool, default:
False
Updates mesh in-place.
- return_clippedbool, default:
False
Return both unclipped and clipped parts of the dataset.
- progress_barbool, default:
False
Display a progress bar to indicate progress.
- crinklebool, default:
False
Crinkle the clip by extracting the entire cells along the clip. This adds the
"cell_ids"
array to thecell_data
attribute that tracks the original cell IDs of the original dataset.
- normal
- Returns:
pyvista.PolyData
ortuple
[pyvista.PolyData
]Clipped mesh when
return_clipped=False
, otherwise a tuple containing the unclipped and clipped datasets.
Examples
Clip a cube along the +X direction.
triangulate
is used as the cube is initially composed of quadrilateral faces and subdivide only works on triangles.>>> import pyvista as pv >>> cube = pv.Cube().triangulate().subdivide(3) >>> clipped_cube = cube.clip() >>> clipped_cube.plot()
Clip a cube in the +Z direction. This leaves half a cube below the XY plane.
>>> import pyvista as pv >>> cube = pv.Cube().triangulate().subdivide(3) >>> clipped_cube = cube.clip('z') >>> clipped_cube.plot()
See Clipping with a Surface for more examples using this filter.