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

时间:2018-10-20 23:33:23

标签: python vtk

晚上好

我想使用vtk库在python中可视化.obj文件,但是当我运行代码时,出现以下错误。知道该文件存在。 任何帮助将不胜感激。

  

错误:在/build/vtk-NWL3SN/vtk-5.10.1+dfsg/IO/vtkOBJReader.cxx中,第126行   vtkOBJReader(0xe16650):找不到文件/ home / nahla / Documents / cat1_un4

     

错误:在/build/vtk-NWL3SN/vtk-5.10.1+dfsg/Filtering/vtkExecutive.cxx中,第756行   vtkStreamingDemandDrivenPipeline(0xeb2bc0):算法vtkOBJReader(0xe16650)返回失败的请求:vtkInformation(0xeac270)     调试:关闭     修改时间:87     参考计数:1     注册事件:(无)     要求: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()

1 个答案:

答案 0 :(得分:0)

我知道了,我忘记在文件名的末尾加上“ .obj”。应该是:

  

“ / home / nahla / Documents / cat1_un4.obj”