设为首页 收藏本站 English

当前位置: 钢琴机械网 >> 分条机

基于特征抑制的UGCAD模型自动简化技术白山开水炉开关端子xDSL施胶剂

发布时间:2022-08-03 02:00:27

基于特征抑制的UG CAD模型自动简化技术

1 前言

目前CAD技术占主导地位的是参数化建模技术和变量化建模技术。变量化技术既保持了参数化技术的原有优点,同时又克服了它的许多不足之处。采用参数化技术和变量化技术的代表性软件分别是Pro/E和UG。UG软件起源于美国麦道飞机公司,1991年并入EDS公司,2000年左右成功收购I-Deas软件,并综合了上述两款优秀的CAD软件的优势之后推出全新UGII软件,UGII在实体模型构造上采用复合建模技术,能够无缝地集成CSG建模、基于约束的特征建模和基于曲面拼合的建模等多种建模方法到同一个建模框架内。

特征造型是参数化造型理论的深化与拓展。特征不仅包含参数信息,还包含各种物理信息及加工信息。特征是设计者对设计对象的功能、形状、结构、制造、装配、检验、管理与使用信息及其关系等具有确切工程含义的高层次抽象描述[1]。特征包含丰富的工程语义,它是在更高层次上对几何形体的集成描述。特征建模是指通过特征及其集合来定义、描述零件模型的过程[2]。特征模型用逻辑上相互关联、互相影响的语义络对特征事例及其关系进行描述和表达,它与底层的几何元素点、边、面来表示几何实体的方法的区别是:由于空气在独立的空间内转移特征模型采用高层次的具有功能意义的实体,如孔、槽等,其操作对象不是原始的几何元素,而是产品的功能要素、技术信息和管理信息。

相比较CAE、VR系统而言,CAD系统具有最强的几何建模能力,目前获取CAE、VR系统下的产品模型的主要手段是把在三维建模CAD软件(如UG、Pro/E、Catia等)中建有90%的管理者认为自己的企业缺少人材储备立的CAD模型进行相应的模型转换[3]。出于计算速度和显示速度等多方面的考虑,CAE系统需要对进行计算的模型进行简化而VR系统则需要建立复杂样机模型的LOD(Level-of-Detail)模型,目前采用的模型简化的方法大都采用手工进行的方式,效率低下,LOD模型的获取则主要是通过多边形面片模型简化算法来获取,然而由于模型小面片化以后就失去了与原有参数曲面之间的拓扑关系,同时多边形面片简化算法实现方式各不相同,都有各自的特点及适用范围,简化的准确性在很大程度上依赖于初始多边形格的几何结构和拓扑结构,以及最终想要得到的结果,因此具有较大的先天缺陷和局限性。

本文提出的基于特征抑制的CAD模型自动简化技术把模型简化工作提前到CAD建模阶段,用于在CAD领域内批量自动完成CAD模型的简化工作,从而减少模型中细小参数曲面的数量。CAD模型自动简化后可再通过专用或中性文件格式转换输出得到需要的模型格式。

2 算法思想及实现

UGII采用了特征建模的模型构建方法,在模型建模树中保存了产品建模过程中的每一步特征生成步骤,图1是某个产品在UG NX中的建模树,这为基于特征抑止的CAD模型简化方法提供了可能。该方法的核心思想是:首先定义模型简化规则并获取产品建模过程和建模数据,通过规则匹配、误差控制等操作提取出模型中可简化建模特征,通过模型的边界表示结构判断建模特征可否抑制,最后抑制所有可简化特征并更新模型。

具体步骤包括:通过CAD二次开发技术(本文采用UG OPEN API)获取UG CAD模型的建模过程及相关参数;构建UG CAD模型简化规则并加以实现而形成简化规则函数库;通过规则匹配和简化误差计算来提取模型中所有可简化特征框锯机;通过模型的边界表示结构判断建模特征是否可以被抑制,如果可以则执行相应简化函数,最后更新模型并完成模型简化。

图1 UG产品模型建模树

2.1 UG的建模形状特征

