référence de classe
https://vtk.org/doc/nightly/html/classvtkXMLUnstructuredGridReader.html
Si vous ne disposez pas de la fonctionnalité souhaitée, vous pouvez également rechercher la classe parent vtkXMLUnstructuredDataReader.
En utilisant vtkXMLUnstructuredGridReader, vous pouvez lire les fichiers au format vtm avec la bibliothèque vtk.
Cette fois, nous allons créer un fichier vtu en utilisant le résultat d'OpenFOAM
terminal
$ git clone https://github.com/matsubaraDaisuke/vtk-data-set.git
$ cd openfoam_case
$ foamTovkt -ascii
VTK est créé directement sous ʻopenfoam_case, et un dossier est créé à chaque sortie de ʻOpenFOAM. Le fichier vtm se trouve dans ce dossier.
import vtk
# reader
reader = vtk.vtkXMLUnstructuredGridReader ()
reader.SetFileName("VTK/src_283/internal.vtu"); #chemin du fichier vtu
reader.Update()
# filter
filter = vtk.vtkGeometryFilter()
filter.SetInputConnection(reader.GetOutputPort())
filter.Update()
# mapper
mapper = vtk.vtkCompositePolyDataMapper2()
mapper.SetInputConnection(filter.GetOutputPort()) #Définir le filtre dans le mappeur
# actor
actor = vtk.vtkActor()
actor.SetMapper(mapper) #Définir le mappeur pour l'acteur
actor.GetProperty().EdgeVisibilityOn()
# renderer
renderer = vtk.vtkRenderer()
renderer.AddActor(actor) #Définir l'acteur dans le moteur de rendu
##Réglage de la couleur d'arrière-plan
renderer.GradientBackgroundOn() #Définir un arrière-plan dégradé
renderer.SetBackground2(0.2,0.4,0.6) #Top couleur
renderer.SetBackground(1,1,1) #Couleur du bas
#Window
renWin = vtk.vtkRenderWindow()
renWin.AddRenderer(renderer) #Définir le rendu dans la fenêtre
iren = vtk.vtkRenderWindowInteractor();
iren.SetRenderWindow(renWin);
renWin.SetSize(850, 850)
renWin.Render()
iren.Start();

Vous pouvez voir les informations avec l'impression
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)
Il est en fait implémenté dans vtkXMLUnstructuredDataReader.
GetNumberOfPoints Nombre de pièces? Avoir
reader.GetNumberOfPoints()
>> 1
GetNumberOfCells Obtenez le nombre de cellules
reader.GetNumberOfCells ()
>> 12225
GetNumberOfPoints Obtenez le nombre de nœuds
GetNumberOfPoints
>> 25012