制造业信息化吧 关注:85贴子:258
  • 1回复贴,共1

基于NX的汽车标准件库的研究与实现

只看楼主收藏回复

一、引言
随着计算机技术的不断发展,CAD已成为工程设计最重要的技术之一。标准零部件的设计是一项费时费力和重复性的工作,要提高产品研发效率,就有必要建立符合我国国标或行标的标准件库。
二、汽车标准件库总体方案设计
1.方案简述
建立标准件库的方法一般有以下四种。
(1)关系表达式法
关系表达式法是指将新创建的零件改名存储,并且对照标准件手册修改表达式参数值,最后将该零件转换成装配图的方法。该方法对复杂模型的建模很有帮助,经常应用于模具二次开发和各种类型的齿轮的设计,可方便地进行用户化封装特征集、定义特征变量、设置缺省值、提示输入关键值,可控制参数取值,实现参数化驱动。
(2)用户自定义特征法
用户自定义特征法是指对新建立的具体零件的参数表达式进行用户化命名和编辑,最后生成、定义、存储为“.udf”文件。在要求重复应用一个单一特征时,如该特征的形状较简单,或者在必须限制特征的形状以满足企业标准时,可以使用该功能。
用该方法建库时可控制参数取值,实现参数化驱动。其优势在于特征集的导出与调入的重新组合,对于有共同特征的不同零件,可将类似特征封装,再重新调用组合建模,避免很多重复工作。
(3)电子表格法
电子表格法是指在建立零件模板的基础上,对用于确定零件尺寸的参数表达式进行用户化命名,并添加到电子表格参数表内,然后填写族内所有零件对应的参数值。标准件调用时,通过选择一组参数来修改零件模板的尺寸变量,得到相应的标准件模型。
该方法提供了一个用电子表格进行标准件的参数设置和局部特征处理,并建立标准件库系统的标准模式,能通过直观的图形界面调入装配体;可以使标准件具有子装配功能,并可以封装到IMAN(teamcenter)和NX/Manager中,是建立NX标准件库系统的通用方法。缺点是由于数据存在于主模板零件的prt文件中,不利于数据库的统一管理。
(4)程序设计法
分析同系列标准件的各种特点,使用NX/Open编写标准件库是一般商用标准件库的创建方法。其优点是利于控制模型的生成和建立专用CAD系统,利于对库加密,占用磁盘空间小,但需要熟悉程序语言,还需要购买相应的开发模块和运行许可证。
上述几种方法中程序设计法占用外存最小;前三种方法直观、容易,不需要过多的计算机软件开发专业知识,但它们所创建的并非真实意义上的数据库,而是图库,因而不需要专业人员就可以对图库扩充。程序设计法是真正意义上的数据库,可以利用数据平台对数据进行管理,但是扩充则需要专业人员来操作。
综上所述,本文选择使用关系表达式法创建零件模板,再利用NX/Open模块技术进行二次开发,设计用户调用标准件库的界面。


IP属地:陕西1楼2014-05-04 11:22回复
    3.零件库界面设计
    下面使用NX/Open的相关模块对零件库进行二次开发,介绍详细的开发方法和步骤。
    (1)系统环境设置
    NX系统的环境变量设置有两种方法:
    1)修改NX安装目录下的NXII_env.dat文件,并在相应目录下建立对应的子目录。
    2)在“我的电脑”→“高级”→“环境变量”中,加入变量“NXII_USER_DIR”,并在其相应路径下建立application、startup、udo目录。
    对于NX2.0,上述两种方法都可适用。但对于其他版本的NX,安装目录下NXII_env.dat文件已更名。因此本文推荐使用第二种方法,此方法操作简单,适用范围广泛。用户也可根据不同情况选择不同的设置方法。
    (2)菜单设计
    要在NX主菜单界面上添加用户自定义菜单按钮,需要使用NX/Open MenuScript模块。本文开发的菜单如图6所示,使用该按钮可以方便查找所需调用的零件是否在次标准件库中,或在库中的哪个位置。

    图6 零件库菜单
    (3)对话框的设计
    要使用菜单触发对话框,则要使用NX/Open UIStyler创建编辑对话框文件,并根据自己需要添加Label、Single Selection List、String、Push Button、Bitmap等控件。本文创建的对话框如图7所示,是由图6菜单中的“GB14”触发的。

    图7 对话框设计
    (4)对话框调用程序
    若要通过对话框调用相应的零件,则需使用NX/Open API模块和Visual C++6.0编写相应的调用程序,程序编写步骤如下。
    1)打开Visual C++6.0,新建Win32 Dynamic-Link Library工程,在Location文本框中输入工程路径并在Project name文本框中输入工程名称后单击OK。
    2)选择菜单“工程”→“设置”,将Setting For的值设为Win32DebNX。在Link选项卡中的Output file name文本框中输入“.dll”文件的输出路径和文件名。在Object/library modules文本框中加入NX库文件libufun.lib和libNXopenint.lib。在DebNX选项卡的Execuable for debNX session文本框中输入NXraf.exe文件的全路径。
    3)选择菜单“工具”→“选项”,在弹出的对话框中选择Directories选项卡,分别在“Show directories for”下拉菜单的两个选项Library files和Include files中添加NX根目录下NX Open文件夹路径。
    4)将保存对话框时生成的后缀名为“c”的文件后缀名改为“cpp”。在新建的工程中完成接口设置并将“.h”和“.cpp”文件分别加入到工程的Header files和Source files中,在“.cpp”中将#include<××.h>改为#include“××.h”,其中“××”代表的是相应的程序名称,然后注释掉其中的“#ifdef MENUBAR_COMMENTED_OUT”和“#endif*MENUBAR_COMMENTED_OUT*/”语句。
    5)根据对话框添加的控件和要实现的操作,使用API函数结合C语言编程的规则和方法,在“.cpp”文件中编写相应调用程序,编写完成后,编译、连接即可。
    4.零件族的调用
    一般调用零件族都是在装配的环境下,直接点击添加组件按钮,选择需要调用的零件族模板将其打开,会出现如图8所示对话框,选择所需的标准件代号,即可生成相应尺寸的标准件。若要保存该组件,需将新生成零件另存为其他部件,才能使用该尺寸的零件到装配环境中。

    图8 添加零件族组件对话框
    三、结束语
    本文使用零件族创建标准件库,可以大量节省磁盘空间,库中包含零件越多,磁盘空间节省得越明显,这对于优化汽车设计工作有重要作用。根据某公司内部使用的汽车标准件手册完善了之前只含有部分国家标准的零件库,并利用二次开发模块开发了相应的菜单和对话框,方便用户查找。


    IP属地:陕西3楼2014-05-04 11:24
    回复