0

Pythonでxml vtkファイルを作成する必要があります。具体的には、StructuredGrid で。x、y、z 軸の座標と、空間内のすべての点の x、y、z コンポーネントの値があります。このファイルを書き込むにはどうすればよいですか?

4

2 に答える 2

1

(編集)この関数を介してそれを行うことができます(Pythonで)

def writeVtkStructuredGrid(StructuredGrid, file_name):
    """
    StructuredGrid  : StructuredGrid input object
    file_name   : output xml path file (example: 'out.vtp')
    """

    sg = vtkXMLStructuredGridWriter()
    sg.SetFileName(file_name)
    sg.SetInput(StructuredGrid)
    sg.Write()

vtkXMLPolyDataWriterオブジェクトに関するドキュメントは次の場所にあります: vtkXMLPolyDataWriterクラスリファレンス

于 2013-02-06T16:16:30.417 に答える
-1

この Stackoverflow リンクを確認して、コメント付きのコードを微調整して、作業を完了してください。スタックオーバーフロー リンク. tvtkの具体例

コード例は

from numpy import mgrid, empty, sin, pi
from tvtk.api import tvtk, write_data

# Generate some points.
x, y, z = mgrid[1:6:11j, 0:4:13j, 0:3:6j]
base = x[..., 0] + y[..., 0]
# Some interesting z values.
for i in range(z.shape[2]):
        z[..., i] = base * 0.25 * i

# The actual points.
pts = empty(z.shape + (3,), dtype=float)
pts[..., 0] = x
pts[..., 1] = y
pts[..., 2] = z

# Simple scalars.
scalars = x * x + y * y + z * z
# Some vectors
vectors = empty(z.shape + (3,), dtype=float)
vectors[..., 0] = (4 - y * 2)
vectors[..., 1] = (x * 3 - 12)
vectors[..., 2] = sin(z * pi)

# We reorder the points, scalars and vectors so this is as per VTK's
# requirement of x first, y next and z last.
pts = pts.transpose(2, 1, 0, 3).copy()
pts.shape = pts.size / 3, 3
scalars = scalars.T.copy()
vectors = vectors.transpose(2, 1, 0, 3).copy()
vectors.shape = vectors.size / 3, 3

# Create the dataset.
sg = tvtk.StructuredGrid(dimensions=x.shape, points=pts)
sg.point_data.scalars = scalars.ravel()
sg.point_data.scalars.name = 'temperature'
sg.point_data.vectors = vectors
sg.point_data.vectors.name = 'velocity'
write_data(sg, 'test') # creates test.vtu xml file
#write_data(sg, 'test.vtk') # creates test.vtk
于 2015-06-05T05:15:53.123 に答える