ProE_二次开发入门实例

合集下载

proe二次开发教程

proe二次开发教程

proe二次开发教程——手把手教你如何二次开发经历了千辛万苦才把图片截取完整,现在就把它贴出来吧……本实例是针对proe4.0在VS2005环境下的开发,对于vs2003以上版本的开发本例均适用,本例从开始的打开vs2005软件开始讲解,一步不漏,并加入适当的解释和必要的说明,相信照着做完之后应该没有不成功的了!注:软件安装注意事项:proe的安装目录不能有空格,比如:“D:\Program Files\proeWildfire4.0”是不对的,运行的时候会出错,要把路径中的空格去掉,如“D:\proeWildfire4.0”一、配置相关信息:打开VS2005,选择工具——》选项,在“项目和解决方案”中选择“VC++目录”,在“显示一下内容的目录”中选择“包含文件”,加入以下文件:D:\proeWildfire4.0\protoolkit\includesD:\proeWildfire4.0\protoolkit\protk_appls\includesD:\proeWildfire4.0\prodevelop\includes在“显示一下内容的目录”中选择“库文件”,加入以下文件:D:\proeWildfire4.0\protoolkit\i486_nt\objD:\proeWildfire4.0\prodevelop\i486_nt\obj注:这是开始前的环境配置,一次配置之后永久生效,以后再新建项目就不需要再配置了二、新建项目,进行项目设置:文件——》新建——》项目:选择MFC DLL 模板,输入项目名称:确定后点完成,项目生成后选择项目——》属性,进行属性设置:在test(本例的项目名称)属性页中选择配置属性——》连接器——》输入,在附加依赖项里加入:wsock32.libmpr.libpsapi.libprotk_dllmd.lib注:对于不同的环境附加依赖项是不同的,以上是VS2005版本的开发软件附加依赖项,如果是VC++6.0则是“protk_dll.lib protoolkit.lib mpr.lib wsock32.lib ”,同时还要加入忽略库“msvcrt.lib”,还要选择“强制输出”,否则程序会因为一些警告终止编译。

PROE二次开发

PROE二次开发

//在 Help 菜单的左边添加 Test 菜单 status = ProMenubarMenuAdd("TestMenu", "Test", "Help", PRO_B_FALSE, menumsgf ile); status = ProCmdActionAdd("MyTest", (uiCmdCmdActFn)MyTest, uiCmdPrioDefault, PRO_B_TRUE, &cmd_id); status = ProMenubarmenuPushbuttonAdd("TestMenu", "MainBtn1", "Hello", "Hello Hel p", NULL, PRO_B_TRUE, cmd_id, menumsgfile); return(0); } static uiCmdAccessState UserAccessTestMenu (uiCmdAccessMode access_mode) { return (ACCESS_AVAILABLE); } int MyTest() { AfxMessageBox("祝贺你!"); return 0; } extern "C" void user_terminate() { } 6、添加菜单资源文件 在 Hello 文件下创建 text 子文件夹,用来存放资源文件; 在 text 下添加 usascii 子文件夹,同时创建 usermsg.txt 文件,内容如下: Test &Test # # Hello &Hello #
采用 VC++6.0 的 MFC 类库对用户界面进行二次开发,同时也利用 VC++开发相关的数据库,开发的实 质是在 Pro/ E 系统中调用 MFC 应用程序。在开发中使用 MFC Application(exe) 方式实现 Pro/E 系统、Pro/ Toolkit 应用程序、MFC 应用程序三者之间的通信,通信是通过直接调用函数实现的。Pro/ Toolkit 与 MFC 连接在系统中为每个 Pro/ Toolkit 应用程序都开发了对话框界面,在应用程序加载到 Pro/ E 系统后,点 击定制菜单项即可调用对应的应用程序及其界面。图 1 说明了 Pro/E 系统与 MFC 应用程序的连接方式。

ProE40二次开发教程之VB篇

ProE40二次开发教程之VB篇

ProE4.0二次开发教程之VB篇:Pro/Toolkit(VC)和AGW插件配合使用(Wildfire野火4.0版本)好了,今天就把这个题目给结束掉啦~~这篇教程主要的是讲一下如何在VC环境下使用AGW插件来进行PROE开发。

先说两个好处吧,你可以使用VC强大的MFC类库;你还可以将AGW和PRO/TOOLKIT混合使用,AGW简单易用,代码量少,PRO/TOOLKIT功能强大。

废话少说,立马就入正题,进入正题之前,也是要提醒大家的,确保你的计算机已经安装好了VC6.0,PROE(这里是PROE 4.0 C000),AGW插件这几个重要的软件,还有你要了解PROE软件的一些基本术语和操作,了解VC的一些基础知识。

你可以一步一步地跟着这个例子(这个例子是打开一个PROE模型)做,到最后你就可以很方便地在VC环境下使用AGW插件的对象和方法了。

==更多精彩,源自无维网()1.启动VC6.0。

2.『文件』->『新建』命令,在弹出的对话框中进行如图操作。

3.在如图弹出的对话框中选中(基本对话框)选项,点完成,在弹出的对话框中点确定按钮。

这样就建立了一个基本对话框的应用程序了。

4.在VC环境进行如图操作,如图添加代码(绿色的为注释,可不添加)。

5.在VC环境进行如图操作,如图添加代码(绿色的为注释,可不添加)。

其中第一行代码#import "D:\RAND\GWAX.exe"中引号内的是AGW插件的安装路径。

6.在VC环境进行如图操作,如图添加代码(绿色的为注释,可不添加)。

7.在VC环境进行如图操作,如图添加代码(绿色的为注释,可不添加)。

8.在VC环境进行如图操作1、2;3:删去设计对话中的原有控件,并添加如图添加一个编辑框和一个按钮,其中编辑框的ID设为IDC_LOADMODEL_EDIT;按钮的ID设为IDC _LOADMODEL_BUTTON,标题为“在当前PROE窗口显示模型”。

PROE二次开发教程之VB篇AGW插件操作PROE尺寸对象及在VBA环境下使用方法(下)

PROE二次开发教程之VB篇AGW插件操作PROE尺寸对象及在VBA环境下使用方法(下)

【概述】:本文通过一个例子来说明如何在VBA环境下使用AGW插件来进行PROE的二次开发,这个例子是用EXCEL来建立GBT95-2002圆形平垫圈-C级的图库。

举这个例子的意图只是说明如何在VBA环境下使用AGW插件来进行PROE的二次开发的步骤与方法。

下面通过一个例子来说明如何在VBA环境下使用AGW插件来进行PROE的二次开发,这个例子是用EXCEL来建立GBT95-2002圆形平垫圈-C级的图库。

举这个例子的意图只是说明如何在VBA环境下使用AGW插件来进行PROE的二次开发的步骤与方法。

1.新建EXCEL文件,并输入GBT95-2002圆形平垫圈-C级的国标数据,数据可以导入CAXA软件提供的国标数据,或其它CAD软件的国标数据,或手动输入。

