野火论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始


查看: 13253|回复: 12

[求助] 如何学习proe二次开发,高手们给小弟一点建议

[复制链接]

2

主题

5

回帖

0

威望

实习生

Rank: 1

积分
8
发表于 2010-6-1 08:22 | 显示全部楼层 |阅读模式
新手请教如何学习proe二次开发,高手们给小弟一点建议,要是能介绍基本参考资料最好,不胜感激

2

主题

5

回帖

0

威望

实习生

Rank: 1

积分
8
 楼主| 发表于 2010-6-1 08:57 | 显示全部楼层

1

谢谢了

2

主题

5

回帖

0

威望

实习生

Rank: 1

积分
8
 楼主| 发表于 2010-6-1 18:49 | 显示全部楼层
大家帮个忙嘛

2

主题

5

回帖

0

威望

实习生

Rank: 1

积分
8
 楼主| 发表于 2010-6-1 19:24 | 显示全部楼层
有没有人有过这方面学习经验,给点意见,有电子书最好,没有的话,花钱买的也可以,谢谢各位了

11

主题

343

回帖

17

威望

工程师

Rank: 3Rank: 3

积分
401
发表于 2010-6-2 20:03 | 显示全部楼层
第一點要求:你要會開發語言
參考資料好像沒有太多要求

0

主题

21

回帖

0

威望

实习生

Rank: 1

积分
24
发表于 2011-11-13 14:58 | 显示全部楼层
首先,需要精通C语言;
回复 支持 反对

使用道具 举报

0

主题

19

回帖

0

威望

实习生

Rank: 1

积分
22
发表于 2011-12-31 10:19 | 显示全部楼层

二次开发综述

综述
1 Pro/ENGINEER 的二次开发方法
Pro/e提供的二次开发方法有很多如表族(Family Table),用户定义特征(UDF),Pro/Program, J-Link, Pro/toolkit,Rand公司开发的Automation Gateway等,在不同的应用场合,它们各有其优点。根据模架的结构特点,先用较为合适Pro/ENGINEER 的二次开发方法。
2各种方法的简介
2.1 族表 (Family Table)
Family Table 称为族表, 通过族表可以方便的管理具有相同或相近结构的零件, 特别适用于标准零件的管理。族表通过建立通用零件为父零件, 然后在其基础上对各参数加以控制生成派生零件。 整个族表通过电子表格来管理, 所以又被称为表格驱动。
2.1.1标准模架库建立的过程
(1)标准模架库的命,名组织
标准模架库的使用是通过调用实体造型文件中的Instantiate(实例)来实现的, 使用中必须遵循一定命名规则才能正确调用标准件库中所需的实例。为此,把标准模架库的根目录建立在Pro/ENGINEER的安装目录下,按照模架的类型分别建立相应的子目录如 Back pillar sets(后导柱模架)Center pillar sets(中间导柱模架)Diagonal pillar sets(对角导 柱模架)等 。 路径为<Pro/ENGINEER>\STDLIB\Back pillar sets。Back pillar set 的下面又细分为各种型号的模架。 如图  所示


(2)建立模板
利用 Pro/e的实体造型功能,为标准模架所需的各个标准零件造型, 如上模座、下模座、导柱、导套等,并存入到相应的子目录。
(3)装配模架
利用步骤 , 所设计的标准零件,建立标准模架的装配图,存入到相应的子目录。此装配图将作为通用组件,用来生成一系列标准模架。
(4)利用Pro/Program对模架的装配模板进行参数化编程
2.1.2在装配模板中编程时, 主要用到的语句有三种:
①INPUT…END INPUT语句
对于所设计零件的某些关键性尺寸或可以弹性化改变的尺寸,Pro/ENGINEER都会分别给它们一个变量如d0,d1等。INPUT…END INPUT语句的作用就是能对这


