CAD/CAM软件
按行业筛选
请选择行业
----------------------
-全部行业
------------------
-机床与金属加工设备
-刀具/量具/夹具/磨具
-模具设计与制造
-塑料机械/橡胶机械
-通用机械/化工机械
-工程机械/建材机械
-交通运输/海工装备
-农业机械
-食品机械/烟草机械
-包装机械
-印刷机械/广告设备
-纺织机械
-木工/造纸/环保/医疗设备
-物流设备
-智能楼宇/安防设备
-炉窑/热处理设备
-五金工具
------------------
-工业自动化
-佳工激光网
-仪器/仪表/衡器
-电力设备
-电子/通讯/办公文具
-家电/照明/健康设备
------------------
-基础件/通用件
-标准件
-工业原材料
-电子元器件及材料
-包装材料
------------------
-CAD/CAM/PDM/PLM
-ERP/制造业信息化
-管理咨询/认证
-服务/培训/工业设计
按产品筛选
----------------------
-本行业全部文章
--------------------
-CAD/CAM软件
-CAE/模拟仿真
-PDM/PLM/C
-EDA/专用CAD
-三维打印机
-三坐标测量机
-三维扫描仪
-CAD硬件/先进制
查看本类全部文章
基于面向对象技术的特征表示法
作者:胡伟 张新坊 周济
1 用面向对象技术表达特征
1)特征表达有利于数据抽象和代码抽象
在几何造型中,最常用的表示形式是CSG和B-rep法。CSG和B-rep表示法能很好地表达形体的形状,但是,它们不能够表达零件的工艺信息和制造信息。特征表示从应用层来定义形体,可以较好地表达设计者的意图,为编制工艺、制造和检验产品提供依据。基于特征的设计面向制造全过程,是CAD /CAPP /CAM 集成的关键,因而具有高度抽象的对象化属性,表述了对象的群体特征,这一点与面向对象的程序中的类(class)的功能是相同的。
用类(class)来表达特征,能很方便地实现数据抽象和代码抽象。使CAPP运用决策树、决策表进行推理时,不必把决策写到源程序中,从而提高了程序重用性。特征类可一般地表示为如图1的形式。
图1 特征类的一般表示形式
特征类中protected成员有两个:存储几何索引数据的结构指针和存储几何参数的结构指针,将几何信息分别存储于两个结构中,目的是让经常使用的项存放到内存中,而一般数据项存放到硬盘上,可以节省程序运行时占用的内存空间。private成员是非几何特征参数,它们以属性的方式挂靠到几何信息上。 Public的成员有很多,比如文件存储函数,构造函数和析构函数等等。我们最关心是的几何参数和非几何参数操作函数,设计得好的操作函数可以方便地实现特征的代码抽象。
2)特征具有封闭性
特征具有封闭性。特征是在设计、加工、装配过程中进行推理所需的关于零件形状和其它属性的信息集合。我们提到的某一个特征或某一类特征,是指特定的信息内容。比如圆孔,它就是指用中心线、长度、直径来表达的一个空的圆柱,从而使之与槽等其它特征区别开来。同时,我们知道孔和槽之间交流数据的行为是很难发生的。即孔特征具有封闭性。对象的一个最大特点就是封装,它将数据抽象和代码抽象结合在一起,增加了软件的模块化程度,增强代码的重用性。面向回转体零件,仿照VC++的MFC类库,我们为CAPP系统建立一个特征类库(Feature class Library),它包括形状特征类以及非形状特征的各种特征类定义,供实例化特征时使用,每个特征类封装了一些有关操作特征属性的操作方法。
3)特征具有层次性
第二节中我们提到孔与槽之间很难发生数据交换,但是孔与螺纹孔之间就发生了数据交流。因为,螺纹孔是孔的派生。从此可知特征具有层次性,特征的层次从设计、工艺和加工等不同的角度有不同的划分。生产条件、加工设备、加工用刀具 的不同,特征层次的划分也是不同的。比如阶梯轴,在普通车床上加工,阶梯轴是光轴的派生;而在仿形车床上加工,阶梯轴就无需经过光轴来派生,而是经过成型加工得到。为了方便特征层次的划分,本文以几何形体的加工要求为例,将特征分为孔、槽、轴肩、阶梯、型腔、圆角。其中对孔作了重点分析,运用面向对象的技术作出了如图2的划分。面向对象的技术提供了类的继承性,通过继承和参数化赋值可以方便地实现动态特征定义和扩充。
图2 加工特征的动态层次结构
特征在性质上与面向对象技术有许多沟通点,用面向对象技术表达特征是很自然的事。引入面向对象类的概念,使得特征很方便地实现数据与代码的抽象和封装。许多不必要的具体数据能从源程序中剔除,增强了代码重用性。特征与特征之间的区别有了明确的界线,不会产生混乱现象,给程序员提供了有效的编程工具。引入面向对象的技术,可以使特征方便地被扩充,实现特征类库的动态管理。在程序编制过程中只需补充代码派生新类,无需对整个程序做大的改动。从而使得程序设计具有清晰的信息流和数据结构。
2 约束条件下的特征表示
约束条件下的特征表示是特征造型的重要内容,目前对特征之间的约束的研究尚无统一的方法。要研究它的表示,必须拟清约束的种类及其性质。从整个产品生命周期看,特征之间的约束可以分为设计阶段的约束,工艺准备阶段的约束,加工阶段的约束,检验阶段的约束,装配阶段的约束。有些约束贯穿整个产品生命周期,始终发挥作用,有些约束则是为了分析和操作方便而暂时设置的(例如工件热处理用的工艺凸台,在热处理后一般要切除)。从并行设计的角度来看,所有这些约束在CAD/CAPP/CAM设计中都应当考虑到,并给出合理表达。
图3 精度约束
精度约束是加工阶段约束中最明显的一类,主要是位置精度的约束。图3中,由于孔A和孔B要求较高的同轴度(0.010),因此两孔必须同时加工。否则,两孔很难满足同轴度要求。孔特征在CAD 中以第一节论述的方法可以方便的表达。同轴度这一约束条件在CAPP 设计阶段就必须清楚地表达,这是开发CAPP的一个重要环节。它通过指针将特征A和特征B联系起来,同轴度约束是两者相互作用的结果。但是作为一个父类的孔,却不具有该指针,精度约束是在约束类或函数中给出的。一方面简化了父类的设计工作量;另一方面增加了约束表达的灵活性,每一类型的约束均可用函数或子类表达。图3中同轴度约束就可以表示如图4。特征孔A和B的相互作用可以表示为
图4 同轴度约束的表示形式
这里约束Constrain是父类(CHole)的子类,它除了继承父类(CHole)的特征外,还增加了一个操作同轴度约束的函数,其中pholeA和 pholeB分别是指向孔A和孔B的指针,通过成员函数发生相互作用。这个类看似简单,实际上它不仅表达了同轴度信息,也有助于选择加工方法(加工方法作为属性依附于特征和约束特征二叉树之上)。该方法可以推广以表达其它约束关系,满足CAPP设计的需要。
3 面向对象技术表达零件工艺特征
1)装载零件信息
本文的工作是从设计CAPP系统的过程中提出来的。CAPP的零件信息是通过数据接口与微机网络从CAD信息库中获取的。零件信息在内存中的表达方式基于特征二叉树的数据结构。每个主特征类根据制造要求从基本形状特征类派生或给其对象赋值而得;辅特征类是主特征类的继承和扩展。
如图5所示,如果圆柱Ø60K6与圆柱Ø50f6之间没有同轴度约束,可以按一般要求一般加工,机床的选择和工序工步的排列满足经济要求即可。如果两圆柱之间要求较高的同轴度约束,那它们必须在较高精度机床上一次安装加工成型。从程序设计的角度来看,两台阶同轴度约束类是两主特征(Ø60K6圆柱面和Ø50f6圆柱面)类的公有派生,同轴度是通过指向这两个主特征类的指针实现的。各主、辅特征类和约束派生类的对象是CAPP系统执行的实例,它们是CAPP系统进行工艺决策的依据和基础。
图5 一个示例零件
2)选择加工方法
系统以特征的类型和加工要求为依据,从加工方法知识库中自动搜索到与某一特征相匹配的加工方法,并以规则形式给出,其结论链表就是该特征的加工方法链,将结论链表靠挂在零件特征二叉树的每个结点上就完成了该特征加工方法链的选择。若某特征是一全新的特征或其加工要求特殊,在加工方法知识库中找不到相应的加工方法链规则时,系统将弹出对话框供用户方便选择或输入该特征的加工方法,经确认后,系统自动将所补充的加工方法链存入加工方法知识库中供下次决策选用。
4 结束语
本文分析了特征有利用于面向对象技术表达的三个特性,即抽象性、封闭性和层次性,并以孔为例提出了特征的动态层次结构。对特征之间的约束关系作出了分析,提出约束的分类,并对其中最引人注目的精度约束作出进一步的研究,以同轴度要求为例给出了约束类的设计模型。最后以面向对象技术成功地表达零件工艺特征,实现了加工方法选择。 (end)
文章内容仅供参考
(投稿 )
(如果您是本文作者,请点击此处 )
(12/28/2006)
对 CAD/CAM软件 有何见解?请到 CAD/CAM软件论坛 畅所欲言吧!