基于protoolkit的车床夹具三维参数化设计(编辑修改稿)内容摘要:

//这三个函数的定义在后面,此处仅说明函数原型 void MyDLG()。 void MyDLGlingjian()。 static uiCmdAccessState UserAccessTestMenu (uiCmdAccessMode)。 //初始化函数,此函数将在启动钻模设计辅助应用程序时被调用执行 extern C int user_initialize() { AfxEnableControlContainer()。 ProError status。 ProName menumsgfile。 //定义名称类型的变量,用于生成菜单 uiCmdCmdId cmd_id。 //定义菜单项标识类型的变量 //在 pro/E的主菜单栏上添加一个新的菜单 ProStringToWstring(menumsgfile,)。 status = ProMenubarMenuAdd(jiajusheji,m_jiajusheji,Help, PRO_B_FALSE,menumsgfile)。 //添加新菜单下的第一个菜单项 status = ProCmdActionAdd(MyDLG,(uiCmdCmdActFn)MyDLG,uiCmdPrioDefault,UserAccessTestMenu,PRO_B_TRUE,PRO_B_TRUE,amp。 cmd_id)。 //先指定回调函数,即点击此菜单后要执行什么动作(本菜单项的功能是打开工件参数输入对话框) status = ProMenubarmenuPushbuttonAdd(jiajusheji,para,b_para,paratip,NULL,PRO_B_TRUE,cmd_id,menumsgfile)。 //然后才添加菜单项 //再添加第二个菜单项 status = 毕业设计 说明书 第 18 页 ProCmdActionAdd(MyDLGlingjian,(uiCmdCmdActFn)MyDLGlingjian,uiCmdPrioDefault,UserAccessTestMenu,PRO_B_TRUE,PRO_B_TRUE,amp。 cmd_id)。 status = ProMenubarmenuPushbuttonAdd(jiajusheji,lingjian,b_lingjian,lingjiantip,para,PRO_B_TRUE,cmd_id,menumsgfile)。 //在 pro/E的消息区显示消息 ProStringToWstring(msgfil,)。 ProMessageDisplay(msgfil,MyHello)。 return(0)。 } //菜单可访问性 (此函数的定义一般不需修改。 ) static uiCmdAccessState UserAccessTestMenu(uiCmdAccessMode access_mode) { return (ACCESS_AVAILABLE)。 } void MyDLG() //自定义的第一个菜单项的菜单回调函数 { AFX_MANAGE_STATE(AfxGetStaticModuleState())。 dlg_lingjian dlg_lingjian。 //先定义一个对话框类对象 ()。 //以模态方式打开工件尺寸参数输入对话框 (其中内容视对话框类的名称而变 ) } void MyDLGlingjian() //自定义的第二个菜单项的菜单回调函数 { AFX_MANAGE_STATE(AfxGetStaticModuleState())。 dlg_para dlg_para。 毕业设计 说明书 第 19 页 ()。 //打开钻模板参数设置对话框 } //结束函数,此函数将在停止车床夹具设计辅助应用程序时被调用执行 extern C void user_terminate() { ProMessageDisplay(msgfil,MyBye)。 //在 pro/E的消息区显示消息 return。 } ( 6) 加入工件参数输入对话框 事先做 好下面这幅图,并保存成位图( BMP)格式的文件如图局 410: 图 410 零件图 添加一个位图资源(使用“添加资源”对话框中的“导入”按钮,导入位图)如图411: 毕业设计 说明书 第 20 页 图 411 添加资源 添加一个对话框资源如图 412: 图 412 对话框 1 在上面的原始对话框中,添加静态文本控件( Static Text)、编辑控件( Edit Control)和图片控件( Picture Control),并将对话框界面修改成以下布局如图 413: 图 413 零件参数对话框 毕业设计 说明书 第 21 页 框空白处点击鼠标右键,在弹出的快捷菜单中选择“添加类”,类名称为 dlg_lingjian。 再添加一个对话框,加入一些按钮控 件,并将对话框界面作如下的布局如图 414: 图 414 元件参数对话框 框空白处点击鼠标右键,在弹出的快捷菜单中选择“添加类”,类名称为 dlg_para。 事先做好下面这幅图,并保存成位图( BMP)格式的文件如图 415 所示: 毕业设计 说明书 第 22 页 图 415 各种零件的三维图设计 添加一个位图资源(使用“添加资源”对话框中的“导入”按钮,导入位图)如图416 所示: 图 416 添加资源框 再对每个按钮添加个对话框资源:以夹具体和垫圈为例子来进行说明。 A 夹具体 毕业设计 说明书 第 23 页 图 417 对话框 2 如图 417 所示在上面的原始对话框中,添加静态文本控件 ( Static Text) 、编辑控件( Edit Control) 和图片控件( Picture Control),并将对话框界面修改成以下布局如图 418所示。 图 418 对话框 3 在对话框空白处点击鼠标右键,在弹出的快捷菜单 中选择“添加类”,类名称为dlg_jiajuti。 选中编辑控件,点击鼠标右键,在弹出的快捷菜单中选择“添加变量”,为每个编辑控件添加一个 double 类型的变量,变量名取为 m_l1, m_l2, m_3, m_l4, m_l5, m_l6。 这个成员变量的初始值为零,下面改变初始值。 打开 dlg_jiajuticpp 源程序文件,找到代码段,并作如下声明: dlg_jiajuti::dlg_jiajuti(CWnd* pParent /*=NULL*/) : CDialog(dlg_jiajuti::IDD, pParent) , m_l1(c) 毕业设计 说明书 第 24 页 , m_l2(a) , m_l3(b) , m_l4(110) , m_l5(210) , m_l6(65) , m_l7(96) , m_l8(60) { } “确定”按钮添加消息处理代码 回到对话框设计界面,双击“确定”按钮,会出现以下程序段(这是“确定”按钮的单击事件过程代码): // dlg 消息处理程序 void dlg_jiajuti::OnBnClickedOk() { // TODO: 在此添加控件通知处理程序代码 OnOK()。 } 将其中的两行代码删 除,并用以下的程序段替换: include include include include //包含 pro/Toolkit必要的头文件 include include include 毕业设计 说明书 第 25 页 include include include include include import c:\program files\mon files\system\ado\ no_namespace rename(EOF,adoEOF) rename(BOF,adoBOF) //上面一行导入 ADO相关的类声明 double a=300,b=200,c=125。 // dlg_jiajuti 对话框 IMPLEMENT_DYNAMIC(dlg_jiajuti, CDialog) dlg_jiajuti::dlg_jiajuti(CWnd* pParent /*=NULL*/) : CDialog(dlg_jiajuti::IDD, pParent) , m_l1(c) , m_l2(a) , m_l3(b) , m_l4(110) , m_l5(210) , m_l6(65) , m_l7(96) , m_l8(60) { 毕业设计 说明书 第 26 页 } dlg_jiajuti::~dlg_jiajuti() { } void dlg_jiajuti::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX)。 DDX_Text(pDX, IDC_EDIT1, m_l1)。 DDX_Text(pDX, IDC_EDIT2, m_l2)。 DDX_Text(pDX, IDC_EDIT3, m_l3)。 DDX_Text(pDX, IDC_EDIT4, m_l4)。 DDX_Text(pDX, IDC_EDIT5, m_l5)。 DDX_Text(pDX, IDC_EDIT6, m_l6)。 DDX_Text(pDX, IDC_EDIT7, m_l7)。 DDX_Text(pDX, IDC_EDIT8, m_l8)。 } BEGIN_MESSAGE_MAP(dlg_jiajuti, CDialog) ON_BN_CLICKED(IDOK, amp。 dlg_jiajuti::OnBnClickedOk) END_MESSAGE_MAP() // dlg_jiajuti 消息处理程序 void dlg_jiajuti::OnBnClickedOk() { ProMdl model。 //模型 ProFamilyName partname。 //零件模型文件名 int nWindowID。 //窗口标识 ProModelitem feature。 //特征 毕业设计 说明书 第 27 页 ProParameter param1,param2,param3,param4,param5,param6,param7,param8。 //参数 (变量个数应以所有模型中参数最多的为准 ) ProParamvalue value1,value2,value3,value4,value5,value6,value7,value8。 //参数值 (同上 ) //打开钻套模型 ProStringToWstring(part。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。