基于PRO_E的二次开发方法概述

  • 格式:pdf
  • 大小:309.39 KB
  • 文档页数:4

2007年第1期铸造设备研究2007年2月RESE ARCH ST UD I ES ON F OUNDRY E QU I P ME NTFeb .2007 №1收稿日期:2006-11-25作者简介:张举(1972-),男,山西大同人,硕士研究生,主要研究方向为多媒体与仿真。

・研究生论文・基于PRO /E 的二次开发方法概述张 举,靳玉春(中北大学材料工程学院,山西太原 030051) 摘 要:简要介绍了PRO /E NGI N EER 的二次开发工具,并以PRO /T OOLKI T 为例,详细介绍了两种开发PRO /E NGI N EER 的方法和步骤,即自定义makefile 文件和利用VC ++环境开发。

关键词:PRO /E NGI N EER;二次开发;方法步骤 中图分类号: TP391 文献标识码:A 文章编号:1004-6178(2007)01-0032-03Summar i ze of the M ethods of Appli ca ti on D evelop m en t of Pro /ENG I NEERZHAN G J u,J I N Yu 2chun(College of M aterials Science and Technology,N orth U niversity of China,Shanxi Taiyuan 030051,China ) Abstract :This paper intr oduces the ne w devel op ing t ools of PRO /E NGI N EER briefly .Take Pr o /T OOLKI T for exa mp le,t w omethods are intr oduced in detail,that is,user -definingMAKEF I L E file and devel op ing by utilizing VC ++. Key words :PRO /E NGI N EER,app licati on devel opment,methods and app r oach PRO /ENGI N EER 软件系统是美国参数化技术公司PTC (Para metric Technol ogy Cor porati on )的优秀产品,目前在我国的机械,电子,家电,模具等行业取得了广泛的应用,该软件在国内的应用数量大大超过同类型的其他国外产品。

然而,由于国内外的行业标准有区别,在很多领域,PRO /E NGI N EER 的功能并没有得到充分的发挥。

有鉴于此,国内有不少科研单位己经或正在进行利用PRO /ENGI N EER 进行二次开发的系统研究工作,并取得了不少成绩。

但与PRO /E NGI N EER 的应用规模相比较,PRO /ENGI N EER 的二次开发仍然明显滞后。

因此,本文将对PRO /ENGI N EER 的二次开发的主要方法做一个概括和介绍,以期抛砖引玉,加快对PRO /ENGI 2NEER 二次开发的应用和普及。

1 PRO /E 的二次开发工具简介一般来说,大型的CAD /CAM 软件都留有供用户进行二次开发的接口,如I -DEAS 的Open A rchi 2tecture (0A ),AUT OCAD 的Aut oCAD devel opment Syste m (ADS )等,用户可以利用这些接口来编写自己的应用程序,从而扩展这些软件的功能,提高使用效率。

同样,PRO /E NGI N EER 也提供了强大的二次开发功能。

用户可以选择开发工具对其进行二次开发。

PRO /ENGI N EER 的二次开发工具主要有以下几种:基于C 语言的Pr o /T OOLKI T 二次开发工具。

基于VB 和A tlt ornati on G ATE WAY 的二次开发工具。

基于Javascri p t 和HT ML 语言的W eb .L ink 二次开发工具。

基于Java 语言的J -L ink 二次开发工具。

这几种方法各有优点:Aut o mati on G ATE WAY 是RAND 公司开发的针对Pr o /ENGI N EER 软件的二次开发工具,与Pr o /ENGI N EER 系统自带的二次开发工具Pr o /T OOLKI T 相比,具有简单易用的优点。

应用Aut omati on G ATE WAY 可以自动实现Pr o /E NGI N EER 任务,创建用户界面,完全实现自动设计任务;应用Aut oma 2ti on G ATE WAY 可以把任何支持ActiveX 的应用程序和Pr o /ENGI N EER 建立直接联系。

利用VB ,可以使M icr os oft Office 产品(如Word,Excel 等)和Pr o /ENGI N EER 对象之间进行数据交换。

在这个过程中,Aut omati on G ATE WAY 在VB 和Pr o /ENGI N EER 之间起到桥梁和纽带的作用。

通过A,就可以利用VB 访问PRO /E NGI N EER 的大部分底层资源文件。

基于Javascri p t 的W eb .L ink 开发工具的优势在于具有良好的适应性,在不同的操作系统(NT 、L inux 、Unix )下使用时只需简单修改配置文件,并且可以和P DM 管理软件W indChill 方便集成。

