




已阅读5页,还剩65页未读, 继续免费阅读
(计算机软件与理论专业论文)基于autocad平台的智能cnc自动编程系统的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 数控编程是目前c a d c a p p c a m 系统中最能明显发挥效益的环节之一,其 在实现设计加工自动化、提高加工精度和加工质量、缩短产品研制周期等方面 发挥着重要作用。采用人工编制的方法进行编制数控技术机床程序,不但准确 性不高,而且大大制约了生产率的提高,不利于自动化程度的提高。所以开发 优异的数控自动编程系统,更加准确、高效的编制机床程序( g 代码) ,成了众 多专业人员的研究方向。 本文研究了基于a u t o c a d 的数控自动编程系统开发技术,在充分了解 a u t o c a d 的数据结构的基础上,采用o b j e c t a r x 2 0 0 4 和v i s u a lc + + 2 0 0 2 n e t 对 a u t o c a d 2 0 0 4 进行二次开发,开发了一个线切割数控自动编程系统。该系统采 用o b j e c t a r x 与m f c 相结合的a u t o c a d 二次开发技术,以a u t o c a d 零件图 形作为原始数据,进而实现自动编程,动态仿真及加工工艺参数优化推理等功 能。实现了从a u t o c a d 所绘制的二维图形中直接提取零件的特征信息继而生成 数控机床所需的程序代码,在很大程度上方便机械设计师进行设计。与此同时 该系统引入b p 神经网络来推理所有工艺参数组合下的工艺指标参数,在满足加 工精度要求的前提下选取加工速度最大的工艺参数组合,使系统具有智能化加 工的特点。 此外,该系统开发出了友好的用户界面。利用a u t o c a d 提供的编程格式, 开发出数控加工程序菜单;利用v i s u a lc + + 2 0 0 2 n e t 的m f c 结合a u t o c a d 二次 开发的环境o b j e c t a r x 提供的a d u i ,a c u i 类库,开发出与a u t o c a d 内部一致 风格的对话框。使该系统力争实现“简化式”设计,所有命令均通过w i n d o w s 风 格的菜单驱动来实现,且所有的数据均通过对话框输入,输入形式简单明了, 自动化程度较高。对于基本操作,可实现一用即会。 关键词:c n c ;自动编程;a u t o c a d 二次开发;o b j e c t a r x ;b p 神经网络 a b s t r a c t a b s t r a c t n cp r o g r a m m i n gi so n eo ft h el i n kb r i n g i n gb e n e f i c i a lr e s u l ti n t op l a ya tp r e s e n t c a nm o s to b v i o u s l yi nc a d c a p p c a ms y s t e m ,p r e c i s i o nm a c h i n i n ga n d p r o c e s s i n g t oi m p r o v eq u a l i t y , s h o r t e np r o d u c td e v e l o p m e n tc y c l e ,a n ds op l a y sa n i m p o r t a n tr o l e p r o d u c e db ya r t i f i c i a lm e t h o d so fp r e p a r a t i o no ft h en cm a c h i n et o o lt e c h n o l o g y p r o g r a m ,n o to n l yt h ea c c u r a c yi sn o th i g h ,a n dg r e a t l yr e s t r i c t e dt h ei n c r e a s ei n p r o d u c t i v i t yi sn o tc o n d u c i v et or a i s i n gt h el e v e lo fa u t o m a t i o n t h e r e f o r e ,t h e d e v e l o p m e n to ft h ee x c e l l e n ta u t o m a t i cn cp r o g r a m m i n gs y s t e m ,m o r ea c c u r a t ea n d e f f i c i e n tp r o c e d u r e sf o rt h ep r e p a r a t i o no fm a c h i n et o o l ( gc o d e ) ,h a sb e c o m ea l a r g en u m b e ro fp r o f e s s i o n a l si nt h er e s e a r c h , i nt h i s p a p e r , b a s e do na u t o c a do fn ca u t o m a t i cp r o g r a m m i n gs y s t e m d e v e l o p e dt e c h n o l o g y , i nf u l lk n o w l e d g eo fa u t o c a dd a t as t r u c t u r eb a s e do nt h eu s e o fo b j e c t a r x 2 0 0 4a n dv i s u a lc + + 2 0 0 2 。n e to fa u t o c a d 2 0 0 4f o rs e c o n d a r y d e v e l o p m e n t ,t h ed e v e l o p m e n to fac u t t i n gl i n ef o ra u t o m a t i cn c w a ys y s t e m t h e s y s t e mu s e sm f ca n do b j e c t a r xc o m b i n a t i o no fa u t o c a ds e c o n d a r yd e v e l o p m e n t o ft e c h n o l o g y , t o p a r t sg r a p h i ca u t o c a da s t h er a wd a t a , a n da u t o m a t i c p r o g r a m m i n g ,d y n a m i cs i m u l a t i o na n dp r o c e s s i n gt e c h n o l o g yp a r a m e t e r so p t i m i z e d r e a s o n i n gf u n c t i o n s r e a l i z e df r o mt h ea u t o c a dd r a w i n gt w o d i m e n s i o n a lg r a p h i c s i nt h ed i r e c te x t r a c t i o no fp a r t so ft h ec h a r a c t e r i s t i c so ft h ei n f o r m a t i o na n dt h e n g e n e r a t et h en e c e s s a r yc n cm a c h i n et o o l sc o d e ,t oal a r g ee x t e n tf a c i l i t a t et h e d e s i g n e r so fm e c h a n i c a ld e s i g n a tt h es a m et i m e ,t h ei n t r o d u c t i o no ft h es y s t e mb p n e u r a ln e t w o r kr e a s o n i n gt oa l lt h et e c h n i c a lp a r a m e t e r so ft h ep r o c e s su n d e rt h e c o m b i n a t i o no fp a r a m e t e r s ,i np r o c e s s i n gt om e e tt h er e q u i r e m e n t so fa c c u r a c yo nt h e p r e m i s eo fs e l e c t i n gt h es p e e do fp r o c e s s i n gt h e l a r g e s tp o r t f o l i o o fp r o c e s s p a r a m e t e r s ,t h es y s t e mh a st h ec h a r a c t e r i s t i c so fi n t e l l i g e n tp r o c e s s i n g i na d d i t i o n ,t h es y s t e md e v e l o p e da f r i e n d l yu s e ri n t e r f a c e t h eu s eo fa u t o c a d t op r o v i d ep r o g r a m m i n gf o r m a t ,d e v e l o p e dac n c m a c h i n i n gp r o g r a mm e n u ;t h eu s e o fv i s u a lc + + 2 0 0 2 n e tc o m b i n a t i o no fm f c s e c o n d a r yd e v e l o p m e n to fa u t o c a d i i a b s t r a c t e n v i r o n m e n to b j e c t a r xp r o v i d e da d u i ,a c u ic l a s sl i b r a r y , d e v e l o p e di n h o u s e a u t o c a dc o n s i s t e n tw i t ht h es t y l ed i a l o gb o x k e y w o r d s :c n c ;a u t o m a t i cp r o g r a m m i n g ;a u t o c a ds e c o n d a r yd e v e l o p m e n t ; o b j e c t a r x ;b pn e u r a ln e t w o r k i i i 学位论文独创性声明 学位论文独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得直昌太堂或其他教育机构的学位或证书而使用过的材料。与 我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确 的说明并表示谢意。 学位论文作者签名( 手写) :藤 签字目期:z 卯8 年儿月2 日 学位论文版权使用授权书 本学位论文作者完全了解直昌太堂有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权直昌太堂可以将学位论文的全 部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描 等复制手段保存、汇编本学位论文。同时授权中国科学技术信息研究 所将本学位论文收录到中国学位论文全文数据库,并通过网络向 社会公众提供信息服务。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名:能 签字e l 期:z 口一箩年2 月2f 日 导师签名: 、移云我 签字日期:夕移年膨月 刁日 第1 章绪论 第1 章绪论 随着数控技术的不断发展,机械制造业的自动化程度越来越高,数控机床 的作用也越来越大。数控机床是柔性制造系统( f m s ) 、现代集成制造系统( c i m s ) 中重要的组成部分。在数控机床上加工零件,首先需要编制零件的加工程序, 并输入数控系统,然后才能进行加工。图形数控自动编程是高效的数控编程手 段,是数控系统向集成化、智能化发展的必要环节,是当今数控编程技术的主 流,是c a d c a m 研究的重要领域。 数控编程是从设计零件图到获得数控加工程序的全过程。它的主要任务是 计算加工走刀中的刀位点( c u r e r l o c a t i o n p o i n t 简称c l 点) 。数控加工程序的编 制是进行数控加工的一个重要步骤,也是c a d c a p p c a m 系统中最能明显发挥 效益的环节之一。 1 1国内外数控自动编程技术的发展状况 数控自动编程【l ,2 】技术是随着计算机技术的不断发展而逐步发展和完善起来 的。早期由于计算机性能的限制,所以国外开发的数控自动编程软件也是先用 语言来描述几何图形信息和加工过程,然后再由计算机处理并生成加工程序。 这种编程方法虽然在手工编程的基础上有所提高,但是也有明显的缺点:采用 语言定义零件几何形状,难以描述复杂图形,缺乏几何直观性;缺少对零件形、 状、刀具运动轨迹的直观图形显示和刀具轨迹的验证手段;难以和c a d 数据库 以及c a p p 系统有效连接;不容易做到高度自动化、集成化而且编程过程比较 复杂。近年来,由于计算机技术发展十分迅速,计算机图形处理能力有了很大 的增强。因此,一种可以将零件几何图形信息自动转化为数控加工程序的全新 计算机数控自动编程技术便应运而生。 美国最早开始数控自动编程技术的研究。1 9 5 3 年,麻省理工学院伺服机构 研究室在美国空军的资助下,着手研究数控自动编程技术,1 9 5 5 年,研究成果 予以公布,奠定了a p t ( a u t o m a t i c a l l yp r o g r a m m e dt 0 0 1 ) 语言的基础。1 9 5 8 年, 美国航空空问协会组织1 0 多家航空工厂,在麻省理工学院协助下进一步发展 第1 章绪论 a p t 系统,产生了a p ti i ,可以用于平面曲线的自动编程。1 9 6 2 年,又发展了 a p t i i i ,可以用于3 5 坐标立体曲面的数控自动编程。其后,美国航空空间协 会继续对a p t 进行改进,并成立了a p t 长期规划组织。1 9 7 0 年发表了a p t i v , 可以进行自由曲面的数控自动编程。该数控自动编程系统配有多种后置处理程 序,是一种应用广泛的数控编程软件,能够适应多坐标数控机床加工曲线、曲 面的需要。与此同时,世界上许多先进的工业国家也都开展了数控自动编程技 术的研究工作。各主要工业领域都丌发了自己的数控编程语言,这些语言多借 助于a p t 的思想体系,与a p t 语言在语法格式上基本类似且各具特点。其中, 美国除了丌发a p t 系统之外,还开发了a d a p t 、a u t o s t o p 等小型系统,英 国丌发的2 c 、2 c l 、2 p c ,德国开发的e x a p t ,法国开发的i f a p t ,日本开发 的f a p t 、h a p t 等都在一定范围内得到应用。虽然这些系统相对于手工编程有 了很大的提高,但由于采用的是基于语言的数控自动编程方法,编程不够直 观并且效率也比较低。因此,图形数控自动编程技术的研究逐步发展起来。 早在7 0 年代初,美国洛克得飞机制造公司就率先推出了其图形数控自动编 程软件c a d a m 。到8 0 年代,随着图形工作站与高性能微机性价比的提高,出 现了各种图形数控自动编程系统,编程功能也从二维坐标系加工编程发展到三 维多坐标加工中心的数控编程与复杂雕塑曲面工件的数控编程。这些编程系统 大都用于大、中型计算机和工作站,也有少数可以用于微型计算机。目前国外 在这方面已经做了大量的工作,一些软件已经可以十分方便的实现三维( 3 d ) 曲面的几何造型,特征造型,并且商品化的图形数控自动编程软件不断涌现。 如美国的s u r f c a m 、i - d e a s 、m a s t e rs e r i e s ,法国的e u c l i d i s ,以色列的 c i m a t r o n 9 0 ,英国的h y p e r m i l l 等。其中美国c n c s o f t w a r e 公司的 m a s t e rc a m 软件功能较为强大,它除了方便的造型功能外,还具有多种绘图 软件接口,可以与3 0 0 多种数控机床连接。这些国外软件价格昂贵,以我国目 前的经济状况不能普遍使用。所以近几十年来,我国针对数控自动编程也进行 了一系列的研究和开发,并取得了一定的成绩。 我国从6 0 年代中期歼始数控自动编程方面的研究,7 0 年代以a p t 为蓝本 研制出二坐标功能的数控加工自动编程系统s k c 、z c x 、c k y 等。后来又研制 出具有复杂曲面编程功能的c a d 2 5 1 数控加工绘图语言等系统,功能从二坐标 扩大到三、四、五坐标。近年又推出了h z a p t 、e a p t 等微机数控语言编程系 统。图形数控自动编程近年来也有所发展,较著名的商品软件有北京航空航天 2 第1 章绪论 大学的c a x a 、华中科技大学的开目c a m 、清华大学g e m s 和西北工业大学的 n u p c a d c a m 等。 国内开发的这些数控自动编程系统,主要有以下三种自动编程方式: ( 1 ) 采用编程语言的数控自动编程。以著名的a p t 语言为基础。 ( 2 ) 基于专用图形的数控自动编程。采用专用图形软件,将设计好的零件 图形显示在屏幕上,编程人员指定要加工的表面,并回答软件提出的一些问题, 诸如刀点、走刀方式、切削用量参数等,然后由系统进行自动编程,形成刀位 文件或a p t 程序,再经过后置处理,变成机床所需的n c 代码。 ( 3 ) 从已有的c a d 系统获取零件信息的数控自动编程。一般利用 a u t o c a d 、u g 等普遍应用的c a d 系统提供的图形交换接口得到编程所需的零 件形状信息,编程人员只需进行适当的工艺处理就可生成数控程序。 1 2 现代数控技术的发展趋势 为更好满足市场和科学技术发展的需要,满足现代制造技术对数控技术提出 的要求,当今数控技术呈现新的发展趋势,主要体现在以下几个方面【3 , 4 , 5 】: 1 ) 建立基于p c 机、具有开放式体系结构的数控系统 根据i e e e 定义、开放系统应该能够使符合系统规范的各种应用系统运行于 不同销售商的不同平台之上,可以与其他应用系统实现相互操作,并提供一致 风格的用户交互界面。一般认为、开放式体系结构应具备四个特点:相互操作性、 可移植性、可缩放性、可互换性。 2 1 高速化j 高精度和高自动化 为了适应机床高速和高精度加工的需要,世界各国的数控设备生产商都致 力于提高系统的控制精度和加工速度。要求数控系统能够高速插补,计算出伺 服电机的位移量,伺服电机可以在极短的时间内达到指定的运行速度、并在高 速运行中保持高的定位精度。 3 1 智能化【6 7 】 智能化是数控技术的一个重要发展趋势。带有自适应控制功能的数控系统 可以在加工过程中根据切削力和切削温度等加工参数,自动优化加工过程,从 而达到提高生产率,增加刀具寿命并改善加工的表面质量等目的。刀具破损监 控和刀具智能管理功能可以智能地管理刀具,使刀具保持最佳工作状态。建立 3 第1 章绪论 以工艺参数数据库为支撑的、具有人工智能的专家系统指导加工。 4 ) 网络化 为适应制造业的网络化和全球化发展趋势,数控系统的网络化功能也日趋 重要。在企业内部,具有网络功能的数控系统可以充分实现企业内部的资源和 信息共享,适应未来车间面向任务的订单的生产发展模式,使底层生产控制系 统的集成更加简便有效。在生产企业之间,数控系统的网络化功能可以更好地 适应敏捷制造( a m ) 等先进制造模式。同时,系统制造商也可以通过系统的网 络功能进行远程珍断服务。 5 ) 提供数字伺服接口和更高的通讯功能 数字伺服系统具有高速、高精度和无漂移等特点,发展非常迅速,并已经 在数控机床上获得广泛应用。数控系统应该可以通过数字通讯接口和通讯协议 末控制伺服轴、主轴和p l c i o 接口。 6 ) 多功能化和小型化 一机多能的数控系统,可以最大限度地提高设备的利用率。数控加工中心 便是一种能实现多工序加工的数控机床。由于蓬勃发展的机电一体化设备,对 c n c 系统提出了小型化,使体积小型化便于将机、电装置揉合为一体。 1 3 课题来源 本课题来源于江西省工业攻关项目基于智能a g e n t 技术的c n c 加工自 动编程系统。该项目主要研究内容为:对现有的c n c 加工各方面及现有的自 动编程算法进行分析、研究;寻求新的c n c 加工自动编程求解算法;寻求能实 现把c n c 加工各方面有机集成的人工智能方法、理论;应用人工智能技术对c n c 加工的相关领域如决策支持等做一些有关的应用研究;将结果应用于实际的 c n c 加工过程,实验检验上述研究成果并分析其优劣。 1 4 课题的主要研究内容 本课题主要基于a u t o c a d 二次开发技术7 引,选用o b j e c t a r x 2 0 0 4 9 1 0 1 v i s u a l c + + 2 0 0 2 n e t 作为开发工具,在a u t o c a d 环境下实现零件设计、切割工艺 设定、数控加工程序生成、切割过程动态仿真和工艺参数优化推理等功能。这 4 第1 章绪论 样可以将c a d c a m 软件高度集成,充分利用了目前国内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 n c 加工自动编程中的应用; a u t o c a d 环境下引入b p 神经网络【1 1 , 1 2 , 1 3 】实现加工工艺参数的优化推理的研 究。 5 第2 章基丁a u t o c a d 的二次开发技术与o b j e c t a r x 编程 第2 章基于a u t o c a d 的二次开发技术与o b j e c t a r x 编程 作为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 1a u t o c a d 的二次开发技术 a u t o c a d 是目前国内外使用最为广泛的基于微机系统的通用c a d 绘图软 件之一,它提供了丰富的窗口操作系统,用户界面友好,并涉及了计算机领域 中许多新知识和新技术,如w i n d o w s 用户界面,实体造型及着色技术,事件驱 动的编程方法,s q l ( s t r u c t u r e dq u e r yl a n g u a g e ) 关系型数据库等。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 s c i i 码标准功能文件或建立同种类型新的a s c i 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 开发。本文中的二 次开发介绍主要指的是程序开发方式。 二次开发【8 】应遵循工程化,模块化,标准化和继承性等一系列的原则,依据 工程化的思想对二次开发进行统筹规划,具体实现峰持模块化,标准化和继承 性原则。 ( 1 ) 工程化原则 6 第2 章基于a u t o c a d 的二次开发技术与o b j e c t a r x 编程 二次开发应按照软件工程学的方法和步骤进行,突出工程化的思想。首先 对所要解决的问题进行详细定义分析( 由软件开发人员与用户讨论决定) ,并加 以确切的描述,确定软件技术目标和功能目标,编写软件需求说明书,确认测 试计划和数据要求说明书等。然后根据需求说明书的要求,设计建立相应软件 系统的体系结构,编写软件概要设计和详细设计说明书,数据库或数据结构设 计说明书,组装测试计划。从而保证软件的可靠性、有效性和可维护性。 ( 2 ) 模块化原则 模块化的原则要贯穿于二次开发的全过程。首先,在软件的结构设计中应 遵循模块化的原则,将整个系统分解成若干个子系统或模块,定义子系统或模 块间的接口关系,使各模块功能单一以保持模块之间的相对独立,以保证软件 的并行开发,修改和扩展方便。模块化可以使开发人员同时进行不同模块开发 设计,缩短软件开发周期;在软件需要维护和修改时,对相关模块进行修改即 可,避免了对整个程序进行修改工作;在扩展时,只要把独立的功能模块集成 即可运行。最后通过菜单调用把它们集成起来与原系统组成一个有机的整体。 在建立图库时也应遵循模块化的原则,根据产品结构和工艺的相似性,利用成 组技术将产品划分为有限数目的零件模块,将模块建模入库,方便产品设计, 提高开发效率。 ( 3 ) 继承性原则 二次开发不同于一般从底层做起的软件设计,是在已有软件基础上根据实 际需要而进行的在开发,对支撑软件有很强的依赖性和继承性。继承性既是二 次开发的最大特点,也是二次开发所要遵循的原则,使开发后的系统在界面风 格和概念上与原软件保持一致,新加入的部分在功能,操作等方面与原系统实 现无缝集成,从而保持系统的一致性和完整性。 ( 4 ) 标准化原则 标准化是开发c a d 软件的基础。首先,在丌发过程中要遵循c a d 技术的 基础标准,c a d 技术的发展之路也是一条标准化之路,面向用户的图形标准g k s ( g r a p h i c sk e r n e ls y s t e m ,图形核心系统) 和p h i g s ( p r o g r a m m e r sh i e r a r c h i c a l i n t e r a c t i v eg r a p h i c ss y s t e m ,程序员层次交互式图形系统) ,面向不同c a d 系统 的数据交换标准i g e s 和s t e p 以及窗口标准等都是进行二次开发所必须依据的 标准。其次,c a d 系统的二次开发不同于一般软件的设计开发,它的运行过程 是对具体机械过程的模拟,必须符合机械工程的特点,机械设计及加工过程也 7 第2 章基ta u t o c a d 的二次开发技术与o b j e c t a r x 编程 有着严格的国家标准规定。 2 2a u t o c a d 图形数据库 2 2 1 图形数据库结构 a u t o c a d 图形数据库【1 1 1 2 1 保存了组成一幅图形的对象和实体,一幅 a u t o c a d 图形实际上是由一组存储在图形数据库中的a c d b 对象组成的。每一 个图形数据库中的对象都有自己的句柄( h a n d l e ) ,它是该对象在某一特定的图 形中的标示符。实体是一种特殊的对象,它有具体的图形表示,如直线、圆、 圆弧、文本等。实体这种对象在数据库中是存储在一定的容器中的。容器对象 是图形数据库中的另一类对象。容器对象包括符号表和词典,它们是一种把符 号名称( 字符串) 映射到另外一个a c d b 对象上的对象,a u t o c a d 图形数据库 中的符号表数目是固定的,每一个符号表中包含了某一特定的符号表记录类的 实例。例如,层表包含了层表记录,块表包含了块表记录。在a u t o c a d 图形数 据库中,所有的a u t o c a d 实体都属于块表记录。 符号表和字典虽然都是保存对象的载体,但是它们也不尽相同。字典可以 保存任何实体或非实体对象( 由a c d b o b j e c t 类或起子类派生) 。应用程序可以 创建新的字典,但是不能创建新的符号表。一个对象i d 对于同时装载的所有数 据库对象来说是唯一的,而一个句柄仅在一个特定的a c d b d a t a b a s e 范围是唯一 的。一个对象i d 仅仅在一个图形编辑期间存在,而一个句柄则是与图形一起保 存的。因此,在a u t o c a d 对话期间,当多个数据库被装载时,不能保证一个对 象句柄是唯一的。 2 2 2 对象的i d 号 i d 号是对象的唯一的标识符,一旦取得了某一个对象的i d ,就能够获得指 向该数据库对象的指针,从而获得该对象的控制权,能够对它进行各种操作。 可以通过以下几种方法获得某一对象的i d 号: 创建一个新的对象并把它加入到图形数据库中,a u t o c a d 将给对象分配一 个固定的i d 号。 8 第2 章基t - a u t o c a d 的二次开发技术与o b j e c t a r x 编程 对于在图形数据库建立时自动建立的对象,可以使用数据库协议来获得对 象i d ,比如各种符号表和对象字典。 使用特定类的协议获取对象的i d 号。某些类,例如符号表和字典,对一些 包含其他对象的复合进行了定义。对于其中包含的对象,可以使用这些类的协 议来获得i d 号。 通过迭代器遍历一组对象来获取i d 号。 通过构造选择集,然后查询选择集查询选择对象的实体名单,可以从名称 转换到对象i d 号。 2 2 3 重要的图形数据库对象 创建对象时,对象将被加入到图形数据库的适当载体对象中( 如各种符号 表以及对象字典) 。例如,实体加入到块表记录中,块表记录加入到块表中。而 一些非图形对象加入到各种字典中。 一个图形数据库必须包含下列对象: 符号表: 块表( a c d b b l o c k t a b l e ) ,数据库中的实体典型的属于块表记录。块表缺省 包括三个记录:* m o d e l e s s pa c e ,* p a p e r e s s pa c e 和* p a p e r e s pa c e o ,这 三个记录对应于三个可以直接由a u t o c a d 用户编辑的初始图纸空间。 层表( a e d b l a y e r t a b l e ) ,层表缺省包含一个层:o 层。当用户使用l a y e r 命令时,可以为此表添加层。当然也可以使用二次开发语言创建新的层并把新 层添加到层表中。 文本类型表( a c d b t e x t s t y l e t a b l e ) 、线型表( a c d b l i n e t y p e t a b l e ) 、视图表 ( a c d b v i e w t a b l e ) 、u c s 表( a c d b u c s t a b l e ) 、视口表( a c d b v i e w p o r t t a b l e ) , 注册应用程序表( a c d b d i m s t y l e t a b l e ) 。与每个符号表相对应,可以创建各符号 表的迭代器,通过迭代器可以遍历各表的对象。 一个命名字典: 当图形数据库创建时,该对象字典包含三个字典:组( g r 0 u p ) 字典、复 合线( m l e ) 样式字典和布局( l a y o u t ) 字典。组字典时维护数据库实体 的排序集合的容器对象。也可以把组看作是命名的常驻选择集。它与所包含的 实体之间不存在所有者关系的关联。复合线样式字典包含a c d b m l i n e s t y l e 类的 9 第2 章基于a u t o c a d 的_ 二次开发技术与o b j e c t a r x 编程 对象。每个a c d b m l i n e 类的对象拥有相关的m l i n e 类型,指定了复合线的特性, 如颜色、线型等。布局字典是包含a c d b l a y o u t 类对象的命名对象字典中的缺省 字典。 a c d b l a y o u t 对象存储图纸空间布局的特性,包括出图设置。每个 a c d b l a y o u t 对象也包含相关块表记录的对象i d ,其中存放了与布局相关的实体 的信息。a u t o c a d 初始时包括三个布局:一个模型空间布局和两个图纸空间布 局,缺省情况下使用的是模型空间布局,可以在这里绘图,两个图纸空间用于 展示图纸对象,给出已配置的打印设备的可打印范围。字典也有相应的迭代器, 可以通过迭代器来访问这些字典中的对象。 2 3 o b j e c t a r x 编程 a u t o c a d 使用一种特定的c + + 编程环境,这就是o b j e c t a r x 1 3 1 4 l 5 。 o b j e c t a r x 是在a u t o c a dr 1 3 使用的a r x 的基础上发展起来的第二代面向对 象的c + + 编程环境。目前,与a u t o c a d 2 0 0 4 相配套使用的是o b j e c t a r x 2 0 0 4 版。o b j e c t a r x 包含一组动态链接库( d l l ) ,这些库与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 a d 几何造型核心,以便能在运行期间实时扩展 a u t o c a d 具有的类似功能以及创建全面享受a u t o c a d 固有命令特权的新命令。 2 3 1 o b j e c t a r x 应用程序的特点 在o b j e c t a r x 环境下开发的程序称为o b j e c t a r x 应用程序。o b j e c t a r x 应 用程序本质上就是w i n d o w sd l l 程序,而a u t o c a d 软件本身则是一个典型的 w i n d o w s 程序。o b j e c t a r x 应用程序与a u t o c a d 、w i n d o w s 之间均采用w i n d o w s 消息传递机制直接通信。o b j e c t a r x 应用程序通过调用a c r x e n t r y p o i n t ( ) 函数 建立与a u t o c a d 消息传递的入口,在a c r x e n t r y p o i n t ( ) 函数中用s w i t c h 语句 处理来自a u t o c a d 的各种消息。 下面这段代码表示了a c r x e n t r y p o i n t ( ) 函数。 e x t e m ”c ”a c r x :a p p r e t c o d e 1 0 第2 章基- j - a u t o c a d 的二次开发技术与o b j e c t a r x 编程 a e r x e n t r y p o i n t ( a c r x :a p p m s g c o d em s g ,v o i d 幸p k t ) s w i t c h ( m s g ) c a s ea c r x :k l n i t a p p m s g : t h i sa p p l i c a t i o nc a l lb eu n l o a d e d a c r x d y n a m i c l i n k e r - u n l o e k a p p l i c a t i o n ( p k t ) ; t h i si sa l lm d ia w a r ea p p l i c a t i o n a c r x d y n a m i c l i n k e r - r e g i s t e r a p p m d i a w a r e ( p k t ) ; i n i t a p p ( ) ; b r e a k ; c a s ea c r x :k u n l o a d a p p m s g : u n l o a d a p p ( ) : b r e a k ; ) r e t u ma c r x :k r e t o k ; ) o b j e c t a r x 应用程序与a u t o c a d 在同一地址空间内运行并能直接利用 a u t o c a d 核心数据库结构和代码。o b j e c t a r x 应用程序可以充分利用a u t o c a d 的刀:发结构,直接访问c a d 数据库结构、图形系统以及c a d 几何造型核心。 由o b j e c t a r x 应用程序定义的外部命令通过a c e d r e g c m d s ( ) 宏注册。这些外 部命令与a u t o c a d 自身固有命令一样由a u t o c a d 本身执行,享受a u t 0 c a d 固 有命令之特权。 o b j e c t a r x 应用程序以c 抖为基本开发语言,具有面向对象编程方式的数 据可封装性、可继承性及多态性等特点。用其开发的工程c a d 软件具有模块性 好、独立性强、连接简单、使用方便、内部功能高效实用以及代码可重用性强 等优点,并且支持m f c ,能简洁高效地实现许多复杂功能。 2 3 2 o b j e c t a r x 的组成 o b j e c t a r x 环境主要包含以下五个类库【1 6 , 1 7 1 :a c r x ,a c e d ,a c d b ,a c g i 第2 章基于a u t o c a d 的二次开发技术与o b j e c t a r x 编程 和a c g e ,以及一个与原来的a d s 相兼容的函数库。其核心是两组关键的a p i , 即a c d b 和a c e d 类库。 表2 1 列出了连接o b j e c t a r x 应用程序所需要的库。所有的o b j e c t a r x 应 用程序必须与a c e d 1 i b 和r x a p i 1 i b 库链接。对于其它的库也是要求的,但这要依 赖用户正在使用的o b j e c t a r x 库和函数的前缀。 a c r x 类库( a c r x 是a u t o c a d 实时扩展的简称) 。a c r x 库主要用于初始化 和链接动态链接库,同时用于实时类注册和识别。 这个库的基本类是a c r x o b j e c t ,它可为以下操作提供工具: 1 ) 对象实时类识别和继承分析; 2 ) 向一个已存在的类实时添加新的协议; 3 ) 实体相等与比较的测试; 4 ) 实体拷贝。 a c e d 类库( a c e 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 c e d 还使应用程序 可以监控某些特定事件,如命令的开始、结束或取消,使某一应用程序与其它 程序之间有特定的关系。在该库中的一个重要的类是a c e d i t o r r e a c t o r 。 a c d b 类库( a c d 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 对现有对象和 图元所支持的行为。同时,该库也为非图形对象( 如层、线型、文本样式等) 保存所有信息。 a c g i 类库( a c g i 是a u t o c a d 图形接口的简称) 。a c g i 库提供了用于绘制 a u t o c a d 实体的图形接口。该库由a c d b e n t i t y 成员函数w o r l d d r a w ( ) 、 v i e w p o r t d r a w ( ) 和s a v e a s ( ) 所使用,这些函数是标准实体协议的一部分。 表2 1 链接o b j e c t a r x 应用程序所需要的库 前缀需要的库 a c r x a c e d a c d b a c g i a c e d 1 i b ,r x a p i 1 i b ,a c 1 6 1 i b a c e d 1 i b ,r x a p i 1 i b ,a c e d a p i 1 i b ,a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 46267-2025大型全喂入联合收割机
- 2025辽宁沈阳地铁集团有限公司所属公司拟聘用人员模拟试卷及答案详解(网校专用)
- 2025湖北荆州市石首市第二批校园招聘教师6人考前自测高频考点模拟试题及一套参考答案详解
- 安全培训教师基本条件课件
- 2025年威海火炬高技术产业开发区公开招聘教师(第二批)(61人)考前自测高频考点模拟试题及答案详解一套
- 2025年锂电池配套试剂项目建议书
- 广昌消防安全培训课件
- 2025江西赣南医科大学高层次人才招聘180人模拟试卷及答案详解(全优)
- 小学安全专项培训反思课件
- 2025年高通量试验反应堆及配套产品合作协议书
- T-GDACM 0110-2022 医疗机构中药煎药机煎煮规范
- 2024年中考考前语文集训试卷17及参考答案(含答题卡)A3版
- 功能量规-标准
- 【拆书阅读笔记】-《网飞文化手册》
- 合肥市建筑工程质量验收综合表
- 2023年检验检测机构质量手册(依据2023年版评审准则编制)
- 华为从战略到执行培训
- 变化点(4M变更)管理管控表
- 洪恩识字配套字库完整版识字启蒙200字-生字组词句子完整版可打印-点读指读
- 辽宁省2023年中考语文试题【6套】(含真题答案)
- 土木工程概论课件
评论
0/150
提交评论