基于UG二次开发的轴承参数化建模
2018-08-11郭忠亮白凤梅
郭忠亮,白凤梅,,姚 磊
(1.安徽工业大学 冶金工程学院;2.安徽工业大学 工商学院,安徽 马鞍山 243100)
Unigraphics(UG)是面向产品整个生命周期的大型建模制图软件,拥有CAD、CAE、CAM三大模块,在船舶、汽车、飞机等设计制造领域有着广泛的应用,在全球数字化产品开发系统中有着领先地位,可为用户提供完善的产品设计解决方案,覆盖产品设计、仿真分析到产品制造的整个开发流程,功能强大,系统稳定,开放性强,能显著提高设计效率与质量[1].但是,作为一种广泛应用的CAD/CAM/CAE平台,在不同的领域,许多常规性的工作还未能够实现自动化;虽然已经有大量的设计经验和成功事例,但是这些并没有集成到通用CAD/CAM/CAE系统中,因此,用户引进UG软件后,需要进行不同程度的二次开发,以便使其在本企业中淋漓尽致地发挥作用[2].为顺应这些设计需求,知识工程(Knowledge Based Engineering,KBE)得以不断发展、应用.UG NX知识融合 (Knowledge Fusion,KF)由SiemensPLM Software公司开发的一种KBE系统开发工具.相比于NX Open GRIP(一个用于自动化CAD/CAM/CAE 任务的中间脚本语言)[3]、Open C(一个直接的NX编程接口,允许用户使用流行的C编程语言来创建自定义应用程序)、Open C++(提供了NX第一个面向对象的接口)[4],采用知识融合编程语言[5]应用到UG二次开发中主要有如下特点:
(1)以一种面向对象的、解释性的语言进行编程;
(2)允许通过创建规则扩充知识工程;
(3)能够有效地利用外部知识源,如电子表格、数据库等;
(4)提供丰富的UG NX类库,并允许用户创建自己的类;
(5)能够自动获取给出零件的几何及非几何特性,并将能够描述创建该零件或装配体过程中的规则详细地记录下来,且可在CAD/CAM文件中获取信息和数据.
1 滚动轴承
为减少摩擦损失,一种用于将旋转的轴与轴座之间的滑动摩擦转变为滚动摩擦的机械元件,称为滚动轴承(Rolling Bearing).
滚动轴承在起动性、使用维护、中等速度下承载能力、工作可靠性等方面具有显著的优点,因而被广泛使用在机械(或部件)中.所以有必要开发轴承的标准库件,为机械(或部件)的产品设计中,标准件的调用提供方便[6].
2 基于KBE的标准件库的建立
“知识融合”内嵌于UG NX软件的系统之中,融合了传统的CAD技术及知识工程技术.开发者可通过知识融合技术,将某一行业所特有的工作经验、产品知识以及可复制性工作创建于产品模型中,实现对已完成工作的多次利用,减少重复性劳动,最终可提高工作效率.除此之外,还可避免在设计过程中的人为失误,使繁杂的开发设计工作简单化、智能化.本方法所涉及的方法、步骤,具体见图1所示.
图1 知识融合(KF)开发流程图
2.1 用户操作菜单设计
标准件库设计为与UG传统交互界面相同的分级式下拉菜单,如图2示.下拉菜单设计的具体操作步骤为:利用Menu—Script所提供的UG NX菜单脚本语言,将其编写成一个扩展名为*..men的文本文件,通过对环境变量的设定,在用户启动UG NX后会自动加载用户菜单文件,生成UG NX用户菜单[7].
图2 承标准件用户菜单
2.2 数据UDF的建立
采用用户自定义特征(UDF)可扩展UG系统中的内嵌形状特征,可创建或添加新的UDFs到一个目标实体,用户可根据自身需要定义这些特征的形状及功能,并将这些特征在配置库中以某一个逻辑规则进行组织.用户自定义特征对现有的特征造型模块所提供的形状特征的范围进行了有效扩充,和已有的特征一样,拥有参数化的形状及位置尺寸,极大地加快了参数设计的效率.如图3用户定义特征的创建[8].
图3 用户定义特征的创建
(1)自定义库文件:复制D: x9.0UGIIudfdbc_udf_ascii.def、udf_data base.txt两个文件到自己的定义库目录;使用文本编辑器对dbc_udf_ascii.def文件进行编辑,修改该文件重新定义库的分类,编辑udf_database.txt文件,清空其系统UDF库基础数据,并保存文件.
(2)配置库:用户自定义特征库定义文件与索引文件通过:UG NX工具→用户定义特征→配置库来更改系统默认库目录,重新配置库.
(3)UDF的创建与管理:通过UG NX工具用户定义特征可以被创建或者被访问,利用:利用UG NX工具→用户定义特征→向导建立用户自定义特征,用户可对每一个新自定义特征进行命名;用户可根据自身需要,将part文件以及*.cgm文件一起存放于指定的目录中.系统将会自动在udf_database.txt文件中添加一条记录,若该文件不存在,而用户又没有指定文件,那么系统将会自动创建这个文件.
2.3 创建KF程序
下面给出了圆柱滚子轴承程序创建过程[5]:
(1)在任意盘符下,创建文件夹层次:KFdfa_files.
(2)使用文本编辑器在dfa_files文件夹下创建一个gzzhounchen.dfa文件;(DFA文件即ASCII格式文件,字母DFA指的是DefClass/Defun File ASCII.以.dfa作后缀名的文件,在KF中仅用于类和方法的定义中创建代码).
(3)创建新文件,显示知识融合导航器,如图4所示.
图4 知识融合导航器
图5 识融合交互类编辑器
图6 知识融合类的添加
(4)打开知识融合交互类编辑器,如图5所示.通过部件浏览器添加部件,并给予部件变量的属性值,如图6所示.
(5)通过DFA类浏览器,选择需要创建对象的类,如图6所示.下面以给出ug_udfs类,供参考:
(6)运用知识融合交互类编辑器内代码对gzzhounchen.dfa文件进行编程,部分代码如下:
(7)通过NX/Open MenuScript模块开发的菜单脚本文件,链接KF程序.
运行程序,在轴承菜单中选择不同类型的轴承,弹出对应对话框,点击确定或应用自动创建零件,如图7所示.当轴承种类相同,型号不同,可通过点击下拉单选框“自定义”选项按钮,弹出对应对话框,输入相应参数,实现同种不同型号轴承的创建,如图8所示.
3 结论
图7 知识融合零件的创建
图8 参数化设计界面
本文探讨了对三维绘图软件UG NX的二次开发,最终实现对机械零件的三维几何造型进行参数化设计,并且提供了一种标准件库的建立方法.通过设计实例可知,采用知识融合的方法建立的动态连接文件可以很好地与UG NX系统实现无缝集成,可以很大程度上满足用户对CAD系统二次开发的需要.本方法对开发高效、方便、功能强大的三维CAD系统是一种有效的尝试.