这里通过导入CAXA实体设计的有关数据实现,步骤如下。

选取CAXA中的数据新建EXCEL文件并导入数据,导入数据的过程中用“|”作为数据的分隔符。

编辑整理成如下图所示2.在EXCEL中添加一个命令按钮,将名称改为“生成模型”。

==更多精彩,源自无维网()3.为命令按钮建立宏命令右击“生成模型”按钮,然后选择『指定宏』,在弹出的对话框中接受默认的宏名“按钮1_单击”,然后单击『新建』按钮,进入VBA编辑器界面。

像之前我写的教程那样,引用AGW控件(GWAX Rand Automation Gateway WF V4.2)4.添加如图的代码代码解析:Selection.Row如选择单个单元格的,就返回所选择的单元格的所在行。

Cells(i, 3).Value获取单元格Cells(i, 3)的值,Cells(i, 3)代表第i行,第3列的单元格。

其中可以AGW插件的函数,在之前的教程已经有提到过了。

注意引号里面的是附件模型的路径.5.执行程序启动PROE 2.0软件(对于AGW操作PROE尺寸对象的函数,PROE4.0测试版会产生异常,达不到改变尺寸的结果,这里我用PROE2.0进行说明)后,进行如图操作结果如下OK,简简单单的例子就这样完成了,利用你的EXCEL来进行你的自动化设计吧。

proe二次开发VB篇AutomationGateway插件的安装与测试中

proe二次开发VB篇AutomationGateway插件的安装与测试中

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插件说明的对话框,点确定,下一步。

Proe应用ProTOOLKIT二次开发

Proe应用ProTOOLKIT二次开发

手把手教你开发Pro/TOOLKIT应用程序1前言本教程采用VS2008 + Pro/E Wildfire5。

0来讲解怎样开发Pro/TOOLKIT应用程序.开发Pro/TOOLKIT应用程序时,Pro/E和Visual Studio的版本需对应,否则很难搭建开发环境,其对应关系如下:•Wildfire 4。

0 〈〉 VS2008•Wildfire 5.0 <> VS2008•Creo 1。

0 <〉 VS2010•Creo 2.0 〈> VS2010本教程所述的方法完全适用于Wildfire4。

0 + VS2008、Creo1。

0 + VS2010、Creo2.0 + VS2010。

2一、准备1.Pro/TOOLKIT在安装Pro/E时,默认是不安装Pro/TOOLKIT的,必须选中【API工具包】节点下的Pro/TOOLKIT选项。

可以通过运行:[Pro/E安装目录]/bin/ptcsetup.bat 查看有无安装Pro/TOOLKIT。

2。

VS2008VS2008中文版下载地址:http://pan。

baidu。

com/s/1ntt7PH3最好安装下VS2008 SP1补丁,否则编译Debug版本时常会报错.VS2008 SP1中文版下载地址:http://www。

microsoft。

com/zh—CN/download/details。

aspx?id=13276如果你需要开发64位的Pro/TOOLKIT程序,请确保安装X64 Compilers andTools,如下图所示:3二、新建工程点击【文件】—〉【新建】—〉【项目】菜单命令,创建MFC DLL工程. 输入工程名称:test_wf5。

单击【确定】,然后在弹出的对话框中单击【下一步〉】DLL类型:使用共享 MFC DLL单击【完成】完成创建工程。

4三、配置工程属性1。

新增64位编译平台注意:如果只编译32位程序,请跳过此步骤。

ProE野火2.0二次开发教程

ProE野火2.0二次开发教程

ProE Wildfire2.0 ProToolkit安装测试作者:TomLee今天看见好多人讲二次开发,马上把Microsoft Visual C++ 6.0装上,来个安装测试检查一下环境首先安装Microsoft Visual C++ 6.0,做以下设置这里大家注意是wildfire2.0,因为wildfire3.0是和.net配的,所以只能玩wildfire2.0了(.net不会)ProE是基于C的,所以Protoolkit目录下有很多练习;用C++这些练习的文件就用不上了,不过创建对话框我还是会用MFC,因为ProT oolkit的对话框创建实在难用刚开始先来个安装测试,帮助回忆在安装目录下找到make_install.mak文件可以直接编辑,建议新建一个文件夹,将文件复制来新建工程vc中使用“打开工作空间”,选择*.mak的文件类型,加载make_install.mak保存,最后新的项目建立完成修改make_install.mak文件,因为这里只是安装检测,所以基本不涉及语句,所以我还记得,哈哈注意:ProE安装目录不要包含空格!编译生成pt_install_test.exe文件制作菜单文件,当然这里有现成的用从D:\ptc\proeWildfire2\protoolkit\protk_appls\pt_install_test\text目录下将chinese_cn目录复制到你的工程目录(或者不复制,在注册文件dat中指向这个位置从D:\ptc\proeWildfire2\protoolkit目录下将注册文件protk.dat文件复制到工程目录复制完成后的工程目录,三个重要部分修改dat文件(最好装个Uedit32 ,编程的都知道)NAME pt_intall_testEXEC_FILE D:\ptc\proeWildfire2\protoolkit\test\pt_install_test.exe TEXT_DIR D:\ptc\proeWildfire2\protoolkit\test\textSTARTUP exeREVISION wildfire2.0END启动Proe,转换工作目录到当前的工程目录,比如这里的test 工具——辅助应用程序在弹出的对话框中选择注册Protk.dat启动弹出命令窗口,将其最小化(不要关闭)菜单中出现“安装测试”运行结果。

Proe Wildfire 5.0 J-link二次开发—入门篇

Proe Wildfire 5.0 J-link二次开发—入门篇

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文件夹中。

PROE二次开发教程之VB篇AGW插件操作PROE尺寸对象及在VBA环境下使用方法(下)

PROE二次开发教程之VB篇AGW插件操作PROE尺寸对象及在VBA环境下使用方法(下)

【概述】:本文通过一个例子来说明如何在VBA环境下使用AGW插件来进行PROE的二次开发,这个例子是用EXCEL来建立GBT95-2002圆形平垫圈-C级的图库。

举这个例子的意图只是说明如何在VBA环境下使用AGW插件来进行PROE的二次开发的步骤与方法。

下面通过一个例子来说明如何在VBA环境下使用AGW插件来进行PROE的二次开发,这个例子是用EXCEL来建立GBT95-2002圆形平垫圈-C级的图库。

举这个例子的意图只是说明如何在VBA环境下使用AGW插件来进行PROE的二次开发的步骤与方法。

1.新建EXCEL文件,并输入GBT95-2002圆形平垫圈-C级的国标数据,数据可以导入CAXA软件提供的国标数据,或其它CAD软件的国标数据,或手动输入。

这里通过导入CAXA实体设计的有关数据实现,步骤如下。

选取CAXA中的数据新建EXCEL文件并导入数据,导入数据的过程中用“|”作为数据的分隔符。

编辑整理成如下图所示2.在EXCEL中添加一个命令按钮,将名称改为“生成模型”。

==更多精彩,源自无维网()3.为命令按钮建立宏命令右击“生成模型”按钮,然后选择『指定宏』,在弹出的对话框中接受默认的宏名“按钮1_单击”,然后单击『新建』按钮,进入VBA编辑器界面。

像之前我写的教程那样,引用AGW控件(GWAX Rand Automation Gateway WF V4.2)4.添加如图的代码代码解析:Selection.Row如选择单个单元格的,就返回所选择的单元格的所在行。

Cells(i, 3).Value获取单元格Cells(i, 3)的值,Cells(i, 3)代表第i行,第3列的单元格。

其中可以AGW插件的函数,在之前的教程已经有提到过了。

注意引号里面的是附件模型的路径.5.执行程序启动PROE 2.0软件(对于AGW操作PROE尺寸对象的函数,PROE4.0测试版会产生异常,达不到改变尺寸的结果,这里我用PROE2.0进行说明)后,进行如图操作结果如下OK,简简单单的例子就这样完成了,利用你的EXCEL来进行你的自动化设计吧。

Proe Wildfire 5.0 J-link二次开发—入门篇

Proe Wildfire 5.0 J-link二次开发—入门篇

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二次开发技术实现零件的参数化设计

tea= t 5 h t 4
x= c stea +r s ( e ) tea p/ 8 o ( t) i t t h t i 0 h nh a 1 Y=r snt e ) o ( ea h t p/ 8 丰 i( t 一 c st t)t e i 0 har h a 1
中国新技术新产品
一 1一
高 新 发和利用
陈 强
( 北京铁城建设监理有限责任 公司 , 北京 10 5 ) 0 85
摘 要: 目前 , 监理 公 司 已利 用计 算机 网络技 术把 办公 自动化 、 力 资 源、 务 管理 等工 作 内容 纳入 到 网络 工作 平 台 中 , 国内 , 各 人 财 但 甚至国际市场还没有把监理项 目管理等的 内容一起融入进 自 动化、 信息化的办公网络中。 作者参与研发的这套 Js pX 项 i管理 ut 5 l e l 软 件 将 业主 、 理公 司、 监 监理 站 和所 有监 理 人 员连 成 一体展 开 协 同工 作 , 实现 凡 事有人 负责 、 事 有据 可依 、 事有 据 可 查 、 事 有 凡 凡 凡
d f= d 一 12 b 2 (.5 m)
e( ÷ ][ 西 ) x二 : ) 1 (] p }q ×一 厶十
+b Z 2 as _ b

