1、STL文件错误的自动修复算法的研究概要第1期(总第146期2008年2月机械工程与自动化M ECHA N ICAL EN GI NEER IN G &AU T O M A T IO N N o. 1F eb.文章编号:1672-6413(2008 01-0020-03ST L 文件错误的自动修复算法的研究*张江林, 张剑峰(扬州大学机械工程学院, 江苏扬州225009摘要:目前, 对ST L 文件错误的修复已经进行了一些研究, 但这些研究还不能精确实现错误的整体描述, 针对这个问题, 构造了错误广义表, 整体描述了ST L 文件中的错误, 简化了修复过程, 并开发了专用的ST L 文件修复工具
2、。关键词:ST L 文件; 整体描述; 错误广义表; 自动修复中图分类号:T P302文献标识码:A*扬州市自然科学基金资助项目(YZ 2004042-8收稿日期:2007-05-22; 修回日期:2007-09-13(, , , 0引言快速成型制造设备目前能够接受诸如STL 、SLC 、CLI 等多种数据格式, 其中由美国3D Sestem 公司开发的ST L 文件格式可以被大多数快速成型机所接受。STL 文件表达简单清晰, 很多三维几何模型都可以通过表面的三角化生成ST L 文件, 且ST L 文件具有简单的分层算法, 模型易于分割。但它也有很多的缺点, 如STL 模型只是三维模型的一个近
3、似描述, 造成了一定的精度损失; STL 文件中存在着大量的冗余数据, 数据之间无拓扑关系且存在缺陷。由于RP 设备接到的往往是已经转换好的STL 文件, 因此需要一种工具能直接检验ST L 文件的正确性并修补不正确的ST L 文件。针对这些问题, 本文提出一种ST L 文件错误的修复新算法, 并开发了相应的工具。1STL 文件格式及错误1. 1STL 文件格式与规则STL 文件是通过三维模型表面的三角网络化得到的, 文件中只包含相互衔接的三角形面片节点坐标及其外法矢, 它有ASCLL 码和二进制码两种形式, 二进制码输出形式所占用的文件空间比ASCLL 码输出形式的小得多(一般是1/6 ,
4、但是ASCLL 码输出形式可以阅读并能进行直观检查, ASCLL 码的输出形式如下:solid BALLfacet n or mal ni nj nk outer loopvertex x1y1z 1vertex x2y2z 2vertex x3y3z 3endloop endfacet end solid BALL由ST L 文件格式可知, STL 文件是由许多三角形小平面数据组成, 每一个三角形小平面都用一个法矢和三个顶点坐标来描述。它所描述的正确实体数据模型应满足如下几条法则: 共顶点原则; 取向原则; 充满规则; ! 取值规则; 边规则。1. 2STL 文件中的错误分类根据ST L 文
5、件错误的特点以及产生原因, 可以将其错误分为以下几类: 向量错误:某一面片法向与周围面片法向相反; 顶点错误:顶点不重合导致的三角面片重合的顶点数少于两个; 空洞(孔洞 与裂缝(间隙 ; ! 重叠; 错位; #退化面片(多边共线 几何退化, 即面片的所有边均共线; 孤立面片:三角形面片与STL 数据模型实体脱离; %拓扑信息的错误, 同一条边属于三个或三个以上三角形共有。2STL 文件错误检查与修复2. 1STL 文件错误检查STL 文件只是表达了物体表面的数值信息, 文件中的三角形面片是随机的、杂乱的, 无明显的拓扑关系, 且文件存在着巨大的数据冗余。在检查、修复之前必须建立STL 面片邻接
6、拓扑关系。2. 1. 1拓扑关系的表示任何一个可以完整表示多面体的数据结构均可以用来表示三角面片之间的拓扑关系, 例如四边结构、半边结构、翼边结构、放射边结构等。在翼边结构中包含与边相邻的2个环, 由于翼边结构没有明确的正方向, 因此判断当前边所在的环与面比较困难。四边结构将每条边分裂为两对方向相反的边, 可以表示无向二边流形体, 但无法表示带孔洞的模型。人们对翼边结构作了许多改进, 得到了半边结构, 见图1。半边节点的引入使得三角面片之间的毗邻关系更容易表示, 通过体可以找到其所包含的所有面、边和顶点, 通过面可以找到其3个邻面、3条边和3个顶点; 通过边可以找到其所属的2个面和它包含的2个
7、顶点; 通过点可以找到它所属的多个边和多个面。在拓扑关系中顶点记录该点的坐标信息, 面和边包含的顶点只记录顶点的编号, 具体的数据结构见图2 。图1 半边结构示意图图2点、面、半边链表的内在关系2. 1. 2错误的检查当ST L 文件拓扑关系建立后, 就可以检查ST L 文件的错误并建立错误半边链表, 为修复做准备。根据半边结构的特点, 以半边的检查作为错误检查的基础, 其检查的标准为:一条半边无与其端点相同、方向相反的另一条半边存在, 则此半边为错误的半边, 该半边的两个端点为错误的端点, 该半边所在三角形面片为错误的面片。2. 2STL 文件的修复针对ST L 文件的各种错误, 国内外对其
8、修复进行了研究, 但总体而言, 现有的研究普遍存在不足, 周华民等1对这些研究进行了分析, 并针对其不足通过构造错误描述图来实现错误的整体描述, 有效提高了STL 文件修复工具的可靠性、实用性和覆盖范围。错误描述图以两半边首尾相连为原则把相关联的错误面、错误半边和错误顶点组成一个单连通区域, 最后对每个单连通区域进行错误修复。虽然错误描述图取得很好的效果, 但在每个单连通区域里还需对每种错误进行分析归纳以及单环、多环的判断与处理, 故本文提出了错误广义表, 进一步降低了问题的复杂度。2. 2. 1错误广义表的创建在错误半边链表的基础上构建了半边的错误广义表, 见图3, 它由一个头链表和许多树构
9、成, 树的叶节点通过指针L 相互连接起来, 且错误广义表中有两种数据结构。建立错误广义表的基本思想是:从错误半边链表中第一条错误边出发, 获得该边的存储地址以构成一个edg ecrunode 结构的节点, 以该节点为树的根节点出所有以这个错误顶点为起点的错误半边, 以这些错误半边来构造根节点的子节点, 再分别以这些子节点为根节点并用上述方法来构造其子节点, 直到所有子节点无子节点(即树的叶节点 为止; 以错误链表中未使用过的错误半边为基础, 重复上述步骤来建立另外一棵树, 直至无错误半边未使用为止; 以head 为头指针建立headlist 结构的单向链表(链表中节点数等于树的数目 , 其中节
10、点的edg e 指针分别指向一棵树的根节点; 以pcurrent 指针为头指针通过edgecrunode 结构中的L 指针把所有树的叶节点串联起来。2. 2. 2错误修复算法的简要过程我们以广义表数据结构为基础提出一种新的算法, 算法的基本步骤为:(1 读入ST L 格式文件, 对其数据模型进行整体合法性校验。(2 建立拓扑关系。对STL 文件中所有的三角形面片建立三角形面片之间的共边和共顶点的内在关系, 建立三角形面片之间的边、顶点的拓扑关系。(3 抽出错误的半边。在半边链表中edge 指针为NULL 的半边是错误半边, 把这些错误半边提取出来并组成一个完整的错误广义表。(4 错误的修复。在
11、错误广义表中从pcurrent 指针指向的第一个叶节点开始, 获得该叶节点对应的错误半边, 通过指针Pr 获得上一个节点所对应的错误半边, 直到得到的错误半边的起点与第一次得到的错误半边的终点是同一个点为止, 若无此条件, 则直到指针Pr 为NU LL 为止。对获得的所有错误半边进行判断、修复, 如若所有错误半边中第一次获得的错误半212008年第1期张江林, 等:ST L 文件错误的自动修复算法的研究个顶点且所有错误半边不共线, 则此错误为空洞, 并添加面片进行修复; 对于无法判断的复杂错误, 将所有错误半边删除构成新的错误并在下一轮修复过程中修复。若指针Pr 为NULL, 再从第二个叶节点
12、开始, 重复上述步骤, 直到指针L 为NULL 为止。图3错误广义表结构图3应用基于上述的修复算法, 开发了专用的STL 文件修复工具, 以修复齿轮零件为例, 图4为ST L 文件自动 修复软件界面。图4ST L 文件自动修复软件界面同时, 我们对算法进行了实验, 实验工艺参数为:激光功率P =40W, 扫描速度v =150mm /s, 扫描间隔s =0. 2mm , 铺粉厚度h =0. 20mm 。烧结成的齿轮零件见图5, 取得了很好的效果。4结束语如果ST L 文件所表示的面化实体数据模型不正确, 将使后续切片加工过程不能进行, 而完全由人工进行诊断与修复比较吃力乏味, 故需要对STL 三
13、角化数据模型进行自动诊断与修复。本文在已有研究的基础上, 采用错误广义表对错误半边进行了整体的概括, 提高了修复的速度, 保证了数据有效的操作与管理, 并用Visual C +开发了相应的修复软件, 此修复工具可 图5烧结后的齿轮零件参考文献:1周华民, 成学文, 刘芬. ST L 文件错误的修复算法研究J.计算机辅助设计与图形学学报, 2005, 17(4 :761-767.2刘金义, 侯宝明. ST L 格式实体的快速拓扑重建J.工程图学学报, 2003, 24(4 :34-39.3张翔, 廖文和, 程筱胜, 等. ST L 格式文件的拓扑重建方法研究J.机械科学与技术, 2005, 24
14、(9 :1093-1096.4侯宝明, 刘雪娜. ST L 实体模型的拓扑重建及其缺陷修复J.计算机工程, 2005, 31(3 :213-217.5戴宁, 廖文和, 陈春美. ST L 数据快速拓扑重建关键算法J .计算机辅助设计与图形学学报, 2005, 17(11 :2448-2452. 6张剑峰, 黄因慧, 赵剑峰. 快速成型系统中ST L 模型缺陷的自动修复技术J.扬州大学学报(自然科学版 , 2002, 5(2 :33-36.7陈波, 张红梅, 江颉, 等. 基于二叉树的冗余数据去除J .计算机应用, 2005, 25:205-206. 8费业泰. 误差理论与数据处理M . 北京:
15、机械工业出版社, 2000.(25页22机械工程与自动化2008年第1期3结论(1 联接螺栓静力计算的最大应力远小于螺栓材料的强度极限, 表明螺栓断裂的原因不是由于静强度不足。而疲劳仿真计算结果同实际使用寿命相差不大, 揭示了螺栓断裂的原因在于交变应力产生的疲劳; 同时, 也说明基于ANSYS/FE-SAFE 的模具联接螺栓仿真计算方法是可行的。(2 实际寿命同仿真计算有一些差别, 这主要是由于计算模型中表面参数在软件中的选取同实际有一定的差别。因此, 在寿命的计算中就出现一定的误差。(3 疲劳寿命计算最可靠的方法是疲劳试验, 而进行疲劳试验耗资费时, 做完试验的试件就已经破坏; 同时, 结构
16、疲劳寿命同试件的尺寸大小、试验环境有关。基于ANSYS/FE-SAFE 软件对螺栓进行疲劳分析, 可以弥补试验的不足, 而且在设计阶段就能进行分析, 并能方便地模拟不同工况下螺栓的疲劳寿命。图5两种不同表面参数的计算结果参考文献:1姜年朝. A NSY S 和AN SY S/F E-SAF E 软件的工程应用及实例M . 南京:河海大学出版社, 2006.2姚卫星. 结构疲劳寿命分析M .北京:国防工业出版社,2003. 3航空工业部科技委员会. 应力集中手册M . 北京:航空工业出版社, 1990.4航空航天工业部科学技术研究院. 应变疲劳分析手册M . 北京:科学出版社, 1991.5P
17、eterso n R E . Str ess co ncentr atio n factor M .N ewY or k :Jo hn W iley and So ns , 1974.Fatigue Analysis and Simulation of Connecting Blotsin Die Based on ANSYS /FE -SAFEZHANG Xun , JIANG Nian -zhao(Nan jing Research Ins titu te of Simu lation T echnolgy, Nanjing 210016, Chin aAbstract :T he inf
18、luence of pr etig htening str ess and therma l stress o n co nnecting blots in die has been studied in this paper . T he simula tio n sho ws t hat the str ess of blot is far under t he U T S o f mat eria l . In pra ct ice , t he co nnecting blots o f die often t ake place fatigue failur e. I n or de
19、r to study the reason for t he connect ing blo ts fr acture, the fatigue analy sis has been car ried out and t he fatigue life has been calculated.Key words :blo ts; fatigue analy sis; A N SY S/FE -SA F E(上接第22页Research on the Automatic Repair Algorithms for STL FilesZHANG Jiang -lin , ZHANG Jian -f
20、eng(College of M echanical Engineer ing , Yangz hou Univer sity , Yangz hou 225009, C hina Abstract :Cur r ently , some resear ches have been car ried o n to the repair o f the er ro rs in ST L files , but t hese r esearch cant car ry a w ho le descript ion o n t he err or s. A immed at t his, the er r or list s is structured to who lely describe t he err or s and simplify the repair pro cess, and a cor responding r epair t oo l is developed.Key words :ST L files; w hole descript ion; err or lists; auto matic r epair252008年第1期机械工程与自动化
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1