机械设计制造及自动化专业毕业论文--基于pro_e的弹簧模型库二次开发设计内容摘要:

tion”对话框中选择“ Directorise”选项卡,在“ Show directories for:”下拉列表框 中选择“ Includes”,加入“ ...\PROTOOLKIT\INCLUDES”一项,设置 Pro/TOOLKIT 头文件所在文件夹,如图 43 所示。 图 43 包含文件路径设置 在“ Show Directorise for:”下拉列表中选择“ Library files” ,加入“ ...\PROTOOLKIT\I486_NT\OBJ”一项,设置如图 44。 图 44 库文件路径设置 选择 Project/Settings...菜单,选择“ Link”选项卡,在“ Category:”下拉列表中选择 General,在“ Object/Library modules”下加入 两个库文件,并且去掉“ Generate debug into”和“ Link incrementaily”两个选项。 具体设置如图 45。 图 45 库文件设置 在菜单 Project/Settings 的“ Link”选项页中选择 Category 下拉列表中的“ Customize”设置强制文件输出,即选中“ Force file output”的复选框,如图 46 所示。 由 protk 生的 unresolved external symbol 连接错误均可忽略,并可生成在 Pro/ENGINEER 系统正常运行的 Pro/TOOLKIT 应用程序。 由于连接 protk 产生的错误有 31 个,警告有 19 个。 在“ Project Settings”中的“ C/C++”选项页中选择“ Generate browse info”复选框,并且在“ Debug info:”下拉列表中选择“ None”,具体设置如图 47。 图 46 强制输出设置 图 47 语言设置 在“ Project Settings”中选择 General 选项,将“ Output directories”输出目录改为“ Release” ,这样 VC 创建的 DLL 文件将存放入“ Release”文件夹中,设置如图 48 所示。 图 48 输出路径设置 对 Visual C++ 进行相关设置后,便可以编写程序了。 图 42 菜单对应源程序代码见附录Ⅲ菜单操作源程序部分。 首先,必须列出 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 应用程序时调用(如退出 Pro/ENGINEER 将终止应用程序的运行),该函数由用户定义,其中可以不执行任何动作。 ProMenubarMenuAdd 函数的作用是向 Pro/ENGINEER 添加所需的菜单,包含头文件为: include。 函数的返 回值类型为 ProError,调用成功返回PRO_TK_NO_ERROR 0 ,否则返回 PRO_TK_GENERAL_ERROR 1。 函数如下: ProMenubarMenuAdd UserMenuBar, UserMenu, Utilities, PRO_B_TRUE, MsgFile 其中 UserMenuBar为菜单项名,作为调用其他菜单函数的输入参数;UserMenu为菜单标签名,即该菜单条的关键字。 必须与信息文件该 段的标识关键 字相同。 Utilities, PRO_B_TRUE 表示该菜单加在“工 具”菜单的右侧。 MsgFile 为菜单信息文件名,这里定为 Message。 ProMenubarmenuMenuAdd 函数的作用是向菜单添加下级子菜单。 注意,在生成的下级子菜单中必须至少包含一项菜单项,否则将不显示下级子菜单。 该函数可以创建多层下级子菜单,只需用不同层次的菜单名标识作为们菜单名即可。 其函数如下: ProMenubarmenuMenuAdd UserMenuBar, SubMenu1, SubMenu1, NULL, PRO_B_TRUE, MsgFile UserMenuBar表示这个下级菜单是挂接在此菜单项名下。 SubMenu1为菜单标签名,必须与信息文件中对应标识关键字相同。 ProCmdActionAdd 函数的作用是设置菜单按钮的动作函数。 其函数如下: ProCmdActionAdd PushButtonAct1, uiCmdCmdActFn Spring1Fn, uiCmdPrioDefault,AccessAvailable, PRO_B_TRUE,PRO_B_TRUE,amp。 PushButton_cmd_id1 Spring1Fn 为该按钮的动作函数,即当单击此按钮,便调用此函数,产生相应动作。 ProMenubarmenuPushbuttonAdd 函数的作用是添加菜单按钮。 其函数如下: ProMenubarmenuPushbuttonAdd SubMenu1,PushButton1,PushButton1, Adding a push button to the ProE menu bar, NULL, PRO_B_TRUE, PushButton_cmd_id1, MsgFile SubMenu1 表 示此 菜 单是 菜单 名 为“ SubMenu1” 的 下级 子菜 单 ,PushButton1是菜单标签名,与信息文件中对应一致。 Adding a push button to the ProE menu bar是提示信息,必须与信息文件中一致。 程序中用到了菜单条、菜单条菜单、下级子菜单、菜单按钮等。 将上面编辑的资源信息文件放 入“ Text\Release\text\chinese_”文件夹内。 注册运行 编写调试完应用程序后,将整个 VC 工程文件拷贝到工作目录下,用记事本编写注册文件,并保存为“ ”。 注册文件内容如图 49 所示。 图 49 注册文件 这里的“ .\”代表相对路径方式,即起始目录为 Pro/ENGINEER 的工作目录。 用相对路径方式的优点在于具有可移植性。 即此二次开发程序只要存放在Pro/ENGINEER 设置的工作目录下,便能自动运行,而不要求用户更改设置,大大地方便了用户的使用。 图 49 中各字段 及其意义如表 41 所示。 表 41 注册表字段及意义 字段名 意义 Name 外部程序标识名,该标识名不一定要与可执行程序名相同 Exec_file 可执行程序名(包括路径) Text_dir 指定外部程序的 text 目录树的全路径 Startup 这里取 dll 动态连接库 Allow_stop 如设为 TRUE,在 Pro/ENGINEER 工作时可以终止应用程序,如设为 FALSE 则不能终止应用程序 Delay_start 若设为 TRUE, Pro/ENGINEER 在启动时不调用 Pro/TOOLKIT 应用程序,但可以手工启动,若设为 FALSE,则系统将自动启动。 Revision 指定 Pro/TOOLKIT 版本号 End 段结束标志 注意,将 DELAY_START 字段内容设为 FALSE,这样打开Pro/ENGINEER 时使自动注册运行该应用程序。 即启动 Pro/ENGINEER 后,自定义菜单使自动挂接到 Pro/ENGINEER 菜单条上。 不必再手动注册和运行。 这样,所创建的“弹簧”菜单便如同 Pro/ENGINEER 菜单栏中的一项菜单,即当运行Pro/ENGINEER,“弹簧”菜单项将自动连接上去。 对话框的设计 用户界面对话框( User Interface Dialog Boxes,简称 UI 对话框)是Pro/TOOLKIT 提供的一项交互界面。 可以利用 UI 对话框技术,在 Pro/TOOLKIT应用程序中设计出风格与 Pro/ENGINEER 系统本身具有的对话框相似的人机交互界面。 UI 对话框的设计思路和方法与 AutoCAD 的 DCL 对话框类似。 主要由对话框资源文件和相应的控制程序两大部分构成。 对话框资源文件的功能相当于AutoCAD 的对话框控制语言( DCL),用 ASCII 码文本格式编写,其内容定义了 对话框的组成、外观和属性。 控制程序相当于 AutoCAD 的 DCL 驱动程序,用 C 或C++语言编写,用来在 Pro/ENGINEER 环境装入对话框资源、显示对话框、设置动作和退出对话框等。 下面以圆截面圆柱螺旋压缩弹簧为例介绍说明弹簧对话框的创建全过程。 其余弹簧类型见附录 I。 编写对话框资源文件 对话框应包含以下内容:弹簧模型图片,弹簧设计各参数 参数要求既有用下拉选择型的,又能供用户自定义的 以及确定和取消按钮。 由于输入框与选项菜单在同一个对话框中将会发生冲突,因此本人将其分为两个对话框:一个为参数选择型,另一 个为参数输入型。 圆截面圆柱螺旋压缩弹簧的选择型对话框资源文件如下: Dialog Spring1 Components !对话框元件声明 Label Image SubLayout Layout1 Separator Separator1 PushButton Update1 PushButton Cancel Resources !对话框资源 属性定义 10 4 2 生成模型 amp。 U cl_ok 4 8 4 4 退出 amp。 E cl_cancel 4 8 4 4 4 4 .Label 弹簧参数化设计 !对话框标题 .StartLocation 5 .Resizeable 0 .Layout !对话框元件的布局 Grid Rows 1 1 1 Cols 1 Grid Rows 1 Cols 1 1 Image Layout1 Separator1 Grid Rows 1 Cols 1 1 Update1 Cancel Layout Layout1 Components Label H_Label OptionMenu H_Value Label D_Label OptionMenu D_Value Label L_Label OptionMenu L_Value Label DD_Label OptionMenu。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。