资源描述:
2 52 机 械 设 计 与 制 造 M a c h i n e r y De s i g nMa nu f a c t u r e 第 1 1 期 2 0 1 2年 1 1月 文章编号 1 0 0 1 3 9 9 7 2 0 1 2 1 1 - 0 2 5 2 0 3 基于 X ML的液压机产品零件的模型表达 王秋红 1 ,2 董玉德 1 . 合肥工业大学 机械与汽车工程学院, 合肥 2 3 0 0 0 9 ; 2 . 安徽机电职业技术学院, 芜湖 2 4 1 0 0 0 Hy d r a u l i c Pr e s s Pa r t s’Mo d e I Ex p r e s s i o n Ba s e d o n XML YH3 0 WA N G Q i u - h o n g 1 , 2 D O N G Y u - d e 1 . T h e S c h o o l o f Me c h a n i c a l a n d Au t o mo t i v e E n g i n e e r i n g , He f e i u n i v e r s i t y o f t e c h n o l o g y , He f e i 2 3 0 0 0 9 , C h i n a ; 2 . A n h u i T e c h n i c a l C o l l e g e o f M e c h a n i c a l a n d E l e c t ri c a l E n g i n e e ri n g , Wu h u 2 4 1 0 0 0 , C h i n a tJ ’d ’ / ’ ’ 十 一 ’ ’ / ,d q t 、e十, / 0 、t 、 ● 、 ‘ 1 、 t q、 t q、 t q、 t 、 ● 1、 l 、 t 、 | 、 t ,d ■ / h● q、 ● 、 0 、 t ,d ’ 【 摘要 】 针对模型数据存储 交互过程中存在的问题 ,采用了通过 X ML的数据 中间存储方法 , 将 液压机的模型的各个特征尺寸存储到 X ML文档 中, 按照预先定义的 XM L S c h e m a X ML S c h e m a D e ft 一 n i t i o n , X S D , 可以较为清晰的表达产品 C A D模型中的各种设计信息。通过这种方式进行数据交换 , 这 种模型保存方式避免 了数据的不一致性 , 传递的数据量很 小, 并且不会在不同平 台之间传递文件 而导 致 出现数据丢失, 数据失真的现象, 为后续的 C AE / C A M分析做 了很好的铺垫。 关键词 X ML ; D OM; 数据交换 ; 液压机 【 A b s t r a c t 】 / n v i e w o f t h e p r o b l e m s o f t h e m o d e l d a t a s t o r a g e i n t h e p r o c e s s of i n t e r a c t i o n , t h e XML d a t a i n t e r m e d i at e s t o r age m e t h o d i s u s e d , a n d t h e h y d r a u l i c p r e s s f o r e a c h m o d e l w i l l b e s t o r e d i n t h e c h a r - a c t e r i s t i c d i m e n s i o n s i n t h e X ML d o c u m e n t , a n d a c c o r d i n g t o t h e p r e d e t e r mi n e d XML S c h e m a XML }S c h e m a D e fin i t i o n , XS D , p r o d u c t s o f v ari o u s k i n d s of C A D mo d e l d e s i g n i n f o r mati o n a r e a r t i c u l at e d . T h e d ata e x c h ang e , t h i s mo d e l ofd ata k e e p t h e w a y t o a v o i d i n c o n s i s t e n c i e s , a n d t h e t r a n s f e r ofd a t a v o l u m e is s ma l l , a n d w i l l n o t a p p e ar d ata l o s s i n t h e d if f e r e n t p l a tf o r m w h e n t r a n s m i t t i n g d o c u me n t s , a n d d ata d i s t o r - t i o n p h e n o me n o n , p r o v i d i n g b a s i s f o r t h e f o l l o w - t t p C A E / C A M a n a l y s i s . } Ke y Wo r d s E x t e n s i o n Ma r k u p L a n g u a g e ; D o c u me n t Ob j e c t Mo d e l ; D a t a E x c h a n g e ; Hy d r a u l i c }Pr e s sBod y 中图分类号 T H1 6 文献标识码 A 1引言 针对协同设计数据交换过程中存在的问题ll l , 通过 Y H3 0 单 柱式液压机的设计 ,采用 了基于 X ML的产品零部件特征数据表 达方式 ,避免了异构 C A D平台间的格式不相容以及协同设计人 员间的语义鸿沟问题。利用 S o l i d w o r k s A P I自动获取零件模型的 特征尺寸,再用高级编程语言 D e l p h i 7 .0调用 D O M来创建 X ML 文档, 通过访问节点中关键特征尺寸数据, 实现模型的自动生成, 从而为协同设计做了很好的铺垫和技术支持。 2 X M L 可扩展标记语言 E x t e n s i b l e M a r k u p L a n g u a g e 可扩展标记语言 e X t e n s i b l e M a r k u p L a n g u a g e , X ML 是网络 上的一种通用数据格式,由互联网联合组织 Wo r l d - w i d e We b C o n s o r t i u m, W3 C 从 1 9 9 6年开始设计, 并于 1 9 9 8 年 2月正式成 为标准 。X ML源 自于一种成熟 的标 准通用标记语言 S G ML S t a n d a r d G e n e r a l i z e d Ma r k u p Lan g u a g e , 它继 承了 S G ML的结构 化、 可扩展性和平台无关 l生 等优点, 同时坚持简单性的宗旨, 使得 X M L成为 I n t e r n e t 环境下信息描述与交换的新一代标准。X ML 提供了制定通信协议的标准框架, 它允许和鼓励人们共同研究常 见的数据交换问题, 对该问题提出开放的解决方案, 不依赖任何 软件供应商, 不用绑定任何特定工具, 没有语言限制翻 。 ★来稿 日期 2 0 1 2 0 l 一 2 4 3基于 X ML的液压机模型的表达 现代设计制造的新趋势是并行化和协同化,而并行和协同 的基础是产品信息的共享与集成囱 。要想实现设计制造的并行化 和协同化, 首先要解决异构产品数据信息的集成问题, 提供产品 信息的统一描述的规范, 在 C A D / C A E / C A M系统之间的信息流的 交换。目前, 进行产品数据信息集成主要采用基于 S T E P 标准, 但 这种实现方法同样也存在着不足 。按照三维软件画图的原则, 采用基于特征的零件模型数据管理, 预先定义 X S D文档, 为零件 信息的存储订立规范, 如下面的 X M L文本, 分别描述的是 Y H3 0 型液压机上机身底板和机身连接板两个简单的零件, 零件图见 图 1和图 2 , 图中标示了绘制这个零件关键尺寸代号, 其相对应 的见下面的X ML代码 。 ● / ● l l 、 Dl 8 Fe a t u r e _P a r a me t e r X MLS c h e m a 文档, 如图 2 所示。其中, P a r t 代表零件的模型 信息, P a r t N a m e表达零件的名称, P a r a m e t e r 表达零件关键尺寸 , 基于零件的表面特征进行关键尺寸的存储, F e a t u r e 表达零件的 特征, F e a t u r e N a me 表示零件的特征名, D i m D a t a表达尺寸。 图 3零件信息 X S D的定义 Fi g .3 Th e De f i n i t i o n o f t h e Co mp o n e n t s I n f o r ma t i o n XSD 4系统开发的关键技术 系统利用 D O M来解析、 创建 X ML , 在 D e l p h i 的二次开发平 台下 , 通过 S o l i d w o r k s A P I 进行二次开发, 实现模型的数据保存。 S o l i d Wo r k s 提供了几百个 A P I A p p l i c a t i o n P r o g r a m I n t e r f a c e 应用 程序接口 函数, 这些 A P I 函数是 S o l i d Wo r k s 的 O L E O b j e c t L i n k E m b e d d i n g 对象的嵌入与链接 或 c O M c o m p o n e n t O b j e c t Mo d e l 组件对象模 型 接 口 。 程序设计流程。开发的过程按照 以下三个 步骤来进行 , 如图 4所示。 2 5 4 No. 1 1 机 械 设 计 与 制 造 N o v . 2 0 1 2 图 4程序设计流程 F i g .4 P r o g r a m De s i g n Fl o w 1 首先要判断 X ML文档是否存在, 如果不存在就需要重 新创建 X ML文档, 如果存在且数据发生改变将数据添加进去, 从 而将所有设计的尺寸都记录在 X ML中。 2 读取存储在 X ML文 档节点中的零件关键特征 尺寸 。 3 通过 d e l p h i 调用 S d i d Wo s 二次开发A P I 函数来重新建模。 4 . 1 自动建立 X ML文档 Va r Xml DO C I XML DOMDo c u me n t 2 ; 加载数据 Xml Do c Co DOMDo c u me n t 5 0 . Cr e a t e ; Xm l Do c .1 o a d p a r t 1 .x ml t i t l e ; / / 如果没有建立根节点则新建一个文件 i f n o t a s s i g n e d P a r e n t N o d e t h e n b e g i n / / 力 Ⅱ 入版本信息 x m l d o c .A p p e n d C h i l d Xm l D o c . “v e r s i o n ” 1 . 0 ” e n c o d i n g ” G B 2 3 1 2 ” 腱 立根节点 P a r t o n x ml x m l d o c .A p p e n d C h i l d X m l D o c .C r e a t e E l e me n t “ P a r t ; 4 . 2 自动获取零件图的设计尺寸 F e a t u r e G e t F i rs t D i s p l a y D i m e n s i o n 方 法 通 过 返 回 第 一 个 D i s p l a y Di m e n s i o n 对象 , 提供访问该特征的尺寸的方法。 D i s p l a y D i m e n s i o n G e t D i m m e n s i o n 方法获得用于生成显示尺寸的模 型尺寸 。 D i me n s i o n v a l u e 属性获得或设置 当前尺寸值 。返回值是用 户单位 , 它是从生成尺寸的文件中获得的。 F e a t u r e G e t N e x t D i s p l a y D i m e n s i o n方法 获得 与 特征 有关 的 下一 个 Di s a y D i me n s i o n对象o 4 . 3创建文档节点, 添加属性 , 添加节点内容。 b E l e m e n t I X ML D OME l e me n t a E l e me n t . a p p e n d C h i l d x ml d o c . C r e a - t e E 1 e me n t ‘ 子节点名称 ’ ; 这个 函数用于创建文档节点。 b E 1 e m e n t -s e t A t t r i b u t e ‘ 属性名称’ , 属性内容 ; 在节点中添加属性。 b E l e m e n t . A p p e n d c h i l d x m l d 0 c . C r e a t e T e x t N o d e ‘ 节点内容 ’ ; b E l e me n t I XML D 0 ME l e m e n t a E l e m e n t .a p p e n d C h i l d x ml d 0 c . C r e a t e E l e me n t 节点名 ; 通过指针将父节点的父节点传递给父节点 4 . 4 X ML文档的验证 当建立好 X M L文档后, 需要对建立的X ML文档与预先定 义的 X S D文档进行比较验证 , 若验证错误则返回错误原因并要 求重新建立文档, 关键代码如下 肋Ⅱ 载数据 Xml Do c Co DOMDo c u me n t 5 0 . C r e a t e; ~ Xml Do c . a s y n c F a l s e ; X m l D 0 c .1 0 a d x m l T i t l e / / X M L T i t l e 为待装载的X M L 文档 / / 力 口 载 s c h e ma 架构文档 S c h e ma Do c Co DOMDo c u me n t 5 0 .Cr e a t e ; S c h e ma Do c .a s y n c F a l s e; S c h e m a D o c . 1 0 a d x s d T i t l e ; / / X ML T i t l e为待装载的 X S D文档 / / 注册架构缓存 S c h e ma Ca c h e Co XML Sc h e ma Ca c h e 5 0 . C r e a t e ; / / 分配架构缓存到 X ML文档 Xn d Do c . s c h e ma s s c h e ma c a c h e ; , / 验证和报告 Er r o r S c h e ma Do c . v a l i d a t e ; i f Er r o r .e r r o r Co d eS _OK t h e n b e g i n r e s u l t -- f a l s e ; s h o w me s s a g e E r r o r . r e a s o n ; e n d e l s e b e g i n r e s u l t t r u e; s h o wm e s s a g e ‘ 验证成功’ ; e n d; 5总结 利用 XM L作为 中间数据存储介质 , 通过 S o l i d w o r k s A P I 提 供的二次开发函数将零件的关键技术信息存储起来,实现了 X ML代码的自动创建与更新, 为后续的协同设计 、 并行设计等奠 定 了基础 。 参考文献 [ 1 ] 宁汝新 , 赵汝嘉 , 欧宗瑛. C AD / C AM技术[ M] . 北京 机械工业出版社 , 2 0 0 0 7 1 5 . [ 2 ] I S O T C 1 8 4/ S C 4 . I S O / WD 2 8 , X ML r e p r e s e n t a t i o n o f E x P R E S S d r i v e n d a t a [ S J . I S 0 1 0 3 0 3 E d i t i n g C o m m i t t e e , 2 0 0 0 . ‘ ~ [ 3 ] 李海庆. 协同产品开发的可视化技术与信息管理系统研究[ D ] . 成都 四 川大学 , 2 7 4 7 1 7 3 . [ 4 ] 李荷华 , 刘杰.XML及 S T E P标 准在 流程工业 信息集成中的应用研究 [ J ] . 计算机应用, 2 0 0 4 6 1 4 5 1 4 7 . [ 5 ] 桓永兴. 敏捷企业智能工艺信息系统关键技术研究[ D ] . 西安西北工业 大学 , 2 0 0 2 . 4 5 [ 6 ] 江洪, 魏峥, 王涛威.S o l i d Wo r k s 二次开发实例解析[ M] . 北京 机械工 业出版社 , 2 0 0 4 9 5 1 0 6 .
展开阅读全文