0

我正在尝试使用 pythreejs 将外部 stl 模型导入到 jupyter python 笔记本中,但似乎无法使其正常工作。模型格式不一定必须是 stl。它可以是 json 或其他。本质上,我只想将外部模型导入运行 pythreejs 的 jupyter 笔记本中。

如果您不熟悉 jupyter 并且知道如何让 pythreejs 导入外部模型,我也会认为这是一个解决方案。

任何帮助,将不胜感激!

4

2 回答 2

1

不确定是否有人仍然对这个问题感兴趣,但是您现在可以使用viewscad我构建的模块轻松地做到这一点(出于其他目的):

import viewscad
r = viewscad.Renderer()
r._render_stl('my_stl.stl')
于 2018-12-02T04:15:54.827 回答
0

据我了解您的问题,您正在尝试通过pythreejs.

我不认为 jupyter notebook 约束是一个重要的约束,因为您基本上只是在 Web 浏览器环境中编写 Python 代码。所以这个问题的症结在于如何用pythreejs.

请注意pythreejs 示例,第一步是导入geometry

linesgeom = PlainGeometry(vertices=[[0, 0, 0],
                                [size, 0, 0],
                                [0, 0, 0],
                                [0, size, 0],
                                [0, 0, 0],
                                [0, 0, size]],
                      colors = ['red', 'red', 'green', 'green', 'white', 'orange'])

接下来,如果你深入研究pythreejs's Github repo 上的源代码,你会发现你可以指定verticesfaces进入PlainGeometry. 具体来说,您可以指定vertices为一个列表(就像上面的示例一样),也可以指定为一个列表faces。一旦指定了这两个参数,您就有了一个完全定义的PlainGeometry对象,并且可以继续使用pythreejs示例中显示的渲染管道。

那么如何导入verticesfaces作为列表呢?好吧,鉴于您的输入是灵活的,这取决于您,您可能需要在此处进行一些挖掘以了解最适合您的环境的内容(例如,性能约束、依赖性约束等)。使用您的 STL 示例,一种解决方案可以是使用numpy-stl来解析您的 STL 输入,并且可能具有从STL 导入时生成的该对象的列表返回verticesfaces数据的功能。numpy-stl

于 2017-04-09T19:08:05.530 回答