Klassenreferenz https://vtk.org/doc/nightly/html/classvtkXMLUnstructuredGridReader.html Wenn Sie nicht über die gewünschte Funktionalität verfügen, können Sie auch die übergeordnete Klasse "vtkXMLUnstructuredDataReader" untersuchen.
Mit vtkXMLUnstructuredGridReader
können Sie Dateien im vtm-Format mit der vtk-Bibliothek lesen.
Dieses Mal erstellen wir eine vtu-Datei mit dem Ergebnis von OpenFOAM
terminal
$ git clone https://github.com/matsubaraDaisuke/vtk-data-set.git
$ cd openfoam_case
$ foamTovkt -ascii
VTK
wird direkt unter openfoam_case
erstellt und bei jeder Ausgabe von OpenFOAM
wird ein Ordner erstellt. Die vtm-Datei
befindet sich in diesem Ordner.
import vtk
# reader
reader = vtk.vtkXMLUnstructuredGridReader ()
reader.SetFileName("VTK/src_283/internal.vtu"); #vtu-Dateipfad
reader.Update()
# filter
filter = vtk.vtkGeometryFilter()
filter.SetInputConnection(reader.GetOutputPort())
filter.Update()
# mapper
mapper = vtk.vtkCompositePolyDataMapper2()
mapper.SetInputConnection(filter.GetOutputPort()) #Filter im Mapper einstellen
# actor
actor = vtk.vtkActor()
actor.SetMapper(mapper) #Stellen Sie den Mapper für den Schauspieler ein
actor.GetProperty().EdgeVisibilityOn()
# renderer
renderer = vtk.vtkRenderer()
renderer.AddActor(actor) #Stellen Sie den Schauspieler im Renderer ein
##Hintergrundfarbeneinstellung
renderer.GradientBackgroundOn() #Stellen Sie einen Verlaufshintergrund ein
renderer.SetBackground2(0.2,0.4,0.6) #Top Farbe
renderer.SetBackground(1,1,1) #Grundfarbe
#Window
renWin = vtk.vtkRenderWindow()
renWin.AddRenderer(renderer) #Stellen Sie den Renderer im Fenster ein
iren = vtk.vtkRenderWindowInteractor();
iren.SetRenderWindow(renWin);
renWin.SetSize(850, 850)
renWin.Render()
iren.Start();
Sie können die Informationen mit Druck sehen
print(reader)
>>
vtkXMLUnstructuredGridReader (0x7ff031cf9b50)
Debug: Off
Modified Time: 9623
Reference Count: 2
Registered Events: (none)
Executive: 0x7ff031cf3c90
ErrorCode: Undefined error: 0
Information: 0x7ff031ce3700
AbortExecute: Off
Progress: 1
Progress Text: (None)
FileName: VTK/src_283/internal.vtu
CellDataArraySelection: 0x7ff031ce3b20
PointDataArraySelection: 0x7ff031cef0e0
ColumnArraySelection: 0x7ff031cef0e0
Stream: (none)
TimeStep:0
NumberOfTimeSteps:0
TimeStepRange:(0,0)
Es ist tatsächlich in vtkXMLUnstructuredDataReader
implementiert.
GetNumberOfPoints Anzahl der Teile? Erhalten
reader.GetNumberOfPoints()
>> 1
GetNumberOfCells Holen Sie sich die Anzahl der Zellen
reader.GetNumberOfCells ()
>> 12225
GetNumberOfPoints Holen Sie sich die Anzahl der Knoten
GetNumberOfPoints
>> 25012