pyvista.PolyDataFilters.tube#

PolyDataFilters.tube(radius=None, scalars=None, capping=True, n_sides=20, radius_factor=10.0, absolute=False, preference='point', inplace=False, progress_bar=False)[source]#

Generate a tube around each input line.

The radius of the tube can be set to linearly vary with a scalar value.

Parameters:
radiusfloat, optional

Minimum tube radius (minimum because the tube radius may vary).

scalarsstr, optional

Scalars array by which the radius varies.

cappingbool, default: True

Turn on/off whether to cap the ends with polygons.

n_sidesint, default: 20

Set the number of sides for the tube. Minimum of 3.

radius_factorfloat, default: 10.0

Maximum tube radius in terms of a multiple of the minimum radius.

absolutebool, default: False

Vary the radius with values from scalars in absolute units.

preferencestr, default: ‘point’

The field preference when searching for the scalars array by name.

inplacebool, default: False

Whether to update the mesh in-place.

progress_barbool, default: False

Display a progress bar to indicate progress.

Returns:
pyvista.PolyData

Tube-filtered mesh.

Examples

Convert a single line to a tube.

>>> import pyvista as pv
>>> line = pv.Line()
>>> tube = line.tube(radius=0.02)
>>> f'Line Cells: {line.n_cells}'
'Line Cells: 1'
>>> f'Tube Cells: {tube.n_cells}'
'Tube Cells: 22'
>>> tube.plot(color='lightblue')
../../../_images/pyvista-PolyDataFilters-tube-1_00_00.png

See Creating a Spline for more examples using this filter.