基于Pro/E的机床夹具标准件参数化设计.pdf
机械设计 与制造 一1 2 2一 Ma c h i n e r y De s i g n Ma n u f a c t u r e 第 5期 2 0 0 5年 5月 文革 编号 1 0 0 13 9 9 7 2 0 0 5 J 0 50 1 2 2 0 2 基 于 P r o / E 的 讥 床 夹 具 标 准 件 参 数 丫 匕 设 计 钟建琳 陈 军 李永安孙松涛杨红昌 北京机械工业学院机械 系, 北京 1 0 0 0 8 5 Par a me t r i c de s i g n i n g o f s t an d a dr d p a r t s i n f i x t u r e s o f ma c h i n e t o o l s b a s e d o n PR0/E Z HONG J i a nl i n,C HEN J u n,L I Yo n ga n,S UN S o n gt a o,YANG Ho n gc h a n g M e c h a n i c a l D e p a r t m e n t o f B e ij i n g I n s t it u t e o f Ma c h i n e ry, B e ij i n g 1 0 0 0 8 5 , C h i n a b口 回回口 £ E 自 囿酣口 b日口 印明酗 自b 口b 口哑日日 E _ d口 L j 司 团印围即日日b L 即印丘 0嘲口 b 目印圃 L b 拍 E b口 日回【 1目日 d 品印 口乜目 司 ; 【 摘要】 针对机床夹具设计时标准件的重复建模, 提出了基于P r o / E二次开发的夹具标; 隹 件三维 l 模型自动生成的方法。用户输入标准件的相关参数后, 即可获得系统自动生成的三维模型, 提高设计 效率。 关键词 夹具标准件 P r o / T o o l k i t 参数化设计 【 A b s t r a c t 】 A m e t h o d o f a u t o m a t i c g e n e r a t io n o f s t a n d a r d p a r ts i n fi x t u r e s b a s e d o n t h e P r o / E s y s te m i s d e v e l o p e d f o r a v o id i n g t h e r e p e t it i v e w o r k .T h e u s e r c a r l, g e t t h e 3 D m o d e l t h a t is a u t o m a t i c a l ly g e ner a t e d b y t h e s y s t e m a f t e r h e o r s h e in p u t s t h e r e l a t i v e p a r a met e r s oft h e s t a nda r d p a r t .T hen ,t h e ef fic i e n c y oft he d e s i g n i s i mp r o v e d . Ke y wo r d s S t a n d a r d p a r t s o f fix t u r e;Pr o /To o l k i t ;P a r a m e t r i c d e s i g n 。 .口 。 。 。 中图分类号 T G 7 5 ; 3 9 1 . 7 2 文献标识码 A 机床夹具设计中会使用到许多标准件, 不断重复地创建标 准件既枯燥又繁琐【 1 】 。如果能创建一个机床夹具标准件库 , 设 计人员在需要某一标准件时 ,只要输入所需的相关参数 ,就能 自动创建该标准件的三维模型,这样 ,将设计人员从繁琐的重 复性劳动中解脱出来 ,将主要精力放在创新设计及构思上 ,设 计出更好 的夹具 , 并能提高设计效率。本着这一思路 , 我们利用 P r o / E软件开发机床夹具的标准件库。参数化是建立标准件库 的基础。P r o / E是美国参数技术公司 P T C 开发的功能强大的 C A D / C A M软件 , 目前 已广泛应用于机械、 汽车、 轻工 、 家电、 航 空航天和船舶等领域。该软件以尺寸驱动、 基于特征、 单一全关 联的数据库等优点得到广泛应用。 1 总体方案规划 P r o / E提供有多种二次开发工具, 如 族表 F a m i l y T a b l e 、 用户定义特征 U s e r D e fi n e d F e a t u r e 、P r o / P r o g r a m 、J L i n k 、 P r o / T o o l k i t 等。 其 中,通过族表可以方便地管理具有相同或相近结构的零 件,特别适用于标准零件的管理 。族表通过建立通用零件为父 零件, 然后在其基础上对各参数加以控制生成派生零件。整个 族表通过电子表格来管理 , 所 以又被称为表格驱动。用户定义 特征是将若干个系统特征融合为一个 自定义特征 ,使用时作为 一 个整体出现。 系统将用户定义特征以 . g p h 文件保存。 用户定 义特征适用于特定产品中的特定结构,有利于设计者根据产品 特征快速生成几何模型 。 P m/ E软件对于每个模型都有一个主要设计步骤和参数列 表一P r o / P r o g r a m。它是由类似 B A S I C的高级语言构成的 , 用户 可以根据设计需要来编辑该模型的程序 ,系统运行该程序后 , ★来稿 13期 2 0 0 4 0 9 1 6 通过人机交互的方法来控制系统参数 、 特征出现与否、 特征的具 体尺寸等。 J L i n k是 P r o / E中自带的基于 J A V A语言的二次开 发工具。用户通过 J A V A编程实现在 P r o / E中添加功能。 P r o / T o o l k i t 是 P r o / E自带的开发工具包 , l 7 版本及其之前 版本为 P r o / D e v e l o p , 1 8版本起为 P r o / T ool k i t 。P r o / T ool k i t 支持 在 Wi n d o w s 2 0 0 0 / N T / X P 操作系统中使用 C和C 语言设计 程序, 采用 M i c r o s o ft V i s u a l C 作为编译器和连接器, 并可以 在其集成环境下完成程序的设计、修改和编译。其主要目的是 让用户或第三方通过 C程序代码扩充 P r o / E系统的功能, 开发 基于 P r o / E系统 的应用程序模块 , 从而满足用户的特殊要求。 另外 ,还 可以利用 P r o / T ool k i t 提供 的 u I 对话框 、菜单以及 V C 的可视化界面技术,设计 出方便实用的人机交互界面 , 从而大大提高系统 的使用效率。P r o / T ool k i t 工具包提供 了开发 P r o / E所需的函数库文件和头文件 , 这样 , 用户编写的应用程序 能够安全地控制和访问 P m/ E , 并能实现应用程序模块与 P r o / E的无缝集成。 经过分析, 我们决定利用 P r o / T ool k i t 工具包进行二次开发, 并结合族表、 用户定义特征和 P ro/ P ro g r a m功能建立机床夹具的 标准件库。 首先用 P r o / E建立各标准件的基本模型 , 根据各标准 件的特征, 利用族表或用户定义特征进行管理 , 并利用 P r o / P r o - g r a m实现参数值的传递及各参数间的约束; 然后用 V C 创建 P r o / T ool k i t 应用程序基本框架 , 并设计好用户交互界面 之后通 过数据库管理并查询标准件的相关数据 ,并将 V C 与数据库 相连接 ; 再利用 P r o / T ool k i t 实现 P r o / E与 V C的对接, P r o / E系 统、P r o / T o o l k i t 应用程序与 V C 应用程序的通信方式是接口 实现的关键之一, 我们采用动态链接库 D L L 方式实现三者之间 维普资讯 第 5期 钟建琳等 基于 P r o / E的机床夹具标准件参数化设计 一1 2 3 一 的通信。因为通信是通过直接的函数调用实现的, 所以执行速度 快 , 兼容性好。 P r o / T o o l k i t 使用面向对象的风格, 在 P m / E与应用 程序之间通过函数调用来实现数据信息的传输。系统根据用户 输入的条件查询所需的数据 , 通过在 P m/ E中修改相关的数据 。 实现夹具标准件 自动建模的目的。 2三维参数化设计的关键技术 使用 P ro/ T o o l k i t 开发机床夹具标准件库 主要包括三个部 分 在 P m/ E下建立标准件的基本模型、人机交互界面设计和 数据库设计。此三部分相对独立 ,各 自使用定义好的接 E l 进行 交互 。每一部分的改变 。 只要没有影响接 E l , 就可以不去改变整 个系统 。 之后 , 生成可执行文件 。 将可执行文件在 P m/ E中注册 并运行 , 用户即可使用该标准件库。 2 . 1建立标准件的基本模型 在建立标准件的三维基本模型时。 应注意对于重复性高 、 相 似性大的标准件 , 不需要对每个类型都建立一个模型。 而可以使 用一个原始样本零件 G e n e r i c p a r t 及一个族表 , 即可代表无数 个零件。任何时候 。 只要调出族表内任一个零件的名称, 即可自 动产生一个照族表所示尺寸比例的零件 。族表是本质上相似的 零件 或组件 、 特征 的集合 。 但在一两个方面稍有不同。 诸如大小 或详细特征。使用族表可以从零件文件中生成各种零件 , 而无需 重新构造。可以对零件产生细小的变化而无需用关系改变模型, 产生可以存储到打印文件并包含在零件 目录中的零件表, 还可以 节省文件保存所需的硬盘空间【 2 ] 。 2 . 2人机交互界面设计 人机交互界面设计主要包括菜单和对话框的设计。 2 . 2 . 1菜单的设计 利用 P ro/ T o o l k i t 可以在 P m/ E中添加以下两种菜单 一种 是 向 P r o / E的菜单栏中添加菜单条,菜单条是 P r o / E菜单体系 的最顶层菜单 ; 另一种是向菜单管理器中添加模式菜单, 所添加 的模式菜单文件分为完整模式菜单 以 m n u 为后缀名和辅助 模式 菜单 以 a u x为后缀名 【 3 ] 。 完整模式菜单是指独立于 P r o / E原有模式菜单 。 并且具有完整结构的菜单 。 辅助模式菜单是指 在 P m/ E原有模式菜单中添加 的菜单按钮 。该按钮的名称不能 与 P m/ E中的模式菜单按钮同名 , 它是对原有 P r o / E模式菜单 的补充。 模式菜单是 P m/ E系统所具有的不同于菜单条的另一 种菜单体系结构, 在 P r o / E Wi l d f i r e 版之前使用比较广泛, 而在 P m/ E Wi l d f i r e 版中大部分菜单管理器中的菜单项已由工具图 标所取代。为便于操作, 我们采用第一种方法, 即向P r o / E的菜 单栏中添加菜单条。 创建 菜单 条的方法是直接调用 P r o m e n u b a r A d d 函数 向 P r o / E添加所需的菜单 , 同时建立新建菜单的信息文件。 创建函数的原型为 P r o E r r o r P r o Me n u b a r Me n u A d d P r o Me n u he mNa me me n u _n a m e /★菜单项名★/ Pr o Me nu l t e ml b e l u n t r a ns l a t e d _m e n u J a b e l / ★该 菜单 条 的关 键 字 ★/P r r , M e n u h e r n N a m e n e l g h b r / ★ 楣邻菜单名★/ Pr o B o o l e a n a dd __a f t e r. .p e i g h b o r / ★ 设置所添加菜单条的位置★/ P r o F i l e N a m e fi l e n a m e /★ 菜单信息文件名★/ 信息文件是一种A S C I I 码文件, 用来定义菜单项、 菜单项提 示等信息, 可以用 wo r d 、 记事本和写字板等文字处理软件建立, 也可以在 V C 的集成开发环境 中建立 , 但必须以纯文本格式 保存。 在信息文件中以 4 行为一组 , 其中, 第 1 行 P m/ E系统可 以识别的关键字。该关键字必须与使用该信息文件函数中的相 关字符串相同。 第 2 行 在菜单项或菜单项提示上显示的字母文 本。第 3 行 另一种语言的译文, 也可以为空。第 4 行 当前的 P m/ E版本 , 也可以为空。 如在初始化函数 u s e r j n i t i a l i z e 中增加以下代码 P mEr r o r s ta t u s PRO_ T K _NO_ ERROR; P r o F i l e Na me Ms g F i l e ; P r o S t r l n g T o Ws t r l n g Ms g F i l e , “ T K Me s s a g e . t x t ; u i C m d C md l d L o c P i n P u s h B u t t o n _ c md j d ,L o c K e y P u s h B u t t o n _ c md j d , VB l o c k P u s h B u t t o n _ c md _ i d ,H a n d L o c P u s h B u t t o n _ c m d jd ; P mMe n u b a r M e n u Ad d S t d P a r t L i b Me n u B a r “ , Ma i n Me n u , U t i l i t i e s . P R O _ B _ T R U E ,M s g F i l e ; 在信息文件中加入如下菜单条信息 Ma i n Me n u S t d Pa r t L i b 标准件库 群 这样就实现了在 P m/ E菜单栏中添加一个位于 “ 工具”菜 单右侧 的 “ 标 准件库”菜单 。可以按类似方法用 P r o m e n u b a r - m e n u M e n u A d d 函数向该菜单条下添加下拉式子菜单 。 菜单文件除包含用户定义 的菜单内容外 。还应有相应的菜 单动作。可以调用 P r o / T o o l k i t 本身的 P r o M e n u b a r m e n u P u s h b u t . t o n A d d 函数来设定菜单的响应动作。 接下来 , 需要制作一个 M a k e fi l e 工程文件 , 用户可由 P m/ E 自带的M a k e fi l e 修改得到。这个文件包含了生成的可执行文件 或动态链接库名称 。 库文件与包含文件的位置 , 源文件的位置等 信息。 P m/ E为应用程序提供两种工作模式同步模式和异步模 式, 由于后者使用复杂而很少使用。前者又分为 S p a w n 多进程 模式 或d l l 动态链接库模式 。 根据工作模式不同。 编译时的生 成文件也不同。 若采用多进程模式工作 , 必须将源文件编译生成 e X e 文件 ; 若用动态链接库模式工作, 将把源文件生成动态链接库。在此 , 我们采用动态链接库模式 ,在 V C 下编译调试该动态链接 库, 生成 P r o / T o o l k i t 应用程序 。 在 P m / E中运行P ro/ T o o l k i t 应用程序, 必须先进行注册。首 先要有注册文件, 其作用是向P r o / E系统传递应用程序的信息。 应用程序有两种注册方式自动注册和手工注册。自动注 册是指将注册文件以 p r o t k . d a t 名保存并放在指定的目录下 例 如 P m/ E的启动目录运行 P r o / E ,这样 。注册文件中的 P r o / T o o l k i t 应用程序将被自动注册。手工注册是指注册文件不在指 定 目录时, 启动 P m/ E之后在 “ 工具” 下选择 “ 辅助应用程序” 选 维普资讯 一l 2 4一 机 械 设 计 与 制 造 No . 5 Ma v , 2 0 0 5 项 , 然后在弹出的对话框中选取 “ 注册” 按钮注册该应用程序。 注册成功后选择 “ 启动” 按钮即可运行该应用程序。此时, 所编 制的新菜单就会出现在菜单栏中,选 中其中的选项就能执行相 应的动作。 2 . 2 . 2对话框 文件的设计 有两种不同的对话框设计方法 一种是利用 P r o / T o o l k i t 提 供的 u I 对话框技术 , 设计出与 P r o / E系统具有相同风格的对话 框 ; 另一种是在 V C中采用 MF C Mi c r o s o f t F o u n d a t i o n C l a s s 技术来设计对话框。 其 中 u I 对话框的设计思路和方法与 A u t o C A D的 D C L对话 框类似 ,主要由对话框资源文件 和相应的控制程序两大部分构 成 。 对话框资源文件的功能相当于 A u t o C AD的对话框控制语言 D C L ,用 A S C I I 码文本格式编写 ,其 内容定义了对话框的组 成、 外观和属性。 控制程序相当于 A u t o C A D的 D C L驱动程序 , 用 c或 c 语言编写, 用来在 P r o / E环境装入对话框资源 、 显示 对话框 、 设置动作和退出对话框等。 u I 对话框设计方法的优点是可以充分利用 P r o / T o o l k i t 提供 的 u I 对话框操作函数和 P r o / E资源,设计出与 P r o / E界面风格 相一致的人机交互界面。不足之处是用文本文件的形式定义对话 框不能直观地反映界面的布局, 设计、 修改和调试都比较困难。 MF C是 V C的一个重要软件资源 ,为开发 Wi n d o w s 应 用程序提供了强大的支持。使用 MF C可以充分利用 V C开 发环境提供的先进技术 和工具 , 实现程序界面的可视化设计。 与 u I 对话框相比, 使用 M F C的对话框界面布局上更为容易, 修改 和调试更为方便 。如图 1 所示为用 M F C技术设计的对话框。 图 1用 MF C技术设计的对话框 Fi g . 1 Di a l o g b o x d e s i g n e d wi t h MF C t e c h n o l o g y 2 . 3数据库设计 在机床夹具标准件建库的过程 中,各个标准件的标准参数 值各不一样, 因此 , 需要有一个统一管理 的模块对参数值进行管 理 。通过对标准件的分析 ,发现各个标准件之间的联系并不是 很紧密 , 也就是说 , 各个标准件的参数值并无共有部分。因此, 要为每一个标准件建立一 张参数表 ,然后在数据库 中集中管 理。这是一个并不复杂的数据库 ,不需要很复杂的软件就可以 实现。 因此采用 M i c r o s o f t A c c e s s 作为数据库 的设计与管理软件, 并在 V C中采用 O D B C方式访 问数据库 。 O D B C是微软公司 开放服务体系结构 WO S A ,Wi n d o w s O p e n S e r v i c e s A r c h i t e c t u r e 中有关数据库的一个组成部分 , 它建立了一组规范 , 并提供 了一 组对 数据库访 问的标 准 A P I 应用程 序编程接 口 。一个基 于 O D B C的应用程序对数据库的操作不依赖于任何 D B M S , 所有的 数据库 操作 由对 应 的 D B M S的 O D B C驱动程序完成 。 M F C O D B C类 对 较 复杂 的 OD B C A P I 进行了封装 ,提 供的 是简化的调用接 口,因而大大方 便 了数据库应用程序的开发。 要建立与数据源的连接 ,首 先 应构造 一个 C D a t a b a s e对象 , 然 后再 调 用 C D a t a b a s e的 O p e n 成员函数。要从一个数据源中脱 离 , 可调用函数 C l o s e 。 在脱离后 , 图 2手拉式定位器 F i g . 2 L o e a l i z e r p u l l e d b y h a n d 可以再次调用 Op e n来建立一个新的连接。调用 I s O p e n可判断 当前是否有一个连接 ,调用 G e t C o n n e c t 可返回当前的连接字符 串 。C D a t a b a s e的析 构 函数会 调 用 C l o s e ,所 以只要 删 除 了 C D a t a b a s e对象就可以与数据源脱离。C R e c o r d s e t 类是 MF C的 O D B C类中最重要 、功能最强大的类 ,它负责查询和存取数据 库 , 封装了大量操作数据库的函数。 在 M F C中, 查询得到的记录 或对象的集合称为记录集 , 也就是 R e c o r d s e t 。要建立记录集, 首 先要构造一个 C R e c o r d s e t 派生类对象, 然后调用 O p e n 成员函数 查询数据源中的记录并建立记录集 。记录集的类型分为动态集 d y n a s e t 和快照 s n a p s h o t 两种。动态集提供了数据的动态视图; 而快照则提供了数据的静态视图。 建立记录集后 ,可以随时调用 R e q u e r y成员函数来重新查 询和建立记录集。R e q u e r y 有两个重要用途 使记录集能反映用 户对数据源的改变 ;按照新的过滤或排序方法查询记录并重新 建立记录集。在调用 R e q u e r y之前 , 可调用 C a n R e s t a r t 来判断记 录集是 否支持 R e q u e r y 操 作 。由于 R e q u e r y只能在 成功调用 O p e n后调用 ,所 以程序应调用 I s Op e n来判断记录集是否已建 立。在打开一个记录集后 , 可以通过调用 Mo v e N e x t 、 Mo v e P r e v来 实现记录集的滚动。查询后一个记录或前一个记录。另外 , 调用 C l o s e 可以关闭记录集。在调用了 C l o s e函数后 ,可以再次调用 O p e n建立新的记 录集。C R e c o r d s e t 的析构函数会调用 C l o s e函 数 , 所以当删除 C R e c o r d s e t 对象时记录集也随之关闭。 这样 ,便可实现用户界面应用程序与数据库之间的数据通 信 , 即 V C与 M i c r o s o f t A c c e s s 数据库之间的数据通信 。 3结论 通过在 P r o / E下进行二次开发建立机床夹具标准件库 ,当 夹具设计人员在要用到相关标准件时 ,只需在对话框中输入相 关参数 , 选取所需类型, 即可 自动生成该标准件 的三维模型 , 如 图 3 所示即为 自动生成的手拉式定位器 , 从而提高了工作效率 , 摆脱了重复劳动 ,缩短了夹具设计周期。该二次开发方法同样 适用于在 P r 0 / E下开发其它标准件库 。 参考文献 1东北重型机械学院, 洛阳工学院。 第一汽车制造厂职工大学 .机床夹 具设计手册 .上海上海科学技术 出版社, 1 9 8 8 . 2钟建琳 .P ro/ E n g i n e e r 典型机械设计 .北京机械工业 出版社 , 2 0 0 2 . 3李世国 .P r o / T O O L K I T程序设计 .北京机械工业出版社 , 2 0 0 3 . 维普资讯