Pro/E系统
Pro/TOOLKIT程序
DLL方式
DLL方式
图1 接口实现方案
具体实现的方法如下(编译器使用VC++6.0):
(1)使用CWinApp类来生成第一个DLL工程(简称A. dll),工程类型选用共享MFC的常规DLL(Regular DLL using shared MFC DLL)选项。然后在此工程中加入Pro/TOOLKIT程序,主要是函数user_initialize()的代码。
(2) 使用同样的方法与选项生成第二个DLL工程(简称B. dll),并在此工程中用类向导(ClassWizard)和资源编辑器(Resource Edit)生成所需要的MFC类(如对话框类、数据库类等),并定义一个函数完成该类的初始化。
(3) 使A. dll中的Pro/TOOLKIT程序调用B. dll的导出函数(如图2中的loaddlg()函数),
这是接口实现的关键。
(4) 加入Pro/TOOLKIT程序所用到的库(如protk_dll.lib、protoolkit.lib、prodev_dll.lib、B\Debug\B.lib、pt_asynchronous.lib等等),并指出其路径,且设为强制输出(即使用/force选项),使用MFC的编译选项对这两个工程进行编译。生成新的 A.dll与B.dll。
(5)在 Pro/E中用DLL方式加载Pro/TOOLKIT程序(即A. dll),再通过Pro/TOOLKIT程序调用MFC应用程序(即B. dll)。
A. dll
int user_initialize()
{ CSCW_Init();
… …
}
… …
extern "C" int CSCW_Init()
{
}
B. dll
… …
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
CDLG DLG;
DLG..DoModal();
return 0;
}
图2 Pro/E与MFC的接口程序的关键
6 结论
(1)运用Pro/E提供的二次开发工具Pro/TOOLKIT可以比较容易地实现由程序动态地、自动地进行特征建模的功能,并且所建模型能由程序自动加入较为丰富的非几何特征,并存入模型统一的数据库、特征库中,为CAD/CAM/CAE/CAPP系统的集成打下良好基础。
(2)由于用户定义特征的方法适用于所有的模型的程序自动建模,所以本文的实例所用的方法和程序对于其它所有的产品模型有很大的借鉴意义。
(3)本文研究并开发的Pro/E与MFC的接口,信捷职称论文写作发表网,突破了Pro/TOOLKIT的局限,克服了在Pro/E上进行二次开发的技术难题。
(4)运用以上两种技术在Pro/E上进行二次开发,开发出的模具CAD软件既有Pro/E强大的特征建模功能,又能使用MFC制作出图文并茂的用户界面以及实现多种数据库访问功能。
[1] Pro/TOOLKIT User's Guide. USA:PTC公司出版 1998年
[2] David等著 Visual C++ 6.0 技术内幕 北京希望电子出版社 1998年