产品咨询热线 400-871-5551     搜索     русский язык  |  English
x

首页 > 案例展示
STL图形文件识
来源: 时间:2021-07-27 浏览:4049
       AutoCAD的DXF文件中存储三维实体信息的代码为专利码不对外开放无法对其进行读取和处理,要获取三维实体信息需改用其他格式的图形文件。STL是一种三维实体数据交换格式,在3D打印、逆向工程、文物保护等方面有着广泛的应用,且3.1节所述CAD/CAM软件均能生成STL文件,STL已成为实际上工业三维制造的接口标准。根据现有技术生成STL文件的途径主要有两种:其一,使用使用三维造型软件(如Creo,  SolidWorks等)直接绘制三维实体模型,保存成STL文件;其二,使用三维扫描设备(如三坐标测量机、激光扫描仪、照相式扫描仪等)对实物模型进行扫描,获得实物表面的点云数据,使用反求软件(如Rapidform,Imageware等)进行表面重构,生成三角网格模型输出STL文件。
       STL文件中存储的是三维实体表面的三角网路模型,每个三角面片都包含了该面片的单位外法线向量(方向指向实体外侧)和三个顶点坐标,三个顶点坐标的排列规则和法向量满足右手定则。STL文件也有二进制和ASCII码两种存储格式,其中ASCII格式的STL文件数据简单易读、便于编程处理。本文采用ASCII格式的STL文件作为三维实体源文件,下文提到的STL文件皆指ASCII格式的STL文件。STL文件的存储实例如下:
solid AutoCAD
facet normal 8.0324916e-002 -2.0341031e-002 9.9656116e-001
outer loop
vertex 1.1623497e+002 9.7290863e+001 1.9863613e+002
vertex 1.0000000e+002 1.0000000e+002 2.0000000e+002
vertex 1.1556764e+002 9.4655623e+001 1.9863613e+002
    endloop
endfacet
facet normal一8.2577412e-002 -6.8425595e-003 -9.9656116e-001
outer loop
vertex 8.3540542e+001 1.0000000e+002 1.3638707e+000
vertex 1.0000000e+002 1.0000000e+002 1.0000000e-006
vertex 8.3765028e+001 9.7290863e+001 1.3638707e+000
    endloop
endfacet
endsolid AutoCAD
       其中,solid(固体)表示实体的开始;facet normal(小平面法线)表示一个三角面片的开始,其后面存储的是一个三角面片单位外法线坐标;outer loop(外环)表示顶点坐标开始,随后为该三角面片的顶点,三个vertex(顶点)其后按右手原则分别存储了该三角面片的三个顶点坐标,endloop表示顶点结束;endfacet表示一个三角面片结束;endsolid表示实体结束。
       从STL文件的存储实例看出:法线和顶点的坐标信息是按行存储,且每行前面都有对应的标识(如facet normal, vertex)。因此采用逐行读取的方法编程读取STL文件中的法线坐标和顶点坐标,程序流程图如图3.2所示,读取文件的显示结果如图3.3所示。


上一条:DXF图形文件识别
下一条:刀具位姿计算
奥拓福水刀【官网】 版权所有 Copyright 2019-2025 辽ICP备2021002461号-1
首页
产品中心
电话咨询