da= d+ 2 m
式 中: 一 ’ 1- . 3 3设定 基本数 据 , 创建关联 尺寸 在 Pd 草绘环境 中绘制 三个 同心 圆 , re 分别 为大小齿 轮齿根弯 曲应力 和齿 面接触应力 的平 赋值。 均值和标 准差 ; 为描述 模糊性参数 ,其值 可 a 1 4 利用 参数 关 系设定 所要 确定 的基 本 以根据大小齿轮 的弯 曲强度和接触强度确定 。 _ 3 数据 为简化计算 ,我们用齿轮 分度圆 圆柱体体 r= d 2 / 积来近似代 替齿 轮的体积 ,得到如下 的 目标 函

ProE_二次开发入门实例

ProE_二次开发入门实例

ProE 二次开发入门实例1.创建项目这个就不用多说了吧,新建–>项目–>C++->MFC DLL2.项目配置这个可以参考我以前的一篇文章:Pro/ENGINEER的二次开发(5)-Vc环境配置3.初始化菜单文件在这里,先创建一个菜单,作为演示,:(1)在住文件添加Pro/TOOLKIT头文件。

由于在后面的操作中,都要用到这些头文件,故将头文件放到stdafx.h文件中。

(2)添加Pro/TOOLKIT程序的初始化函数和终止函数,(3)创建一个窗体:右键单击解决方案的资源文件,然后点击添加Dialog,如图:(4)添加一个按钮,然后双击添加类向导,创建CTestDialog类,然后再窗体中添加一个按钮,做测试之用,如图:(5)双击按钮,添加一个按钮单击函数,写下一下代码:void CTestDialg::OnBnClickedButton1(){// TODO: 在此添加控件通知处理程序代码AfxMessageBox("Hello ,Pro/e second develop!!!~~~");}4.创建菜单(1)将窗体头文件引入到主程序中,添加一些必要的声明定义://添加初始化启动函数//这里附带将菜单的实现部分加进来//定义菜单的命令函数//1.窗体显示函数void helloFormFn();//2.用户菜单访问权限设置随时有效static uiCmdAccessState helloFormAccessFn(uiCmdAccessMode access_mode){return ACCESS_AVAILABLE;//设置全有效}//3定义全局对话框变量CTestDialg * hellodlg=NULL;//窗体界面,后续更改(2) 接下来,开始写菜单注册函数了,具体的都在下面,:5.生成Dll文件右键项目,然后点击生成,即可6.编写菜单资源文件在项目目录下创建一个text文件夹,然后再在里面分别创建chinese_cn和usascii两个文件夹.再分别在里面创建一个文本文件message.txt,内容为:Gear毕业设计##Hello演示测试效果##演示测试演示测试##7.注册到Pro中,详细说明见Pro/ENGINEER的二次开发(10)-注册到Proe最后,见两张示意图:。

proe5.0二次开发

proe5.0二次开发

Pro/ENGINEER Wildfire5.二次开发程序
安装 Pro/ENGINEER 时,一定要选取“API 工具包”安装 Pro/TOOLKIT
以上软件安装完成之后我们使用安装自带的测试代码
安装测试代码文件:make_install(D:\ptc\proeWildfire5\protoolkit\i486_nt\obj,根据个人安装Pro/E的路径为准)
打开修改Pro/TOOLKIT的安装位置(缺省为空白)
启动"Visual Studio 2008 命令提示",编译代码
切换目录(cd c:\ptc\proeWildfire5\protoolkit\i486_nt\obj)
编译语句:nmake /f make_install dll
编译完成
产生dll文件
修改Pro/E注册文件protk.dat
文件位置:c:\ptc\proeWildfire5\protoolkit
修改protoolkit安装目录(正确指向dll文件和text目录)
Pro/E注册应用二次开发程序
菜单:工具——辅助应用程序
注册
选择protk.dat文件
选中应用程序名称,单击启动
消息信息提示:启动成功
关闭“辅助应用程序”窗口
运行安装测试程序
菜单:文件——安装测试
弹出对话框,显示安装测试成功。

Proe二次开发启蒙教程

Proe二次开发启蒙教程
▪ ProWcellTypeGet() 动作的类型,例如: ▪ Get: 直接从pro/e 的数据库中读取信息 ▪ Eval:提供简单的计算结果 ▪ Comቤተ መጻሕፍቲ ባይዱute:提供计算复杂结果,例如包含模型的几何分析等数据
第18页,共36页。
函数的返回值
▪ 绝大多数pro/toolkit函数的返回值类型是ProError。 ProError是枚举类型,使用不同的值表示各 种常见的各种情况。函数调用成功的正常值是PRO_TK_NO_ERROR.函数失败的原因可能是操 作中的实际问题,也可能是一些良性原因。
第21页,共36页。
Pro/toolkit应用程序的主体框架
▪ #include "ProToolkit.h"
▪ int user_initialize() ▪{
▪ return (0); ▪} ▪ Void user_terminate ▪{
▪}
第22页,共36页。
2.菜单文件
Pro/e的菜单有两种形式,
<machine>
Obj
includes
Pd-drill
Pd-example
Pd-install-test
第11页,共36页。
Pd-tinkertoy
<tk-loadpoint >
Pro/toolkit
prodev
includes
includes
readme
Protk-appls
<machine>
▪ 3.在installation configuration窗口中点击pro/help,再点击其中的add 按钮添加ptc/prohelp文件的路径。

基于ProE环境下某型装载机工作装置参数化设计的二次开发

基于ProE环境下某型装载机工作装置参数化设计的二次开发

摘要Pro/Engineer操作软件是美国参数技术公司(PTC)旗下的CAD/CAM/CAE一体化的三维软件,以参数化著称,在目前的三维造型软件领域中占有着重要地位。

为了满足用户的自定义需求,Pro/Engineer提供了多种二次开发方法,其中Pro/Toolkit是目前比较常用的Pro/E自带的二次开发工具。

本设计将利用Pro/Toolkit程序,结合尺寸驱动和MFC对话框技术,开发出应用于Pro/E的某型装载机工作装置的设计插件,用以缩短设计周期和提高产品设计效率。

但Pro/TOOLKIT并不提供对MFC的支持,在Pro/TOOLKIT 中并不能直接应用MFC对话框。

本设计通过动态连接库(dll)开发了Pro/TOOLKIT与MFC的接口,利用MFC强大的功能实现对话框的开发,在Pro/ENGINEER环境中生成MFC 对话框,方便、自然、快捷地进行人机交互。

关键词:二次开发,Pro/TOOLKIT,MFC对话框,骨架模型AbstractPro/E operating software is a CAD/CAM/CAE integration 3d software from the Parameter Technology Company (PTC),it's famous for the parameterization. Occupies an important position in the current 3d modeling software. In order to meet the user's custom demand, Pro/E offers a variety of Application Development methods, including Pro/Toolkit.It's the relatively common Application Development tool Pro/E own. This design will use the Pro/Toolkit program, combined with the Dimension Driven and MFC dialog box technology, to develop a certain type of loader Working Device design plug-in using in Pro/E, To shorten the design cycle and improve product design efficiency. But Pro/TOOLKIT does not provide the support of MFC, in Pro/TOOLKIT and cannot be directly applied MFC dialog box. This design through the dynamic-link library (DLL) developed a routine interface between Pro/TOOLKIT and MFC, using powerful MFC realize the development of the dialog box, generation MFC dialog box in Pro/E environment. Conveniently, naturally and quickly in human-computer interaction.Key words : Application Development,Pro/Toolkit,MFC Dialog,Skeleton Pattern目录TOC \O "1-3" \H \Z \U 第一章绪论 (4)第一节本课题研究的背景和意义 (4)第二节装载机工作装置的技术分析和发展现状 (5)第三节主要的研究内容 (5)第二章二次开发总体方案的确定 (6)第一节开发工具的确定 (6)第二节PRO/TOOLKIT简介 (7)第三节总体设计框架 (7)第三章装载机工作装置参数化设计 (9)第一节概述 (9)第二节工作装置结构设计简介 (9)第三节建立骨架模型 (10)第四节动臂参数化建模 (19)第四章菜单与对话框的开发 (26)第一节配置VS2005 (26)第二节菜单设计 (29)第三节对话框设计 (33)第四节程序的注册与运行 (45)总结 (48)致谢 (49)参考文献 (50)附录:程序清单 (51)第一章绪论第一节本课题研究的背景和意义Pro/Engineer操作软件是美国参数技术公司(PTC)旗下的CAD/CAM/CAE一体化的三维软件。

Pro-e(野火版)二次开发之MTool功能应用(YFB-GY-03)

Pro-e(野火版)二次开发之MTool功能应用(YFB-GY-03)

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二次开发教程

ProE二次开发教程

ProE二次开发教程Pro/ENGINEER Wildfire4.0 &Microsoft Visual Studio 2005 实现二次开发首个测试作者:无维网TomLee今天终于有时间玩一玩,Microsoft Visual Studio 2005还不熟悉,还要继续摸索: 下面我把我的测试成功的例子做个教程,希望对需要配置新环境进行开发的朋友有所帮助!新建项目新建MFC DLL默认下一步默认完成新建开始创建程序代码代码部分的解释如下:extern "C" int user_initialize(int argc, /** Number of arguments **/char *argv[], /** Pro/E arguments **/ char *proe_vsn, /** Pro/E version **/ char *build, /** Pro/E build **/ wchar_t err_buff[]) /** Error buffer **/ {ProName msgFileName;ProStringToWstring(msgFileName,"message.txt");ProMessageDisplay(msgFileName, "USER Welcome you!");return 0;}extern "C" void user_terminate(){return;}这里我只使用了一个ProMessageDisplay函数来做信息显示功能的测试,本教程的主要目的在于配置编译环境,所以未设置任何功能,甚至菜单都没加:lol包含文件的设置(include)库文件(lib)项目设置,附加的库wsock32.libmpr.libpsapi.libprotk_dllmd.lib(此处接见湃睿技术社区byan的设置)项目设置,预处理器定义添加:PRO_USE_VAR_ARGS,这个是使用ProMessageDisplay函数的需要不管选择Win32 Release 还是Win32 Debug设置都相同,但是不知道什么原因,编译时很多警告,同时我编译成功的Debug 下面的dll不能用,只能用Release,原因不明,欢迎讨论编译警告信息如下:------ 已启动生成: 项目: ProMessageDisplay, 配置: Release Win32 ------正在编译...stdafx.cpp正在编译...ProMessageDisplay.cpp正在编译资源...正在链接...正在创建库c:\toolkit_test\ProMessageDisplay\Release\ProMessageDisplay.lib 和对象c:\toolkit_test\ProMessageDisplay\Release\ProMessageDisplay.exp正在生成代码已完成代码的生成protk_dllmd.lib(protk_comm.obj) : warning LNK4049: 已导入本地定义的符号_btk_vfprintfprotk_dllmd.lib(windows_32.obj) : warning LNK4049: 已导入本地定义的符号_btk_vfprintfprotk_dllmd.lib(protk_comm.obj) : warning LNK4049: 已导入本地定义的符号_btk_vprintfprotk_dllmd.lib(protk_comm.obj) : warning LNK4049: 已导入本地定义的符号_btk_vwprintfprotk_dllmd.lib(protk_comm.obj) : warning LNK4049: 已导入本地定义的符号_btk_vsprintfprotk_dllmd.lib(protk_comm.obj) : warning LNK4049: 已导入本地定义的符号_btk_vfwprintfprotk_dllmd.lib(protk_comm.obj) : warning LNK4049: 已导入本地定义的符号_btk_vswprintfprotk_dllmd.lib(ctwcfun.obj) : warning LNK4049: 已导入本地定义的符号_btk_vswprintfprotk_dllmd.lib(protk_comm.obj) : warning LNK4049: 已导入本地定义的符号_btk_vsnprintfprotk_dllmd.lib(windows_32.obj) : warning LNK4049: 已导入本地定义的符号_btk_vsnprintfprotk_dllmd.lib(protk_comm.obj) : warning LNK4049: 已导入本地定义的符号_btk_vscanfprotk_dllmd.lib(protk_comm.obj) : warning LNK4049: 已导入本地定义的符号_btk_vwscanfprotk_dllmd.lib(protk_comm.obj) : warning LNK4049: 已导入本地定义的符号_btk_vfscanfprotk_dllmd.lib(protk_comm.obj) : warning LNK4049: 已导入本地定义的符号protk_dllmd.lib(protk_comm.obj) : warning LNK4049: 已导入本地定义的符号_btk_vsscanfprotk_dllmd.lib(protk_comm.obj) : warning LNK4049: 已导入本地定义的符号_btk_vswscanfprotk_dllmd.lib(protk_comm.obj) : warning LNK4049: 已导入本地定义的符号_btkStrUtf16ToWideprotk_dllmd.lib(ctwcfun.obj) : warning LNK4049: 已导入本地定义的符号_btkStrUtf16ToWideprotk_dllmd.lib(protk_comm.obj) : warning LNK4049: 已导入本地定义的符号_btkStrUtf16ToEucprotk_dllmd.lib(ctwcfun.obj) : warning LNK4049: 已导入本地定义的符号_btkStrUtf16ToEucprotk_dllmd.lib(protk_comm.obj) : warning LNK4049: 已导入本地定义的符号_btkStrUtf16ToNativeprotk_dllmd.lib(ctwcfun.obj) : warning LNK4049: 已导入本地定义的符号_btkStrUtf16ToNativeprotk_dllmd.lib(protk_comm.obj) : warning LNK4049: 已导入本地定义的符号_btkStrUtf8ToWideprotk_dllmd.lib(protk_comm.obj) : warning LNK4049: 已导入本地定义的符号_btkStrUtf8ToEucprotk_dllmd.lib(protk_comm.obj) : warning LNK4049: 已导入本地定义的符号_btkStrUtf8ToNativeprotk_dllmd.lib(ctpfafs.obj) : warning LNK4049: 已导入本地定义的符号_btkStrUtf8ToNativeprotk_dllmd.lib(protk_comm.obj) : warning LNK4049: 已导入本地定义的符号_btkStrWideToUtf16protk_dllmd.lib(ctwcfun.obj) : warning LNK4049: 已导入本地定义的符号_btkStrWideToUtf16protk_dllmd.lib(protk_comm.obj) : warning LNK4049: 已导入本地定义的符号_btkStrWideToUtf8protk_dllmd.lib(protk_comm.obj) : warning LNK4049: 已导入本地定义的符号_btkStrEucToUtf16protk_dllmd.lib(protk_comm.obj) : warning LNK4049: 已导入本地定义的符号_btkStrEucToUtf8protk_dllmd.lib(protk_comm.obj) : warning LNK4049: 已导入本地定义的符号_btkStrNativeToUtf16protk_dllmd.lib(protk_comm.obj) : warning LNK4049: 已导入本地定义的符号_btkStrNativeToUtf8protk_dllmd.lib(cu_dll_tools.obj) : warning LNK4049: 已导入本地定义的符号_btk_getenvprotk_dllmd.lib(cttime.obj) : warning LNK4049: 已导入本地定义的符号_btk_getenvprotk_dllmd.lib(ctmisc.obj) : warning LNK4049: 已导入本地定义的符号protk_dllmd.lib(windows_32.obj) : warning LNK4049: 已导入本地定义的符号_btk_getenvprotk_dllmd.lib(ctfileutil.obj) : warning LNK4049: 已导入本地定义的符号_btk_getenvprotk_dllmd.lib(cu_appid.obj) : warning LNK4049: 已导入本地定义的符号_btk_getenvprotk_dllmd.lib(ctmemmgr.obj) : warning LNK4049: 已导入本地定义的符号_btk_getenvprotk_dllmd.lib(ctwcfun.obj) : warning LNK4049: 已导入本地定义的符号_btk_getenvprotk_dllmd.lib(ctsyscall.obj) : warning LNK4049: 已导入本地定义的符号_btk_getenvprotk_dllmd.lib(ctpfa.obj) : warning LNK4049: 已导入本地定义的符号_btk_getenv protk_dllmd.lib(cu_appid.obj) : warning LNK4049: 已导入本地定义的符号_btk_sprintfprotk_dllmd.lib(cttime.obj) : warning LNK4049: 已导入本地定义的符号_btk_sprintfprotk_dllmd.lib(ctmisc.obj) : warning LNK4049: 已导入本地定义的符号_btk_sprintfprotk_dllmd.lib(windows_32.obj) : warning LNK4049: 已导入本地定义的符号_btk_sprintfprotk_dllmd.lib(ctfileutil.obj) : warning LNK4049: 已导入本地定义的符号_btk_sprintfprotk_dllmd.lib(frgnalt3.obj) : warning LNK4049: 已导入本地定义的符号_btk_sprintfprotk_dllmd.lib(ctmemmgr.obj) : warning LNK4049: 已导入本地定义的符号_btk_sprintfprotk_dllmd.lib(ctwcfun.obj) : warning LNK4049: 已导入本地定义的符号_btk_sprintfprotk_dllmd.lib(ctsyscall.obj) : warning LNK4049: 已导入本地定义的符号_btk_sprintfprotk_dllmd.lib(ctpfa.obj) : warning LNK4049: 已导入本地定义的符号_btk_sprintf protk_dllmd.lib(ctwcfun.obj) : warning LNK4049: 已导入本地定义的符号_btk_u16tou8protk_dllmd.lib(ctpfafs.obj) : warning LNK4049: 已导入本地定义的符号_btkUnicodeIsEnabledprotk_dllmd.lib(ctwcfun.obj) : warning LNK4049: 已导入本地定义的符号_btkUnicodeIsEnabledprotk_dllmd.lib(ctwcfun_mt.obj) : warning LNK4049: 已导入本地定义的符号_btkUnicodeIsEnabledprotk_dllmd.lib(ctpfa.obj) : warning LNK4049: 已导入本地定义的符号_btkUnicodeIsEnabledprotk_dllmd.lib(ctstrutil.obj) : warning LNK4049: 已导入本地定义的符号_btkUnicodeIsEnabledprotk_dllmd.lib(ctwcfun.obj) : warning LNK4049: 已导入本地定义的符号_btk_u8tou16protk_dllmd.lib(ctwcfun.obj) : warning LNK4049: 已导入本地定义的符号_btkStrUtf16ToUtf8protk_dllmd.lib(ctstrutil.obj) : warning LNK4049: 已导入本地定义的符号_btkStrUtf16ToUtf8protk_dllmd.lib(ctwcfun.obj) : warning LNK4049: 已导入本地定义的符号_btkStrUtf8ToUtf16protk_dllmd.lib(ctwcfun.obj) : warning LNK4049: 已导入本地定义的符号_btk_iswalphaprotk_dllmd.lib(ctwcfun_mt.obj) : warning LNK4049: 已导入本地定义的符号_btk_iswalphaprotk_dllmd.lib(ctstrutil.obj) : warning LNK4049: 已导入本地定义的符号_btk_iswalphaprotk_dllmd.lib(ctwcfun.obj) : warning LNK4049: 已导入本地定义的符号_btk_iswasciiprotk_dllmd.lib(ctstrutil.obj) : warning LNK4049: 已导入本地定义的符号_btk_iswasciiprotk_dllmd.lib(ctwcfun.obj) : warning LNK4049: 已导入本地定义的符号_btk_iswdigitprotk_dllmd.lib(ctstrutil.obj) : warning LNK4049: 已导入本地定义的符号_btk_iswdigitprotk_dllmd.lib(ctfileutil.obj) : warning LNK4049: 已导入本地定义的符号_btk_iswdigitprotk_dllmd.lib(ctstrutil_mt.obj) : warning LNK4049: 已导入本地定义的符号_btk_iswdigitprotk_dllmd.lib(ctwcfun.obj) : warning LNK4049: 已导入本地定义的符号_btk_iswspaceprotk_dllmd.lib(ctmisc.obj) : warning LNK4049: 已导入本地定义的符号_btk_iswspaceprotk_dllmd.lib(ctstrutil.obj) : warning LNK4049: 已导入本地定义的符号_btk_iswspaceprotk_dllmd.lib(ctfileutil.obj) : warning LNK4049: 已导入本地定义的符号_btk_iswspaceprotk_dllmd.lib(ctwcfun.obj) : warning LNK4049: 已导入本地定义的符号_btk_wctombprotk_dllmd.lib(ctwcfun.obj) : warning LNK4049: 已导入本地定义的符号_btk_fgetcprotk_dllmd.lib(ctwcfun.obj) : warning LNK4049: 已导入本地定义的符号_btk_mbtowcprotk_dllmd.lib(ctwcfun_mt.obj) : warning LNK4049: 已导入本地定义的符号_btk_mbtowcprotk_dllmd.lib(ctwcfun.obj) : warning LNK4049: 已导入本地定义的符号_btk_fgetwsprotk_dllmd.lib(ctwcfun.obj) : warning LNK4049: 已导入本地定义的符号_btk_get_stdinprotk_dllmd.lib(ctstrutil.obj) : warning LNK4049: 已导入本地定义的符号_btk_strcasecmpprotk_dllmd.lib(ctfileutil.obj) : warning LNK4049: 已导入本地定义的符号_btk_strcasecmpprotk_dllmd.lib(ctwcfun.obj) : warning LNK4049: 已导入本地定义的符号_btk_strcasecmpprotk_dllmd.lib(ctsyscall.obj) : warning LNK4049: 已导入本地定义的符号_btk_strcasecmpprotk_dllmd.lib(ctpfa.obj) : warning LNK4049: 已导入本地定义的符号_btk_strcasecmpprotk_dllmd.lib(ctmisc.obj) : warning LNK4049: 已导入本地定义的符号_btk_strcasecmpprotk_dllmd.lib(ctwcfun.obj) : warning LNK4049: 已导入本地定义的符号_btkStrUtf8ToUtf16Allocprotk_dllmd.lib(ctstrutil.obj) : warning LNK4049: 已导入本地定义的符号_btkStrUtf8ToUtf16Allocprotk_dllmd.lib(ctwcfun.obj) : warning LNK4049: 已导入本地定义的符号_btk_fputsprotk_dllmd.lib(ctwcfun.obj) : warning LNK4049: 已导入本地定义的符号_pro_vsnprintf_low_legacyprotk_dllmd.lib(ctwcfun.obj) : warning LNK4049: 已导入本地定义的符号_pro_vsnprintf_lowprotk_dllmd.lib(ctwcfun.obj) : warning LNK4049: 已导入本地定义的符号_btk_fgetsprotk_dllmd.lib(ctwcfun.obj) : warning LNK4049: 已导入本地定义的符号_btk_scanf_stream_lowprotk_dllmd.lib(ctwcfun.obj) : warning LNK4049: 已导入本地定义的符号_btk_putenvprotk_dllmd.lib(ctsyscall.obj) : warning LNK4049: 已导入本地定义的符号_btk_putenvprotk_dllmd.lib(ctwcfun.obj) : warning LNK4049: 已导入本地定义的符号_btk_iswalnumprotk_dllmd.lib(ctmisc.obj) : warning LNK4049: 已导入本地定义的符号_btk_iswalnumprotk_dllmd.lib(ctwcfun.obj) : warning LNK4049: 已导入本地定义的符号_btk_iswrtolprotk_dllmd.lib(ctsyscall.obj) : warning LNK4049: 已导入本地定义的符号_btkGetMemprotk_dllmd.lib(ctsyscall.obj) : warning LNK4049: 已导入本地定义的符号_btk_spawnvpprotk_dllmd.lib(ctsyscall.obj) : warning LNK4049: 已导入本地定义的符号_btk_systemprotk_dllmd.lib(ctsyscall.obj) : warning LNK4049: 已导入本地定义的符号_btk_wcstombsprotk_dllmd.lib(ctsyscall.obj) : warning LNK4049: 已导入本地定义的符号_btk_mbstowcsprotk_dllmd.lib(ctsigutil_mt.obj) : warning LNK4049: 已导入本地定义的符号_btk_get_stderrprotk_dllmd.lib(ctsigutil.obj) : warning LNK4049: 已导入本地定义的符号_btk_get_stderrprotk_dllmd.lib(ctsyscall.obj) : warning LNK4049: 已导入本地定义的符号_btk_get_stderrprotk_dllmd.lib(ctmisc.obj) : warning LNK4049: 已导入本地定义的符号_btk_get_stderrprotk_dllmd.lib(windows_32.obj) : warning LNK4049: 已导入本地定义的符号_btk_get_stderrprotk_dllmd.lib(ctfileutil.obj) : warning LNK4049: 已导入本地定义的符号_btk_get_stderrprotk_dllmd.lib(ctsyscall.obj) : warning LNK4049: 已导入本地定义的符号_btk_removeprotk_dllmd.lib(ctsyscall.obj) : warning LNK4049: 已导入本地定义的符号_btk_openprotk_dllmd.lib(ctfileutil.obj) : warning LNK4049: 已导入本地定义的符号_btk_openprotk_dllmd.lib(ctdci.obj) : warning LNK4049: 已导入本地定义的符号_btk_open protk_dllmd.lib(ctpfa.obj) : warning LNK4049: 已导入本地定义的符号_btk_strncasecmpprotk_dllmd.lib(ctpfafs.obj) : warning LNK4049: 已导入本地定义的符号_btk_strncasecmpprotk_dllmd.lib(ctpfa.obj) : warning LNK4049: 已导入本地定义的符号_btk_getdcwdprotk_dllmd.lib(ctpfa.obj) : warning LNK4049: 已导入本地定义的符号_btkUConv_Disposeprotk_dllmd.lib(ctpfa.obj) : warning LNK4049: 已导入本地定义的符号_btkLangEucEncodingprotk_dllmd.lib(ctpfa.obj) : warning LNK4049: 已导入本地定义的符号_btkLangGetCurrentprotk_dllmd.lib(ctpfa.obj) : warning LNK4049: 已导入本地定义的符号_btkLangNativeEncodingprotk_dllmd.lib(ctpfa.obj) : warning LNK4049: 已导入本地定义的符号_btkUConv_Createprotk_dllmd.lib(ctpfa.obj) : warning LNK4049: 已导入本地定义的符号_btkUtfTypeFromBOMprotk_dllmd.lib(ctpfa.obj) : warning LNK4049: 已导入本地定义的符号_btkUtfTypeToBOM_btkUConv_ToPivotWithOffsetsprotk_dllmd.lib(ctpfa.obj) : warning LNK4049: 已导入本地定义的符号_btkUConv_CountPendingToPivotprotk_dllmd.lib(ctpfa.obj) : warning LNK4049: 已导入本地定义的符号_btkUConv_Resetprotk_dllmd.lib(ctpfa.obj) : warning LNK4049: 已导入本地定义的符号_btkUConv_FromPivotprotk_dllmd.lib(ctpfa.obj) : warning LNK4049: 已导入本地定义的符号_btkUConv_CountPendingFromPivotprotk_dllmd.lib(ctpfa.obj) : warning LNK4049: 已导入本地定义的符号_btkUConv_TranscodeExprotk_dllmd.lib(ctpfa.obj) : warning LNK4049: 已导入本地定义的符号_btkUConv_ToPivotprotk_dllmd.lib(ctpfa.obj) : warning LNK4049: 已导入本地定义的符号_btk_sscanf protk_dllmd.lib(ctfileutil.obj) : warning LNK4049: 已导入本地定义的符号_btk_sscanfprotk_dllmd.lib(cttime.obj) : warning LNK4049: 已导入本地定义的符号_btk_sscanfprotk_dllmd.lib(ctmisc.obj) : warning LNK4049: 已导入本地定义的符号_btk_execvprotk_dllmd.lib(windows_32.obj) : warning LNK4049: 已导入本地定义的符号_btk_get_stdoutprotk_dllmd.lib(windows_32.obj) : warning LNK4049: 已导入本地定义的符号_btk_fflushprotk_dllmd.lib(windows_32.obj) : warning LNK4049: 已导入本地定义的符号_btk_strlwrprotk_dllmd.lib(ctfileutil.obj) : warning LNK4049: 已导入本地定义的符号_btk_fullpathprotk_dllmd.lib(ctfileutil.obj) : warning LNK4049: 已导入本地定义的符号_btk_getcwdprotk_dllmd.lib(apfutil.obj) : warning LNK4049: 已导入本地定义的符号_btk_getcwdprotk_dllmd.lib(ctfileutil.obj) : warning LNK4049: 已导入本地定义的符号_btk_statprotk_dllmd.lib(apfutil.obj) : warning LNK4049: 已导入本地定义的符号_btk_stat protk_dllmd.lib(ctpfafs.obj) : warning LNK4049: 已导入本地定义的符号_btk_stat protk_dllmd.lib(ctfileutil.obj) : warning LNK4049: 已导入本地定义的符号_btk_accessprotk_dllmd.lib(frgnalt3.obj) : warning LNK4049: 已导入本地定义的符号_btkUnicodeDisableprotk_dllmd.lib(apfutil.obj) : warning LNK4049: 已导入本地定义的符号_btk_chdir protk_dllmd.lib(apfutil.obj) : warning LNK4049: 已导入本地定义的符号_btk_mkdirprotk_dllmd.lib(apfutil.obj) : warning LNK4049: 已导入本地定义的符号_btk_rmdirprotk_dllmd.lib(ctdci.obj) : warning LNK4049: 已导入本地定义的符号_btk_rmdir protk_dllmd.lib(apfutil.obj) : warning LNK4049: 已导入本地定义的符号_btk_unlinkprotk_dllmd.lib(ctdci.obj) : warning LNK4049: 已导入本地定义的符号_btk_unlink protk_dllmd.lib(apfutil.obj) : warning LNK4049: 已导入本地定义的符号_btk_utimeprotk_dllmd.lib(ctpfafs.obj) : warning LNK4049: 已导入本地定义的符号_btk_utimeprotk_dllmd.lib(ctpfafs.obj) : warning LNK4049: 已导入本地定义的符号_btk_tempnamprotk_dllmd.lib(ctdci.obj) : warning LNK4049: 已导入本地定义的符号_btk_fopen protk_dllmd.lib(ctdci.obj) : warning LNK4049: 已导入本地定义的符号_btk_rename正在嵌入清单...生成日志保存在“file://c:\toolkit_test\ProMessageDisplay\ProMessageDisplay\Release\BuildLog.htm”ProMessageDisplay - 0 个错误,159 个警告========== 生成: 1 已成功, 0 已失败, 0 最新, 0 已跳过==========创建测试目录创建测试快捷启动启动验证中文英文测试数据下载请到无维网!。

proe二次开发教程之VC篇Automation Gateway插件实现元件自动装配

proe二次开发教程之VC篇Automation Gateway插件实现元件自动装配

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软件)。

