pyvista.PolyDataFilters.extrude_rotate#

PolyDataFilters.extrude_rotate(resolution=30, inplace=False, translation=0.0, dradius=0.0, angle=360.0, capping=None, rotation_axis=(0, 0, 1), progress_bar=False)[ソース]#

フリーエッジとフリーラインから "skirt" を作成し,頂点からラインを作成して,ポリゴンデータをスイープします.

ポリゴンデータを入力として取り,出力時にポリゴンデータを生成します.入力データセットが軸を中心にスイープされ,新しいポリゴンプリミティブが作成されます.これらのプリミティブは, "skirt" またはスイープサーフェスを形成します.たとえば,線分をスイープすると円柱シェルが作成され,円をスイープするとトーラスが作成されます.

このフィルタには多数の制御パラメータがあります.2 Dオブジェクト(多角形または3角形のストリップ)のスイープを生成するジオメトリでキャップするかどうかは, capping パラメータでコントロールできます.また,回転角度や,軸に沿った移動を回転とともに実行するかどうかも制御できます.( "springs" を作成するには,置き換えが役立ちます.)生成されるジオメトリの半径は, dradius パラメータで調整することもできます.

スカートは,特定のトポロジカルフィーチャーを配置することによって生成されます.フリーエッジ(1つのポリゴンまたは3角形ストリップによってのみ使用されるポリゴンまたは3角形ストリップのエッジ)はサーフェスを生成します.これは,線分またはポリラインにも当てはまります.頂点は線を生成します.

このフィルタは,円柱,ボトル,ワイングラスなどの軸対称オブジェクトのモデリングに使用できます.または,スプリングやコルク抜きなどの移動回転対称オブジェクトです.

バージョン 0.32.0 で変更: キーワード capping が追加され,デフォルトが False になりました.これまで使用されていた VTK のデフォルトは capping=True に相当します.将来のバージョンでは,デフォルトは True に変更され,基盤となる VTK フィルタの動作と一致するようになる予定です.

パラメータ:
resolutionint, optional

ラインを分割するピースの数.

inplacebool, default: False

元のメッシュの決まった場所に上書きします.

translationfloat, optional

軸に沿った移動の合計量.

dradiusfloat, optional

スイープ処理中に半径を変更します.

anglefloat, optional

回転の角度を度数で表します.

cappingbool, optional

2Dオブジェクトのスイープに上限を設けるかどうかを制御します.デフォルトは False で,VTK のデフォルトとは異なります.

警告

キーワード capping はバージョン 0.32.0 で追加され,デフォルト値は False です.将来のバージョンでは,このデフォルトは True に変更され,基盤となる VTK フィルタの動作と一致するようになる予定です.将来の挙動や警告の変更を防ぐために,このキーワード引数に明示的に値を渡すことが推奨されます.

rotation_axisnumpy.ndarray or sequence, optional

回転を行う軸の方向ベクトル.vtk>=9.1.0が必要です.

progress_barbool, default: False

進行状況を示す進行状況バーを表示します.

戻り値:
pyvista.PolyData

回転押し出し式のメッシュ.

回転押し出しフィルターで "バネ" を作ります.

>>> import pyvista as pv
>>> profile = pv.Polygon(
...     center=[1.25, 0.0, 0.0],
...     radius=0.2,
...     normal=(0, 1, 0),
...     n_sides=30,
... )
>>> extruded = profile.extrude_rotate(
...     resolution=360,
...     translation=4.0,
...     dradius=0.5,
...     angle=1500.0,
...     capping=True,
... )
>>> extruded.plot(smooth_shading=True)
../../../_images/pyvista-PolyDataFilters-extrude_rotate-1_00_00.png

回転押し出しフィルターで "ワイングラス" を作ります.

>>> import numpy as np
>>> points = np.array(
...     [
...         [-0.18, 0, 0],
...         [-0.18, 0, 0.01],
...         [-0.18, 0, 0.02],
...         [-0.01, 0, 0.03],
...         [-0.01, 0, 0.04],
...         [-0.02, 0, 0.5],
...         [-0.05, 0, 0.75],
...         [-0.1, 0, 0.8],
...         [-0.2, 0, 1.0],
...     ]
... )
>>> spline = pv.Spline(points, 30)
>>> extruded = spline.extrude_rotate(resolution=20, capping=False)
>>> extruded.plot(color='lightblue')
../../../_images/pyvista-PolyDataFilters-extrude_rotate-1_01_00.png