pyvista.DataSetFilters.extract_surface#

DataSetFilters.extract_surface(pass_pointid=True, pass_cellid=True, nonlinear_subdivision=1, progress_bar=False)[ソース]#

グリッドのサーフェスメッシュを抽出します.

パラメータ:
pass_pointidbool, default: True

これらのサーフェスポイントが対応する元のポイントを示すポイント配列 "vtkOriginalPointIds" を追加します.

pass_cellidbool, default: True

これらのサーフェスセルが対応する元のセルを示すセル配列 "vtkOriginalCellIds" を追加します.

nonlinear_subdivisionint, default: 1

入力が非線形面を持つ非構造グリッドの場合,このパラメータは面が線形面に分割される回数を決定します.

0の場合,出力は対応する線形補間と同等です (非線形補間を決定する中間点は破棄されます) .1 (既定) の場合,非線形面は中点に基づいて3角形分割されます.1より大きい場合,3角形分割された破片は目的のサブディビジョンに達するまで再帰的に再分割されます.1より大きい値に設定すると,非線形面が存在しない場合でも,一部の点データが渡されないことがあります.入力が構造化されていないグリッドでない場合,このオプションは無効です.

progress_barbool, default: False

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

戻り値:
pyvista.PolyData

グリッドのサーフェスメッシュ.

UnstructuredGridのサーフェスを抽出します.

>>> import pyvista as pv
>>> from pyvista import examples
>>> grid = examples.load_hexbeam()
>>> surf = grid.extract_surface()
>>> type(surf)
<class 'pyvista.core.pointset.PolyData'>
>>> surf["vtkOriginalPointIds"]
pyvista_ndarray([ 0,  2, 36, 27,  7,  8, 81,  1, 18,  4, 54,  3,  6, 45,
                 72,  5, 63,  9, 35, 44, 11, 16, 89, 17, 10, 26, 62, 13,
                 12, 53, 80, 15, 14, 71, 19, 37, 55, 20, 38, 56, 21, 39,
                 57, 22, 40, 58, 23, 41, 59, 24, 42, 60, 25, 43, 61, 28,
                 82, 29, 83, 30, 84, 31, 85, 32, 86, 33, 87, 34, 88, 46,
                 73, 47, 74, 48, 75, 49, 76, 50, 77, 51, 78, 52, 79, 64,
                 65, 66, 67, 68, 69, 70])
>>> surf["vtkOriginalCellIds"]
pyvista_ndarray([ 0,  0,  0,  1,  1,  1,  3,  3,  3,  2,  2,  2, 36, 36,
                 36, 37, 37, 37, 39, 39, 39, 38, 38, 38,  5,  5,  9,  9,
                 13, 13, 17, 17, 21, 21, 25, 25, 29, 29, 33, 33,  4,  4,
                  8,  8, 12, 12, 16, 16, 20, 20, 24, 24, 28, 28, 32, 32,
                  7,  7, 11, 11, 15, 15, 19, 19, 23, 23, 27, 27, 31, 31,
                 35, 35,  6,  6, 10, 10, 14, 14, 18, 18, 22, 22, 26, 26,
                 30, 30, 34, 34])

"vtkOriginalCellIds" 配列では,この配列が抽出された各表面セルの元のセルを表すため,同じ元のセルが複数回現れることに注意してください.

このフィルターを使用したその他の例については, 表面を抽出 を参照してください.