我有一个二进制格式的STL(STereoLithography)文件,我已经成功地从c#.net读取了文件并得到了刻面,我也得到了三角形的数量,零件的体积和零件的表面积以及3D对象的尺寸(长度,宽度,高度)。但是现在的问题是我无法找到零件的数量和层的厚度。请帮忙。
最佳答案
向设计二进制STL格式的人表示歉意,但对我来说似乎有点丑陋。
格式的摘要是一个80字节的标头,后跟一个dword(三角形数),然后每个三角形都以单浮点格式存储为Normal,Vertex1,2&3,分别存储为x,y,z,然后是16位short( 0)-重复直到文件结束。
对象之间没有区别,这意味着从本质上讲,解释文件的程序必须在内部保留所有顶点的列表,并在复制过程中删除所有重复项,以便具有适当的“歧管”主体(如果我认为这一点很重要)。
如果您希望将其分解为多个对象,则必须本质上是寻找面的“岛”-通过共享顶点来查找彼此相关的所有面。分离的对象将是彼此不相关的团块。
据我所知,标准STL格式不包括层厚度之类的东西-如果您要谈论3D打印切片的厚度,则STL是切片之前的步骤-因此没有“层厚度”本身。
我确定您想要一个简单的答案,但如果有,那么我还没有找到它:)