将Haskell OpenGL导出到STL以进行3D打印

时间:2018-03-20 08:46:46

标签: haskell opengl 3d

我找到了how to export a 3D OpenGL scene to ppm。但是可以导出为STL格式吗?这是3D打印所需的格式。

a package for STL parsing但我不知道是否可以将它与OpenGL一起使用。

有人提议以不明确的方式结束这个问题。我只是想知道是否可以将3D Haskell OpenGL图形导出到适合3D打印的文件(不一定是STL,但据我所知这是唯一的方法 - 我可能错了。)抱歉,如果它仍然是不清楚,可能是由于我的措辞和我的英语。我尽我所能。

仅供参考,以下是R包rgl的示例: enter image description here

以下是STL文件在ASCII表示中的样子(需要3.7 MB):

solid  testSTL.stl  produced by RGL
facet normal  -0.9965197 -0.05894169 -0.05894333 
outer loop
vertex  0.8633249 0 0 
vertex  0.8656725 0 -0.03968928 
vertex  0.8642709 0.0237557 -0.03974825 
endloop
endfacet
facet normal  -0.9965196 -0.05894321 -0.05894424 
outer loop
vertex  0.8633249 0 0 
vertex  0.8642709 0.0237557 -0.03974825 
vertex  0.8619304 0.0235772 0 
endloop
endfacet
facet normal  -0.9827041 -0.05841724 -0.1757272 
outer loop
vertex  0.8656725 0 -0.03968928 
vertex  0.8726366 0 -0.07863396 
vertex  0.8712143 0.02428522 -0.0787534 
endloop
endfacet
...

因此,对于Haskell而言,使用STL转换器听起来不可能......

修改

有一种可能的方法,但我没有在Windows上管理(这令人沮丧)

  • 使用ppm库将OpenGL图形转换为gl-capture;使用ImageMagick将ppm转换为svg(或者可能不一定转换 - 可以在InkScape中打开ppm,请参阅后续步骤)

  • 安装OpenSCAD和InkScape(存在便携版本)

  • 安装this InkScape extension并按照说明

修改

另一种可能的方式here。同样,我也失败了。

1 个答案:

答案 0 :(得分:0)

您链接的STL包可以使用textSTL以文本格式保存STL文件,或使用encode以二进制格式保存。后者使用Serialize实例,因此很容易在STL文档中遗漏。

库不处理任何属性(颜色等)。 PR欢迎!