proe二次开发在机床主轴组件中的应用
2013-08-10 by:ProE/Croe培训中心 来源:仿真在线
proe二次开发在机床主轴组件中的应用
proe是三维CAD/CAM 系统,可以为工业产品设计提供完整的解决方案。为了使proe软件能够在企业特定产品设计中最大限度地发挥潜力,创造效益,企业必须跟据自身的特点,对软件进行本地化的工作,即需要对proe进行二次开发,进而成为用户适用的CAD/CAM应用系统。
下面主要研究proe软件中的三种二次开发工具:族表,程序,Pro/Toolkit的应用。其中,研究利用族表工具进行零件库建立的方法与步骤,并进行零件库的管理和调用;利用Pro/Toolkit接口开发出典型的齿轮、轴的参数化设计系统;利用Program(程序)进行产品的装配设计。其次,以CA6140车床主轴组件的三维建模为例,探讨了基于以上几种二次开发工具及Top-Down的设计方法在产品设计中的应用。
1 proe的二次开发方式
proe软件在提供强大的设计、分析、制造功能的同时,也为用户提供了多种二次开发工具。常用的二次开发工具有:族表(Family Table),用户定义特征(UDF),Program,J-link, Pro/TOOLKⅡ等。
1.1 族表(Family Table)
族表本质上是相似零件(组件或特征)的集合,但在一两个方面稍有不同,如大小、长度或局部特征等。通过族表可以方便地管理具有相同或相近结构的零件,特别适用于标准零件的管理。族表通过建立通用零件,然后在其基础上对各参数加以控制生成派生零件。整个族表通过电子表格来管理。所以又被称为表格驱动。
使用族表可以实现下列功能:
(1)产生和存储大量简单而细致的对象;
(2)将零件标准化,既省时又省力;
(3)从零件文件中生成各种零件,而无需重新构造;
(4)可以对零件产生细小的变化而无需用关系改变模型。
族表提高了标准化元件的用途,用它可以在proe中表示实际的零件清单。此外,使用族表使得组件中的零件和子组件容易互换,因为来自同一族表的模型相互之间具有互换性。
1.2 用户定义特征(User Define Feature,UDF)
用户定义特征(UDF)是指用户将已经创建的特征(可以为多个特征)自定义为一单独的特征,并允许像加入标准特征一样将其加入到以后的设计中去。一个UDF包括选定的特征、所有相关尺寸、选定特征之间的所有关系以及在零件上放置UDF的参照等内容。与族表法类似, UDF也要先构建零件模型,零件创建完成后定义要包含的几何特征、参考基准、可变尺寸及可变尺寸的符号,然后将这些信息存在一个后缀为“gph”的文件中,之后就可以在程序中利用该文件。通过给参数赋值来改变特征的尺寸,得到所需要的衍生特征。UDF适用于特定产品中的特定结构,可以作为一个特征添加到现有零件上,有利于设计者根据产品特征快速生成几何模型。
1.3 程序(Program)
proe软件对于每个模型都有一个主要设计步骤和参数列表——即Program。它记录了一个零件的绘制过程及该零件包含的所有特征信息,其中有主要设计步骤和编辑后可用于编程的参数。它是由类似Basic的高级语言构成的,用户可以根据设计需要来编辑模型的Program,使其作为一个程序来工作。通过运行该程序,系统通过人机交互的方法来控制系统参数、特征出现与否和特征的具体尺寸等。利用此工具可以在装配设计中记录整个装配的全过程,通过添加一定的关系式,可以实现装配中零部件的自动装配、自动替换,零部件自动抑制等。
1.4 J-link
J-link是proe中自带的基于JAVA语言的二次开发工具。用户通过JAVA编程实现在软件proe中添加功能。它是一种用来扩展、定制和自动处理proe功能的强大工具。J-link是一个面向对象,独立于平台且向上兼容的基于Java的应用程序接口。
1.5 Pro/TOOLKⅡ
Pro/TOOLKⅡ是PTC公司为proe软件提供的客户化开发工具包,即应用程序接口(API)。其主要目的是让用户或第三方通过C程序代码扩充proeNGINEER系统的功能,开发基于proe系统的应用程序模块,从而满足用户的特殊要求。用户还可以利用Pro/TOOLKⅡ提供的对话框、菜单以及VC的可视化界面技术,设计出方便实用的人机交互界面,从而大大提高系统的使用效率。Pro/TOOLKIT工具包提供了开发proe所需的函数库文件和头文件,使用户编写的应用程序能够安全控制和访问proe,并可以实现应用程序模块与proe系统的无缝集成。
2 基于族表工具的标准件库建立
根据标准件的相似性原理,首先确定能够完整表示该系列标准件所有零件特征的复合零件,根据该复合零件可以派生出此系列标准件中的任一个零件。复合零件是在proe环境下创建的三维零件模型,也称之三维零件样板。在三维零件样板的基础上确定一组设计参数来控制零件的形状和拓扑关系,建立零件族表设计参数的系列尺寸,通过添加不同的系列尺寸来自动生成零件的三维模型,创建一系列的常用标准件,即标准件库。
2.1 族表创建标准件步骤
(1)建立样板零件。按手册上的国标尺寸建立尺寸间关系,创建一个作为原型零件的标准模型,并在该模型上产生欲作为基因参数的特征、尺寸等项目。
(2)在菜单中选取“工具—族表”,进入族表菜单。
(3)在弹出的族表窗口中单击“增加/删除表列按钮”,弹出“族项目对话框”,在族项目中选择要增加的项目,包括尺寸、特征及组等。
(4)使用特征收集器的功能加入特征、尺寸、参数、部件,参照模型、组、阵列表等内容供子零件产生变化。
(5)验证子零件的正确性。为使每个子零件均可以顺利产生,需要验证子零件。若有检验失败,则需检查录入的数据,修改后再进行检验直到全部成功为止。
2.2 设计实例
下面以一种全螺纹螺栓GB5781-86为例说明族表创建过程。
(1) 首先建立螺栓的样板零件。以螺栓GB5781-86M10×30为样板零件,添加螺栓长度,螺纹外径,螺栓头大小等参数,以及其关系式,通过拉伸,旋转,剪切等特征工具创建样板零件螺栓M10×30。然后保存为luoding prt。将上面创建的零件打开,删除外螺纹特征,如图1所示。因为螺栓本身就是标准件,画出外螺纹仅是示意其外形,只需要创建修饰螺纹就行。
图1 螺栓上螺纹简化修饰螺纹
(2) 选择<工具> <族表> ,在族表窗口中单击增加/删除表列按钮,弹出族项目对话框,在族项目中选择“尺寸”项目,将螺栓的长,螺纹外径等添加到族表项目中。
(3) 通过手动输入或利用Excl表格编辑器输入各组尺寸的数值,如图2所示。
图2 完成的族表
(4) 对即将生成的族表进行校验,验证零件的正确性。至此,一个简单的零件族表图库就完成了,其他的零件按照此方法亦可创建其族表。当打开带有族表的文件时,会出现如图3所示的对话框。可以按名称或者按参数选择所需的标准件。
图3 族表零件的使用
2.3 零件库创建和使用
利用族表工具,按照上述过程,可以创建螺栓、螺母、键、销、铆钉、齿轮、轴承等标准零件件库。有了这些在proe中建立的模型文件,为了在产品设计过程中更好、更方便、更快捷地调用这些零件,需要解决零件库进行管理和调用问题。在此对零件库件进行分类,如国标零件库,通用零件库,其他零件库等,其中国标零件库又可以分为齿轮、联接紧固件及滚动轴承几大类,并分别建立目录存放这些文件,如果需要增加零件库只需添加目录即可。
2.3.1 创建菜单文件
为了实现在proe中直接调用这些个零件库,首先需要建立所有目录及子目录的菜单文件(MNU文件)。也就是如果当前目录名为Library,需要在这个目录下创建一个跟当前目录同名的菜单文件Library MNU。下面为Library目录的结构:
\\Library<总库目录>
\\GB_Library<国标标准件库>
\\General_Library<通用件库>
\\Other_Library<其他零件库>
\\Library.mnu<菜单文件>
下面是Library.MNU的文件格式:
Library总库目录<分类描述,中间不能有空格。>
#
#<两个”#”表示两个硬回车,其后为分类的具体内容>
/GB_Library<子分类,字库的名称>
国标标准件库<子分类描述,此行也可无内容>
#<一个硬回车,进入下一个子分类>
……
/Other_Library
其他零件库
#
在子目录下也可以继续创建子目录。用上面的方法依次创建所有的目录和子目录及对应的菜单文件(MNU 文件) ,注意在每一个目录下面必须有一个同目录名一样的菜单文件。
2.3.2 将零件库挂上系统
为了能在proe中直接使用所创建的零件库,需要在配置文件CONFIG中设置: pro_library_dir D:\\<后面是零件库的目录路径>;启动proe,在打开文件对话框中可以看到零件库已经挂上。至此,零件库就可以使用了。
利用这种方法,用户可以方便创建标准零件库,并在需要时随时进行添加。在一定程度上大大减轻了产品设计中的工作量,提高了产品设计效率。
3 基于Pro/TOOLKⅡ开发典型零件设计系统
Pro/TOOLKⅡ工具包提供了开发proe所需的函数库文件和头文件,使用户编写的程序能够安全的控制和访问proe,并可以实现应用程序模块与proe系统的无缝集成,是proe自带的功能最强大的二次开发工具。
3.1 Pro/TOOLKIT二次开发基本过程
(1) 编写源文件。源文件包括资源文件和程序源文件:资源文件包括菜单资源文件、窗口信息资源文件、对话框资源文件(分别用来完成创建和修改proe菜单、窗口信息和对话框等功能)等;程序源文件指所要编写的C语言程序,是整个Pro/Toolkit程序开发的核心部分。
(2) 程序的编译和连接。为编写好的源程序进行编译和连接,生成Pro/Toolkit应用程序。采用C编译器和连接器创建可执行程序(文件后缀名为EXE)或动态连接库(文件后缀名为DLL)程序,这两种都能够在proe运行。
(3) 应用程序的注册、运行。编译连接成功生成的可执行程序必须在proe中进行注册才能运行。注册Pro /Toolkit应用程序,就是向proe系统提供该程序的相关信息,指定proe应用程序的可执行文件、菜单资源文件和对话框资源及信息资源文件的位置、以及此程序所依据的Pro/Toolkit的版本信息等。为此,需要编写一个应用程序注册文件,其作用就是在应用程序的注册完成以后,通知proe开始运行该程序。
3.2 齿轮和轴类零件的参数化设计系统开发实例
系统实现的原理是利用proe中的二次开发工具Pro/Toolkit,采用三维模型与程序控制相结合的方式。三维模型不是由程序创建,而是利用交互方式生成。在已创建的零件三维模型(三维模型样板)基础上,进一步根据零件的设计要求建立一组可以完全控制三维模型形状和大小的设计参数。参数化程序针对该零件的设计参数进行编程,实现设计参数的检索、修改和根据新的参数值生成新的三维模型的功能。
由于本文是先由系统菜单调用UI交互对话框,然后从对话框中输入所需零件的参数,由程序读取各参数的值,赋给零件各个参数,实现零件的再生。故需在程序里实现如下主要过程:
//装入对话框资源、将其调入内存
status=ProU IDialogCreate("spur","spur");
//定义“OK”按钮的功能,使该按钮调用函数spurOK ProU IPushbuttonActivateActionSet("spur","Ok",spurOK,NULL);
//设置Cancel按钮激活函数,使该按钮调用函数Usr~CancelAction
ProU IPushbuttonActivateActionSet ("spur","Cancel",Usr~CancelAction,NULL);
//显示和激活对话框
status=ProU IDialogActivate(dialog_name, & ActiveDialog_status);
//从内存清除对话框资源
status=ProU IDialogDestroy(dialog_name);
//将零件(直齿齿轮)zhichi prt调入内存
ProMdlRetrieve(L"D:\\\\LYLixiang\\\\canshu\\\\gear
\\\\parts\\\\zhichi prt",PRO_PART,& part);
//显示零件
ProMdIDisp lay(part);
//获取零件ID
ProMdlIdGet(part,& i);
//初始化零件特征
ProModelitemInit(part,i,PRO_PART,& featur);
//初始化各参数
ProParameterInit(& feature,L"TEETH",& param1);
……
//读取对话框各编辑框的输入数值
ProU IInputpanelIntegerGet ("spur","teethnum",& teethnum1);
……
//为各变量赋值
value1.type=PRO_PARAM_INTEGER;
value1.value.i_val=teethnum1;
……
//设置各个参数的值
ProParameterValueSet(& param1,& value l);
……
//零件再生
ProSolidRegenerate((ProSolid)part,PRO_B_TRUE);
//关闭对话框
ProU IDialogExit(dialog,1);
首先生成程序可执行文件,并编写注册文件,在proe中进行注册,这时就可以看到proe的菜单项中多了一个“ProE二次开发”的菜单。下拉菜单里有齿轮、轴参数化设计系统菜单及帮助菜单,如图4所示。图4 参数化设计下拉菜单示例
从下拉菜单中单击选中任何一个菜单都会弹出一个对话框来,如图5的齿轮参数设计对话框,共有9种不同样式的齿轮,其中都有三维模型样板文件,在图5所示的任何一种类型的齿轮的图像上单击鼠标,便调用另一个对话框函数,其中可以对齿数,模数,压力角,宽度进行设定。图6为输入一组参数后系统从parts文件夹调入齿轮的模型,然后赋予新的参数值,再生成模型。轴的参数化设计系统使用过程亦如此。
图5 齿轮参数化设计系统对话框
图6 参数化驱动的齿轮设计实例
4 Pro/Program在装配中的应用
4.1 程序设计的流程
在零件或组件的设计过程当中,若已完成零组件的构建或仍在建构零组件中,则proe系统随时将零组件的信息写入程序中,若选取〈工具〉下拉菜单下的〈程序〉,则出现〈显示设计〉〈编辑设计〉〈例证〉三个选项。程序设计在编辑设计打开的记事本中进行。如图7所示设计流程。
图7 程序设计流程图
4.2 Program应用实例
程序在机床主轴组件的装配过程仿真中的应用,主要结合proe中的骨架结构图模块(Skeleton)来进行,在程序编辑设计中的RELATIONS(关系)END RELATIONS段添加条件语句,实现装配过程的仿真,从而实现装配中的碰撞和干涉的检查功能。
机床主轴组件的建立利用到了自顶向下的设计思想,首先建立好整个组件装配体的骨架Skeleton,骨架其实就是产品装配的构架,可以理解为用简单的几何线条来描述复杂的几何结构,是一个装配体的3D布局,它是在组件中创建的。由于机床主轴组件骨架的建立,主要考虑到沿主轴轴向的长度方向上各轴承,齿轮等的定位,建立的骨架模型中体现了装配的路径,即沿轴向的简单的直线。装配的仿真和装配中的零部件碰撞和干涉的检查即是沿轴线实现的。如图8所示,列出了主轴前端圆盘,前端法兰盘、螺母、支承轴承装配仿真全过程,实现过程的基本原理很简单,首先建立装配的组件文件,再建立骨架文件,其中骨架文件定好了各零件的主要定位基准面,如图8中的圆盘、前端支承轴承的定位基准面。然后插入装配元件圆盘、法兰盘、前端螺母、轴承。并使他们的轴线对齐主轴轴线。然后添加其定位面的关系式。关系式必须带进程标识。最后不断点击再生图标。以圆盘为例,其关系式如下:
RELATIONS
if D3:1>=0
D3:1=D3:1-30
endif
……
END RELATIONS
设定参数值为d3:1,每做一次再生,参数d3:1就减少30,相对应圆盘就沿轴线走30,从而实现动态仿真。
图8 圆盘,前端法兰盘、螺母、支承轴承装配仿真过程
利用Program可实现装配过程的动态仿真,如在安装前端螺母到主轴固定位置的过程中,若通过proe本身的安装模块,利用轴线和端面对齐,即可安装上;但是这样只能表现装配体装配之前和之后的两种状态,至于安装过程中通过何种路径进行,则无法体现,对装配过程中零部件间的干涉和碰撞也无法进行检查,不能保证设计的合理性。利用Program,可以实现装配过程的动态仿真以及装配过程中的全局干涉检查。
相关标签搜索:proe二次开发在机床主轴组件中的应用 proe二次开发在机床主轴组件中的应用 Fluent、CFX流体分析 HFSS电磁分析 Ansys培训 Abaqus培训 Autoform培训 有限元培训 Solidworks培训 UG模具培训 PROE培训 运动仿真