【问题标题】:How to show an .obj file in python/vtk?如何在 python/vtk 中显示 .obj 文件?
【发布时间】:2018-10-20 23:33:23
【问题描述】:

晚上好,

我想使用 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()

【问题讨论】:

  • 错误显然发生在脚本的第四行,在对vtk.vtkOBJReader() 的调用中。你到底为什么要包含与你的问题完全无关的其余代码?相反,请包含完整的错误消息ls -l /home/nahla/Documents/cat1_un4的输出。
  • @DYZ 嗨,我是 vtk 的新手,我不知道问题出在哪里!,'ls -l /home/nahla/Documents/cat1_un4' 的输出是 'ls : 无法访问 '/home/nahla/Documents/cat1_un4': 没有这样的文件或目录' 。怎么了?

标签: python vtk


【解决方案1】:

我想通了,我忘了把“.obj”放在文件名的末尾。应该是:

"/home/nahla/Documents/cat1_un4.obj"

【讨论】:

    猜你喜欢
    • 2016-02-09
    • 2020-07-23
    • 1970-01-01
    • 2022-08-02
    • 1970-01-01
    • 2017-03-12
    • 1970-01-01
    • 2020-11-04
    • 2014-12-29
    相关资源
    最近更新 更多