0

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

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

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

在此处输入图像描述

这是一个问题,因为 3D 打印机总是将 Z 视为垂直轴,所以我真的需要 Z 而不是 Y 来垂直定向。有没有办法可以实现这一目标?

4

2 回答 2

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()
于 2020-01-22T11:38:50.260 回答
0

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

使用代码,您可以添加xlabel,ylabelzlabel关键字参数来指定它们。这是在axesAPI中指定的

于 2018-11-05T17:28:41.867 回答