pyvista.PolyDataFilters.extrude#
- PolyDataFilters.extrude(vector, capping=None, inplace=False, progress_bar=False)[source]#
Sweep polygonal data creating a “skirt” from free edges.
This will create a line from vertices.
This takes polygonal data as input and generates polygonal data on output. The input dataset is swept according to some extrusion function and creates new polygonal primitives. These primitives form a “skirt” or swept surface. For example, sweeping a line results in a quadrilateral, and sweeping a triangle creates a “wedge”.
The skirt is generated by locating certain topological features. Free edges (edges of polygons or triangle strips only used by one polygon or triangle strips) generate surfaces. This is true also of lines or polylines. Vertices generate lines.
Changed in version 0.32.0: The
capping
keyword was added with a default ofFalse
. The previously used VTK default corresponds tocapping=True
. In a future version the default will be changed toTrue
to match the behavior of the underlying VTK filter.- Parameters:
- vector
numpy.ndarray
or sequence Direction and length to extrude the mesh in.
- cappingbool,
optional
Control if the sweep of a 2D object is capped. The default is
False
, which differs from VTK’s default.Warning
The
capping
keyword was added in version 0.32.0 with a default value ofFalse
. In a future version this default will be changed toTrue
to match the behavior of the underlying VTK filter. It is recommended to explicitly pass a value for this keyword argument to prevent future changes in behavior and warnings.- inplacebool, default:
False
Overwrites the original mesh in-place.
- progress_barbool, default:
False
Display a progress bar to indicate progress.
- vector
- Returns:
pyvista.PolyData
Extruded mesh.
Examples
Extrude a half circle arc.
>>> import pyvista as pv >>> arc = pv.CircularArc([-1, 0, 0], [1, 0, 0], [0, 0, 0]) >>> mesh = arc.extrude([0, 0, 1], capping=False) >>> mesh.plot(color='lightblue')
Extrude and cap an 8 sided polygon.
>>> poly = pv.Polygon(n_sides=8) >>> mesh = poly.extrude((0, 0, 1.5), capping=True) >>> mesh.plot(line_width=5, show_edges=True)