些变量赋值,以到达参数驱动的目的, 如
INPUT
P_HOLDER_R NUMBER
P_HOLDER_S NUMBER
END INPUT
②ELATIONS…END RELATIONS语句
对于组装成装配图的零件, 它们之间必然存在着这样或那样关系,如尺寸关系,位置关系等。为了表达这些关系,Pro/Program 引入了该语句。 如
RELATIONS
D1:22=2*P_HOLDER_R
D2:22=0.5P_HOLDER_S
END RELATIONS
③EXECUTE语句
EXECUTE 语句语法只能在装配模式下使用, 在零件
模式下则不能使用。EXECUTE 语句的功能在于为在装配
中的输入变量与零件中的变量或是子装配件中的变量提供
一个连接的桥梁。 在使用 EXECUTE 语句时, 装配件中所
设置的变量, 在想改变的零件文件中一样要有相对应的变
量名称。 因此, 在设置时, 最后都设置相同的变量名称,
如在装配文件的Pro/Program中, 其内容为
INPUT
P_HOLDER_R NUMBER
P_HOLDER_S NUMBER
END INPUT
…………………………………………
RELATIONS
D1:22=2*P_HOLDER_R
D2:22=0.5P_HOLDER_S
END RELATIONS
…………………………………………
EXEXUTE PART BROAD_ONE
取向和织构也属涂层组织结构的范畴。 诚然, 这样的涂层
组织结构为性能的优化提供了保证$。世创的 TiN高结合力
涂层已在钻头、丝锥、合金刀片、冲头和一些精密耐磨零
件中获得成功应用, 寿命提高3~8倍
2.2 用户定义特征(UDF)
用户定义特征(UDF)是族表方法的一种下面一个实例:
图 1 所示的零件将用于创建 UDF,而 UDF 将在图 2 所示的钻孔刹车片中创建。将会分别以 10、11、12 和 13 英寸创建刹车片的实例。这些实例将包含不同的交叉钻孔阵列。
   
图1                     图2
2.  检索 udf.prt,然后单击“工具”>“UDF库...”>“创建” 输入“cross_drills”作为 UDF 名称  单击“单一的”>“完成”,然后在提示“是否包括参照零件?”中选择“是”  选择 DTM1、孔特征和倒角,然后单击“确定”>“完成”>“完成/返回”>“单一”>“完成/返回”对于轴提示,输入“选择刹车片的中心轴”
对于基准提示,输入“选择角度参照平面”对于刹车片前曲面提示,输入“选择交叉钻孔放置曲面”对于外部曲面提示,输入“选择刹车片外部曲面”对于背曲面提示,输入“选择刹车片背曲面”单击“完成/返回”以完成提示的输入
在 UDF 创建对话框中,单击“族表”>“定义”  向族表添加 D223、D221 和 D229,然后如图 3 所示填写族表填写完族表后,在 UDF 创建对话框中单击“确定”以完成 UDF 的创建。
  图3
3.  关闭 udf.prt 窗口,然后检索 rotor.prt
单击“插入”>“用户定义特征...”,选择 cross_drills.gph,然后选择“打开”。在“选取实例”对话框中选择“10_INCH”,然后选择“打开”。在“选项”选项卡中,选择“保持尺寸值”。选择 A_2 作为刹车片的中心轴,选择“顶”作为角度参照平面,选择刹车片前曲面作为放置曲面,选择外部曲面作为刹车片外部曲面,以及选择背曲面作为刹车片背曲面。单击“完成”以完成 UDF 的创建。
通过将组 CROSS_DRILLS 阵列化,并选择零度角以按 60 度角递增创建交叉钻孔的六个实例。带有交叉钻孔的刹车片显示在图 4 中。

