在Mayavi中更改轴的顺序

时间:2018-10-29 05:00:12

标签: python vtk mayavi mayavi.mlab

我正在生成用于3D打印的STL文件,然后使用mlab / mayavi显示它们。我希望Z轴在旋转图像时保持垂直。根据{{​​3}},这可以使用以下咒语来实现:

fig = mlab.gcf()
from tvtk.api import tvtk
fig.scene.interactor.interactor_style = tvtk.InteractorStyleTerrain()

不幸的是,正如您从我的应用的屏幕截图中所看到的,保持垂直的不是Z轴而是Y轴。

mayavi documentation

这是一个问题,因为3D打印机始终将Z视为垂直轴,所以我真的需要Z而不是Y才能垂直定向。有什么方法可以实现?

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,沿着y轴垂直对齐。

要使场景沿z轴垂直对齐(所需),可以在设置交互器之前简单地添加一个scene.mlab.view()调用。

在设置交互器之前,scene.mlab.view()调用可正确对齐摄像机(z向上)。我仅通过测试一堆东西就找到了该解决方案,但在文档中找不到此“ hack”。

新代码:

fig = mlab.gcf()
from tvtk.api import tvtk
fig.scene.mlab.view(0, 90)
fig.scene.interactor.interactor_style = tvtk.InteractorStyleTerrain()

答案 1 :(得分:0)

您可以使用Mayavi按钮重命名它们以访问管道,然后选择适当的轴对象并更改标签。

使用代码,您可以添加xlabelylabelzlabel关键字参数来指定它们。这是在axes API

中指定的