如何使用pythreejs导入外部几何图形

2024-06-16 13:06:33 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

任何帮助都将不胜感激!在


Tags: 模型json格式笔记本jupyter解决方案stl本质
2条回答

据我所知,您正试图通过pythreejs将STL模型文件导入jupyter笔记本。在

我不认为jupyter笔记本约束很重要,因为您基本上只是在web浏览器环境中编写Python代码。所以这个问题的关键是如何用pythreejs读取STL模型文件。在

注意pythreejs examples,第一步是导入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的Github repo的源代码,就会发现可以将vertices和{}指定到PlainGeometry。具体地说,您将vertices指定为列表(就像上面的示例中一样),并将faces指定为列表。一旦指定了这两个参数,就有了一个完整定义的PlainGeometry对象,并且可以继续使用pythreejs示例中所示的呈现管道。在

那么如何将vertices和{}作为列表导入呢?好吧,考虑到您的输入是灵活的,这取决于您自己,您可能需要在这里进行一些挖掘,以了解什么是最适合您的环境的(例如,性能约束、依赖约束等)。使用您的STL示例,一种解决方案可以是使用numpy-stl来解析STL输入,并且可能有一个功能可以从STL导入时生成的vertices和{}数据作为列表返回。在

不确定是否还有人对这个问题感兴趣,但是现在您可以使用我构建的^{}模块轻松地完成这项工作(出于其他目的):

import viewscad
r = viewscad.Renderer()
r._render_stl('my_stl.stl')

相关问题 更多 >