图4
2.2 Pro/Program,
Pro/Program, 是Pro/ENGINEER 软件提供的一个可程序化的工具, 它由类似BASIC的高级语言构成的, 每个模型 (包括零件和组件) 都有 Program用户可以根据设计需要来编辑该模型的Program, 使其作为一个程序来工作。通过运行该程序, 系统通过人机交互的方法来控制系统参数,特征出现与否和特征的具体尺寸等。
2.3 J-Link
J-Link 是由PTC 公司提供的基于Java 的开发接口程序由于它是基于Java 的所以也具有了Java 的众多特性如面向对象多线程与平台无关功能强大表达能力强等特性。J-Link 是Pro/ENGINEER 自带的一个开发工具包通过这个接口我们可以开发出一个可以获取Pro/ENGINEER进程中的内部资源的程序同时J-Link 也提供了丰富的库函数可以实现Pro/ENGINEER 菜单的大部分功能。
我们在实践中就用J-Link 提供的函数开发了一个标准零件库系统本系统的开发平台为Pro/ENGINEER2001440 所用的调试工具为JBuilder6.0 jdk1.3.1 数据库系统为Microsoft SQLServer 2000。
在开发之前首先应该设置好系统的path 和CLASSPATH 变量path 变量应包含proe2001下的bin 文件夹和JBuilder6 中jdk1.3.1 下的bin 文件夹CLASSPATH 变量则应包含JBuilder6 提供的工具包如jbcl.jar dt.jar 等与用JBuilder6 开发普通程序不同的是CLASSPATH 中还应包含Pro/ENGINEER 自带的开发工具包如cipjava.jar pfc.jar swingall.jar 等其次应该在JBuilder 里边设置好JDK 使其包含Pro/ENGINEER 自带的几个常用开发工具包如cipjava.jar pfc.jar 和swingall.jar 等
最后应注意J-Link 提供的一个注册文件protk.dat 它是我们所开发的程序与Pro/ENGINEER 之间的一个接口每次我们在JBuilder 里调试好自己的程序并成功的产生了class
文件后就要在protk.dat 文件里注册该class 文件Protk.dat 文件里有如下条目
name InstallTest 指定一个唯一的程序名字
startup java 对于J-Link 来说该项就是java
java_app_class StartInstallTest 包含start 和stop 方法的类名
java_app_start start 指定程序的start 方法也可以用其他名字
java_app_stop stop 指定程序的stop 方法也可以用其他名字但一般用stop
allow_stop true 指定是否允许在一次会话中停止程序
delay_start true 指定是否在启动proE 的同时就启动我们开发的程序
end
2.4基于Pro/TOOLKIT 的二次开发
Pro/Toolkit是Pro/E自带的功能最强大的二次开发工具,它是基于C语言的。Pro/Toolkit能实现与Pro/E的无缝集成,它封装了许多针对Pro/E底层资源调用的库函数与头文件,借助第三方编译环境进行调试。Pro/Toolkit使用面向对象的风格,在Pro/E与应用程序之间通过函数调用来实现数据信息的传输。本文主要介绍基于Pro/Toolkit二次开发的机械零件参数化设计方法与实现过程。
2.4.1Pro/Toolkit二次开发的步骤
使用Pro/Toolkit开发应用程序包含三个步骤:编写源文件、生成可执行文件及Pro/Toolkit应用程序在Pro/E中的注册。
(1)编写源文件
源文件包括三种类型:菜单文件、窗口信息文件和C程序。
(2)生成可执行文件
首先需要制作一个Make-file工程文件,用户可由Pro/E自带的Make-file修改得到。这个文件包含了生成的可执行文件或动态链接库名称、库文件与包含文件的位置、源文件的位置
等信息。Pro/E为应用程序提供两种工作模式:同步模式和异步模式,由于后者使用复杂而很少使用。同步模式又分为Spawn(多进程模式)或dll(动态链接库模式)。根据工作模式不
同,编译时的生成文件也不同。若采用Spawn模式工作,必须将源文件编译生成exe文件;若用dll模式工作,将把源文件生成动态链接库(3)可执行文件在Pro/E中注册并运行要使Pro/Toolkit应用程序在Pro/E中运行,首先要制作一个名为protk.dat的注册文件。它的形式如下:
name <应用程序名称>
startup <工作模式Spawn或dll>
exec-file <生成的可执行文件或动态链接库的位置>
text-dir <菜单文件和窗口信息文件位置>
revison <所使用的Pro/E版本号>
end <结束>
应用程序有两种注册方式:自动注册和手工注册。自动注册是指将注册文件放在指定的目录下,运行Pro/E,此时注册文件中的所有Pro/Toolkit应用程序将被自动注册。手工注册是
指注册文件不在指定目录时,启动Pro/E之后在Utilities菜单下选择Auxiliary Applications...菜单项,然后在对话框中选取Registgter...进行注册。Pro/toolkit应用程序在Pro/E中注册成功后就可以运行了。此时,你所编制的新菜单或新菜单按钮就会出现在菜单中,选中它就能完成你所定义的动作。
2.5基于Automation Gateway的二次开发
Automation GATEWAY最显著的特点是可以用简单易用的VB 建立我们所需要的应用程序,利用这个程序可以控制Pro/ E 模型的建立过程,从而方便地建立适合本单位生产用的二次开发应用程序. Automation GATEWAY 在Visual Basic 和Pro/ E 之间起到桥梁和纽带的作用. 通过Automation GATEWAY, 就可以利用Visual Basic 访问Pro/ E 底层数据库. 借助于Automation GATEWAY,就可以直接利用Visual Basic 对Pro/ E 进行二次开发工作. 由于Automation GATEWAY 是第三方开发的接口程序,它具有不能够访问所有Pro/E 底层资源的缺点. 现在的最高版本的Automation GATEWA Y可以访问Pro/ E 大部分的底层资源文件,而这些资源是我们经常用到的. Visual Basic 语言是一种非常简单易学的语言,使用起来非常方便。

