采用图分解的特征识别算法研究

2010-03-21 05:32刘晓平
图学学报 2010年1期
关键词:子图顶点分量

刘晓平, 吴 敏, 金 灿

(合肥工业大学计算机与信息学院,安徽 合肥 230009)

CAD/CAE/CAM从现代工业体系来看是一个密不可分的整体。CAD用于产品的设计,CAE对CAD设计的产品进行优化,CAM根据CAE优化的结果进行制造。其中,CAD是基础,CAE是保障,CAM是应用,三者密不可分。尤其是CAD跟CAE联系相当紧密。但是,由CAD建造的模型往往不能够直接用来进行CAE分析,这是由于CAD建造的模型存在一些诸如细小特征和高曲率特征一类的复杂特征,会显著增加网格划分的单元数量,从而消耗大量的计算资源,甚至导致计算结果出错。在这些复杂特征中,有些特征的存在与否对计算结果影响不大,因此在CAE分析之前,如果识别出CAD模型中的细小特征和高曲率特征,分析这些特征的删除或替换对计算结果的影响程度,生成一个模型的对应误差程度的若干模型态[1],并依此制定特征抑制方案,就可以大量节省计算资源,有效提高计算效率。而特征识别技术是一切工作的技术基础。

自动特征识别技术从上个世纪80年代首次提出[2],至今已取得了很大的成果。基于图的特征识别方法是目前主要的特征识别方法之一,它通过图结构来描述特征的几何及拓扑信息,并在零件的图结构中搜索匹配特征子图来达到识别特征的目的。文献[3]提出了一种基于图的特征识别方法,用包含相关拓扑和几何属性的面边邻接图表示用户定义特征,再在对应的零件邻接图中搜索相似子图。该方法虽然克服了基于图的特征识别不擅长处理相交特征的弱点,提出了虚相交及多属性的方法,解决了一些相交特征的识别。文献[4]结合基于痕迹的和基于图的特征识别方法,先对属性邻接图进行分解,再将特征图与每个子图进行匹配,可以有效地降低子图匹配的算法复杂度。但是,目前主流的特征识别算法识别出的特征多由面集表示,抑制操作复杂度高。如果以三维实体来表示特征,则可以大大地方便特征的删除和替换。同时,在面向分析的特征识别中关注的是如何将模型分解为最简单元,尽量保证同一单元具有相近的网格划分属性,如网格直径等,以方便衡量计算误差和计算时间。因此,如何可以更好地将模型分解为最简单元,是CAD/CAE集成系统中特征识别的关键问题。

本文提出基于属性邻接图分解的方法实现特征识别,以完成对模型的分解。该方法不再局限于特征类型,只要合理控制顶点的可分解性判断则可以得到期望的模型分解结果。同时该方法可以将特征识别为实体,方便了特征删除和替换操作,以完成模型的简化。

1 图分解准则

1.1 相关定义

定义1特征是模型分解之后的最小单元,其满足以下条件之一:

(1)体积小于一定的阈值;

(2)包含曲率大于一定阈值的曲面。

定义2若面f1和f2具有相同曲面方程,但是被划分为不相邻的部分,则称f1和f2为Co-defined面[3]。

如图1所示,其中面F1、F1′为Co-defined面。

定义3在模型的属性邻接图分解之后,如果有些面所对应的顶点存在于两个或两个以上的连通分量中,这样的面称为特征分解面。

定义4对于属性邻接图中顶点v及其相邻的所有顶点集合V_adjacent,v与集合V_adjacent中每个顶点对应的曲面方程的交线集合V_curves。按照邻接顺序将曲线之间求交点,若这些曲线首尾相连,则称这些曲线集合为环。

基于上述定义,如果一个顶点有两个或两个以上的环,那么该顶点所对应的面为特征分解面,该顶点为可分解顶点。本文提出的基于图分解的特征识别算法均基于此前提。

图1 Co-defined面

1.2 属性邻接图(AAG)

要进行特征识别,首先要根据将B-Rep表示的三维模型形成面边邻接图,其中模型的面对应图中的节点,边对应图中的弧。在面边邻接图的基础上,将模型的几何或拓扑属性添加到相应的弧和顶点上,则形成属性邻接图,如图2所示。

图2 属性邻接图

为了方便顶点的可分解性判断及体特征生成,在AAG中添加以下属性。

(1)弧的属性

· 所对应边的几何信息,包括边的端点及相应曲线方程,用于分解之后连通分量生成体特征。

· 边的凹凸性,用于辅助判断边所在的面的外法向,其判断方法参考文献[5]。

(2)顶点的属性

· 所对应面的几何信息,即面的方程,用于分解之后连通分量生成体特征。

· 所对应面的环的数目,以判断顶点是否可以分解。

· 所对应面包含的环的集合,在图分解时作为依据,根据环的具体情况确定顶点复制数目并完成弧的连接。

· 分解方向,即未分解(0)、正向(1)、负向(-1)。如果某顶点还没有分解,或者不能够被分解则记为未分解(0);如果分解之后,该顶点的拷贝对象对应的环为内环,则记为负向(-1),表示该顶点所相连的面的原法向需要修改;否则记为正向(1),表示面的原法向不必修改。

2 基于图分解的特征识别算法

2.1 算法流程

基于图分解的特征识别算法流程为:根据顶点分解准则对属性邻接图进行分解,以完成模型的分解。其步骤如下:

Step 1化简初始属性邻接图,合并其中Co-defined Faces顶点;

Step 2对化简后的属性邻接图,判断每个顶点是否可分解,若可分解则按照分解规则分解每个顶点;

