CAD/CAM软件 |
|
| 按行业筛选 |
|
|
| 按产品筛选 |
|
|
| |
查看本类全部文章 |
| |
|
|
|
Pro/E二次开发在履带车辆传动系统建模中应用 |
|
作者:装甲兵工程学院 魏阳 |
|
【摘要】论述了Pro/ENGINEER二次开发技术对企业的重要性。提出了在三维CAD软件上进行二次开发的过程中应值得注意的问题,如开发系统的目的、开发工具的选取等。笔者通过基于Pro/TOOLKIT工具箱的Pro/ENGINEER二次开发技术在履带车辆传动系统建模中的应用,进一步阐述了实施Pro/TOOLKIT二次开发时基本步骤和源文件的编写,可执行文件的生成、注册和运行等关键技术。最后,笔者通过在Pro/ENGINEER中的开发实践论证了二次开发是提高设计能力和效率的必要手段。
【关键词】二次开发 过程
1 前言
随着计算机辅助设计和辅助制造技术的飞速发展,其应用领域在日益扩展,已使工程设计业和制造业发生了深刻的变化,这一点在产品的结构设计方面表现的尤为显著。三维造型技术、参数设计技术和虚拟现实技术等新概念、新办法已渗透到传统的结构设计中,并发挥出前所未有的作用,推动工程设计技术的发展。
PTC 公司的Pro/ENGINEER 是现代CAD系统的代表,由它率先采用的革命性的设计思想——基于特征的参数化设计,领导了现代CAD发展的潮流。其主要特征功能有:全相关性、基于特征的参数化模型建模、先进的资料管理系统和装配管理工程数据库再利用等。它易于使用,可在各种硬件平台上运行。可让使用者同时完成工业设计、结构设计功能,模拟加工制造,缩短产品开发的时间和流程。
然而就是由于Pro/ENGINEER软件的这种广而博的通用性,使它在具体应用时不能直接处理特定的产品,由于产品设计的要求千差万别,企业拥有的设计资源和设计环境也不同,再加上国外设计观念、标准与国内存在差异,在使用该软件进行具体产品设计时会感到有些不是特别方便。基于这一点,为了使Pro/ENGINEER软件能够在企业特定产品设计中最大限度地发挥潜力,创造效益,就需要对Pro/ENGINEER进行二次开发。也就是把Pro/ENGINEER进一步充实、完善、改进,进而成为用户适用的CAD/CAE/CAM应用系统。
2 二次开发中应注意的问题
2.1 明确二次开发的目的
开发之前要明确产品的性质和所需的设计能力,由此确立所设计产品的功能、所需的设计理论和人力物力资源,还要考虑产品的更新以及未来的市场走向,使产品保持长久的可用性和生命力。
2.2 开发工具的选择
自行开发的产品要与己有软件相兼容,特别要注意在建立系统的资源数据库资料时,要在最终开发软件中建立,防止不同软件之间数据传递后无法改动基础参数的问题,还要注意解决好系统间数据接口问题。解决方法通常采用专有接口,借助中性文件作为数据传输媒介和建立中央数据库的数据交换通道。
2.3 定制标准化的应用环境
为了让所有的设计人员在一个符合国际的规范化环境下工作,并确保设计产品的正确性、标准化,需要定制用户标准化的Pro/ENGINEER应用环境,包括设定标准的工作环境、定义等三个配置文件和设定模型模板等。
2.4 履带车辆传动系统建模开发思路
很多单位的产品大部分是定型产品,此种产品的系列化、通用化和标准化程度很高。进行这些产品设计所采用的数学模型及产品的结构都是固定不变的,所不同的只是产品的结构尺寸不同,而结构尺寸的差异是由于相同数目类型的已知条件在不同规格的产品设计中取不同的值造成的。对于这类产品,可以将已知条件和其他的随产品规格而变化的基本参数用相应的变量代替,然后根据已知条件和基本参数,由计算机自动查询图形数据库,或由相应的软件计算出绘图所需的全部数据,由专门的绘图生成软件在屏幕上自动设计出图形。其工作原理如图1所示。
图1 参数化CAD设计工作原理 履带车辆传动系统属于系列化、通用化和标准化程度高的装置。它是各种不同用途车辆的重要组成部分,承担功率传递、分配和转换等功能,车辆通过该系统实现和满足多种行驶要求。履带车辆包括各种装甲车辆、后勤车辆和工程车辆。由于其特殊的用途和要求,决定了其结构、功能和理论规律的复杂性。在履带车辆传动系统设计方面,三维参数化CAD技术已经应用于国外工业发达国家,大大提高了设计效率。
2.5 履带车辆传动系统开发工具的选择
在Pro/ENGINEER中提供了多种二次开发的工具,常用的包括:FAMILY TAB(族表)、PROGRAM(程序)、UDF(用户定义特征)和Pro/TOOLKIT等。这些工具都可进行快速的二次开发,使用时应根据开发功能的难易程度、设计人员的素质高低和产品的结构特点综合考虑选取。鉴于该系统在Pro/ENGINEER环境中定制了大量用户化命令,需要与它低层的数据库信息进行大量交互,完成较复杂的操作,因此,笔者选择Pro/TOOLKIT工具包作为开发工具。
Pro/TOOLKIT是Pro/ENGINEER软件系统提供的完全基于C语言的用户化工具箱,也称为用户接口(API),它提供了大量的C语言库函数,能够使外部应用程序(客户应用程序)安全有效地访问Pro/ENGINEER数据库和应用程序。并且通过C语言编程及应用程序与Pro/ENGINEER系统的无缝集成,客户和第三方能够在Pro/ENGINEER系统中添加所需的功能,并借助第三方编译环境进行调试。
总的来说,Pro/TOOLKIT应用程序有两种工作模式,一种为同步模式(SYNCHRONOUS MODE):另一种为异步模式(ASYNCHRONOUS MODE)。
同步模式包括两种模式,即动态连接库模式(DLL MODE)和多进程模式(MULTIPROCESS MODE),也称为派生模式,SPAWNED MODE)。DLL MODE是将Pro/TOOLKIT应用程序集成到Pro/ENGINEER中的标准方法。用户编译C语言应用程序,与Pro/ENGINEER库连接。MULTIPROCESS MODE是Pro/TOOLKIT支持的第二种将应用程序和Pro/ENGINEER集成的方法。在此种模式下,应用程序代码经过编译和连接,生成独立的执行文件。该文件由Pro/ENGINEER派生,并作为Pro/ENGINEER的子进程进行。
两种模式的比较:在DLL MODE下,Pro/TOOLKIT应用程序与Pro/ENGINEER的信息交换是通过直接函数调用实现的;在MULTIPROCESS MODE下,信息交换是由进程之间消息系统完成的,该系统模拟直接函数调用,在两个进程间传递函数的识别信息及其参数。异步模式较之同步模式,具有代码复杂,执行速度慢的缺点。除非特别需要,一般不建议采用异步模式。
2.6 基于Pro/TOOLKIT二次开发的基本过程
开发过程主要包括三个步骤。
(1)编写源文件。包括资源文件和程序文件。资源文件包括菜单资源文件、窗口信息资源文件和对话框资源文件等。
程序资源文件是用C语言程序,是整个Pro/TOOLKIT程序开发的核心部分。从功能上分,程序设计的主要工作体现在两个方面:一是按Pro/TOOLKIT应用程序在Pro/ENGINEER环境运行的要求设计接口程序和应用程序运行结束时的终止程序;二是根据功能需求设计Pro/TOOLKIT应用程序主体部分。前者是系统所要求的初始化部分和终止部分,后者是完成应用程序预定功能的一个或多个CPP源程序。
(2)程序的编译和连接。利用VC的应用程序设计向导可以方便快捷地创建Pro/TOOLKIT应用程序的基本框架,并进行编译和连接。
(3)程序的注册和运行。注册文件的作用是向Pro/ENGINEER系统传递应用程序的信息,其形式如下:
NAME //应用程序名称;
STARTUP //工作模式(SPAWN 或 DLL);
EXEC_FILE //生成的可执行文件或动态连接库文件;
TEXT_DIR //菜单文件和窗口信息文件位置;
REVISION //所使用的Pro/ENGINEER版本号;
END // 结束。
注册方式包括自动和手动两种。
2.7 履带车辆传动系统参数建模的运行
系统采用自顶向下的设计模式,运行流程如图2所示,首先根据传动系统总体设计任务书确定系统的布置形式和主要尺寸参数。总系统由联轴节、齿轮传动箱、主离合器、变速箱、风扇联动装置、行星转向机和侧减速器等分系统组成。各分系统从资料库中提取需要的零件模板,通过系统提供的变形设计方法完成参数驱动,建立新的零件,然后结合总体设计规划的要求完成子系统自动装配生成整体模型,最后通过检验工具对装配体在静态和动态两种情况下进行干涉检查。
图2 系统工作流程 在装配体正确设计后,使用Pro/MECHANICA模块对传动总成进行运动仿真和有限元分析。通过对传动总成受力的模拟,系统计算出在外部载荷作用下各零件的受力状况。然后通过Pro/MECHANICA的结构模块计算出各部分的应力与应变。通过分析计算结果并结合以往的经验,确定该设计方案能否满足设计要求。对于不能满足要求的零件通过修改和优化使其达到设计要求。最后将新前轴设计方案存储到前轴设计资源库中,不断使之完善,并生成详细系统工程图、零件属性列表和细化文档。
在操作中,考虑到用户化的需要,运用Pro/TOOLKIT编制了人机交互界面,并利用菜单、对话框和信息显示技术,帮助使用者轻松地使用本系统。
3 结束语
Pro/ENGINEER软件强大的二次开发功能应用于三维CAD产品设计中,可为使用者量身定做出最有效的设计流程,大大提高设计效率,减轻工作量。利用本系统进行设计不仅能较好地完成设计任务,而且效率较高,体现出二次开发技术的应用价值。(end)
|
|
文章内容仅供参考
(投稿)
(如果您是本文作者,请点击此处)
(5/18/2005) |
对 CAD/CAM软件 有何见解?请到 CAD/CAM软件论坛 畅所欲言吧!
|