ProE二次开发技术
- 格式:doc
- 大小:22.00 KB
- 文档页数:2
软件设计开发本栏目责任编辑:谢媛媛利用Python 二次开发Creo胡迪,罗辉(合肥工业大学智能制造技术研究院,安徽合肥230000)摘要:Creo 软件的二次开发工作逐渐得到人们的重视,但其并未直接提供Python 的开发接口。
该文介绍了在利用Creo VBAPI 接口的基础上,简便利用Python 使用Python 对Creo 进行二次开发的方法和关键技术。
以批量关系操作为例,对该方法进行了验证,结果表明该方法简化了Creo 二次开发的过程。
关键词:Creo ;二次开发;Python ;VB API 中图分类号:TP393文献标识码:A文章编号:1009-3044(2020)02-0049-02开放科学(资源服务)标识码(OSID):Secondary Development of Creo Based on PythonHU Di,LUO Hui(Intelligent Manufacturing institute of Hefei University of Technology,Hefei 230000,China)Abstract:The secondary development of Creo is getting more and more attention,but Creo does not directly provide Python develop⁃ment interface.The method and key technology of how to use Python to develop Creowas introduced.Finally,an example of batch rela⁃tionoperationwas taken to show how the system works.The results show that this method simplifies the process of Creo development.Key words:Creo;Secondary Development;Python;VB APIPython 由荷兰人GuidovanRossum 于1989年发明,第一个公开发行版发行于1991年,是一种面向对象的、动态的、解释型程序设计语言,经过十几年的发展,以其短小精悍的语法以及高效的开发、简单入门的特点逐渐成为主流程序设计语言。
本文给出了ProE二次开发中用VC++开发Pro/TOOLKIT程序的实例。
Pro/TOOLKIT是PTC公司提供给用户使用C语言客户化Pro/ENGINEER的API。
在Pro/E 16.0以前是Pro/DEVELOP,从17版开始换成Pro/TOOLKIT,但Pro/DEVEL OP仍可以和Pro/TOOLKIT混合在一起使用。
PTC提供的例子程序和培训教材都是使用C语言来进行开发,自己手工编写makefile 文件,然后通过nmake命令在命令行直接编译、连接。
这样的方式对于已经习惯于使用V C++编程的程序员来说,确实受到很多限制。
经过测试,我发现其实也可以在VC++环境下编写Pro/TOOLKIT程序,你会发现比使用makefile的方式更简单,更容易入门。
以下我来手把手教各位如何VC++编写第一个Pro/TOOLKIT程序。
我的开发和测试环境是:简体中文Windows 2000 + SP4Pro/E 2001 2003010Visual C++ 6.0Pro/E二次开发1、创建新工程启动VC++,新建工程。
选择MFC AppWizard(dll)方式。
指定工程名称及存放路径。
然后按“OK”按钮。
2、完成新工程的创建接受缺省设置。
按“Finish”按钮完成。
3、配置开发环境接下来,你需要配置用来编译、连接Pro/TOOLKIT程序的开发环境。
1)设置Pro/TOOLKIT和Pro/DEVELOP头文件路径;2)设置库文件路径;4、当前工程设置选择Win32 Release。
设置Pro/TOOLKIT程序所需要的几个库文件。
还有很重要的是,需要设置Ignore libraries:msvcrt.lib否则在编译连接时由于库冲突会出错。
5、开始编写程序接下来,你就可以开始编写程序了。
Pro/TOOLKIT的程序需必须包括user_initialize() 和user_terminate()函数。
目录第一章绪论 (1)1.1 三维CAD技术 (1)1.1.1CAD技术的发展 (1)1.2 课题背景及意义 (2)1.3 使用程序的开发工具 (3)1.4 课题的主要研究内容 (3)第二章Pro/TOOLKIT二次开发的基础理论........................... 错误!未定义书签。
2.1 Pro/TOOLKIT的基本知识 (3)2.1.1 Pro/TOOLKIT简介 (3)2.1.2 Pro/TOOLKIT的工作模式 (4)2.1.3 Pro/TOOLKIT对象和动作 (4)2.1.4 对象句柄 (4)2.1.5 Pro/TOOLKIT函数返回值 (5)2.2 创建Pro/TOOLKIT使用程序的基本方法 (5)2.3 Pro/TOOLKIT信息文件的建立 (6)2.4 编译和连接设置 (7)2.5 编制注册文件及使用程序的运行 (7)2.5.1 编制注册文件 (7)2.5.2 使用程序的运行 (7)第三章用户界面设计 (8)3.1 菜单的设计 (8)3.1.1 向菜单栏添加菜单条 (8)3.1.2 向菜单条下添加下级子菜单 (8)3.1.3 端盖菜单设计 (8)3.2 对话框的设计 (12)3.2.1 MFC对话框 (12)3.2.2 UI对话框 (12)3.3 端盖对话框设计 (14)3.3.1 构想 (14)3.3.2 创建方法 (14)第四章端盖的开发 .......................................................................... 错误!未定义书签。
4.1 总体方案 (25)4.2 基于三维模型的参数化程序设计分析 (25)4.2.1 端盖三维模型的建立 (26)4.2.2 端盖参数化程序设计 (30)4.3 注册并运行程序 (36)4.4 操作流程 (36)第五章零件图形清单 (37)结束语 (41)参考文献 (41)附录I 程序清单 (41)附录Ⅱ外文文献翻译 (41)附录Ⅲ外文文献原文 (48)基于Pro/E二次开发的端盖参数化模型的实现摘要:CAD技术在机械设计中发挥着越来越突出的作用。
Pro/engineer二次开发教材之VB篇:Automation Gateway插件的安装与测试(中)【概述】:本教程为你介绍如何测试与分析Automation Gateway提供的关于在VB环境下进行PROE二次开发的例子,测试版本wildfire4.0。
通过我上次写的那个简单的教程(其实,我发的都是一些简单基础的教程,旨以通过这些比较简单易懂的教程,使大家可以掌握关于AGW插件二次开发的一些基础和概念,如果你有了解PRO/TOOLKIT二次开发的话,你会发现里面的思路对PROE 二次开发来说是通用的),我就假定你已经安装好了AGW插件了,嘿嘿~~如果有什么问题的话,可以查看上次教程的一些提示和看看帮助文档,通过自己的思考和尝试,大多都会很简单迅速解决掉的。
那我就继续下面的教程了,在进行之前,确保你的计算机已经安装好了VB6.0,PROE(这里是PROE 4.0 C000),AGW插件这几个重要的软件,还有你要了解PROE软件的一些基本术语和操作,了解VB的一些基础知识。
OK~正题来了:测试与分析Automation Gateway提供的关于在VB环境下进行PROE二次开发的例子1.打开测试的例子GW_VB_Demo(在AGW插件的安装目录里);如图所示==更多精彩,源自无维网()2.如图点击”工程”菜单下的“引用”按钮,在弹出的对话框中进行图上说明的操作^_^(把丢失的那个勾勾去掉哦)3.按下“G”键选择AGW新版本的库文件,如图所示。
OK下一步就可以进行运行了。
小知识:对AGW插件进行异步模式的开发都要如上图那样添加AGW的库到应用程序中,这样VB程序就可以引用到AGW库里面的对象与方法了。
4.启动PROE软件5.在VB环境中运行测试例子的程序,如图==更多精彩,源自无维网()6.下面对测试例子的其中一个部分进行测试与分析,其它部分就有网友们自己动手啦~运行程序会弹出一个关于AGW插件说明的对话框,点确定,下一步。
越来越多的企业已经不仅仅满足简单使用CAD软件,从而提出二次开发的要求。
通过对CAD软件的二次开发,可以使软件具备更高的实效性,提高企业产品开发效率,缩短设计周期。
Creo Parametric因为具备尺寸驱动、基于特征,单一数据库等诸多优点而应用一泛。
但是日前国内关于其二次次开发的文献很少。
Creo Parametric是美国PTC公司推出的CAD/CAM/CAE软件集成包,它具有通用性、参数化以外强大的分析功能,可以完成机构运动学、动力学仿真和有限元分析。
Creo Parametric软件在提供强大的设计、分析、制造功同时, 也为用户提供了多种二次开发工具。
在Creo Parametric下进行二次开发, 是企业建设CAD项目, 提高企业效的一项重要途径。
关于二次开发主要有以下几种方法:一、ProgramProgram是零件与组件自动化设计的一种有效工具,设计人员可以使用类似BASIC的高级语言,根据需要编写该模型的Program。
包括:控制特征的出现与否、尺寸的大小、零件与组件的出现与否等。
使用ProProgram还可以实现自动互换性设计。
Program只能做一些简单控制程序,人机对话差等缺点,所以应用具有一定的局限性。
二、用户自定义特征(UDF)设计人员在使用Pro/E进行零件设计时,经常会遇到一些重复出现的特征。
例如:螺钉或螺栓的座孔等。
设计人员可以建立自己的用户自定义特征库,根据产品特征快速生成几何模型,从而极大地提高设计人员的工作效率。
三、VB API自从Proe野火4.0增加了和VB的接口并提供能相当部分的API函数,这就使得用户可以使用VB平台对其进行二次开发。
VB具有比VC更低门槛容易上手,但也有其缺点就是PTC 公司提供的VB API函数库毕竟有限,所以实现的功能也很有限。
四、VC++结合ProToolkitProToolkit 是Creo Parametric自带的基于C语言的功能最为强大的二次开发工具, 它提供了大量的C语言库函数, 能使外部应用程序(客户应用程序)安全有效地访问Parametric的数据库和应用程序。
基于Pro/ENGINEER的渐开线变位直齿圆柱齿轮实体模型的二次开发发表时间:2008-11-10 16:08 来源:好就好模具作者:不详点击:212次以下为引用的内容:学会二次开,那么的你工资也不得了了哈哈在Pro/ENGINEER软件中,Program模块是自动化零件与组合件设计的一项重要工具,使用者可以经由非常简易且高级的程序语言来控制特征的出现与否、尺寸的大小、零件的出现与否、零件的个数等。
当零件或组合件的Program设计完成后,往后读取此零件或组合件时,其各种变化情况即可利用问答式的方式得到不同的形状,以实现产品设计的要求。
齿轮虽然在机械行业中有广泛的使用,但Pro/ENGINEER软件不能直接生成。
通过复杂的造型设计虽可以生成齿轮,但变化齿数、模数和变位系数后,又需进行复杂的设计计算和造型形状判断,工作量很大,齿轮的三维造型设计成为造型设计中望而却步的工作。
本文基于渐开线齿轮的生成原理,结合Program程序,研制出变位直齿圆柱齿轮实体造型的自动化设计程序,用户只要输入齿轮的设计参数(齿数z1、z2,模数m,变位系数x1、x2,齿槽圆角半径、齿宽、轴孔直径、键槽高度和宽度)就可以快速地生成齿轮实体,使用简单方便,该设计软件可以广泛地应用于网页设计和机械产品造型设计中。
2 齿轮齿槽形状的精确确定齿形的渐开线形状可通过高级Sweep特征设计精确地设计出来,但齿轮齿槽的形状与齿轮齿数、模数、变位系数和压力角有关。
具体地说,下列两种情况决定齿槽的形状:图1 第一种情况的齿槽形状图2 第二种情况的齿槽形状即:齿根圆的半径小于渐开线的基圆半径时和齿根圆的半径大于渐开线的基圆半径时。
为了叙述方便,下文中,分别称前者为a情况,后者为b情况。
因齿轮的啮合只在渐开线部分,因此对于a情况,设计时可在基圆的以下部分加与渐开线相切的直线以连接齿根圆,如图1所示。
而对于b情况则无需加相切直线,仅截取渐开线的一部分即可,如图2所示。
PROE二次开发做PROE毕业设计,初始设置完VS2005中C++的各种设置,用protoolkit对PROE二次开发,但是这段程序在做完编译的时候出现了三个错误两个是未声明的标识符跟一个重新定义清帮我看看到底是哪里错了#include "ProMenu.h"#include "ProUtil.h"#include "ProMenubar.h"extern “C” int user_initalize(){ProError atatus;//用户接口程序return status;}extern “C” void user_terminate(){//结束代码}extern "C" int user_initialize(){ProError status;ProFileName message_file;uiCmdCmdId cmd_idl;ProFileName Msgfile;ProStringT oWstring(MsgFile,"Message 2.txt");status = ProMenubarMenuAdd("CHECK","CHECK","Utilities", PRO_B_TRUE,MsgFile);status = ProCmdActionAdd("ShowTest1",(uiCmdCmdActFn)messagebox,uiCmdPrioDefault,AccessDefault,PRO_B_TRUE,&cmd_idl);status = ProMenubarmenuPushbuttonAdd("CHECK","messagebox","mes sagebox","Active messagebox menu",NULL,PRO_B_TRUE,cmd_idl,ProStringT oWstring(message_file,"Message2.txt"));return status;}int messagebox()//消息框{AfxMessageBox(_T("第一个程序!"));//弹出一个消息框return(0);}由正常的齿轮三视图生成的代码,怎么能够改成全剖视图的呢下面是视图矩阵的一些代码static ProMatrix identity_matrix = { {1.0, 0.0, 0.0, 0.0},////单元矩阵{0.0, 1.0, 0.0, 0.0},{0.0, 0.0, 1.0, 0.0},{0.0, 0.0, 0.0, 1.0}};void ProUtilMatrixCopy(double input[4][4],double output[4][4]){int i,j;if(input == NULL){for(i=0;i<4;i++)for(j=0;j<4;j++)output[i][j] = identity_matrix[i][j];}else{for(i=0;i<4;i++)for(j=0;j<4;j++)output[i][j] = input[i][j];}}/*--------------------------------------------------------------------*\创建一般视图\*--------------------------------------------------------------------*/ProUtilMatrixCopy(NULL, matrix);pos[0] = 200.0;pos[1] = 600.0;pos[2] = 0.0;ProDrawingGeneralviewCreate(drawing, solid, sheet, PRO_B_FALSE,pos, 1, matrix, &view);应部分坛友短信我的要求,现将下列两个函数的代码附上:ParamGetAndShow() //功能:获取模型参数,显示并初始化对话框控件值ParamUpdate() //功能:修改对话框控件值,更新模型参数/*===================================== =============================*\函数:ParamGetAndShow()功能:从零部件模型中获得参数值,并在相应的输入框中显示\*===================================== =============================*/void ParamGetAndShow(char *dialog,char *component,char *Name){ProMdl mdl;ProModelitem modelitem;ProMdlCurrentGet(&mdl);ProMdlToModelitem(mdl,&modelitem);int iparam;double dparam;ProName pname;ProParameter param;ProParamvalue value;ProStringT oWstring(pname,Name);//根据指定的参数名获得参数对象指针ProParameterInit(&modelitem,pname,¶m);//获得参数值ProParameterValueGet(¶m,&value);//根据参数值的类型,显示在相应类型的输入框中if(value.type==PRO_PARAM_DOUBLE){dparam=value.value.d_val;ProUIInputpanelDoubleSet(dialog,component,dparam);}if(value.type==PRO_PARAM_INTEGER){iparam=value.value.i_val;ProUIInputpanelIntegerSet(dialog,component,iparam);}ProParameterValueSet(¶m,&value);}/*===================================== =============================*\函数:ParamUpdate()功能:更新参数值\*===================================== =============================*/void ParamUpdate(char *dialog,char *component,char *Name){ProMdl mdl;ProModelitem modelitem;ProParameter param;ProParamvalue value;ProName pname;ProStringT oWstring(pname,Name);int iparam;double dparam;ProMdlCurrentGet(&mdl);ProMdlToModelitem(mdl,&modelitem);ProParameterInit (&modelitem,pname,¶m); ProParameterValueGet(¶m,&value);if(value.type==PRO_PARAM_DOUBLE){ProUIInputpanelDoubleGet(dialog,component,&dparam); value.value.d_val=dparam;}if(value.type==PRO_PARAM_INTEGER){ProUIInputpanelIntegerGet(dialog,component,&iparam); value.value.i_val=iparam;}ProParameterValueSet(¶m,&value);}int ProUtilStringGet(wchar_t *p_wstr, wchar_t *p_default, int max_len){wchar_t str[PRO_PATH_SIZE];if(ProMessageStringRead(max_len, str)!=0){if (p_default == NULL)return (0);ProUtilWstrcpy(p_wstr, p_default);return (1);}ProUtilWstrcpy(p_wstr, str);return (1);}尺寸表示似乎只能从实体遍历中得到。
用Microsoft Visual 2008对PRO/E4.0二次开发步骤1.因为PRO/E4.0装在E盘,在二次开发时在E盘新建一个文件夹mytest3 (可以是其他名字的文件夹,注意mytest3必须与PRO/E4.0在同一盘里),在mytest3中在新建一个文件夹text(必须是text)。
2.如图(1),新建一个Hello.dll的文件图(1)3.如图(2),选中使用共享MFC DLL的规则DLL(D)4.单击项目---属性,进行图(3)---图(10)的操作。
图(3) 属性配置,注意是在Release下进行编译的,Release配置1图(4) Release配置2图(5) 在字符集中选择使用多字节字符集图(6) 对预处理器中的预处理器定义进行设置图(7) 代码生成,设置运行时库为多线程DLL(/MD)图(8) 语言的设置图(9) 添加附加依赖项wsock32.libmpr.libpsapi.libprotk_dllmd.libprodev_dllmd.libnetapi32.lib图(10) 添加忽略特定库msvcrtd.lib图(11) 单击主菜单上的工具----选项图(12) 添加包含文件,四个includes图(13) 添加库文件,两个obj图(14) 双击Hello.cpp图(15) 添加头文件#include "ProMenubar.h"#include "ProMenu.h"#include "ProUtil.h"#include <ProToolkit.h>#pragma comment(lib,"netapi32")图(16) 在Hello.cpp的最后添加程序static uiCmdAccessState AccessDefault(uiCmdAccessMode access_mode) {return(ACCESS_AVAILABLE);}void Test1(){AfxMessageBox(_T("轴"));}void Test2(){AfxMessageBox(_T("齿轮"));}extern "C" int user_initialize(){ProError status;ProFileName MsgFile;ProStringToWstring(MsgFile,"IconMessage.txt");//注意此处的IconMessage与后面的text文件夹下的IconMessage.txt文件名必须相同uiCmdCmdId PushButton1_cmd_id,PushButton2_cmd_id;status=ProMenubarMenuAdd("MainMenu","Function","Help",PRO_B_TRUE,MsgFile); ProCmdActionAdd("PushButton1_Act",(uiCmdCmdActFn)Test1,12,AccessDefault,PRO_B_TRUE,P RO_B_TRUE,&PushButton1_cmd_id);ProMenubarmenuPushbuttonAdd("MainMenu","PushButton","FirstButton","this button will show a message",NULL,PRO_B_TRUE,PushButton1_cmd_id,MsgFile);ProCmdActionAdd("PushButton2_Act",(uiCmdCmdActFn)Test2,uiCmdPrioDefault,AccessDefault,P RO_B_TRUE,PRO_B_TRUE,&PushButton2_cmd_id);ProMenubarmenuPushbuttonAdd("MainMenu","PushButton2","SecondButton","this button will show a message",NULL,PRO_B_TRUE,PushButton2_cmd_id,MsgFile);return status;}extern "C" void user_terminate(){AFX_MANAGE_STATE(AfxGetStaticModuleState());}图(17) 选择生成Hello(U)图(18) Hello(U)生成成功后在E:\mytest3\Hello\Release中可以看见Hello.dll文件,将Hello.dll 文件复制到E:\mytest3中。
Proe Wildfire 5.0 J-link二次开发——入门篇为什么选择J-link?选择J-link二次开发的理由:J-link拥有开源社区的强大优势,JAVA语言开源,社区很活跃,可以说除了PROE以外的所有开发工具都可以免费获得,并且这些开发工具的性能绝不逊色于microsoft;J-link二次开发的程序运行编译过程都较C++二次开发简单。
J-link二次开发所需的准备工作:1.熟悉JAVA语言;JAVA仍为IT界使用最为广泛的开发工具之一,其学习难度并不比C++语言高,网络上有大量免费视频可供学习。
2.初次安装PROE时请选中J2RE(java 2 runtime enviroment)与J-link选项随PROE主程序一起安装,一般默认安装未选中此模块,所以请务必注意;自安装的JRE目录是D:\PTC\pr oeWildfire 5.0\i486_nt\obj\JRE;若已经安装了PROE但是没有安装J2RE(java 2 runtime e nviroment),也可以下载jdk6来安装(jdk7未试过)。
3.安装JAVA的集成开发环境IDE,可以下载Eclipse,选Java开发版即可,不要jee的(用于Web开发)。
4.配置开发环境:配置JVM,设置环境变量(如果网友安装目录与此不同请自行注意更改)5.学习J-link请参考PROE目录下*\jlink\jlinkug.pdf文档,也可以用浏览器打开*\jlin k\jlinkdoc\index.html,里面包含开发文档和api。
自此,J-link开发环境就配置完成!下面以Proe自带的入门的例子来测试一下J-link开发环境是否配置正确。
1. 打开eclipse(网上关于eclipse使用资料非常多,可自行查询),依次File->new->j ava project,建立new javaproject,工程名如:InstallTest,其他选项默认即可,点击fin ish;2. 在InstallTest工程中添加外部JAR包,将*\text\java\pfc.jar引入到project中;3.在InstallTest工程中,新建2个空的java class,name分别是StartInstallTest和pf cInstallTest,然后用win写字板或者EditPlus等工具分别打开*\jlink\jlink_appls\instal l_test下的StartInstallTest.java与pfcInstallTest.java两个文件中的内容复制到刚才创建的相应的class中,并覆盖原有内容;4. 点击run->run运行并编译,因为需和proe配合才能显示工作效果,所以其实就是确认完成编译罢了;5. 在本机上新建test文件夹,在第2步所创建的InstallTest工程目录下找到bin文件夹,复制其中所有的.class文件至test文件夹中。
长江大学毕业设计(论文)题目:基于Pro/E的齿轮模型库二次开发毕业论文(设计)开题报告论文(设计)题目:基于Pro/E的齿轮模型库二次开发系别:机械工程系专业(班):机电一体化工程毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:日期:毕业论文(设计)开题报告题目基于Pro/E的齿轮模型库二次开发院校长江大学年级开题日期学号姓名指导教师1、选题目的和意义:如今,虽然绘图软件很多,而且建模方法也越来越智能,易学易懂。
但是有些模型,具有相似性和通用性,如标准件,常用件等。
如果每用一次都要建一次模型,那么将会大大延长设计周期,如此繁琐而重复的步骤,将给设计者带来不必要的负重。
本课题将通过参数化建模,解决这一问题。
用户只需正确选择或输入零件相关参数,Pro/E便能自动生成用户所需的模型,这样大大缩短了开发设计的时间,提高了零件的结构设计效率。
Pro/ENGINEER提供了强大的三维几何造型功能,使我们能够创建出各种复杂的几何模型,作为通用的三维CAD/CAM系统在功能上基本能够满足产品三维设计要求,但有时这些功能并不能满足我们的需求。
1.问题:
Example2_1项目未能在Creo2.0软件的辅助应用程序中打开
2.尝试方法:
1.阅读API中内容,查找API中解锁相关内容
2.对比在proe5.0上搭建好的功能,解锁proe5.0的Example2_1.dll文件,希望通过解锁其dll 文件来移植到creo新的环境中。
3.发现未解锁原因为提供者问题,重新新建项目,将之低版本文件一个个复制进去。
4.重新下载creo2.0版本软件(觉得有可能是creo安装包的问题)
5.重新配置vs2010的环境
6.百度:
7.询问qq群:
群里开发人员认为缺少高级授权,认为这个无法解决。
3.存在问题
1.解锁结果:需要高级的选项(TOOLKIT-3D_Drawings),这部分盗版creo
2.0安装中
均无此模块;
2.Proe5.0通过cmd 运行protk_unlock.dat解锁Example2_1.dll同样出现Unlocking application requires option Creo Parametric TOOLKIT-3D_Drawings的问题;
3. 重新建立项目还是失败。
项目是本人创建,但未解锁原因一直显示联系提供者。
4.其他方案均未能解决。
Pro/e(野火版)二次开发之MTool功能应用一.MTool的安装以及Pro/e中文的转换1.MTool的安装把“M:\mtool安装文件”里面的6个文件复制到“C:\Windows(或Winnt)\system32”下;2.Pro/e中文转换安装(更新安装)如已安装则不需要执行该步。
步骤如下:a.找到:“C:\Program Files\proeWildfire 2.0\bin\ptcsetup.bat”文件并双击,出现以下的界面并连续点击4次“下一个”(或next)按钮,如下图所示:b.把“Pro/ENGINEER”进行“编辑”:c.找到“Chinese_Translation”并添加到右边的“启动扩展名及浮动许可证”栏:d.安装完成后,确认退出即可。
3.系统语言中文显示设置“我的电脑”→“属性”(右键点击下拉菜单)→“高级”→“环境变量(N)”→“新建”变量名和变量值:二.文件的Update打开M:盘,找到“”文件并拷贝到桌面,双击后弹出如下对话框:完成以上步骤后会发现在D盘下多了“tmpl”和“Edm”文件夹。
三.当M盘已连上,这时打开PRO/E(野火版),你会发现菜单栏中多了一个MTOOL下拉菜单,里面有很多实用的功能,如下图所示:这时表示MTOOL安装成功。
四.MTOOL功能的介绍✧重命名装配通常在确定模胚规格后,应将总装配、模胚装配、模胚装配中的所有零件名的“MOLD”改为实际模号。
步骤:1.把总装配以及和总装配所对应的图纸、bom表打开再返回总装配;2.点击下拉菜单“MTool”→“重命名装配”,弹出如下对话框,将“MOLD”改为实际模号;3.点击“修改”按钮,系统即可将各装配以及装配中所有零件名全改为实际模号,并自动存盘。
注意:1.总装配所对应的图纸以及bom表在改好实际模号后再单独改名,点击图标改名后保存关闭即可。
2.用全3D设计的模,如果遇到有一部份零件名没有修改成功,要先把文件备份一份,但是图纸和bom表不能备份出来,要自行拷贝到备份的文件里,然后打开备份的装配改名。
PROE二次开发VC环境设置--vs2005+proe 野火4一、proe4.0+vs2005二次开发环境配置:1、库文件、包含文件添加。
此配置项为vs2005环境配置,一次配置,永久有效。
按下面三个图片操作。
2、项目属性设置(添加链接时所需的lib文件),此设置,每个新工程都需要设置一次。
添加以下库:wsock32.libmpr.libpsapi.libprotk_dllmd.lib如果选择的是MFC DLL 工程的:库的设置应为:wsock32.lib mpr.lib psapi.lib protk_dllmd.lib如果选择的是MFC 应用程序工程的:库的设置应为:wsock32.lib mpr.lib psapi.lib protkmd.lib pt_asynchronous.lib二、开发测试程序1、新建工程2、添加代码#include <ProToolkit.h>#include <ProMenu.h>#include <ProMenuBar.h>#include <ProUtil.h>extern "C" int user_initialize(){ProName menumsgfile;uiCmdCmdId cmd_id;//在Help菜单的左边添加Test菜单ProStringToWstring(menumsgfile,"usermsg.txt");status = ProMenubarMenuAdd("Test", "Test", "Help", PRO_B_FALSE, menumsgfile);status = ProCmdActionAdd("MyTest", (uiCmdCmdActFn)MyTest, uiCmdPrioDefault, UserAccessTestMenu, PRO_B_TRUE, PRO_B_TRUE, &cmd_id);status = ProMenubarmenuPushbuttonAdd("Test", "Hello", "Hello", "Hello Help", NULL, PRO_B_TRUE, cmd_id, menumsgfile);return(0);}static uiCmdAccessState UserAccessTestMenu (uiCmdAccessMode access_mode){return (ACCESS_A V AILABLE);}int MyTest(){AfxMessageBox(_T("祝贺你!"));return 0;}extern "C" void user_terminate(){}3、注册文件编写与消息文件编写(以下仅为范本,实际使用需要更改)//protk.dat 注册文件name teststartup dllallow_stop TRUEexec_file E:\work\VSProjects\VS2005\Projects\test\debug\test.dlltext_dir E:\work\VSProjects\VS2005\Projects\test\revision 1151end//usermsg.txt 消息文件Test&Test测试(&T)Hello&Hello你好(&H)#Hello HelpHello! This is a Pro/TOOLKIT sample.你好!这是第一个使用VC++开发TOOLKIT应用程序。
毕业设计(论文)开题报告学生姓名:学号:专业:机械设计制造及其自动化班级: 06机械2班设计(论文)题目:PRO/E二次开发——汽车差速器直齿锥齿轮的参数化设计指导教师:系:机电工程系20010 年 3 月 19 日一、选题的背景意义和直齿锥齿轮1.选题的背景Pro/Engineer是一套由设计至生产的机械自动化软件,是新一代的产品造型系统,是一个参数化、基于特征的实体造型系统,并且具有单一数据库功能。
参数化设计和特征功能 Pro/Engineer是采用参数化设计的、基于特征的实体模型化系统,工程设计人员采用具有智能特性的基于特征的功能去生成模型,如腔、壳、倒角及圆角,您可以随意勾画草图,轻易改变模型。
这一功能特性给工程设计者提供了在设计上从未有过的简易和灵活。
单一数据库 Pro/Engineer是建立在统一基层上的数据库上,不象一些传统的CAD/CAM系统建立在多个数据库上。
所谓单一数据库,就是工程中的资料全部来自一个库,使得每一个独立用户在为一件产品造型而工作,不管他是哪一个部门的。
换言之,在整个设计过程的任何一处发生改动,亦可以前后反应在整个设计过程的相关环节上。
例如,一旦工程详图有改变,NC(数控)工具路径也会自动更新;组装工程图如有任何变动,也完全同样反应在整个三维模型上。
这种独特的数据结构与工程设计的完整的结合,使得一件产品的设计结合起来。
这一优点,使得设计更优化,成品质量更高,产品能更好地推向市场,价格也更便宜。
PRO/ENGINEER在提供强大的设计、分析、制造功能的同时,也为用户提供了多种二次开发工具。
常用的二次开发工具有:族表(Family Table)、用户定义特征(UDF)、Pro/Program、J-link、Pro/toolkit等。
1)族表(Family Table)通过族表可以方便的管理具有相同或相近结构的零件,特别适用于标准零件的管理。
族表通过建立通用零件为父零件,然后在其基础上对各参数加以控制生成派生零件。
长江大学毕业设计(论文)题目:基于Pro/E的齿轮模型库二次开发毕业论文(设计)开题报告论文(设计)题目:基于Pro/E的齿轮模型库二次开发系别:机械工程系专业(班):机电一体化工程毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:日期:毕业论文(设计)开题报告说明:1、开题报告应在教师指导下由学生独立撰写,交指导教师审阅,并接受学校和系(院)检查。
2、开题报告不需要在本手册上填写,应按照该格式另行装订成册。
目录1 引言--------------------------------------------------- 11.1 CAD/CAM的发展现状-------------------------------- 11.2 课题的提出及意义--------------------------------- 21.3 预期功能----------------------------------------- 31.4 本论文内容--------------------------------------- 32 二次开发总体方案的确定--------------------------------- 42.1 二次开发语言(Pro/TOOLKIT) ------------------------ 42.2 开发工具的确定----------------------------------- 42.3 开发环境----------------------------------------- 62.3.1硬件开发环境-------------------------------- 62.3.2 软件开发环境------------------------------- 62.4 工作模式的确定----------------------------------- 72.5 总体设计框架------------------------------------- 73 齿轮的参数化设计--------------------------------------- 93.1 齿轮简介----------------------------------------- 93.2 齿轮的参数化建模--------------------------------- 94 菜单与对话框的开发设计-------------------------------- 164.1 菜单的设计-------------------------------------- 164.1.1 编写菜单信息资源文件---------------------- 174.1.2 编写菜单操作源程序------------------------ 184.1.3 注册运行---------------------------------- 244.2 对话框的设计------------------------------------ 254.2.1 编写对话框资源文件------------------------ 264.2.2 编写对话框操作源程序---------------------- 274.3 程序验证---------------------------------------- 285 本设计任务所完成的零件清单---------------------------- 30结论---------------------------------------------------- 35致谢---------------------------------------------------- 36参考文献------------------------------------------------ 37附录鉴定意见表------------------------------------------ 38基于Pro/E的齿轮模型库二次开发摘要:本课题针对多种类型齿轮,提出基于Pro/E平台进行二次开发的一种可行方案。
Automation Gateway元件的装配涉及两个主要的函数一个是AsmAddComponent 和AsmAddConstraint。
AsmAddComponent添加一个元件到装配体中(封装形式),再使用AsmAddConstraint约束添加的元件。
AsmAddConstraint为元件添加约束。
例子:这个例子是装配一个新的元件(a.prt)到装配体(asm1.asm)中首先是把零件模型"a.prt" 载入到PROE的内存中(程序行 lGwErr = gw.ModelRetrieve("a.prt") )添加元件的约束1. 对齐元件a中的MATE_SURF 基准平面和装配体中b元件的ASMMATE_SURF 基准平面。
2. 对齐元件a中的AX_A_1基准轴和装配体中b元件的A_1基准轴。
这样就把元件a装配到装配体asm1中了。
代码:Public gw As New GWayAX‘装配元件aPrivate Sub a_Click()Dim lGwErrAs LongDim lID(1 To 3)As Longgw.ModelRetrieve ("D:\VBasm\a.prt")lGwErr = gw.AsmAddConstraint(lID(1), ALGN, "D:\VBasm\a.prt", "MATE_SURF","D:\VBasm\asm1.asm/b.prt.40", "ASMMATE_SURF", 0)If Not (lGwErr = 0) Then GoTo ErrorTestlGwErr = gw.AsmAddConstraint(lID(2), ALGN, "D:\VBasm\a.prt", "AX_A_1","D:\VBasm\asm1.asm/b.prt.40", "A_1")If Not (lGwErr = 0) Then GoTo ErrorTestlGwErr = gw.AsmAddComponent(lID(3), "D:\VBasm\asm1.asm", "D:\VBasm\a.prt") ErrorTest:If lGwErr = 0 ThenMsgBox ("装配 - 成功")ElseMsgBox ("装配 - 失败" & vbCrLf & _"Error number: " & lGwErr)End IfEnd Sub‘打开装配体asm1Private Sub asm1_Click()gw.ModelRetrieve ("D:\VBasm\asm1.asm")gw.SessionSetCurrentModel ("D:\VBasm\asm1.asm")End Sub附件使用方法:把附件复制到D:盘,解压到当前文件夹(确保模型的路径符合代码的要求)——运行程序~~~(有安装AGW软件)。
Pro/E二次开发技术
Pro/E在提供强大的设计、分析、制造功能的同时,也为用户提供了多种二次开发工具。
常用的二次开发工具有:族表(Family Table)、用户自定义特征(UDF)、 Pro/PROGRAM、J—Link和 Pro/TOOLKIT等。
(1)族表 (Family Table)。
族表是一个用表格来驱动模型的工具,通过族表可以方便地管理具有相同或相近结构的零件,特别适用于标准零件的管理。
族表可以将事先定义好的模型(称为“GENERIC”的零件)中可供驱动的尺寸参数、特征、模型参数等放入表格中,通在表格中输入参数值就可创建一个新的零件(称为“INSTANCE”的零件)。
族表的产生过程是,首先建立一个具有代表性的零件,此零件称为通用零件或原始零件 (GENERCI RART)。
然后,根据可变情况编辑族表项目,可变项目可以是:尺寸(Dimension)、参数 (Parameter)、特征(Featrue)、与组件(Component)等。
完成族表内容后,需进行校验,然后系统会自动一一再生,从而生成若干子零件(Instance Part)。
(2)用户定义特征(UDF)。
用户定义特征是将若干个系统特征融合为一个自定义特征,使用时作为一个整体出现。
UDF适用特定产品中的特定结构,有利于设计者根据产品特征快速生成几何模型。
(3)Pro/PROGRAM应用简单易操作,但主要用于开发简单的控制程序,实现一些简单的功能,无法实现与Pro/E集成,无法与外部数据库相连,不适合于开发大型的CAD系统,只可用于开发一些简单的具有高度重复性的零件。
(4)J—Link是对Pro/E进行封装,功能上与Pro/TOOLKIT相近,能完成较复杂的程序的开发,但相比较于Pro/TOOLKIT,有些功能目前还没有实现,还有待于以后的继续发展。
(5)Pro/TOOLKIT是美国PTC公司为Pro/E软件提供的开发工具包,其主要目的是让用户或第三方通过C程序代码扩充Pro/E的系统功能,开发基于Pro/E系统的应用程序模块,从而满足用户的特殊要求。
Pro/TOOLKIT功能极其强大,库函数丰富,基本可以完成Pro/E所拥有的所有功能,是进行Pro/E二次开发最理想的工具。
此外,Pro/TOOLKIT支持完全面向对象的编程,利用其提供的菜单以及Visual C++.Net2003的可视化界面设计技术,可以设计出方便实用的人机交互界面;应用程序易于修改、可重用性高;
可以快速实现设计者所有的设计意图。
本系统在Pro/E环境中定制了大量用户化命令,需要与它低层的数据库信息进行大量交互,完成较复杂的操作,所以选择Pro/TOOLKIT作为Pro/E的二次开发主要工具来开发三维快速设计系统。