Step 3当所有顶点都分解之后,判断最终属性邻接图包含连通分量的数量,将每个连通分量生成体单元,对于每个体单元根据设置的特征阈值判断其是否为特征。

下面将对这3个步骤分开详细阐述。

2.2 属性邻接图的化简

在模型中,有些面具有相同的几何方程,但被特征划分为不相连的几个部分,因此具有不同的拓扑结构,即 Co-defined 面。在对属性邻接图进行分解之前,需要将Co-defined面对应的顶点合并。

合并步骤如下:

Step 1找出Co-defined面集合FS;

Step 2对集合FS中的每个面,找出其在面边邻接图中的顶点,在其与原图中其余顶点邻接点之间添加一条边,再删除其余顶点。图3为图1中的槽特征中的Co-defined面处理前后的属性邻接图对比。

图3 Co-defined面顶点合并

2.3 顶点可分解性判断及分解

对于每一顶点v按照以下步骤执行:

Step 1求该顶点所包含的环:

(1)对于顶点v,获得其相邻顶点集合V_adjacent;

(2)根据邻接信息查找V_adjacent集合中的所包含的环,并记录环及环的数目。

Step 2若环的数目大于1,且存在内环,则执行Step 3,否则结束;

Step 3根据环分解顶点:

(1)将顶点v复制m份添加到属性邻接图中,其中m为顶点v所包含的环的数目;

(2)对于v所包含的每一个环,分配一个v的拷贝v′,并将L中边所对应的弧原先指向顶点v的改为指向v′;

(3)删除顶点v。

在对属性邻接图中每一定点v执行以上操作后,在将属性邻接图划分为若干个子连通分量,如图4所示,是对图3中化简之后的槽的属性邻接图顶点分解之后的结果。

图4 顶点分解示意

2.4 体特征的生成算法

完成属性邻接图的分解之后,获得了对应每一单元的属性邻接图,在此基础上生成对应的体特征。文献[6]中提出通过面延伸生成体特征方法,但是只处理了特征表面为平面的情况,没有涉及面与面之间的邻接关系。这里根据属性邻接图,利用面的邻接关系,通过延伸必要的面生成体,再根据设定的阈值判断所生成的体是否为特征。对于分解之后的属性邻接图中的每个连通分量进行以下操作:

Step 1找出属性邻接图中分解生成的所有顶点,对其中的每个顶点v,修改其所对应的曲面的边界。

Step 2确定每个面的方向。

Step 3根据已有的点、线、面生成Brep表示的三维模型。

Step 4判断所生成的体是否满足特征的条件(体积阈值和曲率阈值);若满足作为特征。

3 实 例

如图5所示,本节以文献[7]中给出的计算LOD的模型为例。针对此种模型可分解为13个最简单元,其中特征1~8(小圆柱)满足特征条件(1)、体积很小;特征9(中间圆孔)满足特征条件(2)包含高曲率曲面。模型中其他部分保存在基座中。由于特征识别的目的是为了替换,程序中仅仅是将最后生成的体特征保存,作为模型的属性,并没有显示出来。

4 结 束 语

针对CAD/CAE模型转换与CAD/CAM转换的区别,提出了基于图分解的特征识别算法。依据顶点分解准则,判断顶点的可分解性,并对属性邻接图进行分解,再针对分解之后的属性邻接图中的每个连通分量生成体特征。该算法不局限于特征类型,可以识别出常见的加工特征,如槽、孔等,只要合理控制顶点的可分解性判断则可以得到期望的模型分解结果,识别出更多的特征。同时该方法识别出的为体特征,与用面集表示的特征相比,在特征抑制时,可以在特征这一较高层次[6]上方便地进行特征删除和替换以完成模型的简化。

该方法依然存在一些问题,如属性邻接图到体映射存在一定的不确定性。同时,对于相交特征的分解进行更深入的思考是下一步工作的目标。

图5 实例

[1]刘晓平, 金 灿, 李书杰. 有限元仿真软件中建模的多态机理研究[J]. 系统仿真学报, 2007, 19(3):538-542.

[2]Corney J, Hayes C, Sundararajan V, et al. The CAD/CAM interface: a 25-year retrospective [J].Journal of Computing and Information Science in Engineering (Transactions of the ASME), 2005, 5(33):188-197.

[3]Venkataraman S, Sohoni M, Kulkarni V. A graphbased framework for feature recognition[C]//6th ACM Symposium on Solid Modeling and Applications, 2001:194-205.

[4]Rahmani K, Arezoo B. A hybrid hint-based and graph-based framework for recognition of interacting milling features [J]. Computers in Industry, 2007, 58:44, 304-312.

[5]周 炜. 基于图的边界模型的加工特征识别技术[D].南京: 南京航空航天大学, 2006.

[6]Dong X, Wozny M. A method for generating volumetric features from surface features [J].International Journal of Computational Geometry &Applications, 1991, 1(3): 281-297.

[7]Lee Sang Hun. Feature-based multi-resolution modeling of solids [J]. ACM Trans. on Graphics, 2005, 24(4):1417-1441.

猜你喜欢
子图顶点分量
过非等腰锐角三角形顶点和垂心的圆的性质及应用(下)
过非等腰锐角三角形顶点和垂心的圆的性质及应用(上)
一斤生漆的“分量”——“漆农”刘照元的平常生活
一物千斤
临界完全图Ramsey数
不含3K1和K1+C4为导出子图的图色数上界∗
关于l-路和图的超欧拉性
论《哈姆雷特》中良心的分量
基于频繁子图挖掘的数据服务Mashup推荐
基于FFT的航空发动机整机振动分量实时跟踪监视