proe二次开发初级教程

proe二次开发初级教程

第一章 PRO/TOOLKIT的安装及VC++环境的配置§1.1 PRO/TOOLKIT的安装PRO/TOOLKIT是PROE二次开发的接口,采用C语言的结构编程语言,本文假设PROE安装在E:\ProgramFiles\proeWildfire4.0,在PTC Set up的对话框如图1-1中选择API工具包,图1-1 PTC Set up的对话框选中PRO/TOOLKIT,点击右键选择安装该组件,安装完成后,可以在PROE 的安装目录下看到E:\Program Files\proeWildfire 4.0\protoolkit的文件夹,其中,里面的内容见图1-2所示。

图1-2 PRO/TOOLKIT 文件夹下的内容另外,选择E:\Program Files\proeWildfire 4.0\bin目录下的ptcsetup.bat文件可以再现PROE的安装界面,但是,该方法只能修改PROE的各个参数的配置,不能增加安装过程中的各个组件。

§1.2 VC++编程环境的设置§1.2.1 VC++目录设置当我们打开VC++2008时,我们在工具-选项-项目和解决方案中的VC++目录,得到如图1-3所示的对话框所示的界面。

图1-3 VC++中选项对话框目录设置对整个VC++中的各个项目均起作用,如果VC++不重新安装或者其他的较大的变化,目录设置可以不用改动。

