已阅读5页,还剩52页未读, 继续免费阅读
(机械设计及理论专业论文)基于参数化技术的cad系统二次开发的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华北电力大学硕士学位论文摘要 摘要 本文针对球磨机变速箱的传动机构, 进行a u t o c a d 二次开发,从而实现传动机 构零件的参数化设计及管理:即在w i n d o w s x p 操作系统开发平台下, 利用功能强大 的v i s u a l b a s i c . n e t 语言为开发工具, 结合a u t o c a d 2 0 0 4 的三维绘图 功能及面向 对 象技术,设计独立于a u t o c a d 2 0 0 4 的功能菜单,通过输入参数, 调用函数, 驱动c a d , 从而实现球磨机变速箱传动机构中的齿轮和轴的 参数化建模,并对设计出的 齿轮和 轴进行干涉检测,对由扫描得来的图形进行有限 元分析;利用v i s u a l b a s i c . n e t 连 接a c c e s s 数据库功能, 实现管理齿轮、轴的图形库以及管理装配图明细表。 关键词:a u t o c a d ,二次开发,参数化,v b . n e t ,三维建模 abstract t h i s a rt i c l e i n v i e w o f t h e b a l l m i l l g e a r b o x t r a n s m i s s i o n s y s t e m , c a r r i e s o n t h e a u t o c a d s e c o n d a ry d e v e l o p m e n t s , t h u s r e a l i z e s t h e t r a n s m i s s i o n s y s t e m c o m p o n e n t s p a r a m e t e r d e s i g n a n d t h e m a n a g e m e n t : n a m e l y d e v e l o p s u n d e r t h e p l a t f o r m o f t h e wi n d o w s x p s y s t e m , u s e f u n c t i o n f o r m i d a b l e v i s u a l b a s i c .n e t l a n g u a g e i s t h e d e v e l o p m e n t k i t , u n i f i e s t h e a u t o c a d 2 0 0 4 t h r e e - d i m e n s i o n a l c a r t o g r a p h y f u n c t i o n s a n d t h e o b j e c t - o r i e n t e d t e c h n o l o g y , t h e d e s i g n i s i n d e p e n d e n t t o t h e a u t o c a d 2 0 0 4 f u n c t i o n m e n u , t h r o u g h t h e i n p u t p a r a m e t e r , t h e t r a n s f e r f u n c t i o n , a c t u a t e s c a d , t h u s i n t h e r e a l i z a t i o n b a l l m i l l g e a r b o x t r a n s m i s s i o n s y s t e m g e a r a n d t h e a x i s p a r a m e t e r m o d e l i n g , a n d t o t h e g e a r a n d t h e a x i s w h i c h d e s i g n s c a r r i e s o n t h e i n t e r f e r e n c e e x a m i n a t i o n , t o b y s c a n s t h e g r a p h w h i c h c o m e s t o c a rr y o n t h e f i n i t e e l e m e n t a n a l y s i s ; c o n n e c t s t h e a c c e s s d a t a b a s e f u n c t i o n u s i n g v i s u a l b a s i c .n e t , t h e r e a l i z a t i o n m a n a g e m e n t g e a r , t h e a x i s g r a p h s t o r e h o u s e a s w e l l a s t h e m a n a g e m e n t a s s e m b l y d r a w i n g d e t a i l e d l i s t o f s p e c i f i c a t i o n s . z h a o h o n g - m e i ( m e c h a n i c a l d e s i g n i n g a n d t h e o ry ) d i r e c t e d b y a s s i s t a n t - p r o f . c h e n l i - x i n ke y wo r d s : a u t o c a d, s e c o n d a ry d e v e l o p m e n t , p a r a me t e r , v b . n e t , t h r e e - d i m e n s i o n a l m o d e l i n g 二 士 二0口 尸明 本人郑重声明: 此处所 提交的 硕士学位论文 基于参数化技术的c a d系统二次开 发的研究与实现 ,是本人在华北电力大学攻读硕士学位期间,在导师指导下进行的研 究工作和取得的 研究 成果。 据本人 所知, 除了 文中 特别加以标注和致谢之处外, 论文中 不包含其他人己 经发 表或撰写过的 研究成果, 也不 包含为 获得华北电 力大学或其他教育 机构的学 位或 证书 而使用过的 材料。 与我一同工 作的同 志对本研究所做的 任何贡献均己 在论文中作了明确的说明并表示了谢意。 学 位 论 文 作 者 签 名 : 玉 ! 2 一 日期 : - q e 3 - 1 -.1 7 关于学位论文使用授权的说明 本 人完全了 解华 北电力 大学有关保留 、 使 用学 位论文的 规定, 即: 学 校有权保管、 并向有关部门 送交学 位论文的 原件与复印件; 学 校可以 采用影印、 缩印 或其它复制手 段复制并保存学 位论 文: 学 校可允许学位 论文被查阅 或借阅; 学校可以 学术交流为 目 的, 复制赠 送和交换学位论文; 同 意学校可以 用不同 方式在不同媒体上发表、 传播学 位论文的全部或部分内容。 ( 涉密的 学 位论 文在解密 后遵守 此 规定 ) 作者签名:如诉 : 7 1 0 1- . 1 1 导师签名: 日期期: ,骂 积一 邺 1.1 华北电力大学硕士学位论文 第一章绪论 1 . 1 a u t o c a d 二次开发的发展回顾 a u t o c a d 是一种具有高度开放结构的c a d 软件开发平台,它提供给编程者一个 强 有力的二次开发环境 1 2 1 13 1 。 随 着a u t o c a d 在机械设计、 制图中的 广泛应用, 设计 制图的工作效率己 有明显的提高 1 l 。 可以说, a u t o c a d 是目 前最为流行的工程图形 处理软件之一,其较为完善的绘图功能和友好的人机对话界面,给用户以耳目 一新 的感觉.r 1 0 版本以前,可供使用的开发工具主要是 a u t o l i s p ; r 1 1 版本推出a d s 是其最显著的特点;随着 r 1 3版推出a r x , a u t o c a d进入了全新的面向对象开发环 境 但这些开发工具都有其不足之处,a u t o l i s p运行速度不快,开发界面单调且不 友好;对于v b a 开发语言,其与a u t o c a d 形成了一个统一的整体,虽然二者之问的 通信十分简单和高效,但也存在自身的不足。a d s是建立在 c语言基础上的,而 c 语言是面向w i n d o w s 编程的,学习难度相对较大;对于a r x 程序,尽管其运算速度 快,功能比以上两种工具更强大,但程序中的错误造成的危险也大,同时开发 a r x 程序对开发人员要求更高。因此,上述工具在a u t o c a d 上进行二次开发都受到了一 定的局限。 1 . 2 a u t o c a d 二次开发在国内外的研究动态与发展趋势 1 . 2 . 1国内外的研究现状 目 前,国内c a d技术的应用己 逐步进入高级阶段1 4 1 5 1 6 1 , 许多用户都针对本行 的 特点对c a d进行二次开发, c a d二次开发技术几乎在各个行业中都有应用实例, 并已 有许多商品化软件问 世i l l 。 但各行业c a d二次开发技术的发展水平存在较大差 距,机械、电子、建筑、航空航天等是最早应用二次开发技术,其二次开发程度也 最高,开发出的 c a d系统能够集计算、参数化画图、数据管理为一体并直接与计 算机辅助制造 ( c a m)和计算机辅助工艺设计 ( c a p p )有机结合。目前国内已开 发成功一批符合工程需要的应用软件,逐渐形成了一批具有较高素质的研究开发队 伍。 其他行业的 c a d二次开发技术则相对落后,有的仅仅是一小部分工程技术人 员的个人行为,还没有形成专门从事 c a d二次开发的研究队伍。虽然也出现了一 些 c a d应用软件,但大多数仅仅针对某一类型的产品或产品的一部份而开发的小 型应用系统,解决的问题也比较有限。 国外成功的c a d技术开发企业为了加快c a d技术开发步伐1 8 1 9 1 1 1 a 1 t i 1 d z 1 , 都选 华北电力大学硕士学位论文 择了高起点的 c a d技术开发战略,即利用已有的技术成果,在此基础上二次开发 自己的 c a d技术,而不是将人力物力浪费在低水平的重复开发上,这样既可以提 高效率,又能保证自己的产品具有较高的技术含量和水平。 1 . 2 . 2发展趋势 随 着制造业的发展, c a d技术也日 渐成熟1 3 1 1 4 1 1 5 1 1 6 1 。 在七十年代,发展了 一 大批c a d软件,用于各种分析和模拟,如有限元分析软件、运动模拟软件、优化 设计软件等,为设计决策提供了重要的依据,大大提高了设计的效率,为增强产品 竞争力发挥了 积极的作用 3 1 . 但是这些c a d系统仅仅努力使人工设计过程计算机 化,用计算机代替图板,停留在对产品零件的几何描述水平上,没有涉及到设计的 本质.随着生产技术的不断进步,设计师在设计活动中所要面对的信息量也在持续 不断地增长,希望新型的c a d系统能在产品设计过程中的各个阶段,尤其是概念 设计和方案设计等智能程度更高的阶段,都能够积极、有效地参与设计活动。为适 应当今时代激烈的市场竞争和快速发展变化的需要 c a d系统也呈现出日新月异的 局面。近期c a d技术开发研究的发展趋势是智能化、网络化、高度集成化、可视 化 1 71 ( 1 ) 智能化 将人工智能思想、方法和技术引入到 c a d系统的研究与开发中,开辟了智能 c a d的新领域, 成为当前c a d的研究热点之一。 智能c a d ( i n t e l l i g e n t c a d 一 简 称i c a d ) 涉及到许多不同的领域, 如认知心理学、 计算机科学、 人工智能科学等等, 目 前i c a d在设计问题求解的研究方面提出了许多适合于计算机处理的方法,如基 于空间关系推理的设计、功能推理设计、基于多a g e n t 的设计、面向对象的设计、 基于特征的设计、基于事例的设计等。 ( 2 )网络化 网络技术是计算机技术与通讯技术相互渗透结合的产物。 c a d系统只有通过网 络互联起来,才能达到资源共享和协调作用,发挥更大的效益。近年来,计算机支 持的协同设计环境的研究是c a d技术发展方向之一。网络c a d技术的发展将有助 于提高和改善设计的工作效率与质量,充分体现群体的作用,使设计人员不受地理 位置的限制,就能进行方案讨论和产品设计。 ( 3 )高度集成化 为适应设计与制造自 动化的要求,特别是c i ms的要求,进一步提高集成水平 是 c a d技术发展的一个重要方向。应在以下几方面提高水平:几何造型应从传统 的实体造型到参数化特征造型转变,以便建立包括几何信息在内的完整的产品信息 模型; c a d / c a m 系统内应有统一的数据库及其数据管理系统; 集成系统内部应包括 华北电力大学硕士学 位论文 种类更多、功能更为完善的设计与制造应用软件。 ( 4 ) 可视化 科学计算可视化( v i s c ) 是 8 0 年代末期发展起来的一门技术. 可视化技术使设计 者处在自己 想象的设计空间,亲临现场似地对产品和工程进行设计和布置,从而充 分发挥设计者的聪明智慧,使设计进行得尽善尽美。v i s c技术符合当今信息时代 人类处理大量复杂数据的需要,必将成为人类信息交流的新形式。 1 . 3 a u t o g a d 二次开发的目的和意义(1 9 19 (2 0 112 1 112 2 1 利用三维 c a d技术进行产品设计,是未来制造业的发展趋势。 现代三维 c a d 技术的一个主要特点就是其可实现机械产品参数化设计。参数化设计有时也称为尺 寸驱动, 所谓尺寸驱动就是指当设计人员改变了模型尺寸数值的大小时, 模型将随 之发生相应的变化。 许多机械零件的形状结构具有共同特征,只是在相对大小或局 部特征上存在一定的差异,如果能够通过一个模板模型衍生出不同的模型,就会大 大提高设计效率。 c a d技术推动了几乎一切领域的设计和制造革命, 其开发和应用水平己成为衡 量一个国家现代化水平的重要标志. 我国一贯重视 c a d技术的引进、推广和应用 工作, 但同时也非常重视 c a d软件的自 主开发。目 前,国内实际使用的c a d系统 可分为两大类: 一类是国内主权版的 c a d系统, 另一类是国外商品化的 c a d系统。 由于国外 c a d系统发展早、技术先进、产品成熟、售后服务周到,仍占据着主要 的 市 场 份额。 国 际 和国内 的 知名的c a d /c a m软件 如 a u t o c a d , p r o /e n g in e e r , u g i i , i - d e a s , s o l i d wo r k s以及华正 c a x a系统等, 都是商品化的 通用平台。 这些通用软件需要考虑各行业、各地区用户的需要,而并非针对某一领域甚至某种 产品的 专用软件,因此用它来完成某一具体产品的设计时往往不是很方便。因 为不 同企业有不同的产品, 其设计方法、产品 结构不尽相同,即使是面向某一类对象的 专用的商品化 c a d软件,也难以满足形形色色的具体需要,所以不可能从软 件公 司买到适合所有产品设计需要的软件。因此,欲利用 c a d技术取得积极效果,必 须以 通用 c a d软件为基础,结合自身实际情况,进行不同程度的用户化、本地化 开发, 以 建立应用绘图系统和数据库, 形成具有自 身特色的c a d系统, 这也是c a d 软件均提供二次开发手段的原因。如果能在引进的原始 c a d系统基础上,根据本 企业或行业的常规性产品 或工程设计的实际需要,将设计手册、制造手册中的各种 数据、典型的结构、计算方法与公式及产品 标准、技术要求、外构件、原材料的样 本、手册, 本企业或行业产品的典型结构、 经验数据、 工装情况等方面的资料、数 据、图形等与现有 c a d 系统有机地融合起来,使设计人员从繁重的重复劳动中解 放出来, 做到数据共享; 甚至更一步, 将本企业或行业多年来的设计经验总结出来, 华北电力大学硕士学位论文 并从 形成有特色的设计规范、设计方法、典型结构、标准、通用零部件、功能模块, 相应地在 c a d系统内建立起数据库、图形库 而真正发挥c a d系统的效用和优越性。c a d 、方法库、知识库及其应用程序, 二次开发的意义不仅在于提高设计效 率,而且还是提高产品设计质量的重要途径,是提升c a d应用水平的重要手段. 1 . 4 本课题研究的主要内容 本课题是在以w i n d o w s x p 操作系统为平台, 利用功能强大的v i s u a l b a s i c . n e t 面向对象程序设计的特点,结合a u t o c a d 2 0 0 4 的三维绘图功能及技术,设计独立于 a u t o c a d 2 0 0 4的功能菜单,通过输入参数,调用函数,驱动 c a d ,从而实现球磨机 变速箱传动机构中的齿轮和轴的参数化建模。本课题主要内容包括以下几个方面: ( 1 ) 参数的设定 主要利用 v i s u a l b a s i c . n e t框架结构,通过调用其函数,实现对实体特征地 描述,主要是根据输入的基本工作参数,系统通过分析计算,可确定出零件的几何 参数、特征参数和建模的控制参数等。我们需要在能完整表述零件特征的条件下归 纳出几何特征参数。 基本的原则是, 在能够实现功能的前提下, 选用尽量少的参数。 因为参数越少,使用起来越方便,而参数越多,程序实现起来越繁琐,一般来说, 运行的速度也相对较慢。而且过多的参数会使参数化失去其原有的意义。 ( 2 ) 三维建模 通过程序的控制,实现三维模型的参数化。由于复杂曲面的零件三维建模过程 比较复杂,而且需要做的前期工作也比较多,所以非常占用设计者的设计时间。而 设计出的c a d系统,只需要设计者输入几个主要参数,便可以完成对零件的建模。 在设计的过程中,对于系统的 通用性也进行了一定的考虑。 ( 3 ) a c c e s s 数据库管理图形、e x c e l 连接管理装配图明细表 对于减速器传动系统, 零部件较多,针对各种型号的零部件需要有效明了的管 理, 才能提高效率. 用a c c e s s 管理图形, 实现用数据库的信息绘图, 或将a u t o c a d 中已完成图形信息录入数据库;在集中全面体现产品的装配图中,各个零部件的名 称、材料等信息要写入明细表,在此我们用 e x c e l文件管理软件进行管理,实现 a u t o c a d与 a c c e s s , e x c e l 互联,提高管理水平,减少工作量。 华北电力大学硕士学位论文 第二章 基于 a u t o c a d 2 0 0 4 的开发方法 2 . 1引言 作为 c a d工业旗帜产品的 a u t o c a d , 伴随着近年来整个 p c 基础工业的突飞猛 进, 正在迅速而深刻地影响着人们从事设计和绘图的基本方式。 从始至今, a u t o c a d 均是一种定位于全球各大领域和各类专业的通用微机c a d 平台软件,其完备的系统 开放性和丰富的个性化能力,是其能在各行各业应用中生机勃勃的基本要素。 a u t o c a d允许用户和开发者在几乎所有方面对其进行修改和扩充,进行二次资源开 发,能最大限度地满足用户的特殊要求,形成更广泛的应用领域a u t o c a d 最重要的 特点就是它可以和高级语言交换数据,即支持高级语言编程。 2 . 2 a u t o c a d 二次开发的形式 所谓 “ 二次开发方是指由熟悉产品设计同时又掌握计算机应用技术的人员开发 出针对某一产品的c a d 应用软件 2 3 1 2 4 1 。 基于 a u t o c a d提供的开发手段,常见的二次 开发的形式有:参数化c a d 、成组c a d 、交互式c a d 和智能化c a d 等 z s 1 参数化 c a d 参数化 c a d应用软件主要用于标准化、系列化和通用化程度比 较高的定型产品。如模具、刀具、量具、夹具、液压系统、组合机床等。 对于这类 产品, 一般设计都较为简单。 如量具c a d 中光滑极限量规 c a d ,设计时,首先可以 先定制不同类型量规的图标选单,然后根据设计要求调入所设计量规的 标准图样, 输入设计的主要参数,通过计算机查询量规的数据库中的数据,进行必要的计算, 将查询或计算得到的数据,在标准图样上进行变量代换,实现参数化绘图,最后生 成符合设计要求的图样.可见,这类软件使用时效率较高,但由于专业性较强,使 其推广受到限制.因此,它适于企业技术人员自 行进行开发2 6 1 组成 c a d 成组 c a d 应用软件利用成组技术的原理,将需要设计的零件特征 编码与原设计的零件特征编码相比较, 通过屏幕提示,决定是对源设计中零件直接 引用或者是进行修改。 成组c a d 中源设计的零件是根据“ 复合零件” 方法进行设计, 它应将零件族内的零件功能要素集于一身,同时还应对每个功能要求的参数进行标 准 化处 理 2 6 ) 。 在 设 计中, 这个“ 复 合零 件” 可以 用“ 块” 的 形式 进行 组 合, 每个“ 块” 相应做成参数化形式,供修改使用。如轴承 c a d中可将轴承的内圈、外圈等做成相 应的“ 块”, 设计时根据输入的参数及数据库中的 数据, 与“ 复合零件” 进行比 较, 对轴承的结构,如外圈、滚动体等, 决定是否进行修改, 最后进行参数化绘图,生 成轴承的图样, 这样, 只要建立起适合本行业或本企业产品类型适当的“ 复合零件” 库,就可满足生产中的设计要求。但是,由于成组c a d 是针对某一类或一系列产品 华北电 力大 学硕士学位论文 进行开发,所以 应用的广泛性受到了一定程度上的约束。 交互式c a d交互式c a d 应用软件由 于利用人机交互的方式进行设计, 模拟了 设计人员的设计过程。 适用于各类产品的设计,特别是对于一些单件、小批生产的 通用化和标准化较低的产品。如非标准刀具 蜗轮滚刀c a d 中, 将与蜗轮滚刀有关的 设计和计算数据建立起相应的数据库, 利用a u t o c a d 中 选单的定制及设计人机交互 的对话框等,从而满足在设计时 人机交互的需要.对于有些标准的结构,可先做成 标准的图 库,如带柄式蜗轮滚刀的莫氏 锥柄的结构,在设计中,可将其直接从图库 中调出,从而提高交互设计的速度。交互式c a d 具有应用广泛性, 使用灵活性、设 计对象的 适应性等特征,但对于开发人员的设计水平要求较高。 . 智能化c a d智能化c a d 就是将人工智能技术与c a d 技术融一体而建立起来的 系统。这一系统在更高的创造性思维活动层次上给予设计人员有效的辅助,是真正 意义上的计算机辅助设计2 7 1 . 人工智能中的 专家系统技术、实例推理技术、 约束满 足技术、 神经网 络技术等己经得到了广泛的 研究。如专家系统技术的引入,可以引 进专家设计的思路,提供设计方案的选择, 最终能 够模拟专家设计过程, 根据设计 中的问题提出合理的解决方案。显然,采用智能化 c a d 的专家设计系统也可能使一 般的设计人员做出专家级水平的 设计来。目 前,智能化c a d 主要用于原理方案的设 计, 产品数学模型的建立及对产品计算优化、结构设计等方面。真正意义上的应用 软件在 国内还不多见。 2 . 3 a u t o c a d 二次开发工具的比较 a u t o c a d 软件包是美国 a u t o c a d 公司的 产品,因其功能强大而被广泛应用于我国 的机械、电子、航空等领域。但在使用中也遇到一些问题,由于a u t o c a d 是一种通 用的 软 件2 8 1 . 它很 难 满足 各行 业的 行业 标 准。 然 而, a u t o c a d 开 放式 结构 和其 所 提 供的多种开发工具,使用户能完全摆脱a u t o c a d 的限制, 根据自己的需要对其进行 二次开发,这也是a u t o c a d 广受人们青睐的主要原因之一。迄今为止, a u t o c a d 己 经 相继提出了三代二次开发工具,如图2 - 1 所示2 9 1 . 1 9 8 6 1 1 9 87 1 1 9 9 8 1 08 911 9 9 0 1 1 9 9 1 11 9 9 2 1 1 9 9 31 1 9 9 41 1 9 9 51 1 9 9 61 1 9 9 71 j 9 9 8 aut .li sp a ds d cl a d s r x已 才- t a c t lv e x v h a v l is p 盆一代 第 二代招 三 代 图2 - 1 a u t o c a d 二次开发工具 各种开发工具都有其自 身的特点和使用场合,在此仅对其中几种主要流行的开 6 华北电力大学硕士学位论文 发工具进行探讨, 指出它们各自的优缺。 a u t o l 工 s p 开发工具 a u t o l i s p 是a u t o c a d 最早的一种二次开发语言。它是一 种嵌入在 a u t o c a d内部的c o m m o n l i s p 程序设计语言子集,并扩充了极强的图形处 理功能2 9 1 。 此外还可为a u t o c a d添加某些特殊的函数功能, 如制作幻灯片、 菜单 等。 a u t o l i s p 应用程序既可完成通常的科学计算和数学分析, 又能直接调用几乎全 部a u t o c a d 命令。 这两者的有机结合, 使它成为专业c a d 开发者强有力的理想工具。 而l i s p 是目 前研究和开发人工智能与专家系统c a d 的主要编程语言。 a u t o l 工 s p有如下优点:( 1 ) 语言规则十分简单,易学易用。对计算机了解不太 深入的工程专业人员,仅需经短期的学习,就可以熟练掌握这门语言。该语言的简 洁性是其它许多计算机语言所无法相比的。( 2 ) 直接针对a u t o c a d , 解释执行, 易于 交互。a u t o l i s p 提供的大多数函数都是直接针对a u t o c a d 操作的,用a u t o l i s p 可 编写访问a u t o c a d 图形数据库( d w g ) 的操作。( 3 ) 解释执行立竿见影。程序员既可以 一次运行一段 a u t o l i s p代码,也可以在 a u t o c a d的 “ c o mm a n d :”下逐条键人 a u t o l i s p 指令,立即得到结果。 随着计算机技术的发展,c a d 编程逐渐复杂, 代码越来越庞大,a u t o l 工 s p 的缺 点也越来越明显。如,综合处理能力差、程序运行速度慢、软件质量不易保证、开 发环境集成度低和与人的思维方式不太一致等。 由于 a u t o l i s p的这些特点,它仅适合于有能力的终端用户作些自己的开发任 务,如今a u t o l 工 s p 的使用已 经逐渐被其它几种开发工具所取代. a d s 开发系统 a d s 是a u t o c a d 提供的基于c 语言开发应用程序的系统。它对 开发人员的 c语言要求较高。a d s是从 a u t o c a d r l l开始提供的。a d s作为一组 a u t o l 工 s p 外部函数由a u t o l 工 s p 解释器装入、 解释并请求a u t o c a d 运行,由于a d s 使用c 语言编程,因此,执行速度较快,并且,经过编译的程序安全性较高。在国 内常见的应用软件多是使用a d s 进行开发的。由 于a d s 程序必须通过a u t o l 工 s p 解 释加载,所以,a d s各方面使用性能相应受到限制,同时,随着网络技术的迅速发 展,面向过程的a d s己有些力不从心了。正因为如此,在a u t o c a d r 1 3中提供了面 向 对象的开发工具a r x i3 0 1 e o b j e c t a r x 开发工具 o b j e c t a r x 是a u t o c a d r 1 3 之后推出的第一个全额的面 向对象的开发工具,在此之前,a d s已经能在a u t o c a d 上开发较大规模的程序,然 而计算机技术的发展不仅要求c a d 的交互性、综合性,同时对自动化、智能化也提 出了更高的要求.特别是当前,面向对象的编程技术己经成为软件开发的主流,传 统的结构化编程模式正逐步被面向对象以及消息驱动编程模式所代替。在这种情况 华北电力大学硕士学位论文 下, a u t o d e s k 公司推出了a r x 开发工具,该开发工具充分支持c + + 以 及面向对象的 编程技术,无论在程序的运行速度、通用性、功能上都是相当强大的。a r x应用程 序实质上是一个动态联接库( d l l ) ,它直接与a u t o c a d 进行通讯,与a u t o c a d溶为 一个整体,并具有 a d s 程序及 a u t o l 工 s p 程序所不具备的访问和控制 a u t o c a d的能 力,而且运行速度上比后两者更快。值得注意的是,开发a r x 程序对软件开发人员 的技术要求比开发a u t o l i s p 程序及a d s 程序更高,所需的硬件配置也比后两者高。 基于a r x 开发方法比较复杂.有兴趣的读者可参考该方面有关书籍 。 v b 开发工具 v b 是一种可视化的、 面向对象的w i n d o w s 开发语言。 v b 从问世 之初,就有易用和开发效率高的特点.随着 v b语言的不断升级,这一特点显得越 来越突出, 同时.由于该语言平台的不断完善和计算机性能的不断提高, v b 语言本 身的缺陷显得并不那么重要。由于它具有易学、易用的特点.在软件开发领域有着 越来越多的应用场台. 在这种前提下, a u t o d e s k 在a u t o c a d r i c 0 以上版本中设置 了v b 开发工具的接口。使得用户可以在v b 语言环境下对a u t o c a d 进行二次开发。 在利用 v b 对 a u t o c a d 进行二次开发时,为了调用 a u t o c a d中的各种对象,必须在 v b工程中引用a u t o c a d的对象库,引用之后.就可以在 v b中方便地操作a u t o c a d 的各种对象了。 v i s u a l l i s p 开发工具v i s u a l l i s p ( v l i s p ) 是为加速 a u t o l i s p 程序开发而 设计的软件工具,是a u t o l 工 s p 的换代产品,与a u t o l i s p 完全兼容,并提供它的所 有功能。v l i s p的集成开发环境具备许多功能,使编写、修改代码以及测试和调试 程序更加容易。 另外, v l i s p 还提供了用于发布由a u t o l i s p 编写的独立应用程序的 工具。 v i s u a l l i s p有一个交互式智能控制台,它还具有强大的文本编辑器和格式化 器,使编程更加轻松高效。此特性使 v i s u a l l 工 s p成为编写 l i s p 程序更有效的工 具。然而,v i s u a l l 工 s p 只是a u t o l i s p 功能的扩展.没有实质更为强大的功能。 v b a 开发工具尽管a r x 开发技术功能强大,而且v b 开发工具又是那么简单易 用,但是也存在一些不足.其一是开发a r x 程序对软件开发人员的技术要求比开发 a u t o l i s p 程序及a d s 程序更高,因此开发者掌握起来特别困难。 其二是v b 开发的软 件必须脱离开a u t o c a d ,在v b 的集成环境下进行调试,使用起来总觉得二者不是一 个有机整体,因而不太方便。为改善这些缺点, 在a u t o c a d 2 0 0 0 上出现了内置的v b a 和v i s u a l l i s p 开发工具. v b a 是一种标准宏语言,其语言结构简洁明了。作为v b 的 一个子集,同样具有灵活易用的特点,而且作为a u t o c a d 的一个内置工具,它与 a u t o c a d 形成了一个统一的整体,二者之问的通信十分简单和高效。v b a 的代码完全 是在进程内执行的,尽管v b a 目前是以解释方式执行,但它与a u t o c a d 完全享内存空 间,所以执行速度比用c 语言开发的应用程序还要快。v b a 程序在a u t o c a d 2 0 0 0 中的 华北电力大学硕士学位论文 开发与调试特别简单,因此逐渐受到了a u t o c a d 开发人员的青睐。同时,为了改善 解释型语言系统的保密性能,在v b a的工程管理中加入了 代码加密功能,使得开发 者的源程序不会轻易被其他人获取3 1 7 综上所述,可以看出 a r x , v b a的特点在于对象作为基本操作数据,用于编写 复杂庞大以及其接近于 a u t o c a d底层数据的软件,而 v l i s p能灵活充分地使用 a u t o c a d 的现有功能,是一般工程技术人员对a u t o c a d 进行二次开发的理想工具。 从各方面分析来看, a u t o l i s p 仍然是a u t o c a d 的基本开发手段, 它适于一般开 发者用于较为简单交互性程序的开发。a d s将逐步被更为完善的 a r x所取代。v b a 则成为a u t o c a d 用户二次开发的另一支生力军。 a u t o c a d 提供的开发手段让各类开 发者都能有适合于自己的开发工具。 如何选用a u t o c a d 二次开发工具,将直接影响到二次开发的周期、编程难度、 开发效率及软件的后期维护。选择时应考虑以下几个问题: ( 1 )对所开发程序的要求, 即考虑程序的运行速度、 程序控制a u t o c a d 的能力、 稳定性、可移植性及技术难度。 ( 2 )系统的要求, 即是否要和其他应用程序集成和通信, 是否需要数据库支撑。 ( 3 )开发者自身的条件,即硬软件投资。对语言的熟悉程度等。 2 . 4 a c t i v e x a u t o m a t i o n 技术及a u t o c a d 对象模型 2 . 4 . 1 a c t i v e x a u t o m a t i o n 技术概述 a c t i v e x a u t o m a t i o n 技术是微软建立的标准, 来源于o l e 自 动化技术,是一组 基于 c o m的技术集合,适用于o l e 对象与a c t i v e x 对象.它允许一个应用程序操纵 在另一个应用程序中实现的对象. 操纵程序被称为客户,而被操纵程序称为服务器, 被操纵的对象是a c t i v e x 对象. a c t i v e x a u t o m a t i o n由客户程序和服务器程序组成, 客户程序是操纵者和控制者, 服务器程序是被控制者,它包含了一系列的暴露对象, 只 要服务 器程序提 供一定的接口 , 就可以 使任何 对 象实 现自 动 化3 2 1 0 a c t i v e x 自 动化 对象的概念与面向对象语言中的对象一致,它可以是应用程序本身、应用程序下的 文档或文档中的某一具体实体。 对象包含了一些外部接口, 它们被称为方法和属性. 对象的方法是自 动化对象的一些函数,它们是提供给客户程序的外部成员函数,是 对象可以执行的各种操作。属性是描述一个对象的一些命名特征, 即对象的一些公 有数据域。例如,对于a u t o c a d 的l i n e 对象,它有c o l o r , l a y e r , s t a r t p o i n t , e n d p o i n t 等属性,有c o p y , e r a s e , m i r r o r , o f f s e t 等方法。a c t i v e x a u t o m a t i o n 不仅能够通过外显的对象在一个 w i n d o w s应用程序中通过暴露的对象( e x p o s e d o b j e c t s ) 控制另一个w i n d o w s 应用程序,实现数据共享,提高数据输入的准确性, 华北电 力大学硕士学位论文 代替人工大量的重复输入,而且能够实时控制外部程序,自 动形成外部程序所需的 数据文件 特别是, 用户能够访问这些对象的方法和属性 ,而不是它们的原始数据, 它不仅能跨越应用程序的界限 起作用,还能跨越语言的界限。 对于应用 a u t o c a d的a c t i v e x a u t o m a t i o n技术而言,利用 v b 控制 a u t o c a d 就 是将 v b 作为客户程序,把a u t o c a d 作为服务器程序. a c t i v e x a u t o m a t i o n自 动化 技术提供利用 v i s u a l b a s i c 编程的 应用程序控制 a u t o c a d 暴露对象,由 v b发出 a u t o c a d 能够使用的命令, 然后将绘图 命令作为一批数据发送到a u t o c a d 中, a u t o c a d 接受 数 据后, 就 正常 地 执 行数 据中 所 包含 的 命令, 从 而达 到控 制a u t o c a d 的目 的 (3 2 2 . 4 . 2 a u t o c a d 的对象模型 a u t o c a d 的a c t i v e x 对象模型如图2 - 2 所示 3 3 , 图中两端有半圆弧的代表对象, 矩形代表集合对象。图中略去了 许多细节,详细内 容请参考a u t o c a d 联机手册。上 述对象模型有一个层次上的隶属关系,如果要访问a u t o c a d 对象, 必须沿树型结构 由高到低的层次进行。 图 2 - 2 a u t o c a d的 a c t i v e x对象模型 2 . 5 a u t o c a d a c t i v e x技术 a u t o c a d a c t i v e x提供了一种机制, 该机制可使编程者通过编程手段从 a u t o c a d 的内部外部来操纵 a u t o c a d . a c t i v e x是由一系列的对象,按一定的层次组成的一 种对象结构,每一个对象代表了a u t o c a d中一个明确的功能,比如说画圆、画多义 线、图块定义等等。a c t i v e x所具备的绝大多数 a u t o c a d功能,均以方法和属性的 华北电力 大学硕士学 位论文 方式被封装在 a c t i v e x 对象中,我们只要使用某种方式,使 a c t i v e x对象得以 “ 暴 露”,那么就可以使用各种面向 对象编程语言对其中的方法、属性进行引用,从而 达到对a u t o c a d 实现编程的目的. 例如:a c a d t e x t 和 a c a d l i n e 就是a u t o c a d a c t i v e x 用来封装 a u t o c a d中的创 建文本( t e x t ) 和画线( l i n e ) 功能的类对象,而声明语句 d i m t e x t o b l a s a c a d t e x t 和d i m l i n e o b j a s a c a d l i n e 就是 “ 暴露” a c t i v e x 对象的一 种方式,而语句:s e t l i n e o b j = t h i s d r a w i n g . m o d e l s p a c e . a d d l i n e ( s t a r t p n t , e n d p n t ) 就是引用已 “ 暴露” 的a c a d l i n e 对象中的a d d l i n e 方法,实现在当前图形文档( t h i s d r a w i n g ) 的模型空 间( m o d e l s p a c e ) 中画出一条直线的目 的。 a u t o c a d a c t i v e x 是将 a u t o c a d 的各种功能封装在对象中,供应用程序通过编 程来引用。根据这些功能的不同,可以把这些对象分成以下几类: 图元( e n t i t y ) 类对象。 例如: 直线、圆弧、多义线、文本、尺寸等。 样式设置( s t y l e ) 类对象。例如:线型、尺寸样式等。 组织结构( o r g a n i z i n g ) 类对象。例如:图层、组、图块等。 图形显示( v i e 司类对象。例如: 视图、视窗等。 文档与应用程序( d o c u m e n t 保存在文档中的o p t i o n s 参数, 用来d o c u m e n t 对象下的p r e f e r e n c e s 属性进行访问( d o c u m e n t . p r e f e r e n c e s ) . 访 问v b a对象名:a c a d p e r e f e r e n c e s 分为下面两种: 直接访问p r e f e r e n c e s 对象: t h i s d r a w i n g . a p p l i c a t i o n . p r e f e r e n c e s 间接访问p r e f e r e
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 事业单位人力资源岗高频考题题库及参考答案
- 事业单位财会岗2026面试高频考题题库试卷及参考答案
- 事业单位法律岗面试高频考题题库及参考答案 2026
- 2026事业单位医疗卫生岗面试高频考题题库参考答案
- 2027年备考会计基础 【零基础学员必练】强化训练试题(备用卷)附答案
- 事业单位财会岗面试历年真题及参考答案
- 2026年湖南电气职业技术学院高职单招笔试职业适应性测验历年参考题库含答案解析
- 2026年湖南大众传媒职业技术学院高职单招笔试英语历年参考题库含答案解析
- 2026年温州科技职业学院高职单招笔试数学历年参考题库含答案解析
- 2026年海南政法职业学院高职单招笔试数学历年参考题库含答案解析
- 2026-2030年中国出租车行业发展趋势及发展前景研究报告
- 2026年中级注册安全工程师《安全生产管理》真题及答案
- 2026年宠物食品用品批发行业发展趋势及投资前景报告及未来五至十年新兴市场与增量突破
- 2026年中国电信笔试题库
- 2026年6西格玛绿带试题及答案
- DB 61∕T 5121-2025 建筑工程资料管理规程
- PCR上岗证考试题库及答案
- 2026秋新教科版科学四年级上册教学课件:第三单元 第1课 声音是怎样产生的 含多个微课视频
- SYT 6649-2025《油气管道管体缺陷修复技术规范》
- 2026师德师风工作自查报告及自查总结(3篇)
- 2026年江苏省南通市海门区东洲国际学校中考数学模拟试卷(A卷)(含答案)
评论
0/150
提交评论