在我国,对这种PRO /ENGI N EER 的开发工具鲜有论述,使用这种开发工具对PRO /ENGI N EER 进行二次开发,用户将不得不查阅大量的英文资料,而实际上这也限制了它的发展。

Pr o/T OOLKI T是Pr o/E软件自带的二次开发模块,可以直接访问Pr o/E软件的最底层数据库资源,这是进行PRO二次开发最根本的方法,但要求开发人员具有相当C语言的编程能力;它是PT C公司为Pr o/E提供的用户化工具箱(18以前的版本为Pr o/ DEVELOP),该工具箱为用户程序、软件及第三方程序提供了与Pr o/E的无缝联接。

用户程序和第三方程序是用C语言编写的,Pr o/T OOLKI T提供了大量的C语言的库函数,能够使外部应用程序安全有效地访问Pr o/E的数据库和应用程序。

通过C语言编程及应用程序与Pr o/E NGI N EER的无缝集成,用户和第三方能够在Pr o/E系统中增加所需的功能。

目前,在对PRO/ENGI N EER的二次开发中, Pr o/T OOLKI T的同步模式应用最为广泛。

因此,本文仅以此为例并用两种方法来详细阐述开发过程的细节问题。

2 PRO/T OOLKI T二次开发的方法步骤及环境设置2.1 自定义Makefile工程文件这种开发方法简单实用,而且速度较快,易于掌握。

但由于Makefile文件是从unix系统中移植过来的,其编写过程比较复杂,很多规范和语法都遵循unix的习惯,对大多数用户来说比较陌生,但不必担心,开发者只需对<tk_l oadpoint>\p r ot oolkit\i486_ nt\obj目录下的Makefile文件,即以make开头的文件进行改写,完成后将其命名为后缀为mak的文件[3]。

假如我们在d:\test目录下做一个工程myob2 ject,工程中包含c1.c和c2.c两个C程序文件,放置在d:\test\res ource文件夹中,生成的.exe或.dll 应用程序名称为myapp licati on,则首先应将…\obj 目录中的makefile文件复制一个,例如make_exa m2 p les,将其放置在d:\test目录中,将其改名为myob2 ject,并将其后缀改为mak,现在改写make_exa m2 p les方法如下:#File Na me(#代表注释行,这里指应用程序名称,即与MAKEF I L E文件同名)。

MAKEF I L E NAME=myobject(就是上面的makefile文件名myobject)。

#Machine Type(机器类型制定域,W indows NT 和W indows2000是i486_nt,如果系统是W indows98则改为i486_win95)。

PRO_MACH I N E_TYPE=i486_nt。

#Executable na mes(定义所要生成的.exe和. dll文件名)。

EXE=myapp licati on.exe。

EXE_DLL=myapp licati on.dll。

#Pr o/T OOLKI T Source&Machine Loadpoint (EXTERNAL USE-DEF AULT)(指定PRO/E的安装根目录)。

PROT OOL_SRC=../../p r ot oolkit(将../..替换为PRO/E的安装目录)。

PROT OOL_SYS=$(PROT OOL_SRC)/$(PRO _MACH I N E_TYPE)($()代表引用某个变量的值)。

PRODE V_SRC=../../p r odevel op(将../..替换为PRO/E的安装目录)。

PRODE V_SYS=$(PRODEV_SRC)/$(PRO_ MACH I N E_TYPE)。

#I nclude File Paths(头文件包含目录指定域,在这里指定工程所包含的文件路径)。

……#Co mp iler Flags//(编译特征值定义域,)……#L ibraries(库文件目录指定域,根据具体情况指定)……#Object files//(目标文件定义域,自己编写的每个C语言源程序文件都对应一个目标文件,应在这里指明)。

OBJS=C1.obj C2.obj#L inker//(编译器定义域)……#object dependencies(目标文件依附关系定义域,在这里指定目标文件的依赖关系,并需指明C 语言源文件所在的目录)。

PROTK_APP LS=D:\test\res ource(这里改为C 源文件所在目录)。

C1.obj:$(PROTK_APP LS)/C1.c。

$(CC)$(CF LAGS)$(PROTK_APP LS)/ C1.c。

C2.obj:$(PROTK_APP LS)/C2.c。

$(CC)$(CF LAGS)$(PROTK_APP LS)/ C2.c。

最后的clean部分是清除中间生成文件,不必修改。

Makefile文件完成后,需要进行编译和连接以生成应用程序,主要有两种方法:一是在MS_DOS 状态下,键入d:\test>nmake-f myobject dll(若想生成EXE文件则不需键入dll)回车,若编译正确,则会在该目录下生成myapp licati on.dll程序。