UGII软件采用中采用基于特征的层次建模方式,从而提供了产品定义的高层描述,这样用户在产品设计的时候就可以在更高的抽象层次上进行,设计人员可以直接对产品的形状特征(如孔、螺纹等)进行操作,而可以不采用底层的基于点、线、面、体、布尔运算等复杂操作来完成产品的设计开发过程。UGII的建模成形机床形状特征(不考虑自由曲面建模)如图2所示。

图2 UGII的建模特征

2.2 简化误差控制

CAD模型的简化应该根据CAD模型建模尺寸和简化误差控制范围来确定。基于特征抑止的CAD模型简化方法不是对某类建模特征不加控制的一律删除,而是根据具体情况计算每类特征的控制参数阀值,从而抑止参数小于该阀值的对应特征,而保留那些参数大于该阀值的相应特征。

图3 倒圆角特征删除后的表面距离偏差

本文采用表面距离误差作为简化误差控制的全局参数,所谓表面距离误差,就是模型简化以后简化区域形成的新参数曲面到简化前对应的参数曲面之间的最大距离。例如对于两个垂直平面的交线进行倒圆角特征如图3所示,倒角半径为R,把该倒圆角特征删除以后的表面距离误差 。对于任意表面距离容差x(x>0)当被倒角的两条边的夹角为任意θ时,半径值满足式的倒圆角特征可以被删除。

对于每一类建模特征,都有多个控制参数用于控制该类特征,例如,对于倒角特征来说,有图4所示的多种建模方法和多个控制参数[5]。简化误差控制参数阀值对每类可简化特征的各种具体的建模方法计算相应的控制参数阀值。

图4 倒角特征的三种建模方法及其控制参数

2.3 简化规则构造及实现

通过对机械类产品UG模型的理解和分析并结合UGII中建模特征,总结出以下模型简化规则,可以看到,这些可简化特征基本都属于UG主建模特征中的细节特征。

抑制倒角(对应于Chamfer建模特征)

抑制倒圆角(对应于Blend建模特征)<锻压机械/p>

抑制螺纹(对应于Thread建模特征)

抑制退刀槽(对应于Groove建模特征)

抑制小孔(对应于Hole建模特征)

抑制凸台(对应于Pad、Boss建模特征)

抑制凹槽(对应于Pocket、Slot建模特征)

简化规则的实现采用函数对应的方式,一条简化规则对应于一个简化函数。这样的构造方法有利于简化规则库的扩展和更改,一旦重新加入另一条简化规则,就可以很容易的对现有模块进行扩充而加以实现。

简化函数采用UG OPEN API函数以及C语言构造,简化函数的实现中的最重要的问题是UG模型中对象的提取与匹配,UG模型中包含的对象包括几何实体对象和非实体对象。几何实体对象包括实体、面、线、点等。非几何对象包含坐标系对象、对象尺寸、颜色、线型、属性对象等等。每个UG对象都可以通过唯一的对象标识(tag)来引用。如下的代码段用于获取一个UG CAD文件中所有的建模特征标识以及特征名称:

tag_t part1;//打开零件模型的标识

UF_PART_load_status_t error摇臂钻_status;

int type=UF_feature_type;//需要遍历的对象类型

tag_t feature=NULL_TAG;//定义特征标识

tag_t * fea_tags=0;//定义特征标识指针

int I_count=0,feature_count;//用于获取模型中的特征数量

UF_PART_open(partname,&part1,&error_status);//打开模型文件

UF_OBJ_cycle_objs_in_part(part1,type,&feature);

while(feature!=NULL_TAG)

{ I _count++;

UF_OBJ_cycle_obj但暗淡无光s_in_part(part1,type,&feature); }

feature_count=I_count;//得到模型中的所有建模特征的数量

fea_tags =new tag_t[feature_count]; //为指针分配空间

char* fea_names[500];//定义指针,假定文件中特征数量不大于500个

{for(int i=0;i

湖北哪家白癜风医院好
武汉白癜风治疗医院哪个好
武汉哪有治疗白癜风的医院
武汉白癜风的治疗贵不贵
友情链接