基于ProE的弹簧模型库二次开发设计 - 图文(6)

2019-03-27 19:50

图4-4 库文件路径设置

选择Project/Settings...菜单,选择“Link”选项卡,在“Category:”下拉列表中选择General,在“Object/Library modules”下加入mpr.lib protk_dll.lib两个库文件,并且去掉“Generate debug into”和“Link incrementaily”两个选项。具体设置如图4-5。

图4-5 库文件设置

在菜单Project/Settings的“Link”选项页中选择Category下拉列表中的“Customize”设置强制文件输出,即选中“Force file output”的复选框,如图4-6所示。

由protk_dll.lib及LIBC.lib产生的unresolved external symbol连接

第 18 页 共 72 页

错误均可忽略,并可生成在Pro/ENGINEER系统正常运行的Pro/TOOLKIT应用程序。由于连接protk_dll.lib及LIBC.lib库产生的错误有31个,警告有19个。

在“Project Settings”中的“C/C++”选项页中选择“Generate browse info”复选框,并且在“Debug info:”下拉列表中选择“None”,具体设置如图4-7。

图4-6 强制输出设置

图4-7 语言设置

在“Project Settings”中选择General选项,将“Output directories”输出目录改为“Release”,这样VC创建的DLL文件将存放入“Release”文件夹中,设置如图4-8所示。

第 19 页 共 72 页

图4-8 输出路径设置

对Visual C++6.0进行相关设置后,便可以编写程序了。 图4-2菜单对应源程序代码见附录Ⅲ菜单操作源程序部分。 首先,必须列出VC程序将用到的相关头文件,如 #include\#include\#include\#include

其次,必须对用到的函数进行声明,否则将会出错,如 int Spring1Fn(); int Spring2Fn(); int Spring3Fn(); int Spring4Fn(); int Spring5Fn(); int Spring6Fn(); int Spring7Fn();

static uiCmdAccessState AccessAvailable (uiCmdAccessMode); 最后才编写程序主体部分。

下面介绍说明菜单程序中用到的Pro/TOOLKIT函数。

user_initializ()函数是Pro/TOOLKIT应用程序的初始化函数,主要用来对同步模式的Pro/TOOLKIT应用程序进行初始化,任何同步模式的应用程序要在Pro/ENGINEER系统中加载都必须包含该函数。其格式如上程序所示。

user_terminate()函数在Pro/ENGINEER终止同步模式的Pro/TOOLKIT应用

第 20 页 共 72 页

程序时调用(如退出Pro/ENGINEER将终止应用程序的运行),该函数由用户定义,其中可以不执行任何动作。

ProMenubarMenuAdd()函数的作用是向Pro/ENGINEER添加所需的菜单,包含头文件为:#include。函数的返回值类型为ProError,调用成功返回PRO_TK_NO_ERROR(0),否则返回PRO_TK_GENERAL_ERROR(-1)。函数如下:

ProMenubarMenuAdd (\ \

其中\为菜单项名,作为调用其他菜单函数的输入参数;

\为菜单标签名,即该菜单条的关键字。必须与信息文件该 段的标识关键字相同。\PRO_B_TRUE表示该菜单加在“工 具”菜单的右侧。MsgFile为菜单信息文件名,这里定为\。

ProMenubarmenuMenuAdd()函数的作用是向菜单添加下级子菜单。注意,在生成的下级子菜单中必须至少包含一项菜单项,否则将不显示下级子菜单。该函数可以创建多层下级子菜单,只需用不同层次的菜单名标识作为们菜单名即可。其函数如下:

ProMenubarmenuMenuAdd(\ NULL, PRO_B_TRUE, MsgFile)

\表示这个下级菜单是挂接在此菜单项名下。\为菜单标签名,必须与信息文件中对应标识关键字相同。

ProCmdActionAdd()函数的作用是设置菜单按钮的动作函数。其函数如下: ProCmdActionAdd(\ uiCmdPrioDefault,AccessAvailable, 应动作。

ProMenubarmenuPushbuttonAdd()函数的作用是添加菜单按钮。其函数如下:

ProMenubarmenuPushbuttonAdd(\ \ PRO_B_TRUE, PushButton_cmd_id1, MsgFile)

\表示此菜单是菜单名为“SubMenu1”的下级子菜单,\是菜单标签名,与信息文件中对应一致。\a push button to the ProE menu bar\是提示信息,必须与信息文件中一致。

程序中用到了菜单条、菜单条菜单、下级子菜单、菜单按钮等。

PRO_B_TRUE,PRO_B_TRUE,&PushButton_cmd_id1)

Spring1Fn为该按钮的动作函数,即当单击此按钮,便调用此函数,产生相

第 21 页 共 72 页

将上面编辑的资源信息文件放入“Text\\Release\\text\\chinese_cn”文件夹内。

4.1.3 注册运行

编写调试完应用程序后,将整个VC工程文件拷贝到工作目录下,用记事本编写注册文件,并保存为“Protk.dat”。注册文件内容如图4-9所示。

图4-9 注册文件

这里的“.\\”代表相对路径方式,即起始目录为Pro/ENGINEER的工作目录。用相对路径方式的优点在于具有可移植性。即此二次开发程序只要存放在Pro/ENGINEER设置的工作目录下,便能自动运行,而不要求用户更改设置,大大地方便了用户的使用。

图4-9中各字段及其意义如表4-1所示。

表4-1 注册表字段及意义

字段名 Name Exec_file Text_dir Startup 意义 外部程序标识名,该标识名不一定要与可执行程序名相同 可执行程序名(包括路径) 指定外部程序的text目录树的全路径 这里取dll(动态连接库) Allow_stop 如设为TRUE,在Pro/ENGINEER工作时可以终止应用程序,如设为FALSE则不能终止应用程序 Delay_start 若设为TRUE, Pro/ENGINEER在启动时不调用Pro/TOOLKIT应用程序,但可以手工启动,若设为FALSE,则系统将自动启动。 Revision End 指定Pro/TOOLKIT版本号 段结束标志 第 22 页 共 72 页


基于ProE的弹簧模型库二次开发设计 - 图文(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:某高速铁路软基处理施工技术方案-secret

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: