激光切割编程连通性检查问题分析

激光切割编程连通性检查问题分析

ID:45972438

大小:66.50 KB

页数:4页

时间:2019-11-19

激光切割编程连通性检查问题分析_第1页
激光切割编程连通性检查问题分析_第2页
激光切割编程连通性检查问题分析_第3页
激光切割编程连通性检查问题分析_第4页
资源描述:

《激光切割编程连通性检查问题分析》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、激光切割编程连通性检查问题分析张向良沈阳飞机工业(集团)有限公司摘要:激光切割程序需要将二维图形进行一系列处理后导入到专用的软件中进行编制,图形中的外缘、终孔、视口等部位的轮廓必须是封闭的,才能被激光程序识别。然而,大多数尺寸大、曲度大、形状复杂的零件,其二维图通常都含有许多肉眼难以发现的不连通位置。这些位置肉眼难以发现,而此前业内使用的一种图形处理程序SYLBDxfProcess实用性较差,性能与实际需求相差甚远。文章将探讨在AutoCADI作环境下,激光切割图形连通性的检查方法,以期为该工作提供高效的解决方案。关键词:激

2、光切割;图形处理;连通性;封闭性;ObjectARX;二次开发;引言进行激光切割,需要将二维图形导入到专用软件中生成切割程序。对于零件轮廓、通孔、视口等区域需要保证其图形在激光编程程序屮是连通(轮廓封闭)的,否则切割机和相关软件无法识别。然而,大多数壁板、框等尺寸大、曲度大、形状复杂的零件,其二维图形中的倾斜边、圆角、曲线结构等位置的图形质量通常都不好,含有许多肉眼难以发现的不连通位置,如断开、交叠、多余线条和端头错位等。这些图形缺陷肉眼难以发现,人工处理几乎不可能;而此前业内使用的SYLB-DxfProcess每次只能检查

3、一个链,而且运行极慢,检查结果也不可靠,对解决问题助益甚微。本文将探讨激光切割图形连通性问题及检查算法,以及如何在基于ObjectARX(VC)开发的程序中实现。该方法可以一键式地找出上述图形缺陷的精确位置,将为设计人员提供极大方便,同时也极大保证了工作质量。1连通性检查问题描述用于编制激光切割程序的二维图形中所有的轮廓,包括外缘、视口、各种孔等,必须是连通的才能被识别。在投影图形质量不佳的情况下,很多肉眼看起来连通的轮廓实际上被系统认为是开放的。放大图形后可知,这是由于线与线的连接处存在着尺度极小的断开、重叠、毛刺等。如图

4、1。下载原图2算法分析图元的拓扑关系判定需要考虑一个因素公差。假设约定的公差值为geTol(长度变量单位默认为mm,下同),则两点距离小于geTol时,认为两点重合。这个值应根据所选用的设备、设备的配套软件设置和使用的CAD软件设置来确定。在激光切割图形屮,允许存在的图元包括且限于直线、圆弧和圆。由于圆白封闭,不需要判断连通性,故只需检查直线与圆弧(以下简称曲线)。当曲线pCurvcl的某一端点与曲线pCurve2的某一端点重合时,称两曲线邻接。在一组曲线中,如果每条曲线都与其他至少1条曲线邻接,称这组曲线为一个链;如果一个

5、链中每条曲线的每个端点最多只与其他一条曲线邻接,则称这个链为一个单链。如果一个单链首尾相接,则称该链连通。激光切割图形屮的轮廓最终应达到这种状态(由于激光切割图形的特性,此处不考虑诸如8字形之类的曲线相交情形)。于是可根据以上条件设计出检查连通性的算法:(1)获得所有图形元素,分解其中的组合元素。(2)将所有元素分成若干个链。(3)对于每个链,获取一个元素,递归检查与之邻接的元素,以确定是否为连通链。(4)重复2、3步骤,检查所有链。(5)在用户界而突出显示连通的链。3算法的实现考虑到业内普遍的工作方式,木文选择在AutoC

6、AD平台上实现上述算法。由于基于VC++的ObjectARX程序运行效率最高,拥有与AutoCAD自身几乎相同的编程接口与控制能力山,故使用ObjectARX(VC)2007开发,编译环境是VisualStudio2005o与AutoCAD自身的功能一样,该连通性检查功能通过命令调用。如图2。部分代码如下:图2下载原图所述的步骤(1):获得所选择的图形元素,分解其中的组合元素:将模型空间中所有实体的ID加入查找范围数组。对获得的所有实体执行分解动作,如果分解成功,则将所得的实体依次发送至模型空间,并将其H)加入查找范围数组,

7、然后在查找范围数组中移除该组合元素的ID,并将该组合元素从模型空间删除。步骤(2):将所有元素分成若干个链:打开查找范围的第一个元素pEnt,确认其是直线或圆弧。将pEnt移入链,提取其两端点,在查找范围数组中查找与之邻接的元素。如果有,则将这个元素移入链,并检查这个元素;否则新建一个链继续查找。递归地执行上述过程,直至检查完所有元素,并获得一个链列表。步骤(3):对于每个链,获取一个元素,递归检查与之邻接的元素,以确定是否为连通链:对链中的每一条曲线pEnt,检查它与其他曲线有没有公共端点,所以当所有元素都检查完毕后,结果

8、分为三种:a.pEnt两端点均有唯一曲线邻接;b.pEnt仅在起点或终点有唯一曲线邻接;c.pEnt两端点均无唯一曲线邻接(无元素或多个元素)。对于情形3,分为三种情况:一是pEnt两端邻接的曲线是同一个元素,则可以判定链连通,将这个元素移入链,查找结束;二是新起点与新终点重合,说明图形由

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。