ProE二次开发中的若干问题

上传人:飞*** 文档编号:43529122 上传时间:2018-06-06 格式:DOC 页数:9 大小:63.50KB
返回 下载 相关 举报
ProE二次开发中的若干问题_第1页
第1页 / 共9页
ProE二次开发中的若干问题_第2页
第2页 / 共9页
ProE二次开发中的若干问题_第3页
第3页 / 共9页
ProE二次开发中的若干问题_第4页
第4页 / 共9页
ProE二次开发中的若干问题_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《ProE二次开发中的若干问题》由会员分享,可在线阅读,更多相关《ProE二次开发中的若干问题(9页珍藏版)》请在金锄头文库上搜索。

1、Pro/E 二次开发中的若干问题二次开发中的若干问题Pro/E 是美国参数技术公司(PTC)研制的 CAD/CAM 软件。Pro/TOOLKIT 是 PTC 提 供专门用于对 Pro/E 进行二次开发的软件包。Pro/TOOLKIT 软件包提供了大量的 C 语言函 数,使得我们利用 C 语言编程来增加 Pro/E 的功能。在 Pro/E 的二次开发过程中,有以下 几个问题值得注意(以 Pro/E2000i): 1.可在 Visual C+(4.0、5.0、6.0)环境下开发 Pro/TOOLKIT 应用程序 ,此 C 应用程序包含 Pro/TOOLKIT 提供的函数,必须和 Pro/TOOLK

2、IT 提供的头文件编译(compile)到一起。 所以,必须在 Visual C+的菜单 toolsOptionsDirectories 中添加如下内容: PROTOOLKITINCLUDES PROTOOLKITPROTK_APPLSINCLUDES PRODEVELOPINCLUDES PROTOOLKITPRODEV_APPLSINCLUDES 其中,表示 Pro/E 的安装路径。 2.编译(compile)通过的应用程序,还必须在命令提示符下编译、连接一遍(nmake),以 生成可执行的.exe 或.dll 文件 nmake 命令是由第三方软件(micosoft Visual C+)提

3、供的。 要在命令提示符下使用这个命令,必须在安装 Visual C+时注册环境变量(安装时会有对 话框“设置环境变量” )提示,将“注册环境变量”选中) ,或者在 Windows 的“设置控 制变量系统高级环境变量用户变量”中,选取变量名 path,在值中添 加:Microsoft Visual StudioVC98bin,其中表示 Visual C+的安装路径(适用于 Windows 2000).而且,命令提示符的默认路径为:protoolkiti486_ntobj,此路径下必须 要有一个对应于 C 应用程序的 make 文件,命令全形为 nmake-f*.*为对应的 make 文件名。 m

4、ake 文件的样板在proe 2000iprotoolkiti486_ntobj 下。 3.在 Pro/E 环境中要运行自己的应用程序,必须在 Pro/E 中对该程序进行注册 注册分为手动注册和自动注册两种。手动注册就是在 Pro/E 界面上选取 UtilitiesAuxiliary Application 对话框加载该注册文件。自动注册有四种:一是将注册文件命名为 protk.dat 并 放在 Pro/E 的启动目录下,并在启动目录下创建一个 config.pro 文件,其中设置一句: TOOLKIT_REGISTRY_FILE*就可,*就是要注册的注册文件名;三是将注册文件命名为 prot

5、k.dat 并放在路径/text/下,其中是运行 Pro/ ENGINEER 就能自动加载 该注册文件并运行指定的应用程序。注册文件 protk.dat 的样板在proe 2000iprotoolkit 下。4Config.pro 文件的设置 环境设置文件的内容是以文字模式将选项及参数值存在名为 Config.pro 的文件内,这些文 件均可用一般的文本编辑软件编辑。Config.pro 文件可设置系统的操作环境,如工具按钮 位置、模型的显示方式、视角等。Config.pro 文件应放在 Pro/E 的启动目录下,当启动 Pro/E 时,系统会自动加载环境设置文件 Config.pro。若应用

6、程序是一个大量组装零、部件 的二次开发程序,下面的 Config.pro 将十分有用: BELL NO DISPLAY SHADE DATUM_DISPLAY NO DATUM_POINT_DISPLAY NO DISPLAY_COORDINATE_SYS NO AXIS_DISPLAY NO SPIN_CENTER_DISPLAY NO TOOLKIT_REGISTRY_FILE* 5.在 Pro/E 的二次开发中,添加用户自定义菜单是最基本、最常用的技术 可以在 Pro/E 界面上现有的菜单条添加用户自定义菜单,如在“文件”等菜单条菜单中添 加;也可以在 Pro/E 界面上添加菜单条菜单,

7、它和“文件”等等菜单条菜单处于同等地位。 笔者建议在 Pro/E 界面上添加菜单条菜单,因为 Pro/E 是一个不断发展、不断更新的软件, 某个版本下有的菜单在另一个版本下可能没有,因此,如果用户自定义菜单依赖某个菜单 条菜单,很可能在另一个 Pro/E 的版本中不能正常使用。这样,只能修改应用程序来适应 这种变化,软件的通用性较差。 下面这个程序详细讲述如何在 Pro/E 界面上添加用户自定义菜单条菜单 UserMenu 以及在 菜单条菜单 UserMenu 中添加按钮 A: int user _initialize( ) ProFileName message _file; uiCmdCm

