




已阅读5页,还剩62页未读, 继续免费阅读
(机械电子工程专业论文)钣金展开cad图形代码处理技术.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 现今市场上,钣金零件占全部金属制品9 0 以上,钣金加工业在国民经济和军 事诸方面占有的位置极其重要。随着信息技术的飞速发展,钣金c a d c a m 技术 的应用对于提高我国钣金企业的竞争力有重要意义。 目前,国产钣金展开c 胱舢订软件较少,而国外专业钣金c a d c a m 软件价 格偏高,对于中小型企业,不易推广使用。针对这一现状,论文在分析数控加工 钣金件编程方法的基础上,对钣金展开图加工代码的处理技术进行了研究,为开 发中小企业级的钣金展开c 胱m 软件奠定基础。 由于钣金展开图是二维平面图形,而a u t o c a d 是目前应用最为广泛的二维交 互式计算机辅助绘图软件,且有良好的图形编辑功能,所以选择了a u t o c a d 为开 发平台,v b 为开发工具。首先,基于对数控代码的分析,开发了代码图形化的通 用显示模块,并在此基础上对展开件分类,利用v b 的a u t o c a d - - - - 次开发技术,实 现不同种类钣金展开图在a u t o c a d 模型空间中的实体化。其次,开发了图形编辑 模块,利用此模块可对展开图进行编辑排版。最后,在深入分析钣金数控编程工 艺的基础上,通过人机交互,制定加工顺序,并利用a u t o c a d 图形的对象特征, 向数据文件中重新输出加工代码,开发了生成新代码模块。 关键词:钣金展开数控加工代码c a dc a m a b s t r a c t o nt h em a r k e tt o d a y , s h e e ts e t a lp a r t sa c c o u n tf o rm o r et h a n9 0 o ft h eg l o b a l m e t a lp r o d u c t s ,w h i c hm a k e ss h e e t - m e t a l p r o c e s s i n gi n d u s t r yt a k e a n e x t r e m e l y i m p o r t a n tr o l ei n n a t i o n a le c o n o m ya n dm i l i t a r y w i t ht h er a p i dd e v e l o p m e n to f i n f o r m a t i o nt e c h n o l o g y , t h ea p p l i c a t i o no fs h e e t - m e t a lc a d c a mt e c h n o l o g yw i l lh a v e i m p o r t a n ts i g n i f i c a n c ei ni m p r o v i n gt h ec o m p e t i t i v e n e s so fo u r s h e e t m e t a le n t e r p r i s e s a tp r e s e n t , t h e ma r ef e wh o m e m a d ec a d c a ms o f f w a r e so ns h e e tm e t a l p r o c e s s i n ga n d t h ep r i c eo ff o r e i g np r o f e s s i o n a lc a d c a ms o f t w a r e so ns h e e tm e t a li s s oh i 曲t h a ti ti sd i f f i c u l tf o rt h e mt ob ea p p l i e dw i d e l yt o w a r ds m a l la n dm e d i u m e n t e r p r i s e s i nr e s p o n s et ot h i ss i t u a t i o n , c o d ep r o c e s s i n gt e c h n o l o g i e so ns h e e t - m e t a l e x t e n s i o ng r a p h i c sh a v eb e e nr e c e a r c h e db a s e do nt h ep r o g r a m m i n gm e t h o do fn c p r o c e s s i n go fs h e e tm e t a lp a r t s ,w h i c hc a nl a yt h ef o u n d a t i o nf o rd e v e l o p i n gt h e s h e e t - m e t a le x t e n s i o nc a d c a ms o f t w a r ef o rs m a l la n dm e d i u me n t e r p r i s e s f o rt h er e a s o nt h a ts h e e t - m e t a le x t e n s i o nd r a w i n g sa r et w o d i m e n s i o n a lp l a n e g r a p h s ,a n da u t o c a d i st h em o s t 诵d e l yu s e dt w o - d i m e n s i o n a li n t e r a c t i v e c o m p u t e r - a i d e dd r a w i n gs o f t w a r ew i t hg o o dg r a p he d i t i n gf u n c t i o n , a u t o c a di s c h o s e n 勰t h ed e v e l o p m e n tp l a t f o r ma n dv b 嬲t h ed e v e l o p m e n tt 0 0 1 f i r s t l y ,b a s e do n t h ea n a l y s i so fn cc o d e s ,t h ec o d eg e n e r i cg r a p h i c a ld i s p l a ym o d u l ei sd e v e l o p e d ,a n d o nw h i c hc l a s s i f i c a t i o n so ft h es h e e t - m e t a lp a r t sh a v eb e e nf i n i s h e d t h et e c h n o l o g yo f a u t o c a ds e c o n d a r yd e v e l o p m e n tw i t l lv bi su s e dt or e a l i z et h em a t e r i a l i z a t i o no f d i f f e r e n tt y p e so fs h e e tm e t a le x t e n s i o ng r a p h i c si nt h ea u t o c a dm o d e ls p a c e ; s e c o n d l y ,ag r a p h i c a le d i t o rm o d u l ei sd e v e l o p e da n dt h em o d u l ei su s e di ne d i t i n ga n d t y p e s e t t i n ge x t e n s i o ng r a p h i c s ;f i n a l l y ,u n d e rt h ep r e m i s eo fd e e pa n a l y s i so fs h e e t m e t a ln cp r o g r a m m i n g ,t h ep r o c e s s i n go r d e ri se s t a b l i s h e da n dp r o c e s s i n gc o d ei s m - e x p o r t e dt ot h ed a t af i l e 、析n lt h ef e a t u r e so fa u t o c a dg r a p h i c so b j e c t st h r o u g h m a n - m a c h i n ei n t e r a c t i o n i nt h i sw a yt h en e wc o d eg e n e r a t i n gm o d u l ew a sd e v e l o p e d k e y w o r d :s h e e t m e t a le x t e n s i o n n cc o d ec a dc a m 西安电子科技大学 学位论文独创性( 或创新性) 声明 秉承学校严谨的学风和优良的科学道德,本人声明所呈交的论文是我个人在 导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标 注和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰写过的研究成 果;也不包含为获得西安电子科技大学或其它教育机构的学位或证书而使用过的 材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中做了明确的说 明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切的法律责任。 本人签名:善二算一 力 西安电子科技大学 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究 生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。学校有权保 留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部或部分内 容,可以允许采用影印、缩印或其它复制手段保存论文。同时本人保证,毕业后 结合学位论文研究课题再撰写的文章一律署名单位为西安电子科技大学。 ( 保密的论文在解密后遵守此规定) 本学位论文属于保密,在一年解密后适用本授权书。 本人签名: 导师签名: 日期j 业业一 日期豳f 翌: :矽 第一章绪 仑 第一章绪论 ll 研究背景和意义 制造业是社会可持续发展的基石是创造社会财富的直接源泉。当前,随着 信息技术和网络技术的发展,市场全球化进程太为加快,市场竞争加剧用户对 产品的质量、价格、供货时间和服务的要求越来越高,因此必须采用先进的设计 及制造技术。 计算机的出现是当代科学技术发展的最重丈成就之一,它的应用已遍及各个领 域。在这种背景下,加快了计算机技术与机械设计制造技术相互渗透和结合,产 生了计算机辅助设计与辅助制造( c o m p u t e r a i d e d d e s i g n a n d m a n u f a c t u r i n g ) 技术, 简称c a d c a m 。由于c a d i c a m 技术具有综合性强、技术含量高、见效快的优 势,所以成为当今发展最快的应用技术之一。c a d c a m 技术的发展,是机械设计 及制造领域的一次革命。 金属扳制作的钣金件大量应用在国民经济的各个领域中,如图1 i 所示为日常 生活中常见的几种钣金件。近年来,随着c a d c a m 技术的进步,钣金件的加工制 造大大缩短了产品的生产周期,减少了设计中的错误,并能利用计算机容量大、 运算速度快的优点,借助数据库存储的大量数据优化设计方案,保证方案的可行 性。由于c a d 系统产生的数据可直接经c a m 软件处理生成敛控程序,从而有效 地提高了产品质量及劳动生产率、缩短了产品的设计及制造周期、降低了生产成 本,使得钣金制造的生产实现高精度、高效率和高度自动化。c a d c a m 技术的发 展,不仅改变了人们设计、制造机械产品的常规方式得以充分发挥设计人员的 创造性,而且还将极大地提高企业的管理水平和市场竞争能力【l 捌。 1 冬 图i i 各种饭金件 钣金加工业是我国国民经济中的一个重要部门,随着信息技术的飞速发展 墨 毂 2 钣金展开c a d 图形代码处理技术 钣金c a d c a p p c a m 集成技术是当今我国钣金加工业的重要研究课题。目前, 许多c a d 软件都嵌入了钣金件自动展开的功能,并能自动生成数控加工代码,如 p r o e 、u g 等大型三维造型软件。但这些专业钣金展开软件价格偏高,对操作人 员的要求较高,在那些规模较小,资金相对不足的中小型钣金加工企业中这些大 型软件得不到普遍应用。所以开发适合中小型企业应用的钣金加工自动化软件非 常必要。对于中小型企业在钣金设计及加工自动化方面的要求比较单一,如企业 在对钣金展开件进行数控加工过程中,为减少加工次数,提高加工效率,希望通 过对展开图形重新排版,在同一钣料上一次性加工不同种类的钣金件,这样做既 减少了对数控机床的重复操作,又节约材料,减少钣金件的加工成本。所以需要 对数控加工代码进行必要的处理来满足上面提出的要求。如图1 2 所示,n c 代码 经过数据处理系统之后,重新生成加工新钣金“排样图 的数控代码,并且可输 出新钣金排样图。 图1 2 钣金加工后置处理 所以本课题对钣金展开c a d 图形代码处理技术进行了研究,这一研究开发工 作可以成为后续板材优化排样、钣金c a p p 和c a m 研究开发的基础,符合我国 计算机应用的发展需求,促进了新技术与制造业的结合,有以下几个方面的现实 意义: ( 1 ) 应用计算机辅助设计的先进技术,是实现钣金设计制造自动化的重要方法和手 段,有利于提高国家工业水平和产品开发能力,促进我国制造业信息化的发展; c 2 ) c a d 软件的本地化是提高我国c a d 技术应用水平的一个重要途径。在对钣金 展开c a d 图形代码处理技术研究过程中,深入探索了a u t o c a d 的二次开发 技术,以满足钣金加工行业的需求,使之更适合于本地企业的应用; ( 3 ) 钣金展开数据文件的后续处理,对钣金加工自动化和下料的优化排样有重要的 意义: ( 4 ) 从软件发展的角度来看,软件在发展过程中不断地强化它的功能,不断提高 它的实用性,不断追求完善。我们做自己的产品,目的也就是为了在前人的基 础上能开发出更好更实用的软件【3 4 】。 第一章绪论 1 2c a d c a m 技术简介 作为制造业信息化单元技术的c a d c a m 技术是制造业信息化的切入点,是 企业信息化的核心。c a d c a m 技术产生于20 世纪50 年代后期发达国家的航空 和军事工业中,随着计算机软硬件技术的快速更新和计算机图形学技术的发展而 迅速成长起来。在这短短的几十年中,计算机分别经历了大型机、小型机、工作 站、微机时代。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 系统由相关的硬件及软件组成,硬件主要指计算机及其网络系统, 从广义角度来说,硬件还应包括加工及运输装置等;软件则包括系统软件、支撑 软件、应用软件等。 系统软件包括负责全面管理计算机资源的操作系统和用户接口理软件、各种 高级语言编译系统、监督系统、诊断系统、各种专用工具软件等。它是整个软件 系统的核心,直接与计算机硬件相联系,包括c p u 管理、存储管理、进程管理、 文件管理、输入输出管理和作业管理等。 支撑软件是建立在系统软件基础上,开展c a d c a m 所需的最基本应用软件。 它包括图形处理软件、集合造型软件、有限元分析软件、动态模拟仿真软件、检 测与质量控制软件、数据库管理软件等。支撑软件的作用是建立起开发c a d c a m 所需的应用软件平台,减少应用软件开发工作量,缩短开发周期,使应用软件更 贴近国际水平。 应用软件直接面向用户,是在选定的系统软件和支撑软件基础上开发的。这 类软件解决用户各种生产实际问题,这些软件通常设计成交互式,发挥人机各自 特长 5 - 7 1 。 , 1 3 钣金件展开c a d c a m 系统发展现状 随着科学技术的飞速发展,机械制造技术发生了深刻的变化。传统的普通加 工设备已难以适应产品多样化、高效率、高质量的要求。而以数控技术为核心加 工设备与网络通信技术有机地结合在一起,构成高度信息化、高度柔性、高度自 动化的数控制造系统正是目前的发展方向。 在加工制造业中,一般常用的制造技术主要是数控加工制造技术,也就是所 4 钣金展开c a d 图形代码处理技术 谓的n c ( n u m e r i c a lc o n t r 0 1 ) 加工制造技术。其在生产制造方面上具有减少加工前的 准备工作、减少操作人员及误差、提高加工灵活性、减少产品检验所需的成本、 生产实践容易控制、产品精度高、加工重复性好等优点。现今的数控加工机械已 经发展成单机种,可进行多项加工技术及各种加工动作的综合加工中心。们可以 在同一台加工机床中进行各类的加工制造工艺,至可以利用高级的控制技术及机器 人,将各类加工中心组合成自动化的加工生产线。 现今市场上,钣金零件占全部金属制品9 0 以上,在国民经济和军事诸方面 占有的位置极其重要。如今加工制造业所面临的加工目标项目要求多,如工件复 杂性、精度要求及生产效率等等的门槛越高,同行业的竞争也越来越激烈。面对 竞争激烈的加工制造业市场,单靠个人的力量无法完成精确、快速、复杂的加工 目标,因此在加工制造技术的设计上需要适当的辅助工具,才能提高行业者的加 工技术,在加工制造技术业市场中更其竞争力,更能完成别人所无法完成的目标。 在应用数控设备的过程中,c a d c a m 软件的使用至关重要。它能辅助技术人员建 立非常直观的零件三维模型,并从零件的二维模型快速、准确地生成数控加工程 序【8 1 3 1 。 据调查在国内,有6 0 的企业对钣金三维立体构件展开设计及加工还没有摆 脱传统的纸板放样、手工画线和手工下料的困境。传统钣金设计制造方法受到人 为因素和客观环境的限制,其设计工作量大、重复劳动多、周期长、成本高,已 经不能满足社会生产的需求。目前,国内钣金加工技术落后,设备陈旧,对钢材 的浪费十分严重,如国内钢材年平均产量约1 5 亿吨,浪费的钢钣材平均高达 2 0 3 0 ,这和先进国家相比技术差距很大,不能适应我国基本建设总体发展的 要求。随着c a d c a m 技术的进步,钣金展开c a d c a m 软件逐渐被应用到钣金 设计、制造等过程当中。对于国内大型的钣金加工企业,要求的钣金 c a d c a p p c a m 集成软件的功能强大而全面,几乎所有的大型企业都通过引进 国外的设备和软件来实现钣金设计及加工自动化。但是对于中小型钣金加工企业, 在钣金设计及加工自动化方面的要求比较单一,由于受资金和技术人员素质的限 制,通过引进国外的设备和软件来提高经济效率的方法显然不现实。 国内应用的钣金c a d c a m 软件大多数是从国外引进,一些大型通用的 c a d c a m 软件( 如p r o e n g i n e e r 、u g 、i - d e a s 等) 逐渐应用到钣金加工业中,这些 通用c a d c a m 软件都包含了钣金金设计模块,例如应用p r o e n g i n e e r 的钣金设 计模块可以进行钣金三维实体设计,并通过自动展开获得钣金展开放样图,但这 些通用c a d c a m 软件不仅显得操作繁琐,而且功能上力不从心。因此现在许多 国内企业开始引进与设备配套的支持软件( r a d a n 、j e t c a m 、p r o c a m 等) 。 例如r a d a n 不仅具备二、三维设计环境,专业的自动展开计算,方便快捷的数 控编程功能,更重要的是针对钣金件的生产特点用独特的方法连贯了从钣金设计 第一章绪论 到加工的整个产品制造环节。在这个新的流程中,三维设计是至关重要的,系统 根据产品的三维信息,自动生成二维图,包括标准三视图、展开图以及零件的数 控加工程序。显然把通用c a d c a m 软件应用到钣金加工业中,具有操作和功能 上的缺陷,不易推广使用。然而应用国外专业c a d c a m 软件,需要设备和软件 配套引进,对我国钣金加工业的发展非常不利,特别是对中小型钣金加工企业, 由于资金及技术原因,将受到更多的限制。与国外同类软件相比,国内的钣金 c a d c a m 系统在开发中存在着通用性差、扩展性差、功能少、重用性差、交互性 差等不足,针对这一现状,开发一套简单、易用、高效的钣金件系统,使技术人 员在短期内就能很好的掌握和利用其工作已成为企业提高工作效率的有效途径。 因此,开发适合中小型企业应用的钣金加工自动化软件非常必要【1 4 - 1 7 。 1 4 本文的主要工作 企业在用数控机床加工钣金展开件过程中,为在同一钣料上尽可能多地加工 工件,将不同种类,尺寸大小不同的钣金展开件同时排版,尺寸较大的展开件排 完后,可将钣料剩下的部分排上尺寸小的钣金件,这样可以充分利用钣金材料, 提高材料利用率。而专业钣金展开软件价格偏高,且对软件的使用者要求的素质 也较高,在中小型企业当中得不到普遍应用。本文针对以上问题,利用基于v b 的 a u t o c a d 二次开发技术,对钣金展开件的n c 代码处理技术进行了研究,开发了 钣金件图形化模块、图形编辑模块和生成新加工代码模块三个模块,为开发中小 企业级的钣金加工自动化系统做了铺垫,要工作如下: ( 1 ) 利用a u t o c a d 2 0 0 4 中提供的a c t i v e xa u t o m a t i o n 接口,应用a c t i v e x 客户编 程语言v i s u a lb a s i c ,实现v b 程序从a u t o c a d 内部或外部来控制操纵 a u t o c a d 。完成对a u t o c a d 对象的引用并使用w m d o w s 提供的a p i 函数,实 现a u t o c a d 与v b 的连接与嵌入。 ( 2 ) 分析数据文件( 数控代码) 其固定的组成结构,制定编程方案,实现对刀具快速 定位,直线插补,顺时针圆弧插补和逆时针圆弧插补的轨迹模拟,从而实现钣 金展开件的图形化。 ( 3 ) 基于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 中,实现对展开件快速、灵 活的编辑。 ( 4 ) 对于编辑好的钣金展开件,通过v b 编程,找出进刀点,并用特殊的点做标记, 重新确定刀具走刀轨迹,按照数控机床编程规则结合钣金加工工艺流程,生成 新数控代码。最后将新生成的数控代码,加载到图形显示控件上,验证代码的 准确性。 6 钣金展开c a d 图形代码处理技术 研究工作的主要流程如图1 3 所示: 图1 3 本文工作流程图 第二章a u t o c a d 的二次开发技术 7 第二章a u t o c a d 的二次开发技术 2 i 引言 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 的过程中均需根 据自身特点进行定制或开发。钣金展开图形代码处理技术,是对二维平面展开图 进行处理的技术,选择a u t o c a d 作为二次开发平台,可充分发挥其图形编辑方面 的优势,与应用编程语言从底层开发软件相比,降低了编程难度,缩短软件开发 周期。所以对a u t o c a d 系统的二次开发是扩展和深化钣金展开c 觥m 技术必须 解决的关键问题之一【2 ”。 2 2a u t o c a d 开发平台简介 a u t o c a d 是由美国a u t o d e s k 公司于二十世纪八十年代初为微机上应用c a d 技术而开发的绘图程序软件包,经过不断的完善,现已经成为国际上广为流行的 绘图工具。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 允许用户定制菜单和工具栏,并能利用内嵌语言a u t o l i s p 、 v i s u a ll i s p 、v b a 、a d s 、a r x 等进行二次开发。其现在具有的o l e a u t o m a t i o n 技术使得任意一种支持a u t o m a t i o n 的可视化编程工具可直接进行a u t o c a d 的二 次开发,大大提高了编程能力和效率。因此采用o l ea u t o m a t i o n 技术开发 8 钣金展开c a d 图形代码处理技术 a u t o c a d 是一种较好的方法。o l e 自动化技术是通过客户程序控制和访问服务器 程序的方法。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 3 开发工具的确定 对a u t o c a d 进行二次开发常用的工具有:a u t o l i s p 、a d s 、a r x 、o b j e c t a r x 、 v b a 和v i s u a l l i s p 。 在a u t o c a d 提供的多种开发工具中,a u t o l i s p 曾经是使用最多的一种,但 a u t o l i s p 不如编程语言方便,利用它设计的程序都是在a u t o c a d 环境中解释运行, 执行效率低,且不利于开发大型商业应用软件。a d s 采用c 语言进行程序设计,利 用预定义的a d s 函数库为a u t o c a d 编写应用程序,程序编写比较复杂,要求开发 人员有较高的计算机素质。a r x 采用v i s u a lc + + 作为其开发平台,对开发人员的要 求较高,通过一套c + + 类库对a u t o c a d 进行操作,代码效率高,比较适合专业厂商 使用。o b j e c t a r x 编程效率高,功能强大,但它的缺点是编程难度较大,开发速度 比较慢。v b a 和v i s u a l l i s p 虽然简单易上手,但它们对于开发大型的程序能力有限, 尤其是对面向对象的功能支持不好。 在上述几种编程语言中,对于普通用户来说,a u t o l i s p 编程执行效率低,a d s 、 a r x 、o b j e c t a r x r 得晦涩难懂,v b a 和v i s u a l l i s p 在功能上又略显不足。而v b 语言克服上述语言的的缺点和不足,功能强大,且便于掌握和快速开发。用v b 进 行a u t o c a d 二次开发,是基于a c t i v e x 自动化界面技术( a c t i v e xa u t o m a t i o n i n t e r f a c e ) 的。a u t o c a da c t i v e x 技术通过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 的图形功 能,快速开发图形用户界面的a u t o c a d 应用程序,实现w i n d o w s 平台上诸应用程 序的无缝连接,从而将所有程序都集成在统一的操作环境中。v b 能编译成可直接 执行的文件,能起到源程序保密的作用,同时还具有执行速度快,编辑方便,图 形显示状态可控,连接数据库方便,可直接上网与其它用户传递信息等优点。 第二章a u t o c a d 的二次开发技术 9 2 4 基于v b 的a u t o c a d 二次开发技术 2 4 1a c t i v e xa u t o m a t i o n 技术 a e t i v e xa u t o m a t i o n 是微软公司的一个技术标准,被称为o l e ( 对象链接和嵌 入) ,其宗旨是在w i n d o w s 操作系统中把多个应用程序组织起来,互相沟通和控制。 a c t i v e xa u t o m a t i o n 通过在两个程序之间安排对话,达到一个程序控制另一个程 序。其过程为:由应用程序发动a c t i v e xa u t o m a t i o n 的操作:这个应用程序自动成 为c l i e n t ,被调用的应用程序为s e r v e r ,s e r v e r 收到对话请求后,就决定暴露哪些 对象给c l i e n t 。 a u t o c a d 自r 1 4 版本起,就增加了a c t i v e xa u t o m a t i o n 自动化服务的功能 ( a c t i v e xa u t o m a t i o ns e r v e rc a p a b i l i t i e s ) ,它丰富了a u t o c a d 自身的a p i ,为 a u t o c a d 的进一步发展开辟了新的途径。 a u t od e s k 公司在a u t o c a d 2 0 0 4 中提供了a c t i v e x a u t o m a t i o n 所提供的接口, 因而用户可以很方便的应用a c t i v e x 客户编程语言( 如v i s u a lb a s i c ,d e l p h i 和 m i c r o s o f tc + + 等) 来定制a u t o c a d 。而微软的v b 是w m d o w s 操作系统下最常用的 支持a c t i v e x a u t o m a t i o n 技术的开发工具,其语法简单、功能强大,提供了可执行 代码的源代码编译器。它和v i s u a lb a s i cf o ra p p l i c a t i o n ( v b a ) 还不同,v b a 是将 v b 的环境移植到了a u t o c a d 中,虽然在w m d o w s 平台上它可以有效的实现应用 程序的集成,但是它没有独立的工作环境,必须依赖于主应用程序存在。而v b 则 是一个独立的开发工具,它不需要依赖于其它的应用程序,有自己完全独立的工 作环境和编译、连接系统。而且独立的v b 也有优于v b a 的方面,这源于微软对 两者在功能上的实现功能上的差别。总之,v b a 只是v b 的一个子集,其功能不 如v b 强大。 2 4 2 面向对象技术在c a d 二次开发中的应用 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 的图形本身就是对象,比如直线既有线型、颜色、宽度、长度等 属性,也有移动、延伸、切断等操作。每一个a u t o c a d 对象都有一套方法与属性, 通过方法可以实现对象的一些操作,而对象状态信息的收集和改变则是通过属性 完成。应用面向对象的技术进行a u t o c a d 二次开发就是按照图形类来定义程序结 构,从而完成想要实现的功能。 1 a u t o c a d 应用程序对象的引用 a u t o c a d 对象的引用采用对象变量来完成。首先声明变量类型,然后使用s e t 1 0 钣金展开c a d 图形代码处理技术 语句将对象引用赋给变量。 设引用a u t o c a d 应用程序对象( a p p l i c a t i o n ) f l o 变量名为a c a d a p p ,则 d i ma c a d a p pa sa c a d a p p l i c a t i o n s e ta c a d a p p = g e t o b j e c t ( ,”a u t o c a d a p p l i c a t i o n ”) 或: s e ta c a d a p p = c r e a t e o b j e c t ( a u t o c a d a p p l i c a t i o n ”) 这两种方法均直接引用a u t o c a d 应用程序对象,其不同点将在后面进一步说 明。 a u t o c a d 应用程序对象对下级对象的引用可以通过a u t o c a d 应用程序对象 ( a p p l i c a t i o n ) l 拘属性或者方法逐级向下访问其所有下级对象。例如,下面语句通过 a u t o c a d 应用程序对象变量a c a d a p p 的a c t i v e d o c u m e n t 属性访i h - j m o d e l s p a c e 属性, 再通过m o d e l s p a c e 对象的a d d c i r c l e 方法,在模型空间创建一个圆对象,并使用s e t 语句将圆对象引用赋给变量c i r c l e o b j 。 d i mc i r c l e o b ja sa c a d c i r c l e s e tc i r c l e o b j = a c a d a p p a c t i v e d o c u r n e n t m o d e l s p a c e a d d c i r c l e ( c e n t e r p o i n t , r a d i u s ) 创建圆对象之后,就可以用代表该圆对象的变量c i r c l e o b j 来访问该圆的属性和 方法。例如,c i r c l e o b j c o l o r 将返回该圆的颜色。 a u t o c a d 各种对象及其下级对象、属性和方法数量众多,关系复杂,不过, 像其他v b 程序编制一样,只要输入预先声明过的变量名或者对象名,在其后加面 的“”之后,将自动出现一个下拉列表框显示该对象的所有属性和方法。 2 a u t o c a d 对象的释放 用s e t 语句设置了一个对象变量以后,当不再使用该对象时,应将其设置为 n o t h i n g ,及时释放该对象所关联的所有系统及内存资源。注意,下级对象引用结 束后,也要将其设置为n o t h i n g ,下级对象不会随上级对象的释放而自动释放。例 如: s e ta c a d a p p = g e t o b j e e t ( ,”a u t o c a d a p p l i c a t i o n ”) s e ta c a d d o c = a c a d a p p a c t i v e d o c u m e n t 引用结束后,用下面的语句释放对象所关联的所有系统及内存资源。 s e ta c a d a p p = n o t h i n g s e ta c m d o c = n o t h i n g 2 4 3a u t o c a d 与v b 的连接与嵌入 1 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 的对象层次模型如圈2l : 图21 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 连接起来 需要以下两个步骤哪i : 1 ) 在编写v b 代码前,在v b 编程环境中引用a u t o c a d 对象库。 2 ) 编写v b 程序代码,创建a 咂。c a d 对象,启动运行a u t o c a d 。 圈2 2 引用a u m c a d x ! | 象库 v b 与a u t o c a d 连接后,就可扎利用该a u t o c a d 对象及其下级对象的属性和方 1 2 钣金展开c a d 图形代码处理技术 法等,完成用v b 语言在a u t o c a d 环境中的图形绘制和编辑等操作。步骤如下: ( 1 ) 引用a u t o c a d 对象库:在v b 编程环境中选择 工具】【引用】命令,打开 引 用】对话框,选中a u t o c a d 2 0 0 4t y p el i b r a r y 复选框,如图2 2 所示。 ( 2 ) 创建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 的方法可以采用多种形式,下面介绍两种比较普遍的方法。 方法一: 若v b i 程只有一个窗体需要创建a u t o c a d 对象,则只要简单地在该窗体的代 码窗体中输入下面代码,窗体加载时,就可以启动运行a u t o c a d 。 o p t i o ne x p l i c i t d i ma c a d a p pa sa c a d a p p l i c a t i o n p r i v a t es u bf o r m _ l o a d ( ) o ne r r o rr e s u m en e x t s e ta c a d a p p = g e t o b j e c t ( ,”a u t o c a d a p p l i c a t i o n ”) i f e r rt h e n e r r c l e a r s e ta c a d a p p = c r e a t e o b j e e t ( a u t o c a d a p p l i c a t i o n ”) i f e r rt h e n m s g b o x ( ”不能运行a u t o c a d ,请检查是否安装t a u t o c a d ) e x i ts u b e n d i f e n d i f a c a d a p p v i s i b l e = t r u e e n ds u b 方法二: 在全局模块m o d u l e 中定义a u t o c a d 对象变量,这样多个窗体均可使用该变量。 因此,选择 工程】【添加模块】命令,在工程中添加名为m o d u l e l 的模块,用下面的 语句定义: p u b l i ca c a d a p pa sa c a d a p p l i c a t i o n a c a d a p p 最p 为a u t o c a d 应用程序对象变量,通过该变量,可以访i h l a u t o c a d 的下级对象,如a u t o c a d 文档,模型空间,以及各种图形实体等。 模块代码如下: o p t i o ne x p f i c i t p u b l i ca c a d a p pa sa c a d a p p l i c a t i o n p u b l i cs u bc o n n e c t a u t o c a d ( ) o ne r r o rr e s u m en e x t 第二章a u t o c a d 的二次开发技术 s e ta c a d a p p = g e t o b j e c t ( ,”a u t o c a d a p p l i c a t i o n ”) i f e r r t h e n 。 e r r c l e a r s e ta c a d a p p = c r e a t e o b j e c t ( a u t o c a d a p p l i c a t i o n ”) i f e r rt h e n m s g b o x ( ”不能运行a u t o c a d ,请检查是否安装7 a u t o c a d ”) e x
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年广西梧州市辅警招聘考试题库及答案
- 2025年广东省阳江市辅警招聘考试题题库(含参考答案)
- 2025年东营市专业技术人员公需科目培训考试题库判断题(含答案)
- 2024-2025学年执法资格全真模拟模拟题含答案详解(完整版)
- 2023年度公务员考试《常识》练习题及参考答案详解(综合题)
- 2025广东省吴川市中考数学考前冲刺练习题含答案详解【黄金题型】
- 浙江衢州江山市峡口中心幼儿园招聘幼儿园专任教师笔试高频难、易错点备考题库及完整答案详解1套
- 2025年云南德宏州(傣族景颇州)基层法律服务工作者执业核准考试备考题库及答案
- 城市更新项目质量管控实施方案
- 电力设施建设技术方案
- 餐饮服务明厨亮灶建设工作方案
- 兽医化验员专业知识考试题及答案
- 福建台湾海峡大桥建设工程可行性研究报告
- (完整)注册安全工程师考试题库(含答案)
- 高考作文素材积累与写法总结27 自知与知人作文审题指导及素材积累
- 电子政务概论-形考任务5(在线测试权重20%)-国开-参考资料
- 2024年贵州省贵阳市中考生物地理合卷试题(含答案逐题解析)
- DNDC模型使用手册
- 起重机械生产单位质量安全总监-特种设备考试题库
- JBT 9189-2016 水基材料防锈试验方法 铸铁屑试验
- JJF 1064-2024 坐标测量机校准规范
评论
0/150
提交评论