我正在尝试使用pythreejs将外部stl模型导入到jupyter python笔记本中,但似乎无法使其工作。模型格式不一定需要是stl。它可能是json或其他什么。基本上,我只想将外部模型导入到运行pythreejs的jupyter笔记本中。
如果您不熟悉jupyter并且知道如何使pythreejs导入外部模型,我也会认为这是一个解决方案。
任何帮助将不胜感激!
答案 0 :(得分:1)
不确定是否有人对此问题仍然感兴趣,但是您现在可以使用我构建的viewscad
模块轻松地完成此操作(用于其他用途):
import viewscad
r = viewscad.Renderer()
r._render_stl('my_stl.stl')
答案 1 :(得分:0)
据我了解你的问题,你试图通过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回购中的源代码,您会发现可以将vertices
和faces
指定为PlainGeometry
。具体来说,您将vertices
指定为列表(就像上面的示例中一样),并将faces
指定为列表。一旦指定了这两个参数,就会有一个完全定义的PlainGeometry
对象,并且可以继续使用pythreejs
示例中显示的渲染管道。
那么如何将vertices
和faces
作为列表导入?好吧,鉴于您的输入是灵活的,这取决于您,您可能需要在此处进行一些挖掘以了解最适合您的环境的内容(例如,性能约束,依赖性约束等)。使用您的STL示例,一个解决方案可以是使用numpy-stl来解析您的STL输入,并且可能有功能将vertices
和faces
数据作为此numpy-stl
的列表返回在STL导入时生成的对象。