8、dId cmd _id; ProStringToWstring(message_ file,”use_rmsg.txt”); ProMenubarMenuAdd(“UserMenu”,”UserMenu”,”Help”,PRO_B_TRUE,message_file); (添加用自定义菜单条菜单 UserMenu 并放在菜单条菜单“帮助”之后) ProCmdActionAdd(“A” , (uiCmdCmdActFn)Action,uiProe2ndImmediate, NULL, PRO_B_TRUE, PRO_B_TRUE, (给按钮 A 设定动作 Action) ProMenubarme

9、nuPushbuttonAdd(“UserMenu”,“A” , “A” , “Non-mode-specific Pro/TOOLKIT test commands” ,NULL,PRO_B_TRUE,cmd_id, message_file); (在菜单条菜 单 UserMenu 添加按钮 A) return(0); 其中 user_msg.tst 文件的内容为: UserMenu UserMenu # # A A # # user_msg.tst 文件通放在textusascii 下,它的路径对应于 protk.dat 注册文件的 TEXT_DIR 项。6结语 Pro/E 的第二次开发功

10、能十分强大。本文主描述了 Pro/E 二次开发的整体过程(编 写 C 程序VC+下编译命令提示符下编连Pro/E 中注册)以及所遇到的关键性问题, 用户可在此基础上,在 Pro/TOOLKIT 二次开发程序中通过编写各种功能函数来实现其他具 体要求。 Pro/E 调用调用 MFC 对话框技术对话框技术Pro/ EN GINEER 是美国参数化公司 PTC( Paramet ric Technology Corporation) 于 1989 年开发出的三维 CAD/ CAM 系统,可以为工业产品设计提供完整的解决方案,广泛应用于造 型设计、机械设计、模具设计、加工制造、机构分析、有限元分析及相

11、关数据库管理系统 等各个领域。目前 Pro/ E 在我国应用较广。Pro/ TOOL KIT 是 Pro/ EN GINEER 系统的个性化开发工具包,也可称为应用程序接口(Application programmer Interface) ,它提供了大量的 C 语言库函数,能够使外部应用程序安全有效地访问 Pro/EN GINEER 的数据库和应用程序, 通过 C 语言编程及应用程序与 Pro/ EN GINEER 的无缝集成,客户和第三方能够在 Pro/ EN GINEE 系统中增加所需的功能。 Pro/ TOOL KIT 应用程序共有两种工作方式:同步模式(synchronous Mod

12、e) 和异步模式 (SynchronousMode) , 我们常用的是同步模式。同步模式分为 DLL 模式和多进程模式。 DLL 模式指运用动态链接库(Dynamically Linked Library , DLL ) 将 Pro/TOOL KIT 应用程 序集成到 Pro/ EN GINEER 中,用户编译 C 语言应用程序,与 Pro/ TOOL KIT 库连接,生成一 个对象库文件,最后与 Pro/ EN GINEER 的可执行文件连接。在 DLL 模式中, Pro/ TOOL KIT 应用程序与 Pro/ EN GINEER 之间的信息交换是通过直接的函数调用来实现。本文采 用的就是

13、 DLL 模式。 1 问题的提出 自 Pro/ EN GINEER2001 之后, Pro/ TOOL KIT 就提供用户开发界面的编程接口。利用 Pro/TOOL KIT 可以开发出具有 Pro/ EN GINEER 风格的对话框,能向用户提供人机交互界 面,进行简单的人机交互。但是目前这种方法还不太完善,功能有限,而且对话框资源编写起 来繁琐,一个简单的对话框资源就会用去很多的时间,对于稍为复杂的对话框更是无能为力。 MFC 具有强大的编制对话框能力,编制简单,但 Pro/ TOOL KIT 并不提供对 MFC 的支持,在 Pro/TOOL KIT 中并不能直接应用 MFC 对话框。本文通

14、过动态连接库开发了 Pro/ TOOL KIT 与 MFC 的接口,利用 MFC 强大的功能实现对话框的开发,在 Pro/ EN GINEER 环境中 生成 MFC 对话框,方便、自然、快捷地进行人机交互。 2 基本思想 在 Pro/ EN GINEER 系统中调用 MFC 对话框所需解决的关键问题就是实现 Pro/ E 系统, Pro/TOOL KIT 应用程序与 MFC 对话框三者之间的通信。Pro/ E 系统与 Pro/ TOOL KIT 应用程序可以采用动态链接库(DLL ) 方式进行通信。由于 Pro/TOOL KIT 是通过 C 语言 进行编程,无法直接调用 MFC 对话框,这就使

15、得必须运用通信方式实现在 Pro/ TOOL KIT 中调用 MFC 对话框,本文作者采用动态链接库(DLL) 实现二者的通信。 3 Pro/ E 调用 MFC 对话框实例 本文作者开发了一个 Pro/ EN GINEER 调用 MFC 对话框实例,该实例在 Pro/ EN GINEER 2001 中产生 MFC 对话框,接受用户的输入信息,然后生成三维实体。编译器使用 Microsoft Visual C +610 。具体的实现步骤如下。(1) 编辑 MFC 对话框应用程序 利用 MFC AppWizard (dll) ,工程类型选用 MFC 的常规 DLL (Regular DLL usi

16、ng shared MFC DLL) ,生成一个 DLL 工程,加入对话框资源,并声明导出变量: _declspec ( dllexport ) double m _ width , m _height ,m _ depth ,m _ bite _ radius ,m _ bite _ height ,和导出函数: extem“C”_ declspec (dllexport) void LoadDialog) AFX _ MANAGE _ STATE(AfxGetStatic ModuleState) ; CProDialog dlg , if (dlg. DoModal () = IDOK) m _ width = dlg.m _ input1 ; m _ height = dlg.m _ input2 ; m _ depth = dlg.m _ input3 ; m _

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号