目录的设置主要包括两个方面:包含文件的路径的设置及库文件的设置。

点击图1-3所示的可执行文件右边的下拉三角号,选择包含文件,如图1-4所示。

图1-4 VC++中包含文件对话框添加包含文件的路径。

具体的包含文件的路径主要有一下三个:E:\ProgramFiles\proeWildfire4.0\protoolkit\protk_appls\includesE:\Program Files\proeWildfire 4.0\protoolkit\includesE:\Program Files\proeWildfire 4.0\prodevelop\includes点击图1-3所示的可执行文件右边的下拉三角号,选择库文件,如图1-5所示,添加库文件的路径,如下所示:图1-5 VC++中库文件对话框E:\ProgramFiles\proeWildfire4.0\protoolkit\protk_applsE:\Program Files\proeWildfire 4.0\protoolkit\i486_nt\objE:\Program Files\proeWildfire 4.0\prodevelop\i486_nt\obj至此,PROE与VC++中的连接目录的设置已经结束。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
un)h«lloFceesFn
」rsc_5_muE
J;
xtitus=froMfrnubar m tnuFushbut t onAd4「畀sr"
‘■Mir
」gio"
.KULL
PM_E_TRUE
,niCmdBt.nl
/話
eturn0;
eKtern"C"voiltvfli dj
returnTRUE:
}…『extern intuier_initi aliiefint
jchar*』char*jchar*
*vchar_t电rrbnf[so])
r eturia.L;

