一个多边形快速等距偏移方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一个多边形快速等距偏移方法Ξ
□陈正鸣 徐镇全
摘要 多边形的等距偏移是C AD/C AM领域中的一个基础性问题,是型腔环切加工刀具轨迹生成的关键。
根据无效环在原始多边形上的对应连续线段必有一凸或凹点,从多边形的凸点和干涉凹点出发,利用干涉边的连贯性逐步确定无效环,最后对多边形中的非干涉区域作等距偏移,实现多边形的等距偏移。
该方法利用干涉区域的连贯性避免了大量不必要的求交计算,同时支持带有孤岛的多边形等距偏移。
其算法复杂度接近于O(n),其中n为多边形顶点个数。
关键词:多边形 等距偏移 无效环 CAD/CAM
中图分类号:TP391;TH16 文献标识码:B 文章编号:1671—3133(2004)12—0007—04
A fast offset method for polygon
□Chen Zhengming,Xu Zhenquan
Abstract P olyg on offsetting is an important operation in C AD/C AM,and it is the key problem for pocket machining.Based on the theo2 ry that there must be one convex vertex on the local invalid loops and one concave vertex on the global invalid loops,taking the convex and interfering concave vertex as seed vertices,the local and global invalid loops are identified by using the consistency of interfering edges.The offset polyg on can be realized by offsetting the no2interfered part of the original polyg on.By using the consistency of interfering range,a lot of intersecting and compare computation is av oided and the time2complexity of the proposed alg orithm is near to O(n),where n is the number of vertices in a polyg on.
K ey w ords:Polygon Offset I nvalid loop CAD/CAM
一、引言
多边形的等距偏移是C AD/C AM领域中的一个重要问题,并在型腔环切加工刀具轨迹生成技术中得到广泛研究。
现有的多边形的等距偏移方法可以分为三类:边等距偏移法(pair2wise offset)、Voronoi图法和基于像素法(pixel2based)。
边等距偏移法的一般过程分成如下三步:首先,对多边形的每条边沿等距方向作等距偏移,然后用圆弧段连接断开的等距边生成初步等距线;其次,检查初步等距线的自交点;最后,删除无效环。
该方法直观简单,但自交点的判别和无效环的删除计算量大且数值计算稳定性差。
边等距偏移法的关键问题在于如何确定各等距段中的非干涉部分,Suh、Hansen和Arbab、方向等提出了一些有效的算法。
然而这些方法仍然存在着求交量大和不稳定问题。
不久前,Choi和Park提出了一个新的边等距偏移法,把无效环分为局部无效环和全局无效环两种,首先通过一个边干涉检查程序(Pair2Wise Interference2Detection,PWI D)在初步等距线构造以前就把所有局部无效环删除掉;然后用一个扩展了的扫成线算法在初步等距线中找出自交点,从而确定是否存在全局无效环;进一步调用PWI D删除全局无效环。
Choi和Park方法利用了干涉边的连贯性进行无效环的排除,从而避免了大量不必要的求交计算,但是该方法不能很好处理带有孤岛的多边形的等距偏移。
在Choi和Park方法的基础上,本文提出了一个直接排除无效干涉环的多边形等距偏移算法,该算法适用于带有孤岛的多边形的等距偏移。
二、术语、定义和定理
多边形的等距偏移分为向内和向外等距偏移两种。
本文所指的多边形等距偏移是指带有孤岛的多边形内等距偏移,ρ表示等距偏移量。
定义1(反射边):多边形中的凹点称为反射边。
为叙述方便计,凹点P对应的反射边也记为P。
下面把多边形的直线边和反射边统称为多边形的边。
本文中多边形的边以参数化形式表示。
每条边的参数取值范围为1,任取多边形中一边为首边,其参数区间为[0,1],沿多边形的走向,下一条边的参数区间为[1,2],第i条边的参数区间为[i-1,i]。
记P(t)为第i条边在t∈[i-1,i]处的点,则P(i-1)、P(i)分别对应于第i条边的起点和终点。
若第i条边为反射边,则对任意一个t∈[i-1,i],P(t)都对应于此凹点。
多边形中任意一点P(t)的单位法向N(t)定义为
Ξ国家自然科学基金(N o.60374053)与河海大学科技创新基金(N o.04B002205)资助
等距偏移方向,反射边的单位法向从上一条边的单位法向变到下一条边的单位法向。
如图1中N 1为边
P 1P 2上任一点的单位法向,反射边P 2的单位法向N (t )(t ∈[2,3])从N 1(t =2)连续变化到N 2(t =3)。
图1 多边形的参数化
定义2(无效环):边等距偏移法生成的初步等距线中的自交点把初步等距线分割为两类环,一类环包含在等距
多边形中,这样的环为有效环,其余环称为无效环,无效环在多边形等距偏移时必须删除。
在图2中,S i (i =1,…,9)为自交点,L 1~L 7为无效环,L 8和L 9为有效环。
图2 初步等距线中的
有效环和无效环
等距偏移时对应于原始多边形上一条连续线段(此连续线段的两个端点对应于一个自交点)的无效环称为局部
无效环,而对应于一对连续线段(四端点
对应于两个自交点)的无效环称为全局无效环。
图2中的局部无效环有L 1、L 2、L 4、L 5、L 7,全局无效环有L 3和L 6。
定义3(干涉点和干涉区间):对多边形的边E 上的任意一点P (t ),若其相切圆与多边形上的其他边(除边E 外)相交,则称点P (t )或参数t 为干涉点。
若多边形上的一个点P ′位于P (t )的相切圆内(或在相切圆上),称P (t )或参数t 被点P ′干涉。
显然,多边形中的任一凸点必为干涉点。
若参数域ψ中的任意一点都为干涉点,则称ψ为一干涉区域。
若ψ为一区间,则称ψ为一干涉区间。
干涉区域与非干涉区域的端点称为干涉端点。
根据无效环和干涉区间的定义可知:局部无效环对应于一干涉区间,两个干涉端点对应于一个自交点;而全局无效环对应于两个干涉区间,其干涉端点对应于两个自交点。
定义4(干涉边和干涉关系):设S 1和S 2为多边形中的两条边,若S 1的终点相切圆与S 2相交,则称S 1被S 2完全干涉;虽然S 1的终点相切圆不与S 2相交,但S 1中有多个点的相切圆与S 2相交,则称S 1被S 2部分干涉;若S 1中不存在与S 2相交的相切圆,则称S 1不被S 2干涉。
若S 1与S 2相互部分干涉,则称S 1和S 2为部分干涉关系;若S 1和S 2中一条边不被另一条干涉,称S 1和S 2为不干涉关系;若S 1和S 2中
一条边被另一条完全干涉,而另一条边被部分或完全干涉,则称S 1和S 2为完全干涉关系。
相互干涉的两条边称为相互干涉边对。
显而易见,与一凸点相连的两条直线边必为相互干涉边对,称这样的相互干涉边对为凸干涉边对。
另外,其中至少一条边是反射边的相互干涉边对称为凹干涉边对。
如图2所示的相互干涉边对P 1P 2与P 1P 6为凸干涉边对。
反射边P 3与直线边P 1P 6组成的相互干涉边对为凹干涉边对。
当上述边S 1和S 2为有向边时,称{S 1,S 2}为有向边对,相应的干涉关系称为有向干涉关系。
定理1:局部无效环在原始多边形上的对应连续线段必有一凸点。
多边形中的凸点都对应一局部无效环。
定理2:全局无效环在原始多边形上的对应连续线段必有一凹点但一凹点未必对应一全局无效环。
三、无效环的确定
多边形等距偏移的关键是确定对应于无效环的干涉区域。
干涉区域确定的基本思想是首先确定一干涉点作为种子点,根据干涉区域的连续性,从种子点出发不断判别相邻点是否为干涉点,逐步扩大干涉点范围直到干涉端点为止,从而得到干涉区域。
对于局部无效环,根据定理1,每个凸点都是一个局部无效环的种子点。
而对于全局有效环来说,根据定理2只能确定一个凹点可能是全局无效环的种子点。
为此,本文提出了一个全局无效环的干涉区域的确定方法,局部无效环的干涉区间确定采用Choi 和Park 方法。
全局无效环的干涉区域确定首先要判别一凹点是否为干涉点。
11多边形凹点的干涉性判别
判别一凹点P 是否被干涉最直接的方法是通过比较反射边P 与多边形中所有其他边的干涉关系,若所有这些干涉关系都为不干涉关系,则凹点P 不为干涉点;否则P 为干涉点。
但这种直接法的计算量很大,其计算复杂度为O (nn cc ),其中n 为多边形的边数,n cc 为多边形中凹点个数。
本文采用区域网格化技术以减低凹点干涉性判别的计算量。
把多边形区域沿垂直和平行于X 坐标轴方向均匀分割为正方形网格,每个网格边长为2ρ。
凹点P 的干涉性判别基本方法是:首先确定每个网格包含的边(与网格区域相交的边);然后找出P 所在的网格以及与此网格相邻的所有网格;最后比较这些网格的包含边与凹点
P 的干涉关系。
此凹点干涉性判别算法的计算复杂度
为O (nn cc G n ),其中n cc 为多边形中凹点个数,G n 为凹
点所在网格及其相邻网格包含的边数,通常G n <<n 。
21全局无效环确定算法
凹点干涉性判别算法确定了一凹干涉点的凹干涉边对,记凹边CE 的一凹干涉边对为{CE ,OE}。
以图3为例,从凹干涉边对{CE ,OE}出发,包含凹点的全局无效环的干涉区域通过如下算法确定。
该算法以一对相互干涉的有向边对为输入参数并以有向边方向为跟踪方向逐步确定干涉范围。
设输入干涉边对为f 2edge 和b 2edge ,f 和b 分别为正向边和负向边的起点参数,其初始值为f 0和b 0,返回值f 和b 为干涉端点参数值。
具体实现步骤如下。
图3 全局无效环的确定步骤1:若f 2edge 与b 2edge 的终点相同,置f 和b 为它们的终点参数,即f =b 。
则
返回[f 0,f ]∪[b ,b 0]。
此时说明以f 0为起点,b 0为终点的区间[f 0,b 0]为一干涉区间。
步骤2:确定f 2edge 与b 2edge 的干涉关系relation 。
情况1:如果relation 为完全干涉关系,则被完全干涉的边用其下一条边代替得到更新后的f 2edge 和b 2edge ,继续执行步骤2。
情况2:如果relation 为不干涉关系,则根据当前更新前的f 2edge 和b 2edge 的干涉关系(为完全干涉关系)确定干涉区域。
按照完全干涉关系三种情况分别处理:1)f 2edge 和b 2edge 相互完全干涉,则令f 等于f 2edge 的终点参数,b 等于b 2edge 的终点参数,返回[f 0,f ]∪[b ,b 0]。
2)b 2edge 被f 2edge 完全干涉,而f 2edge 被b 2edge 部分干涉,则在f 2edge 中求出被b 2edge 干涉的临界点的参数值t f 。
令f =t f ,b 等于b 2edge 的终点参数,返回[f 0,f ]∪[b ,b 0]。
3)f 2edge 被b 2edge 完全干涉同时b 2edge 被f 2edge 部分干涉,则在b 2edge 中求出被f 2edge 干涉的临界点的参数值t b 。
令b =t b ,f 等于f 2edge 的终点参数,返回[f 0,f ]∪[b ,b 0]。
情况3:如果relation 为部分干涉关系,首先求得
f 2edge 和b 2edge 的公切圆及相切点的参数值fe 、be 。
令f =fe 、b =be ,返回[f 0,f ]∪[b ,b 0]。
以图3为例,P 10为一凹点,记反射边P 10为CE ,通过凹点干涉性判别确定CE 的凹干涉边对为{CE ,OE},CE 和OE 参数区间分别为[11,12]和[2,3]。
首先由凹干涉边对{CE ,OE}确定两对有向边对{CE +
(11,12),OE -(3,2)}和{CE -(12,11),OE +(2,3)};
然后如上算法确定{CE +,OE -}和{CE -,OE +}的干涉区域分别为[1145,3]∪[10,1415]和[8155,12]∪
[2,316];最后通过干涉区域组合得到全局无效环的干涉区域为[1145,316]∪[8155,1415]。
四、多边形的等距偏移算法
多边形的等距偏移算法的基本思想是:以多边形的凸点为种子点确定局部无效环的干涉区间,以多边形的凹点为种子点确定全局无效环的干涉区域;从而确定多边形的非干涉区域;进而对位于非干涉区域内的线段作边等距偏移得到等距偏移后的多边形。
设多边形的参数域为PT ,其等距偏移算法主要步骤如下。
步骤1:确定所有初始干涉边对:1)根据凸点为局部无效环的种子点,以每一凸点为起点的两有向边作有向边对,构造一有向边对链表L EP L ,记录所有以凸点为起点的有向边干涉对。
2)对每个凹点调用凹点干涉性判别算法找出所有凹干涉边对,构造一凹干涉边对链表GEP L ,记录所有凹干涉边对。
步骤2:在多边形参数域PT 中删除所有局部无效环的干涉区间。
步骤3:在多边形参数域PT 中删除所有全局无效环的干涉区域。
步骤4:对删除无效环干涉区域后的参数域PT 对应的边(可能是多边形边的一部分)作边等距偏移。
五、算法分析和讨论
本文提出了一种不必生成多边形的初步等距线而直接确定干涉区域和非干涉区域的方法,这样只要对非干涉区域对应边作等距偏移,就可以实现多边形的等距偏移。
其主要特点是:1)利用干涉区域的连贯性避免了大量不必要的求交计算;2)支持带有孤岛的多边形等距偏移。
相比于Choi 和Park 方法,本文方法不仅能直接排除局部无效环,还能直接排除全局无效环,同时支持带有孤岛的多边形等距偏移。
在计算的时间复杂度上,本文方法类似于Choi 和Park 方法。
目前笔者正在把本文算法应用于型腔环切加工刀具轨迹生成中,进一步的研究工作是:1)针对具体实际产品验证本文方法的可靠性和高效性;2)利用本文方法思想研究由圆弧和直线段组成的封闭曲线的等距偏移算法。
基于CATIA平台的夹具快速设计与制造系统的构建3
□傅蔡安
摘要 重点研究C ATI A在专用夹具设计及制造过程中的应用问题。
夹具设计涉及到数值计算,图形绘制等一些算法问题。
C ATI A在解决这类问题时显示出其优越性。
关键是研究如何在C ATI A环境下建立专用夹具设计、制造快速响应系统的总体结构,特别是在如何建立专用夹具元件库及夹具可行性分析等方面作了一些研究。
对有关夹具相似性比较的推理方法也作了一些探讨。
关键词:专用夹具 CATIA 元件库 快速设计
中图分类号:TH16;TP39117 文献标识码:A 文章编号:1671—3133(2004)12—0010—04
The application of CATIA parametric design in the quick design of the clamping fixture
□Fu C aian
Abstract Problems in the application of C ATI A in the special fixture structure design and manu facture are mainly studied.Many alg o2 rithm are related to the design of the clamping fixture,such as numerical calculation and drawing practice etc.C ATI A displays the su2 periority in dealing with these problems.The important research is to study how to construct the structure of quick-response system in the design and manu facture of special fixture.Especially,research on the analysis of feasibility and how to construct unit store of the special fixture.In addition,research on the reas oning method for related fixture comparability.
K ey w ords:Fixture CATIA Function analysis Q uick design
一、专用夹具快速设计、制造系统的构想
为了有效地利用存在于现有夹具中的专家知识,参照传统的夹具设计过程,提出基于C ATI A技术的专用夹具快速设计、制造响应系统的构想。
该系统尽可能提高设计效率,并做到在夹具设计完成后,就能从图面的结构和数据上把握所设计的夹具制造的难易和使用的好坏,保证夹具设计的一次成功率。
此系统以C ATI A为开发平台。
C ATI A是由法国达索公司开发,I BM公司负责全球市场销售及售后技术支持。
作为世界领先的C AD/C AE/C AM软件,C ATI A 的NT版C ATI A Version5是完全基于NT平台底层开发的新一代C AD/C AE/C AM产品,C ATI A人性化的界面,以及智能化的功能操作,使一切复杂工作变得简单。
以C ATI A为工作平台的专用夹具快速设计、制造响应系统有5个主要的模块,其中包括三维夹具库和三维夹具标准元件库的支持。
1.夹具设计要求的识别(输入)是带有夹具特征提取的信息输入,包括零件的三维图形、加工的工艺信息及装夹特征等模块。
2.相似夹具的识别和夹具结构设计是夹具设计检索模块。
通过相似性分析算法,可以识别出最相似夹具,便于参考、修改,如果检索不到相似的夹具设计,就进行全新的夹具设计。
3.夹具设计校验是校验模块。
对夹具进行定位精度、夹具受力、构件刚度以及元件间干涉等校核。
3 863项目(2003AA414017)
参 考 文 献
1 Held M.On the computational geometry of pocket machining.
Berlin:S pringer,1991
2 Suh Y S,Lee K.NC milling tool path generation for arbitrary pockets defined by sculptured surfaces.C omputer2Aided Design,1990,22
(5)
3 Hansen A,Arbab F.An alg orithm for generating NC tool path for arbitrary shaped pockets with islands.AC M T ransactions on G raph2
ics,1992,11(2)
4 方向,彭群生,郑家骧.2.5轴复杂型腔的刀位轨迹生成算法.工程图学学报,2000,(1)
5 Choi BK,Park SC.A pair2wise offset alg orithm for2D point2se2 quence curve.C omputer2Aided Design,1999,31
作者通讯地址:河海大学计算机及信息工程学院(常州213022)
收稿日期:20040522。