我有一个二进制格式的STL(STereoLithography)文件,我已成功从c#.net读取该文件并获取了面,我还获取了三角形的数量、零件的体积和零件的表面积以及尺寸3D 对象(长、宽、高)。但现在的问题是我无法找到零件的数量和层厚。请帮忙。
最佳答案
向设计二进制STL格式的人致歉,但对我来说,它看起来有点难看。
格式摘要是一个 80 字节 header ,后跟一个双字(三角形数量),然后每个三角形以法线存储,Vertex1,2&3 以单浮点格式存储为 x,y,z,后跟 16位短 (0) - 重复此操作直到文件末尾。
对象之间没有区别,这意味着解释文件的程序本质上必须在内部保留所有顶点的列表,删除重复的顶点,以便拥有适当的“流形”主体(如果我认为这很重要)。
如果您希望将其分解为多个对象,您实际上必须寻找面的“岛屿” - 查找通过共享顶点而相互关联的所有面。单独的对象将是彼此不相关的团 block 。
据我所知,标准 STL 格式不包括层厚度等内容 - 如果您谈论的是 3D 打印切片厚度,那么 STL 是切片之前的步骤 - 因此没有“层厚度”本身。
我确信您想要一个更简单的答案,但如果有,那么我还没有找到:)
关于c# - 如何从STL文件中获取零件数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15338682/