初始化函数
t匸lX'r?ide

⑶创建一个窗体:右键单击解决方案的资源文件,然后点击添加Dialog,如图:
ms®
零Accelerator
S§Bitmap
SfeCursor
SHTML
FJIcon自M@nu
*fcStrrg Tatile到到Toolbar
Ol\ ersion
蜀Resource.h
©stdafx.h
g zenun,h
3 TestDelg.h□资潺立件
3zenun.rc
31zeraun.rc?
IS ReadMe.txt
#inclndtoR«lSet.
ffdncl'udfl<Pr oSalactioklh>includegVEC■吐h>
#include^?r^Notify,
^include<FroFopupmenu. h.>
Sinclude~<Pr oS^llufftr. h>
#includt■(•£«dhtml
⑵添加Pro/TOOLKIT程序的初始化函数和终止函数,
刀解"・・丨马类…国熒…
3.
(4)添加一个按钮,然后双击添加类向导,创建CTestDialog类,然后再窗体中添加一个按钮,做测试之用,如图:
(5)双击按钮,添加一个按钮单击函数,写下一下代码:
void CTestDialg::OnBnClickedButton1()
{
//TODO:在此添加控件通知处理程序代码
//2.用户菜单访问权限设置随时有效
static uiCmdAccessState helloFormAccessFn(uiCmdAccessMode access_mode){
return ACCESS_AVAILABLE;〃设置全有效
}
//3定义全局对话框变量
CTestDialg * hellodlg=NULL;〃窗体界面,后续更改
lullodl|F4L«w CTtitDials 0:hellodlg-Xreit^(IDD_DI心G1】;k.11&dl«->£l0wWinlow e^_£HDW);
1
«lse[
deletehfrllcdlg;lullodl^LW CTflstDlfileO; hell&dle-Xrefl.ttttDD_DIALO(}l^:hill o il^- >5ltowWinlowSHDW1
(2)接下来,开始写菜单注册函数了,具体的都在下面,:
"C"ini口《r_i ni tialixt(intargc
*char*argv(]fchar*ver 5ion. ¥char*Jbuild,wchar_terrbtif[80 ])
1〃用来存睹资源信息文本的宽宇符变量
FroTilfrMweIMsc
)
WsrActjviteCurr^ntWindow ():
5.
右键项目,然后点击生成,即可
6.
在项目目录下创建一个text文件夹,然后再在里面分别创建chinese_cn和usascii两个文件夹.再分别
[
WI_NIAUAfiE_STWE OlfxGe tStiti aMcdulfiSl at a()):if(h«iiQ'ii£!=imu?{hfrllcdl^;
ras示测诃对逮櫃显示画数voidh«llof ormfnO f
WI_MmCE_STWE (KfxGt tSt^Gt());
if(Stllo.il==WLLX|
PrcfcErr orstatus:miCmdCmdld uiCftdBtnl:
FrnSir ingTn gg**〕:
顶細萊单
Statm—Pr oil anub oz*MGa '
.82打和资谐立本相問于工具芒資
»FM_B_THVE
加登抽慕单ita.tixs=ri wCmdActioiiAld hellvFurm^?(uiCndJCnJAchelloFui nFn
ftincli&Aa-(PtoWiiud«wi.
tfinclud*<frflSol id h>
#include<froFarinieter. h.>
#includtoPar amvaJ. h>
#include<FrcMessage.h>
#include<Ptolleim.h>
#includ«OroMailuEar.
ProE二次开发入门实例
1.
这个就不用多说了吧,新建->项目->C++->MFC DLL
2.
这个可以参考我以前的一篇文章:P⑹ENGINEER的二次开发(5)-Vc环境配置
3.
在这里,先创建一个菜单,作为演示,:
(1)在住文件添加Pro/TOOLKIT头文件。由于在后面的操作中,都要用到这些头文件,故将头文件放到stdafx.h文件中。
AfxMessageBox("Hello ,Pro/e second develop!!!");
}
4.创建菜单
(1)将窗体头文件引入到主程序中,添加一些必要的声明定义
//添加初始化启动函数
//这里附带将菜单的实现部分加进来
//定义菜单的命令函数
//1.窗体显示函数
void helloFormFn();
#inclnd»<FroMdl. h>tfincludtoModelitern,h》
#incl^id»QfQDmn專-h>bruludfl<FroFeituro.h)| sFsatlypt.h>
#includtOr oDrLwirt^.h>
#include<FroNotify. h>
#includth>
77777777777777777777777777777777777777777777777777777777777777777777777777
#i nclude<Pr clo olkit.h>
/Pr oUtil. h)"
tfi n<lTid»okrr ay
#includeoDimensian.h.>
相关文档
最新文档