如何用python/vtk显示.obj文件?

2024-09-28 23:18:40 发布

您现在位置:Python中文网/ 问答频道 /正文

晚上好

我想使用vtk库在python中可视化一个.obj文件,但是当我运行代码时,我得到了以下错误。知道文件存在。 任何帮助都是值得感谢的。在

ERROR: In /build/vtk-NWL3SN/vtk-5.10.1+dfsg/IO/vtkOBJReader.cxx, line 126 vtkOBJReader (0xe16650): File /home/nahla/Documents/cat1_un4 not found

ERROR: In /build/vtk-NWL3SN/vtk-5.10.1+dfsg/Filtering/vtkExecutive.cxx, line 756 vtkStreamingDemandDrivenPipeline (0xeb2bc0): Algorithm vtkOBJReader(0xe16650) returned failure for request: vtkInformation (0xeac270) Debug: Off Modified Time: 87 Reference Count: 1 Registered Events: (none) Request: REQUEST_DATA FROM_OUTPUT_PORT: 0 ALGORITHM_AFTER_FORWARD: 1 FORWARD_DIRECTION: 0

代码如下:

#!/usr/bin/env python

import vtk

ColorBackground = [0.0, 0.0, 0.0]

FirstobjPath = r"/home/nahla/Documents/cat1_un4"

reader = vtk.vtkOBJReader()

reader.SetFileName(FirstobjPath)

reader.Update()


mapper = vtk.vtkPolyDataMapper()

if vtk.VTK_MAJOR_VERSION <= 5:

     mapper.SetInput(reader.GetOutput())

else:

     mapper.SetInputConnection(reader.GetOutputPort())

actor = vtk.vtkActor()

actor.SetMapper(mapper)

# Create a rendering window and renderer

ren = vtk.vtkRenderer()

ren.SetBackground(ColorBackground)

renWin = vtk.vtkRenderWindow()

renWin.AddRenderer(ren)

# Create a renderwindowinteractor

iren = vtk.vtkRenderWindowInteractor()

iren.SetRenderWindow(renWin)

# Assign actor to the renderer

ren.AddActor(actor)

# Enable user interface interactor

iren.Initialize()

renWin.Render()

iren.Start()

Tags: 文件代码inbuilderrorreaderactormapper