(机械电子工程专业论文)基于cad的坐标测量机驱动技术研究.pdf_第1页
(机械电子工程专业论文)基于cad的坐标测量机驱动技术研究.pdf_第2页
(机械电子工程专业论文)基于cad的坐标测量机驱动技术研究.pdf_第3页
(机械电子工程专业论文)基于cad的坐标测量机驱动技术研究.pdf_第4页
(机械电子工程专业论文)基于cad的坐标测量机驱动技术研究.pdf_第5页
已阅读5页,还剩58页未读 继续免费阅读

(机械电子工程专业论文)基于cad的坐标测量机驱动技术研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 学科名称: 作者姓名: 导师姓名: 答辩日期: 扭撼鱼王工程 奎蓝 鄞僮查教授 茎q q 墨:生 摘要 随着现代工业的发展,三坐标测量机正逐渐成为机械制造业的主导检测设备。 n 三坐标测量机本身自动化、智能化的程度也在不断增太? 智能坐标测量技术和虚拟 , 三坐标测量机是目前三坐标测量机发展的主导方向之一。它们都要求能自动识别c ad 设计图纸并生成工件的三维图形,而这其中c a d 特征识别与数据提取技术即坐 标测量机能直接从c a d 图纸中获得零件的几何特征是其中的关键。本课题在 c a d c m m 集成技术基础上,采j jc a d 二次开发工具o b j e c t a r x ,以v i s u a lc + 十6 0 作为开发环境,结合m f c 类库对m d t ( a u t o c a d ) 进行二次开发,提取图形数据, 坐标洲鼍据此制定检测路径,完成自动测量。 作者将理论研究与实际开发有机的结合起来。采用m d t 为平台o b j e c t a r x 为 开发工具,实现们t 中三维表面模型和实体模型图形信息的提取。并且,m d t 能导 入其他c a d 系统中的i g e s 和s t e p 图形文件,这样,其它c a d 中的图形在m d t 中也 可以实现图形信息的提取。从m d t 中提取的图形信息数据通过c 0 ) a 接口和坐标测量 机实现数据交换,坐标测量机据此规划测量路径,实现自动测量。 关键词:o b j e c t a r xc a d i c m m 实体数据提取二次开发 左稿缀 苷、叩 氰链 鳓参 s u b j e c t :! h 基! 曼! 丛i 堡垒l 旦星s 垦r 旦q 旦q q 壁9 i n a t em e a s u r 旦m e n t b a s e do nc a d s p e c i a l i t y :m e c h a n i c a la n de l e c t r o n i ce n g i n e e r i n g c a n d i d a t e :l i 望q 旦g s i g n a t u r e i n s t r u c t o r :鱼堕q ,i 坐翌i i s i g n a t u r e a b s t r a c t w i t ht h ed e v e l o p m e n to fm o d e r ni n d u s t r y c o o r d i n a t em e a s u r e m e n tm a c h i o e isb e c o m i n gl e a d i n gc h e c k o u te q u i p m e n to f t h em e c h a n i c a lm a n u f a e t u r i n g i n d u s t r yg r a d u a l l y t h ea u t o m a t i o na n di n t e l li g e n td e g r e ec o o r d i n a t em e a s u r e m e n tm a c h i n ea r ei n c r e a s i n gc o n s t a n t l yt o o ,i n t e l l i g e n tb e c o m i n gd e v e l o p i n g d i r e c t i o no ft h ec o o r d i n a t em e a s u r e m e n tm a c h i n eo ff u t u r eg e n e r a t i o n a n dt h e t e c h n o l o g yo fc a dc h a r a c t e r i s t i cd i s c e r n sa n dg e tt h ed a t aj sk e y sa m o n gt h e m t h iss u b j e c ti sb a s e do nc a d c m mi n t e g r a t e st e c h n o l o g i c a l ,i nt h ev i s u a lc + + 6 0e n v i r o n m e n to ft h e0 b j e c t a r xa n dm f cc l a s s1 i b r a r i e s ,g r a p h i c a ld a t aa r e o b t a i n e db ys e c o n d a r yd e v e l o p m e n to fm d t ,m a k et h er o u t eo fm e a s u r e m e n t ,p r o _ d u c et h er o u t eo fm e a s u r e m e n ta u t o m a t i c a l l y t h ea u t h o rc o m b i n e st h et h e o r e t i c a lr e s e a r c hw i t hd e v e l o p i n ga c t u a l l y a d o p tm d ta st h ep l a t f o r m ,o b j e c t a r xa sad e v e l o p i n gt o o l ,r e a li z eg e t t i n g i n f o r m a t i o no ft h r e e d i m e n s i o n a ls u r f a c em o d e l a n de n t i t y sm o d e lf i g u r ei n m d t a n d ,m d tc a no p e ni g e sa n ds t e pf i l eo fo t h e rc a ds y s t e m s i nt h i sw a y , t h ed r a w i n gc a nr e a l i z et h ea b s t r a c t i o no fi n f o r m a t i o nt o oi nm d ti no t h e r c a d t h ed a t ad r a w nf r o mm d tr e a li z ed a t ai n t e r c h a n g et h r o u g hc o mi n t e r f a c e w i t hc o o r d i n a t em e a s u r e m e n tm a c h i n e ,t h em e a s u r e m e n tr o a c h i n eo ft h ec o o r d i n a t e m e a s u r e st h er o u t ea c c o r d i n gt ot h i sp l a n n i n g r e a l i z ea u t o m a t i cm e a s u r e m e n t k e y w o r d s :o b j e c t a r xc a d c m m e n t i t i e sd a t aa b s t r a c t i o ns e c o n dd e v e l o p m e n t i i 独创性申明 秉承祖国优良道德传统和学校的严谨学风郑重申明:本人所呈交的学 位论文是我个人在导师指导下进行的研究工作及取得的成果。尽我所知, 除特别加以标注和致谢的地方外,论文中不包含其他人的研究成果。与我 一同工作的同志对本文所论述的丁作的任何贡献均已在论文中作了明确的 说明并已致谢。 本论文及其相关资料若有不实之处,由本人承担一切相关责任 论文作者签名:尘技出醉仁月硝f 1 保护知识产权申明 本人完全了解西安理工大学有关保护知识产权的规定,即:研究生在 校攻读学位期间所取得的所有研究成果的知识产权属西安理工大学所有。 本人保证:发表或使用与本论文相关的成果时署名单位仍然为西安理工大 学,无论何时何地,未经学校许可,决不转移或扩散与之相关的任何技术 或成果。学校有权保留本人所提交论文的原件或复印件,允许论文被查阅 或借阅;学校可以公布本论文的全部或部分内容,可以采用影印、缩印或 其他手段复制保存本论文。 ( 加密学位论文解密之前后,以上申明同样适用) 论文作者签名:奎煎导师签名“h 己fu 第一章绪论 1 绪论 1 1 三坐标测量机简介 三坐标测量机作为一种通用性强、自动化程度高、高精度测量系统 在先进制造技术与科学研究中有极广泛的应用。它首先将各种几何元素 的测量转化为这些几何元素上一些点集坐标位置的测量。在测得这些点 的坐标位置后,再由软件按一定的评定准则算出这些几何元素的尺寸、 形状、相对位置等。这一工作原理,使三坐标测量机具有很大的通用性 与柔性。从原理上说,它可以测量任何工件的任何几何元素的任何参数。 由于它的通用性强测量范围大精度高效率高性能好能与柔性制造系统想 连接,已成为一类大型精密仪器。 1 2 坐标测量软件的发展历史 最早期的坐标测量机仅能在机器坐标系下输出坐标点。计算机的发 明和应用,将数字化技术引入测量机系统,从此诞生了坐标测量软件。 至今为止,坐标测量软件包的发展经历了三个重要阶段:第一阶段是 d o s 操作系统及其以前的时期,测量软件包能够实现坐标找正、简单几何 要素的测量、形位公差和相关尺寸计算。第二阶段是w i n d o w s 操作系统 时代,计算机的内存容量和操作环境都有了极大的改善,测量软件包在 功能的完善和操作的友好性上有了飞跃性的改变,大量的采用图标和窗 口显示,使功能调用和数据管理变的异常简单。第三阶段应该是从上世 纪末开始,是一次革命性的改变,它以将c a d 技术引入到测量软件为标 志3 。 1 3 国内外坐标测量软件的发展概况 以三维c a d 环境为中心,是新一代的坐标测量软件包的一个显著标 1 西哥理3 - 大学硕士学位论疋 志。实现c a d 引擎( c a de n g in e e r ) 涉及到三维几何形体的数据结构和表 达、视图显示、操作交互、特征计算等。首先,测量元素是以三维图形 显示的,而不是像传统软件那样,仅显示数据列表,从而实现了“所见 即所得”。其次,在进行相关计算和分析过程中选择元素时,可以从显示 窗口上直观地选取图形,而不是查找数据库列表里的元素标号。图形操 作环境使用户的工作具有轻松感,提高了效率,也使得测量的中间结果 判断十分容易,可以避免许多显而易见的测量错误。 目前,尽管有许多种具有c a d 引擎的测量软件包,但真正得到市场 考验和用户认可的只是区区几家。美国w i l c o x 公司目前是全球最大的测 量软件开发商,其产品p c d m i s 也是最早推出的具有c a d 测量功能的测量 软件包,全球拥有量己超过了2 0 ,0 0 0 套,在中国有5 0 0 套以上。另外, 法国m e t r o l o g i cg r o u p 开发出了的m e t r o o g i ci i 软件,已能实现图形 驱动( 即点击图形视图实现软件系统的图形驱动,代替了先前的菜单驱 动,做到了所见即所得) 。目前国内自己开发具有c a d 引擎功能的测量软 件包目前还处于起步阶段3 。 1 4 课题的意义及主要工作 本课题是针对国内外坐标测量机的发展趋势及制造信息化发展的需要 提出的。由于图形驱动式坐标测量软件具有图文并茂,所见即所得,界面 简洁友好等优点,比菜单驱动式软件更容易学习和操作,更容易被用户接 受,因此研究图形驱动式软件具有重要的现实意义。其基本思路是:借鉴 c a d c a m 技术的思想,将c a d 技术与坐标测量机结合起来,实现坐标测量机 的图形化驱动。 本课题研究的具体内容包括: 第部分:阐述了国内外坐标测量软件的发展状况,提出了坐标测量 机的c a d 图形驱动。 第二部分:介绍了c a d 的几种文件格式,并分析了m d t 软件的文件格 第一章绪论 式的。 第三部分:阐述了实现c a d c m m 的方案实现和开发工具的选择。 第四部分;主要针对三维图形阐述了如何提取其特征和几何信息。 第五部分:介绍了软件系统设计和实例验证。 第六部分:总结与展望。 3 第二章c a d 文件格式分析 2c a d 文件格式分析 2 1d x f 格式简介【2 9 】 a u t o c a d 软件系统是美国a u t o d e s k 公司开发的,目前国内外最流行 的一个p c 级计算机辅助绘图和设计软件包。它本身是一个完整的图形编 辑系统,维持着一个十分紧凑的图形数据库,其中有着图形的几何和拓 扑信息。由于a u t o c a d 图形文件( d w g ) 是以压缩的数据格式存贮的,用户 很难直接读出其图形数据库中的数据并加以利用。 d x f 数据交换接口是a u t o c a d 与外部联系的主要接口方式之一,用以 a u t o c a d 与其他c a d 系统之间建立通讯联系。当采用d x f 数据交换接口来 进行信息集成时,各系统之阔是通过前、后置处理器和具有标准数据交 换格式的文件来联系的。即c a d 系统通过一个前置处理器将其几何信息 和技术要求转换成标准的d x f 数据交换文件,该文件又通过一后嚣处理 器进行分析,转换成其他系统所能识别的d x f 数据文件格式,从而实现 不同c a d 软件之间数据的输入和输出。 d x f 最早产生于a u t o c a d 所携带的一种支持开放数据交换的数据格 式,它是可以在不同c a d 系统间进行数据交换的绘图文件内容的a s c i i 复制码。d x f 文件由标题段、表段、块段、实体段和文件结束段5 部分组 成。 a 标题段( h e a d e r ) ,标题段记录a u t o c a d 系统的所有标题变量的当 前值或当前状态。 b 表段( t a b l e s ) ,表段共包含4 个表,依次为线型表( 1 t y p e ) 、图层 表( 1 a y e r ) 、字样表( s t y l e ) 和视图表( v i e w ) 。 c 块段( b l o c k ) ,块段记录了所用块的块名、当前图层层名、块的种 类、块的插入基点及组成该块的所有成员。 西安理_ t - 大学硕士学位论文 d 实体段( e n t i t i e s ) ,实体段记录了每个实体的名称、所在图层及 其名字、线型和颜色等。 e 文件结束段( e n do ff i l e ) :d x f 文件结束标志。 每个段都是由组构成。组是d x f 文件书写的基本单位,每个组分2 行,第1 行为组码,代表该组数据的意义,其数据类型规定为整数:第2 行为组值,即这种数据的具体数值。d x f 文件的格式规范,描述各个段和 实体的组码和组值很有规律,因此便于用高级语言来编写程序“。 三维形体的几何、拓扑信息都记录在实体( e n t i t l e s ) 段中,其由多 个p o l y l i n e 实体描述组成,每个p o l y l i n e 实体对应a u t o c a d 中的体素 和由扫描产生的基本形体。p o l y l i n e 实体描述中的信息包括:形体的所有 顶点坐标:组成三角形面片的顶点号,顶点按符合右手法则的顺序排列。 在a u t o c a d 支持下绘制的图形都可以转化为d x f 文件,只要用“另 存为”命令创建一个扩展名d x f 的文件。在s a v ea s 对话框中,o p t i o n 按钮可打丌“另存为”选项对话框。在该对话框中,用户可对输出的d x f 作进一步设置。 2 2 初始图形交换规范l g e s c a d c a m 技术在工业界得到广泛应用,越来越多的用户需要把他们的 数掘在不同的c a d c a m 系统之间交换。过去常采用的方法是把一个系统 产生的数据文件翻译成另一个c a d c a m 系统能识别的数据文件。对多个 c a d c a m 系统就需要多个翻译器。初始图形交换规范i g e s 就是为了解决 数据在不同的c a d c a m 系统问进行传送的问题,它定义了一套表示 c a d c a m 系统中常用的几何和非几何数据格式以及相应的文件结构。i g e s 1 9 8 2 年成为a n s i 标准,1 9 8 8 年发布i g e s4 0 ,目前已有i g e s5 0 版在 应用。它虽然不是i s o 标准,实际上已是工业标准。 第二章c a d 文件格式分析 2 2 1i g e s 简介 一般来说,不同c a d 系统中图形数据的存储格式是不同的,这使得 c a d 系统之问无法直接进行数据交换,而i g e s 图形标准成为c a d 系统间 通讯的重要方式之一。系统a 可将自身的图形数据转换为标准的i g e s 格 式,而系统b 又可读取该i g e s 文件并转换为自身的格式,该过程是可逆 的,从而实现了c a d 系统间的双向通讯。而i g e s 在其中起到了桥梁作用。 一1 厂 蔑 i u 羹d 掣 薹f l 薹 燃引 g e s 厂 幽2 一l 不同系统通过i g e s 交授数据 标准的i g e s 文件包括固定长a s c i i 码、压缩的a s c i i 码及二进制三 种格式,固定长a s c i i 码格式的i g e s 文件,每行为8 0 个字符,整个 文件分为五个区。每一行的第7 3 列为区代码,其后紧跟区序号,各区的 记录不允许交叉,依序为: ( 1 ) 起始( s t a r t ) 区:区代码为s ,该区主要记录了图形文件的最 初来源及生成该i g e s 文件的系统名称,读取i g e s 图形信息时一般可勿 略该区。 ( 2 ) 全局( g l o b a l ) 区:区代码为g ,该区以自由格式记录了描述图 形数据的全局性信息的2 4 个参数,主要包括单位标志( 参数1 4 ) 、最小用 户使用分辨率( 参数1 9 ) 及近似最大坐标值( 参数2 0 ) 等。各参数间一般以 逗号分隔,称为参数分隔符。全局区以分号标志结束,称为记录分隔符。 参数分隔符和记录分隔符可以在全局区的参数1 和参数2 重新定义。 ( 3 ) 目录入口( d i r e c t o r ye n t r y ) 区:简称为d e 区,区代码为d , 该区主要记录了i g e s 实体的图层、颜色、线型、线宽等特征信息,每个 6 西安理工大学硕士学位论文 实体对应一个目录入口,包含两行记录。 ( 4 ) 参数数据( p a r a m e t e rd a t a ) 区:简称为p d 区,区代码为p ,该 区以自由格式记录了i g e s 实体的定义参数,参数分隔符和记录分隔符同 全局区,记录结束后可以附加注释文字。 ( 5 ) 终止( t e r m i h a t e ) 区:区代码为t ,该区只有一行记录,前3 2 列分为4 个八字符区,顺序记录了该i g e s 文件中s 、g 、d 、p 各区的 记录总行数,后面的4 0 列为保留区”“。 i g e s 中的基本单元是实体,它分为三类。 其一是几何实体,如点、直线段、圆弧、b 样条曲线、曲面等。 其二是描述实体,如尺寸标注、绘图说明等。 其三是结构实体,如组合项、图组、特性等。 虽然从i g e s4 0 开始有了c s g 实体模型,从i g e s5 0 开始有了流 形实体的b r e p 模型,但c a d c a m 系统的i g e s 前后置处理器大多以曲面 模型为主,这是因为: ( 1 ) 曲面模型由于缺少拓扑信息的组织与表示,比c s g 或b r e p 模型 简单,具有较实体模型更好的通用性,可以被大多数系统接受: ( 2 ) 对一些c a m 系统来讲,曲面模型己能较好地满足要求: ( 3 ) 出于向前兼容性的考虑。 目前i g e s 不断推出新版本,使它在国际范围得到成功应用。借助于 它,几何图形、三维网格模型、表面模型、实体模型等都可通过这个中 立于c a d 系统的数据格式进行转换和传递。 2 2 2i g e s 实现的优缺点 由于i g e s 作为一种表达产品数据并将其转换成中性文件格式的行业 标准,其在开发和维护方面与专用的转换软件相比优势是明显的。但i g e s 也存在一些问题。 首先i g e s 没有规范化的模型,具有结构复杂和不等长等特点,这将 7 第二章c a d 文件格式分析 使某些几何类型表达的信息摸棱两可,出现转换不稳定的现象。其次i g e s 的8 0 列文件格式使得文件过于冗长。同时由于这些文件的数据安排方式 相当复杂以至于难以被人理解。因此如果i g e s 文件中某处出错了,就很 难将其找出并修正,进而导致表达信息出错。再次它只注意图形数据转 换而对于更为详细的信息如公差标注、材料特性、零件明细表或工作计 划等信息就不能完整地转换”“。 i g e s 只适合于在计算机集成生产中的各子系统领域传送信息以形成技 术绘图或简单的几何模型。如果仅依靠i g e s 作为数据交换的接口,用户就 不可能在市场上得到生产中整个系统的完整解决方案,结果会导致高重复 工作和高投资的维护。 2 3c a d 的其他几种格式及其相互转换 s t e p 是国际标准化组织i s o t c l 8 4 s c 4 ( 以下简称s c 4 ) 工业数据分技 术委员从1 9 8 3 年丌始着手组织制定一个统一的数据交换标准s t e p 。到目前 为止,该标准的基本原理和主要的二维和三维产品建模应用协议已经成为 正式的国际标准,市场上的主要c a d 软件都已经开始提供商品化的s t e p 的 接口。虽然s t e p 标准的制定进展缓慢,但是它已经在一些发达国家的先进 企业中得到应用,如飞机、汽车等制造行业。 所谓数据转换接口,实际上是一种能够实现两个以上系统间信息交换 的程序或方法。数据转换接口的核心内容就是由其中一个系统( 文件) 读出 信息,将信息写入另一个系统( 文件) 。 i a u t o c a d 的i g e s 格式文件输入p r o e 在a u t o c a d 中的二维图形或三维模型,可以用i g e s o u t 命令,将其以 同名的i g e s 格式文件输出。 然后在p r o e 中选择i m p o r t 的c r e a t et om o d e l 选项,在随后出现 的类型对话框中选择所需要的类型p a r t ,d r a w i n g 。当然也可以选 西安理工大学硕士学位论文 择a p p e n d t om o d e l 选项在当前文件中插入i g e s 文件。 2 p r o e 的i g e s 格式文件输入a u t o c a d 在p r o e 中选择e x p o r t 的m o d e l 选项,在输出文件格式中选择i g e _ s ,则生成同名的i g e s 格式文件。在a u t o c a d 中的命令行输入i g e s i n 命令, 则出现类似a u t o c a d 转换i g e s 文件的对话框,选择i g e s 文件,则输入成 功。 利用a u t o c a d 和p r o e 的d x f 和i g e s 数据转换接口,可以使该两个系 统的数据相互交换,不仅能充分利用现成的资源并发挥软件各自的特长, 同时也是实现c a d c a m 集成的基础之一。 2 4 小结 本章介绍了c a d 的d x f 、i g e s 、s t e p 等几种文件格式,并了解了a u t o c a d 对i g e s 、d x f 、s t e p 文件格式的支持,这样在a u t o c a d 中我们可以打开由 s o l i d e d g e 、p r o e 、u 6 所绘的三维图形。对d x f 文件的了解可以更好的应用 a u t o c a d 的开发工具。 第三章图形化人机交互接口的实现 3 图形化人机交互接口的实现 传统上,可以从a u t o c a d 生成的图形交换文件( d x f :d r a w i n gi n t e r c h a n g ef i l e ) 中提取图形零件的信息。这种方法需要进行多次数据交换才 能完成,如需要预先将a u t o c a d 的内部文件d w g 立件转换成d x f ,再 利用高级语言从文本格式的d x f 文件中读取有用的数据,这样的提取数据 方法显然不利于c a d 产品模型建立的自动化程度的提高。 另外可以采用i g e s 作为三维重建模块和图纸文件进行数据交换的接 口。提取和识别模块从i g e s 文件中提取出点、线段、圆弧段、中心线以及 与剖视图有关的尺寸标注等信息,同时也提取出检测过程所需的各种公差 信息,并将提取出的信息存入系统数据库中;提取出的几何信息都是孤立 的,并不能反映工件的组成,需要进一步找出它们之间的相互关系,进行 三维重建。这种方法比较烦琐,同样不利于c a d 产品模型建立的自动化 程度的提高。 为此,考虑在在a u t o c a d 或m d t 平台下进行二次丌发,采用编程让用 户直接在图形中交互选择测量要素,从c a d 的图形数据库中获得图纸的几 何信息和检测信息,通过c o m 技术实现提取的的信息和测量软件实现数据 交换,测量机根据此信息自动生成测量路径,实现自动测量。其系统框架 如下图3 l 所示: 图3 - l 图形化人机交互接口方案 西安理工大学硕士学位论文 3 。1 开发平台选择 a u t o d e s k 的全球用户数量超过4 0 0 万,在“财富”5 0 0 强的公司中, 8 5 都是其客户。她在我国盘桓2 0 年之久,经历我国发展繁荣的最主要 时期,在我国具有极大的用户群体和影响力。a u t o c a d 作为其旗舰产品, 更是覆盖了我国包括机械、建筑、交通土建在内的多个行业。m d t ( a u t o c a d m e c h a n i c a ld e s k t o p ) 是架构于a u t o c a d 的具有三维造型功能的机械设计 软件系统,它是a u t o d e s k 公司将三大计算机辅助设计软件a u t o c a d 、a u t o c a dd e s i g n e r 、a u t o s u r f 集成的结果。它提供的二次开发工具s d k 包 括o b j e e t a r x 与a p i 。主要集成了四大功能模块:实体造型模块( p a r t ) 、 曲面造型模块( s u r f a c e ) 、装配造型模块( ( a s s e m b l y ) 和工程图纸模块 ( ( d r a w i n g ) 。m d t 操作方便、编程接口良好,可在v i s u a lc + + 环境下进 行面向对象的软件开发,支持v b a 、a d s 、a r x 、 v l i s p 等开发工具及面 向用户的d e s i g n e r 和a u t o s u r f 的接口工具。 同时,m d t 带有i g e s 转换器,可以打开由s o l i d e d g e 、u g 、p r o e 等 绘制的i g e s 文件。 3 。2 开发工具选择 a r x 是a u t o d e s k 公司推出的全新的a u t o c a d 二次开发工具,a r x 应用 程序是指在a u t o c a d 面向对象编程环境o b j e c t a r x 开发出来的程序。a r x 程序是个动态链接库,它与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 本身的固有命令操作方式相同的命令。o b j e c t a r x 环境由a c r x 、a c e d 、 a c d b 、a c o i 、a c g e 五大类库组成。 a r x 应用程序采用了与a u t o l i s p 、a d s 完全不同的运行机制,用户设 计的a r x 程序与a u t o c a d 系统之间采用w i n d o w s 的消息传递机制直接通 第三章图形化人机交互接口的实现 信。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 r x 应用程序,它的一个重要的特点是可以充分利用w i n d o w s 的资源、微软的基本类库m f c 及先进的v c + + 可视化编程语言和工具,方 便、高效地设计具有典型w i n d o w s 风格的c a d 应用程序。a r x 编程环境提 供了一些类,使开发者能创建基于m f c 的用户界面,利用一定的开发方 法,丌发者即可以充分利用m f c 的强大功能和便利条件,同时又能保证 这些用户界面与a u t o c a d 内置命令的用户界面一致“。 3 3a u t o c a d 数据库结构乜1 a u t o c a d 图形是一些储存在数据库中的对象的集合,最基本的数据库 对象包括实体、符号表和数据词典等等。 a u t o c a d 数据库必须至少包含下列对象: ( 1 )9 个符号表:包括块表、层表、线型表等等。块表中最初包含 三个块表记录:模型空间记录( * m o d e l s p a c e ) 和两种图纸空间 记录( * p a p e r s p a c e 、* p a p e r s p a c e o ) 。层表中最初只包含一个 记录:0 层记录。线型表中最初也只包含一个记录:c o n t i n u o u s 线型记录。 ( 2 ) 命名对象词典。当a u t o c a d 数据库被创建时,命名对象词典已 经包含四种数据库词典对象:组词典( g r o u pd i c t i o n a r y ) 、多 线样式词典( m l i n es t y l ed i c t i o n a r y ) 、布局词典( 1 a y o u t d i c t i o n a r y ) 和打印样式词典( p l o ts t y l en a m ed i c t i o n a r y ) 。 其中在多线样式词典中始终包含标准样式( s t a n d a r ds t y l e ) 。 在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 l a y e r t a b l e ) 中包含层表记录,块表( a c d b b l o c k t a b l e ) 中包含 块表记录。由于数据库中的符号表是固定的,因此用户不能向数据库中 添加新的符号表,只能向符号表中添加新的符号表记录。 数据词典提供了一个比符号表更通用的容器来储存对象,在数据词 典中可以储存任何a c d b o b j e c t 类及其子类的对象。当a u t o c a d 创建新的 图形时,数据库中生成一个“命名对象词典”( n a m e do b j e c td i c t i o n a r y ) , 它负责管理所有与数据库相关的对象数据词典,用户可以在“命名对象 词典”中创建新的对象数据词典来存储新的数据库对象。 a u t o c a d 数据库基本结构如图3 2 所示。 i 1 、 、 。1 。 其它符号袭| :符号表记录【 图3 - 2a u t o c a d 的数据库结构 在a u t o c a d 图形编辑过程中,可以通过调用函数a c d b h o s t a p p l i c a t i o n s e r v i c e s 0 一 w o r k i n g d a t a b a s e ( ) 访问当前图形数据库。函数原型 为: 第三章图形化人机交互接口的实现 i n l in e a c d b h o s t i p p ic a t i o n s e r v i c 8 s a c d b h o s t a p p l i c a t i 0 n s e r v ic e s ( ) ; a c d b d a t a b a s e * w o r k in g d a t a b a s e ( ) c o n s t : 3 4 菜单工具栏开发 在基于c a d 坐标测量机图形驱动软件中,由于m d t 中加载了许多可执 行的应用程序,这些应用程序通常是在c o m m a n d 提示符下键入命令的名称 来执行的,因此显得极不方便,尤其是命令名称较长更是如此。为此利用 m d t 提供的定制菜单的途径,开发了与应用程序相对应的菜单和工具栏。 3 4 1 菜单定制语法 a u t o c a d ( m d t ) 系统提供了强大的菜单开发工具,系统包含了标准 的菜单模板文件a c a d m n u ,编译后的文件a c a d m n c ,每次启动a c a d 时 会自动加载标准菜单文件a c a d 。m n u 。a c a d m n u 是一个纯文本的文件格式, 可以用任何的文本编辑器软件来修改。a c a d m n u 文件保存在a u t o c a d ( m d t ) 安装目录的s u p p o r t 子目录下,修改前应先备份,以便误操作后 及时恢复。 1 菜单文件组成 a u t o c a d ( m d t ) 的菜单文件组成如下: $ m n u 菜单模板文件( 文本格式) ; m n c 编译菜单文件( 二进制格式) ,由m n u 编译而成; 十m n s 编译产生的菜单源文件( 文本格式) ; $ m n r 菜单中所用的资源文件( 二进制格式) ; m n l 与m n u 文件相对应的l i s p 程序文件( 文本格式) ,当装入 菜单文件时,$ m n l 文件自动装入。 2 菜单文件结构 根据a u t o c a d 交互界面的不同区域,菜单文件被分为不同段,每 1 4 西安理工大学硕士学位论文 个段都有一个固定的标题,以“料 ”作为段标题的专用标记,每一 段中包含了许多菜单项。用户可以按自己的需求描述不同段和菜单 项,而不一定按照a u t o c a d 的菜单文件那样描述所有的段和项。为 了实现a u t o c a d 中加载和卸载部分菜单的功能,菜单文件还应包括 菜单组名。a u t o c a d 使用下列标识来区分菜单文件的不同段: * * * m e n u g r o u p 菜单文件组名,如果用户未写,则以菜单文件全路径 名为组名 * * * b u t t o n s ( n ) 按钮菜单区( n 为卜4 ) 张u x ( n ) 辅助设备菜单区( 如鼠标键定义,n 为1 4 ) * * * p o p o 光标菜单区 料$ p o p ( n ) 下拉菜单区( n 为卜4 9 9 ) * * * t o o l b a r s 工具栏定义 * * * i m a g e 图标菜单区 * * * s c r e e n ( n ) 屏幕菜单区 * * * t a b l e t ( n ) 图形输入板( n 为卜4 ) 料芈h e l p s t r i n g s 状态栏的文字显示 $ 料a c c e l e r a t o r s 加速键定义 打开a u t o c a d 系统提供的标准菜单模板文件a c a d m n u ,即可以 看到整个菜单文件的结构。 3 菜单项格式 a u t o c a d 的菜单项格式如下: n a m e t a gl a b e lm e n u _ m a c r o 名称标识标签菜单宏 这个格式对所有的菜单段都是统一的,只是图标菜单项中没有 n a m e t a g ,而且对于不同的菜单段l a b e l 的含义也有所不同。其中, n a m e t a g 是菜单文件中每个菜单项的惟一标识符,其作用是:( 1 ) 将下 拉菜单和工具条按钮同相应的状态行帮助联系起来:( 2 ) 将下拉菜单同 其相应加速键联系起来;( 3 ) 用于控制菜单项的状态( 如可用或不可 第三章图形化人机交互接口的实现 用) 。1 a b e l 是放在 中的显示给用户的有关信息,如菜单或工具条的 名称、状态( 浮动、隐藏或可见等) 、位置及所用的图标等。m e n um a c r o 是该菜单项或按钮所要执行的动作,可以是a u t o c a d 命令、a u t o l i s p 程序、a d s a r x 程序等。例如: 术术术p o p l 半丰f i l e i f ) 一i n f il e 文件( f ) 定义下拉菜单为注解,下同。) i d n e w 新建( n ) c t r l + n c c f l e w 定义下拉菜单项 h e l p s t r i n g s i d n e w 创建新的图形文件:n e w j 如果在菜单源文件中包含以上片段,经过编译调用时,将会出现名 为“文件”的下拉菜单,其中包含一个名为“新建( n ) c t r l + n ”的 菜单项,当用户把光标移动到文件下拉菜单的“新建”项时,在窗口的 状态行就会出现“创建新的图形文件:n e w ”的帮助信息。 编写菜单模板文件 m n u ,以文本文件方式,按a u t o c a d 要求的格式 编写菜单模板文件 m n u 及其所调用的a r x 程序文件十a r x ,如果有工具 条菜单,还需同时制作相应的图标文件( 小图标1 6 1 5 点,大图标2 4 * 2 2 点) 。编写好相应的文件后,调用m e n u 命令编译己经写好的菜单模板文 件:c o m m a n d :m e n u m e n u l o a d ,选择菜单文件名,加载己经写好的用户 菜单文件。 3 4 2 工具栏定制语法 对于比较常用的操作,即使没有文字说明,通过图像也能明白其作用, 这样的命令往往制作成工具按钮。逶常,将多个功能相似或相近的工具按 钮组织在一起,构成工具栏。工具栏是一种常见的用户界面元素,它的关 6 西安理工大学硕士学位论文 键字定义如下: 十+ 4 t o o l b a r s 同样,对工具栏定义中的宏命令没有特别的规定,所不同的只是标签 文本的定义,在t o o l b a r s 节定义之后可以定义任意多个菜单栏,并且在 定义之前需要事先准备好位图资源。 3 4 3 菜单、工具栏制作 * * * p o p 4 木水c m m i dc m m i d2 d s y s t e m i dc m m l i n e i dc l m c i r c l e 三坐标钡0 量机( s ) 一 二维实体信息提取( ) “c c 一2 d s t y s t e m 直线( & c m m l i n e ) c c 咖1 i n e 卜一 圆( c m a n c i r c l e ) 6 c c c r a m a r c 一 i d c m m a r c 圆弧( & c m m a r c ) c cc m m a r c i d c m m m l i n e 三维实体信息提取 c c 3 d s y s t e m i d c m m c y c l i n d e r 圆柱( & c m m c y c l i n d e r ) c 一一c m m c y c l i n d e r 一 i d c m m c o n e 圆锥( c r a m c o n e ) c c c i i t r n c o n e 一 i d _ c m m t o r o u s 圆环( & c m m t o r o u s ) “p c c m m t o r o u s 卜一 i dc m m 3 d f a c e 面( & c m m 3 d f a c e ) 6 c c c m m 3 d f a c e 一 i d _ c m m e d g e s t a r t p o in t 0 ; 获得直线起点 e n d p o in t = p li n e 一 e n d p o i n t0 ; 获得蛊线终点 v e c t o r = p l in e 一 n o r m a l0 ; 获得直线方向矢量 4 1 3 尺寸标注的提取 尺寸标注( a c d b d i m e n s i o n ) 是a u t o c a d 的实体对象之一,利用o b j e c t a r x 中的尺寸类类成员函数编程可直接获取尺寸对象的有关

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论