




已阅读5页,还剩98页未读, 继续免费阅读
(机械设计及理论专业论文)基于solidworks的机构分析系统研究与开发.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西华大学硕士研究生学位论文 摘要 基于s o l i d w o r k s 的机构分析系统研究与开发 机械设计及理论专业 研究生阳程指导教师戴跃洪教授 随着计算机技术的发展,运用计算机进行机构分析和仿真已成为现代机 构学研究中种重要的手段,它在可行性论证、工程设计和寻求最佳方案等 方面发挥着重要作用。目前,机构分析和仿真的研究已经向三维参数化实体 方向发展。 7 本文在研究了机构结构识别和智能分解的基础上,以甜语言作为开发 工具,采用基于杆组的运动分析和动力分析方法,在s o l i d w o r k s 平台上开发 了一个机构分析与仿真软件。实现了机构的三维参数化建模、机构分析和仿 真的自动化。 本论文取得的主要研究进展如下: l 开发了基于s o l i d w o r k s 的常用构件的参数化模板库,简化了机构实体 建模的过程,并能根据连接构件的运动副类型,对机构模型进行装配; 2 研究了机构结构识别和智能分解的策略与算法。实现了s o l i d w o r k s 装 配体模型特征信息的提取,模型结构识别和分解的高度自动化; 3 采用基于杆组的分析方法,开发了基于s o l i d w o r k s 的三维机构分析系 统。能对在s o l i d w o r k s 中所构建的三维机构模型进行运动学和动力学分析; 4 研究了在s o l i d w o r k s 环境中对机构仿真的原理和方法,实现了在 s o l i d o w r k s 中利用仿真进行机构模型干涉检查和运动分析结果的仿真模拟。 关键词;机构,运动学,动力学,仿真,s o l i d w o r k s 。 西华大学硕士研究生学位论文 t h er e s e a r c ha n dd e v e l o p m e n to fm e c h a n i s m a n a l y s i ss y s t e mb a s e d o ns o l i d w o r k s a b s t r a c t s p e c i a l i t y :m e c h a n i c a ld e s i g na n dt h e o r y p r e s e n t e db y :y a n gc h e n g s u p e r v i s e db y :d a iy u e h o n g ( p r o f e s s o r ) w i t ht h ed e v e l o p m e n to fc o m p u t e rt e c h n o l o g y , c o m p u t e ra n a l y s i sa n d s i m u l a t i o nh a v ea l r e a d yb e c o m ei m p o r t a n tw a y so fm o d e mm e c h a n i s mr e s e a r c h a n dp l a yi m p o r t a n tr o l e si nf e a s i b i l i t yv e r i f i c a t i o n , e n g i n e e r i n gd e s i g na n d p r e f e r r e dp l a ns e l e c t i o n t h er e s e a r c ho nm e c h a n i c a la n a l y s i sa n ds i m u l a t i o nh a s t h et e n d e n c yo f t h r e e - d i m e n s i o n a lp a r a m e t r i ce n t i t i e sm o d e l i n ga tp r e s e n t o nt h eb a s i so ft h er e s e a r c h e so i lm e c h a n i c a ls t r u c t u r er e c o g n i t i o na n d i n t e l l i g e n td e c o m p o s i t i o n , as y s t e mo fm e c h a n i c a la n a l y s i sa n ds i m u l a t i o no nt h e s o l i d w o r k sp l a t f o r mi sd e v e l o p e dw i t hc 稃b a s e do nt h ea s s u rg r o u p t h e a u t o m a t i o n so ft h r e e - d i m e n s i o n a lp a r a m e t r i cm e c h a n i s mm o d e l i n g , m e c h a n i c a l a n a l y s i sa n ds i m u l a t i o na r ei m p l e m e n t e di nt h ec u r r e n ts t u d y t h et h e s i s sm a j o r p r o g r e s si sa sf o l l o w i n g : 1at e m p l a t eo fc o m p o n e n mi sd e v e l o p e db a s e do ns o l i d w o r k sw h i c h s i m p l i f i e st h em e c h a n i c a ls o l i dm o d e l i n gp r o c e s s t h ea s s e m b l yo fm e c h a n i c a l m o d e l i n gi sa l s oa c h i e v e db a s e do nt h ej o i n tt y p eo f t h ec o n n e c t r o d 2s t u d i e st h es t r a t e g ya n da l g o r i t h r ao fm e c h a n i c a ls t r u c t u r ei d e n t i f i c a t i o n a n di n t e l l e c t u a ld e c o m p o s t i o n i tb r i n g sa b o u tt h eh i g h l ya u t o m a t i o no ft h e i 西华大学硕士研究生学位论文 e x t r a c t i o no ft h em o d e lf e a t u r ei n f o r m a t i o nf r o mt h ea s s e m b l yd o c u m e n ta n do f t h em o d e ls t r u c t u r ei n d e n t i f i c a t i o na n dd e c o m p o s i t i o na sw e l l 3b a s e do nt h ea s s u rg r o u pa n a l y s i sm e t h o d aa n a l y t i es y s t e mo f 3 d e n t i t y m o d e lo fm e c h a n i s mu n d e rt h ee n v i r o n m e n t6 fs o l i d w o r k si sd e v e l o p e d , a n d t h ei ig r a d ea s s u rg r o u pa n dmg r a d eg r o u p ( r r - r r - m 1 ) 3 de n t i t ym o d e lo f m e c h a n i s mw h i c ha l ee s t a b l i s h e di ns o l i d w o r k sc a l lb ea n a l y z e di nt h es y s t e m 41 1 1 ep r i n e i p l e sa n dm e t h o d so fm e c h a n i s ms i m u l a t i o nu n d e rs o l i d w o r k si s s t u d i e d t h e r e b y , t h em e c h a n i c a lm o d e li n t e r f e r e n c ed e t e c t i o na n dt h er e s u l t so f k i n e m a t i ca n a l y s i sa r es i m u l a t e db ye m p l o y i n gs i m u l a t i o nu n d e rs o l i d w o r k s k e yw o r d s :m e c h a n i s m , k i n e m a t i c s ,d y n a m i c s , s i m u l a t i o n , s o l i d w o r k s i v 西华大学硕士研究生学位论文 声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研 究成果。除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得西华大学或其他教育机构的学位或证书而 使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了 明确的说明并表示谢意i 本学位论文成果是本人在西华大学读书期间在导师指导下取得的,论文成果 归西华大学所有,特此声明。 作者签名:阳程吖年月,日 导师躲觑哆孵占月厂日 西华大学硕士研究生学位论文 1 绪论 1 1 机构分析仿真系统概述 1 1 1 机构分析仿真的概念和作用 计算机技术的迅速发展为机械行业的设计制造领域带来革命性的变化。在机 构学领域,机构分析仿真系统成为研究机构学的重要工具。作为机械系统计算机 辅助设计制造工程的重要支撑软件,日益得到工程界的重视和应用。它将机构学 概念、知识、理论和方法以及设计专家的经验和智慧与计算机系统的逻辑推理、 分析判断、数据处理、图形显示等功能密切结合,简便、直观、快速、最优地完 成任务。机械系统运动学动力学分析主要是分析机械系统的运动、受力及微振动 特性等,为观察和改进设计方案提供“实物”运动模型和必要的数据、图表信息, 部分或全部地代替试验分析,是现代机械产品设计和性能分析的重要环节。 机构运动仿真作为计算机仿真技术的一个重要分支,可以归入虚拟现实技术 v r ( v i r t u a lr e a i t y ) 的范畴,它汇集了计算机图形学、多媒体技术、实时计算技术、 人机接口技术等多项关键技术。作为一门新兴的高技术,己经成为工程技术领域 计算机应用的重要方向。尤其在航天、国防及其它大规模复杂系统的研制开发过 程中,计算机运动仿真己经成为不可缺少的工具。借助于这项技术,工程师们可 以在计算机上建立机械系统的虚拟模型,伴之以三维可视化处理,模拟其在现实 环境下系统的运动和动力特性,并根据仿真的结果来精化和优化系统的设计。计 算机运动仿真技术己经越来越成为人们代替或部分代替样机制作、工艺试验,以 获取所需数据结果并最终完成对产品的性能测试及验证的有力技术手段【l o l 。 机构分析仿真系统可以使设计人员从复杂的机构分析和烦琐的计算中摆脱出 来。集中精力从事更有意义的创新和理论探讨工作。 西华大学硕士研究生学位论文 l 1 2 机构分析仿真软件的发展现状 机构分析仿真软件专业化要求高,需由具备丰富机构学知识与经验的人来编 写,无法由计算机专业人员来编写,原因是每种机构都有其运动属性,若对该机 构没有深入的研究,就无法掌握各种可能的情况,写出的软件便不完备,导致使 用上受到限制,这也是开发机构仿真分析软件具有一定挑战性的原因。既要具备 机构学专业知识与经验,又要有程序语言及编写软件的相关知识,这项工作所取 得的成果是极具意义与实用价值的。 与计算技术发展相适应,在国外己成功的开发了一批机构分析与设计的通用 软件,如m 皿d a d s ,a d a m s 等系统。其中a d a m s 是世界上目前使用范围最 广、最负盛名的机械系统仿真分析软件。它可以产生复杂机械系统的虚拟样机, 真实地仿真其运动过程,并且可以迅速地分析和比较多种参数方案,获得优化的 工作性能,但它的实体造型功能比较差,只能通过其提供的1 0 种简单几何实体通 过布尔运算来创建零件,所以对于稍微复杂的模型,一般需要通过 舢) a m s d ( c h a n g e 转换,将其他c a d 中的实体模型传到a d a m s 中。 进入9 0 年代以来,微机版的机构仿真系统发展迅速。在广泛流行的 c a d c a m 系统中,也都把机构运动分析与仿真作为集成系统的重要组成部分。 象目前基于p 舳的m e c h a n i s m 和基于m d t 的d d m ( d y n a m i i :d e s i g n e r m o t i o n ) 等。它们在人机交互、图形图象处理和可视化方面比较完备,可以根据运动性质 人工设定运动副,在进行装配时,运用其内部提供的机构运动分析内核来分析约 束和构件之间的尺度关系,分析模拟快速、方便i 直接在三维状态下进行实体运 动模拟,可以观察到机构中各构件在实际运动中的空间动作情况。这些软件在全 球的内燃机、飞机、汽车、工程机械、冶金机械、石油钻采机械、纺织机械、轻 工自动机械中得到了广泛的应用,推动了这些行业的快速发展。 我国对机械系统运动学动力学分析软件的研究起步较晚,但也取得了一些成 果。这类软件可分为三类:第一类是用于教学目的,使用v b 等软件工具开发一 些常见机构的动画演示;第二类是出于某一工程实际应用需要所编写的运动学 动力学分析软件,这些软件一般能相应解决某一类机构的问题,而通用性受到限 制;第三类是一些高校自主研发的比较通用的运动学分析软件,比如大连理工大 学机械设计教研室开发的平面连杆机构分析与仿真专家系统,就能实现平面连杆 西华大学硕士研究生学位论文 机构的运动学分析。 。 在国内最早的机构运动分析软件是由梁崇高教授于1 9 8 3 年开发的s k a l * q , 采用的是a s s u r 杆组理论,由于杆组类型很多,软件只录入了部分二级杆组和 少量的多级杆组,由于对于复杂杆组,解析式也是一组非线性方程组,求解时也 都使用迭代法。 其后有杨廷力高工、沈惠平等人采用状态变量法开发的k a p l t t l ,由于状态 变量少,因此计算量小、速度侠,并易实现机构拓扑结构的计算杌自动识别和回 路自动优选,分析自动化程度较高。 从以上分析可以看出,国内在机构分析方面的软件在机构运动分析及受力分 析方法与通用程序方面虽然己达一定水平,但缺乏与c a d 技术的紧密结合,已 知信息的输入采用用人机交互的方式输入,输入数据繁杂,人机交互能力比较差, 界面不友好,不适合一般工程技术人员使用,难以推广到实际应用中。到目前为 止,国内还没有一个能适应c i m s ( 计算机集成制造系统) 需求的能与c a d 系统集 成的机构运动学和动力学分析与仿真软件,这方面的研究工作在国内还处于起步 阶段。 1 1 3 机构分析及运动仿真的实现途径 目前要实现机构的参数化实体分析和运动仿真主要有三种途径:( 1 ) 利用高级 语言,如:c 鼓c 卜十,v b 等开发完全自主版权的软件,一切需从底层做起;( 2 ) 利用 通用c a d c a m 系统内嵌的运动分析模块;( 3 ) 基于通用c a d c a m 软件平台, 利用高级语言和所选定基础平台及提供的开发语言( 即所谓的混合开发环境与工 具1 进行二次开发嘲。 如果运用高级语言开发专用软件进行机构的实体运动仿真,需要较强的技术 力量和大量的编程工作,不太现实;而采用通用的。虹l c m 软件,虽然可以减 少设计人员的设计工作量,但由于这些软件的通用性,对于某些复杂的机构,使 用比较麻烦,主要用于机构的虚拟装配设计和动态干涉检查【8 堋;而按照设计工作 或行业的需求,将通用c a d 软件作为支撑软件,针对具体问题进行二次开发, 不仅可以充分利用c a d c a m 软件本身具有的各种功能,还可以减少程序设计工 作量,具有开发周期短、见效快、系统稳定性好和功能强等特点。所以在进行此 3 西华大学硕士研究生学位论文 类软件的开发时,没有必要一切从底层做起,应充分利用现有的通用c a d 软件 的开放接口和数据资源,以现有的c a d c a m 软件作为支撑系统进行二次开发。 目前在c a d c a m 软件市场中,可提供c a d c a m 系统支持环境、并提供开 发环境与工具的c a d c a m 软件产品很多,如id e a s ,p r o e ,u gs o l i d w o r k s , s o l i d e d g c ,a u t o c a d 等。s o l i d w o r k o s 是基于特征的三维参数化实体造型软件,它 不仅具有强大的参数化特征造型:曲面造型功能,而且有高性能的大型装配处理 功能。s o l i d w o r k sa p i 是基于c o m 的编程接口,为了方便用户进行二次开发, s o l i d w o r k s 提供了大量的a p i 函数,可以用v b 及c 岸、c + + 等开发工具调用进行 二次开发,开发的应用程序可以直接嵌入到s o l i d w o r k s 内部。 1 2 a 开发机构分析仿真软件的关键技术 在建立软件的过程当中,二般有三个关键技术要突破:一是机构结构的数学 描述,形成机构的拓扑图;二是对机构拓扑图的分析、优化,生成计算机可求解 的拓扑图;三是完成机构的分析计算。 1 机构结构的数学描述 机构的结构组成长期借助于机构简图及文字描述,这种方式不能被计算机所 识别,因此难以进行数学运算。在编制运动学仿真软件时,首先要解决的问题就 是把机构简图用数学语言描述出来,建立机构的拓扑图。 本文开发的机构分析仿真系统基于s o l i d w o r k s ,使用s o l i d w o r k s 构建机构模 型( 装配模型) ,由于s o l i d w o r k s 中的装配是基于特征的,零件之间的连接表现为 一系列的配合特征,所以在s o l i d w o r k s 装配环境中装配好的机构并不能直接用于 机构分析,必须提取出机构装配体的配合特征( 即配合类型及配合零件) 信息,并 将其转化为机构分析所需的拓扑信息,建立机构的拓扑图。 2 机构拓扑图的分析 在对机构拓扑图进行分析时,其方法是多种多样的,其效果也是不同的,不 同的系统有不同的分析方法。分析方法的好坏,是影响仿真系统性能的关键因素。 一般来讲,为揭示机构的拓扑结构特征,可在不同层次上将机械系统划分为基本 4 西华大学硕士研究生学位论文 结构单元。通过研究单元约束特性及单元之间的约束特性揭示机械系统的整体特 性。最常见的结构单元有如下四种类型【”。 ( 1 ) 阿苏尔( a s s u r ) 基本杆组 ( 2 ) 回路、连支单元 ( 3 ) 单开链单元 ( 4 ) 杆( 构件) 、副( 运动副) 单元 本文采用基本杆组法,将机构划分为不同的阿苏尔( a s s u r ) 基本杆组单元。 3 机构的计算分析 在将机构划分为基本的结构单元后,就要对这些基本单元进行求解计算,生 成所需要的结果。 a s s u r 基本杆组具有运动确定性和静力确定性,事先对各种基本杆组编制成 相应的算法模块,可以对机构的组成杆组直接进行运动学及动力学的分析与综合。 利用基本杆组法的优点在于计算程序化,根据杆组来划分一个个的程序模块, 无论杆组的添加和搭建是何种模式,只需要调用相应的杆组程序就可以很快捷方 便的对整个机构进行分析,而且调用的时候十分方便,在计算和分析机构运动时 可以独立的对一个杆组进行分析,相对别的方法来说简单易行。因此,在本系统 中,进行机构的计算分析时,采用的是基本杆组法。 1 2 课题来源 本论文研究课题来源于四川省重点科技攻关计划( 0 1 g g 0 3 4 - - 0 8 ) 计算机辅 助机构运动学和动力学分析与仿真技术研究。 1 3 本文研究的内容与意义 机构学的发展目标和重点研究领域之一是机构设计大型软件的商品化,将新 机构设计所涉及的结构、运动、动力分析以及方案优选的复杂过程用计算程序体 现出来,并向c a d 、智能化和专家系统发展,而国内的机构运动分析c a d 软件 5 西华大学硕士研究生学位论文 一般仅着眼于数值计算,或用一些二维符号表示传动类型和机构结构类型,缺乏 与c a d 技术的紧密结合。所以说以强大的三维实体造型软件为支撑软件平台, 开发具有自主知识产权的机构参数化实体运动仿真软件是十分有意义的。 在总结前人工作的基础上,作者在本论文中主要作了以下工作: ( 1 ) 根据a s s u r 杆组理论中机构的组成原理,利用面向对象的思想,确定了机 构的层次模型分解准则,建立了机构分析系统的功能模型和适当的类等级。 ( 2 ) 建立了常用构件的三维参数化模板库,实现构件快速建模,并能根据运 动副与s o l i d w o r k s 零件配合特征之间的关系进行自动装配,使构件的建模和机构 模型装配工作大为简化。 ( 3 ) 给出了自动提取机构实体装配特征信息并将其转化为结构分解所需要的 拓扑信息的算法,使得运动副的类型和机构结构由系统自动识别,实现机构杆组 自动拆分。 。 “) 在w i n d o w s 环境中,以s o l i d w o r k s 为支撑软件平台,利用s o l i d w o r k s 提供的a p i 接口,用v m u a l 钟n e t 编制大量程序,开发了机构分析与仿真系统。 西华大学硕士研究生学位论文 2s o l i d w o r k s 二次开发技术方面的研究 s o l i d w o r k s 是基于w i n d o w s 平台的三维设计软件,是由美国s o l i d w o r k s 公司 研制开发的。它是基于p a r a s o l i d 几何造型核心,具有基于特征的参数化实体 造型、复杂曲面造型、实体与曲面融合、基于约束的装配造型等一系列先进的三 维设计功能及工具;所具有的特征管理器,使复杂零部件的细节和局部设计安排 条理清晰,操作简单;它采用了自顶向下的设计方法,设计数据1 0 0 可以编辑, 尺寸、相互关系和几何轮廓形状可以随时修改;它的全相关技术使得零部件之间 和零部件与图纸之间的更新完全同步;它支持i g e s ,d x f , s t e p , d w g a s c 等多 种数据标准,可咝艮容易地将目前市场上几乎所有的机械c k d 软件集成到设计 环境中来。为了方便用户进行二次开发,s o l i d w o r k s 提供了大量的a p i 函数。目 前,s o l i d w o r k s 已经成为微机平台上的主流三维设计软件。 s o l i d w o r k s 的特点主要有: ( 1 ) 具有独特的特征管理器,提供的特征管理器设计历史树同具体的实体模型 是实时的动态链接。 但) 具有强大的实体、曲面建模功能和直观的w m d o w s 用户界面。 ( 3 ) 支持w i n d o w s 的d d e 动态数据交换机制和o l e ( 对象联接及内嵌) 技术: ( 4 ) 支持i n t e m e t 技术,可以共享设计数据。 ( 5 ) 双向关联的尺寸驱动机制, ( 6 ) 提供了v b ,v c ,v c # 和其它支持o l e 的开发语言接口。 2 2s o l i d w o r k s 二次开发 2 2 1 二次开发的概念 所谓c a d c a m 软件的二次开发,是指在现有支撑软件的基础上,为提高设 7 西华大学硕士研究生学位论文 计质量和完善软件的功能,使之更符合用户的需求而做的开发工作。其根本目的 是提高设计,制造质量,缩短产品的生产周期,充分发挥c a d c a m 软件的价值。 二次开发的本质在于不修改程序主体( 平台) 的情况下对软件功能进行扩展 与加强,任何公司或个人都可以通过二次开发来解决一些操作上的不便或增加新 的功能,也就是实现真正意义上的。即插即用”软件开发。 2 2 2s o l i d w o r k s 二次开发框架【1 2 】 s o l i d w o r k s 支持多种形式的二次开发,开发的功能模块可以是宏;可执行的 e x e 文件和作为插件的d l l 文件。支持宏的开发工具为v b a ;v c # n e t 、v c + + 、 v c h n e t 、v i s u a lb a s s i c 、v m l a lb a s i c n e t 均支持e x e 和d u 。两种形式的开发。 s o l i d w o r k s 二次开发体系如图2 1 所示。 s o l i d w o r k s 二次开发体系由以下五部分组成 ( 1 ) 操作系统:操作系统负责管理组件对象的注册信息。二次开发得到的插 件对象将注册信息写入注册表,s o l i d w o r k s 在加载插件的时候,查找注册表,得 到插件所在文件路径,然后根据文件路径加载插件。 ( 2 ) s o l i d w o r k s 软件:s o l j d w o l k x 是二次开发的核心。s o l i d w o r k s 内部有很多 a p i 对象,这些对象提供可二次开发的a p i 接口。s o l i d w o r k s 软件提供插件集成 的平台。 o ) a p i ( a p p l i c a t i o np r o g r a mi n t e r f a c e ) :a p i 是二次开发的关键,只有通过a p i 才能调用s o l i d w o r k s 的功能。 ( 4 ) 开发工具:s o l i d w o r k s 支持v i s u a lc - 阡、v i s u a lb a s i c 、n e t 、v b a 和其 它支持c o m o l e 的开发工具。 ( 5 ) 插件:插件是二次开发的结果,是与s o l i d w o r k s 集成的功能模块,插件 首先需要在操作系统中注册,将注册信息写入注册表,供s o l i d w o r k s 调用。 西华大学硕士研究生学位论文 图2 1s o l i d w o r k s 二次开发体系 f 培2 1s o l i d w o r k sd e v e l o p m e n t sm a c t t u s y s t e m 2 3s o l i d w o r k s 的a p i 编程接口 s o l i d w o r k s 通过c o m ( c o m p o n e n to b j mm o d e l ,组件对象模型) 技术为用户 提供了强大的二次开发接v i ( s o l i d w o r k sa p l ) ,凡支持c o m 编程的开发工具, v m a a lc - h 、v i s u a lb a s i c 、d e l p h i 等均可用于s o l i d w o r k s 二次开发。 2 3 1s o l i d w o r k sa p io b j e a s c o m 是由m i e r o s o r 提出的组件标准,不仅定义了组件程序之间进行交互的 标准,而且也提供了组件程序运行所需的环境。s o l i d w o r k s 支持c o m 技术标准, s o l i d w o r k s 作为组件软件,把c o m 技术发挥得淋漓尽致。作为一个c o m 服务 器,s o l i d w o r k s 提供了大量a p i c o m 对象( 以下简称a p i 对象) 以及这些对象所拥 有的方法和属性。这些a p i 对象涵盖了全部的s o l i d w o r k s 的数据模型,用户通 过在客户应用程序中对这些a p i 对象及其方法和属性的操作,就可以实现 s o l i d w o r k s 的功能定制与扩展,并满足用户的专业要求。 9 西华大学硕士研究生学位论文 2 3 2s o l i d w o r k s 主要a p i 对象概述【1 3 】 s o l i d w o r k s 中常用的主要a p i 对象有s l d w o r k s 、m o d d d o c 、p a r t d o c 、 a s s e m b l y d o c 、d | 莉痂g d 0 c 、f e a t u r e 、s k e t c h 、d i m e n s i o n 等。结构如图2 2 所示。 f i 晷2 2 s o l i d w o r k s m a i n a p i ( c o m o b j ) s t r u c t u r e d i a g r a m 图2 2s o l i d w o r k s 主要a p i ( c o m 对象) 结构图 不管是用何种编程语言对s o l i d w o r k s 进行外部开发或在其内部进行开发,都 要根据s o l i d w o r k 的对象体系结构来进行的。s o l i d w o r k s 的a p i 编程接口封装了 所有的a p i 对象供编程所用。s o l i d w o r k s 的对象层次结构可以描述为自上而下的 树型结构模型。最低层的根对象是s l d w o r k s 对象,其他对象都是他的子对象。 1 0 西华大学硕士研究生学位论文 其中父对象与子对象之间的关系并不是继承关系,而是包含关系。也就是说如果 要与s o l i d w o r k s 的一个特定对象通信,必须先从s l d w o r k s 对象开始,调用相应的 a p i 函数对其子对象进行遍历,直到找到该特定的对象。图2 3 为总结出来的常 用s o l i d w o r k s 对象级联a p i 调用过程。其中c o c l a s s n a m e 为组件对象类,i n a m e 为组件对象的接口。 f 谤2 3m a i ns o l i d w o r k sc o mo b j e c tc a s c a d ee a nm a p 图2 3 主要s o l i d w o r k s 对象级联a p i 调用示意图 西华大学硕士研究生学位论文 2 4s o l i d w o r k s 二次开发工具的选择 m i c r o s o f t n e t ( 简称n e t ) 是微软公司推出的新的软件开发平台,综合体现 了软件技术的最新发展。它与w i n d o w s 平台紧密集成,由于其运行类库已经与操 作系统融合在一起了,从广义上可把它称为一个运行库。n e t 的集成开发环境 o d e ) m 鲺l a ls t u d i o ,以及由公共语言运行环境和n e t 框架基本类库构成的n e t 平台基础架构n e t 框架,使n e t 成为结合了j a v a 和s u a lb a s i c 的优点,又能 提供c h 的强大功能的优秀开发平台。 例是一门简单、现代、优雅、面向对象、类型安全、平台独立的组件编程语 言,是n e t 的关键性语言,也是整个n e t 平台的基础语言,越来越受到人们的 关注和青睐。剑兼有c h 强大的语言功能和v b 简单快速的特点,加上完全面 向n e t 框架的设计,使得甜成为n e t 平台开发的首选语言。因此,在n e t 平 台下选用例语言进行s o l i d w o r k s 二次开发,无疑将会提升开发速度,提高软件系 统本身的兼容性。我们开发出来的模块可以完全嵌入到s o l i d w o r k s 内部从而真正 达到“无缝集成”。 2 5 用n e t 平台进行s o l i d w o r k s 二次开发的基本原理 s o l i d w o r k s 二次开发分为两种,一种是基于自动化技术的,生成e x e 的文 件。另一种开发方式是基于c o m 的,开发s o l i d w o r k sa d d i n ,也就是s o l i d w o r k s 的插件,生成+ m l 文件【1 4 1 。c o m 技术可以使用最多的s o l i d w o r k s a p i ,并可控制 s o l i d w o r k s 运行的方式。这种方式开发出的应用程序可直接嵌入到s o l i d w o r k s 内 部,加载成功后应用程序菜单直接出现在s o l i d w o r k s 主菜单上,如同s o l i d w o r k s 自带的功能一样进行工作,效率较高。 2 5 1 n e t 平台对c o m 的访问 s o l i d w o r k s 插件开发是基于c o m 技术的开发方式。n e t 托管环境下不支持 对非托管c o m 组件的直接访问。n e t 不再将c o m 作为发展对象,但是并没有 西华大学硕士研究生学位论文 完全抛弃c o m ,它可以与基于c o m 的软件实现很好的集成。 在n e tf r a m e w o r k ( n e t 框架) 中,提供了一项专门用于在n e t 代码中直接访问 c o m 组件的c o mi n t e r o p 的技术。它的基本原理是:n e tf r a m e w o r k 能够自动针 对某一个c o m 组件,帮助开发人员生成一个b t e r o p a s 涮n b 哆( 互调用程序集, 后面简称i a ) ,i a 是一个完全的托管程序集。i a 中的名称空间、类、方法等等, 都是与那个c o m 组件相对应的。在我们自己的应用程序中,只需要调用一个纯 粹n e t 的认即可,这时i a 就会帮我们再去访问真正的c o m 组件。图2 a 说明 了i a 是如何帮我们的程序访问到c o m 组件的。 朋盯运环境一 莹 囡掘i f i g 2 4 n e tt h r o u g hi a v i s i tc o mm a p 图2 a n e t 通过i a 访问co m 示意图 2 5 2 生成i n t e r o p 程序集 c o m 类型库可以是独立的t l b 文件,d l l 文件或e x e 文件。当找到 包含目标c o m 类型实现的类型库后,可以通过下表所述的方法来生成包含类型 元数据的n e th 如r d p 程序集。 t a b 2 1m e t h o d s t o g e n e r a t e v o p a s s e m b l y 表2 1 生成i n t e r o p 程序集的方法 方法 说明 在v m m ls m d i o 开发环境中添加一个新的c o m 通过i d e 添加对类型库的引用 组件引用,自动将类型库中的c o m 类型转换 为程序集中的元数据。 提供命令行开关,可以调整结果l a t e r o p 程序 类型库导入程序( i i b i n 驴e x o 集文件中的元数据、导入现有类型库中的类型 西华大学硕士研究生学位论文 以及生成陆叩程序集和命名空间。 公开用于执行转换相关操作的方法。可以将内 t y p e l i b c o n v e r t e r 类 存中的类型库信息转换为元数据。 用此选项可以从头开始创建类型定义,但要求 自定义包装 具有高级编程技能。 第一种方式即通过在v g s u a ls t u d i o 开发环境中添加c o m 组件引用,操作非 常简便,但生成的i n t e r o p 程序集不具有强命名,转换过程无法控制。第三和第 四种方式都要求在编程的过程中实现,也不便采用。能够将强名称分配给程序集 通常是有用或必需的,比如将我们编程生成的n e t 组件( m l 文件) 注册提供给 c o m 调用时,就需要有强命名。类型库导入程序( n b i n 率麟e ) 提供了很多命令行选 项,用以提供必需的信息来生成具有强名称的程序集。因此,在这里,我们使用 类型库导入程序( d b i l n p 麟e ) 来生成i n t e r o p 程序集。 t l b i m p e x e 可以通过运行v i s u a ls t u d i o 命令行工具,输k 1 1 b t m p ”命令启动。 t l b i m p 命令格式如下: t l b i m pc o m d l l k e y f i l e :密钥文件路径f i l e n a m e s n k o u t :目标文件m l 其中c o m d l l 是我们要转换的c o m 类型库文件,目标文件d l l 是我们要生成 的i n t e r o p 程序集。g e y 6 l e 开关指示使用在f i l e n a m e 中找到的发行者的正式公 钥g 钥对,签发具有强名称的结果程序集。其中的f i l e n a m e m k 文件可以通过强 名称工具( s n e x e ) 生成。 本项目中我们首先要对s o l i d w o r k s 的c o m 对象进行包装。对应到三个在 s o l i d w o r k s 安装目录的t l b 文件,分别是:s l d w o r k s t l b ,s w c o n g f l b , s w p u b l i s h e d 曲。另外,由于要输出机构分析结果到e x c e l 文件,故还需要对e x c e l 的c o m 组件对象进行处理,它对应的文件是e x c e l e ) 文件。将上述四个文 件拷贝到项目目录“机构分析文件夹下面。然后s i l a ls t u d i o 命令行工具,启 动d o s 模式。进行如下操作: ( 1 ) 进入项目目录 ( 2 ) 在v k s u a ls t u d i o 命令行输入: m - kk e y p a d i n k 1 4 西华大学硕士研究生学位论文 执行的结果是生成密钥文件k e y p a i r s n k ( 3 ) 在v 1 s i :m ls t u d i o 命令行输入以下命令: t r m i ps l d w o r k s t l b k e y f i l e :k e y p a i r s n k o u t :s l d w o r k s 皿 t m 岫s w c o m t t l b k e y f i l e :k e y p a i r s n k o u t :s w c o n s t d l l t n , i r a p s w p u b l i s h e d t l b k “d f i l c k e y p a i r m k o u t :s w p u b l i s h e d d l l 曲i 平e x c e l e x e k c y f f l c :k e y p a i r m k o u t :e x c e l m 1 执行的结果是生成i n t e r o p 程序集,分别对应四个生成文件:s l d w o r k s d l l , s w c o n s t d l l ,s w p u b l 汕缸删,e x c e l d l l 。这样,我们就可以在n e t 中通过弓 用生成的d l l 文件,对c o m 对象进行操作了。 2 5 3 、深入浏览s o l i d w o r k si n t e r o p 程序集 经过上面的工作,已经把s o l i d w o r k sc o m 组件进行了封装,但是经过封装 后的i a 中的类、接口,并不是和s o l i d w o r k s 的c o m 组件中的类、接口一一对 应的。出现这个情况的原因,在于n e t 的t l b i m p 根据c o m 组件生成i n t c r o p a s s e r 曲l y 时,其实是不会一一对照c o m 组件来生成n e t 类和接口的。它会根据 一定的规则,来生成对应的n e t 类和接口。下面,以s o l i d w o r k s c o m 中的s l d w o d c s 这个接口为例,把它的转换规则简要的说明一下。在对象浏览器中,我们会发现 它有七种不同的形式,所有的访问限定符都声明为类型,七种形式如下: i n t e r f a c e s i s l d w o r k s d s l d w o r k , e v e n t s d s l d w o r k s e v e n t s _ e v e m s l d w o r k s d e l e g a t e s d s l d w o r k s e v e n t s * e v e n t h a n d l e r ( 1 6o f t h e m ) c l a s s e s d s l d w o r k s e v e n t ss i n k h e l p c r s l d w o r k s c l a s s 理清这个复杂的转换过程需要追溯到s o l i d w o r k s 的s l d w o r k s 对象的c o m 原 西华大学硕士研究生学位论文 始定义。s l
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版实习单位实习学生权益保障合同汇编
- 2025版医疗器械公司售后服务人员劳动合同模板
- 2025版城市基础设施建设砂浆采购合同范本
- 2025年度土地承包经营权流转合同签订与执行指南
- 2025年外墙乳胶漆新型环保材料采购合同
- 2025版专业食堂食材配送与健康管理服务协议
- 2025年烧结砖行业绿色物流服务购销合同模板
- 2025版全民健身中心设施租赁协议书
- 2025年度水果品牌设计与包装合同
- 2025版水电水利工程环境保护与土壤修复设计合同
- 软件测试技术基础教程(第3版)高职PPT完整全套教学课件
- 肿瘤科专业组药物临床试验管理制度及操作规程GCP
- 微创外科课件
- 静配中心应急预案处理流程
- GB/T 21977-2022骆驼绒
- 心理-认识过程课件
- 静脉治疗护理质量评价标准
- 水电清包工合同(3篇)
- 《ACT就这么简单》课件
- 农机行政处罚流程图
- 沥青混合料低温弯曲试验2002363
评论
0/150
提交评论