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 フィルタの動作と一致するようになる予定です.- パラメータ:
- resolution
int
,optional
ラインを分割するピースの数.
- inplacebool, default:
False
元のメッシュの決まった場所に上書きします.
- translation
float
,optional
軸に沿った移動の合計量.
- dradius
float
,optional
スイープ処理中に半径を変更します.
- angle
float
,optional
回転の角度を度数で表します.
- cappingbool,
optional
2Dオブジェクトのスイープに上限を設けるかどうかを制御します.デフォルトは
False
で,VTK のデフォルトとは異なります.警告
キーワード
capping
はバージョン 0.32.0 で追加され,デフォルト値はFalse
です.将来のバージョンでは,このデフォルトはTrue
に変更され,基盤となる VTK フィルタの動作と一致するようになる予定です.将来の挙動や警告の変更を防ぐために,このキーワード引数に明示的に値を渡すことが推奨されます.- rotation_axis
numpy.ndarray
or sequence,optional
回転を行う軸の方向ベクトル.vtk>=9.1.0が必要です.
- progress_barbool, default:
False
進行状況を示す進行状況バーを表示します.
- resolution
- 戻り値:
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)
回転押し出しフィルターで "ワイングラス" を作ります.
>>> 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')