2.5.1关键函数介绍
在Automation GATEWAY中,用于Pro/ E 模型生成和参数设置的函数有ModelRetrieve, SessionSetCurrentModel,ParamSetValue 和ModelRegenerate. 这里做一下简单介绍.
a. ModelRetrieve ( ) 函数的作用是将Pro/ E 模
型调入内存,但并不在Pro/ E 屏幕中显示. 它的函
数原型为:
object.ModelRetrieve(string expression)
其中Object 是所定义的Rand Gateway Automation 对象名称. String expressions 是指向Pro/ E模型的字符串表达式.
b. SessionSetCurrentModel() 函数的作用是将Pro/ E 模型从内存中调出并显示之. 它的函数原型为:
object.SessionSetCurrentModel(model _Name)
其中Object 是所定义的Rand Gateway Automation 对象名称. model_Name 是指向Pro/ E 模型的字符串表达式.
c. ModelRegenerate()函数的作用是完成模型的再生功能,相当于Pro/ E 菜单中的Regenerate 的作用. 其函数原型为:
object.ModelRegenerate
其中Object 是所定义的Rand Gateway Automation 对象名称.
d. ParamSetValue () 函数用于设置Pro/ E 模型
的参数值,其函数原型:
object.ParamSetValue(paramName,paramVal[feat Name ][model Name ])
其中,object 是所建立的Automation Gateway对象名称. ParamName 是必需项, 指的是合法的Pro/ E 参数名称. ParamVal 也是必需项,指的是代表合法的Pro/ E 参数值的字符串变量. feat Name和model Name 都是可选项,指的是所要设定数值的参数所属的特征和模型名称,如果不指定的话,则是指向Pro/ E 系统处于当前激活状态的模型的参数.
2.6基于Pro/TOOLKIT 的二次开发与基于Automation Gateway的二次开发两种方法对比
Pro/TOOLKIT 是Pro/ENGINEER 软件系统自带的二次开发模块,可以直接访问Pro/ENGINEER 软件的最底层数据库资源,它几乎能够访问所有Pro/ENGINEER 的资源,可以说这是进行Pro/ENGINEER 二次开发最根本的方法。但想用Pro/TOOLKIT进行二次开发,需要具有Visual C++或者C语言的编程功底,相对于Visual Basic 语言来说,C 语言是一种比较难学的语言,许多初学者因此望而生畏。对于初学者来说,直接利用Pro/TOOLKIT进行二次开发工作是非常困难的。Automation Gateway可以让我们直接利用Visual Basic 对Pro/ENGINEER 进行二次开发工作。由于Automation Gateway是第三方开发的接口程序,它不具有能够访问所有Pro/ENGINEER 底层资源的优点。现在的最高版本的Automation Gateway可以访问Pro/ENGINEER 中大部分的底层资源文件,而这些资源又是我们经常用到的。Visual Basic语言是一种非常简单易学的语言,使用起来非常方便。所以对于初学者,特别是那些对于C语言一窍不通的用户们,可以利用Visual Basic在Automation Gateway平台,进行Pro/ENGINEER的二次开发工作。
回复 支持 反对

使用道具 举报

4

主题

32

回帖

0

威望

实习生

Rank: 1

积分
39
发表于 2012-1-9 11:08 | 显示全部楼层
领教了,好知识
回复 支持 反对

使用道具 举报

14

主题

202

回帖

0

威望

工程师

Rank: 3Rank: 3

积分
237
QQ
发表于 2012-2-23 13:20 | 显示全部楼层
多谢楼主提供详细内容介绍
回复 支持 反对

使用道具 举报

0

主题

10

回帖

2

威望

实习生

Rank: 1

积分
16
发表于 2012-3-3 20:10 | 显示全部楼层

回复 9# koenigz 的帖子

谢谢分享!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

本站为非营利性站点,部分资源为网友搜集或发布,仅供学习和研究使用,如用于商业用途,请购买正版。站内所发布的资源,如有侵犯你的权益,请联系我们,本站将立即改正或删除。

QQ|手机版|小黑屋|野火论坛(©2007~2024) ( 苏ICP备11036728号-2 )苏公网安备 32039102000103号

GMT+8, 2024-5-7 22:28 , Processed in 0.117475 second(s), 24 queries .

快速回复 返回顶部 返回列表