(机械电子工程专业论文)家具浮雕cad系统的研究与开发.pdf_第1页
(机械电子工程专业论文)家具浮雕cad系统的研究与开发.pdf_第2页
(机械电子工程专业论文)家具浮雕cad系统的研究与开发.pdf_第3页
(机械电子工程专业论文)家具浮雕cad系统的研究与开发.pdf_第4页
(机械电子工程专业论文)家具浮雕cad系统的研究与开发.pdf_第5页
已阅读5页,还剩68页未读 继续免费阅读

(机械电子工程专业论文)家具浮雕cad系统的研究与开发.pdf.pdf 免费下载

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

文档简介

摘要 在我国,家具浮雕加工的方法还比较落后,本文提出并实现了一种以三维实 体建模为基础的浮雕c a d 系统,并在研究消化国内外相关文献以及商品化浮雕 c a d c a m 软件的基础上,从开发具有自主知识产权的商品化家具浮雕设计加工软 件出发,对家具数控铣削加工技术进行了深入的理论研究,开发了家具浮雕 c a d c a m 系统中的子系统“家具浮雕c a d 系统”。 主要研究内容如下: 1 根据当前软件开发的技术和家具浮雕c a d c a m 系统的适用对象,确立了 用v i s u a lc + + 6 o 作为开发工具在a u t o c a d2 0 0 0 系统下进行软件的 应用开发。 2 在研究比较了三维形体的各种造型方式后,本着软件通用性、易用性的 原则对家具浮雕c a d 系统进行了总体分析和设计。提出了一种基于三维 体素的家具浮雕c a d c a m 系统的解决方案。 3 对三维形体的数据表示进行了深入研究。提出了一种基于三维体素的三 维形体的数据表示方法。提出并实现了在这种数据表示方法下,三维形 体的表面形状数据获取的算法。经测试表明,该算法具有迭代速度快、 收敛性好、精度高的优点。 4 以工程应用为背景,根据基于三维体素的形体表示方法,提出并实现了 一种用于数控加工的g 代码的生成算法。由于该算法对刀具同样应用了 基于三维体素的形体表示方法,因而对各种规格刀具来说,此算法都适 用,具备了良好的通用性。试验表明,该算法除了能够正确的生成刀具 的加工轨迹外,还能对此加工轨迹作一定的优化。具有一定的实用性。 5 应用面向对象的概念对浮雕c a d 系统进行了软件应用开发。对家具浮雕 的问题域、结构、对象和类进行了详细的分析,设计了良好的用户界面。 软件的模块结构合理,代码的可重用性高,为以后软件后续开发奠定了 一个良好的基础。 与其他同类产品相比,本系统易操作,数据来源广泛,通用性强,集先进性、 经济性一体,达到同类产品中的国类领先水平,具有很好的市场前景。 关键词:c a d 浮雕设计三维 a b s t r a c t i no u rc o u n 略t h e f u r n i t u r er i l i v o a u t o m a t i c d e s i g n i n g a n d m a c h i n i n g t e c h n o l o g yd r o pb e h i n dc o m p a r i n g w i t ht h ed e v e l o p e dc o g n t r y t oi m p r o v et h i s ,t h e a u t h o rp r o p o s e da n di m p l e m e n t e daf u r n i t u r er i l i v oc a ds y s t e mb a s e do n3 dt i n y e n t i t yi nt h i st h e s i s t h ea u t h o rh a s b e e nd o i n ga c a d e m i cr e s e a r c ho nn c m a c h i n i n g p r o c e s st h o r o u g h l yf o ral o n gt i m e i no r d e r t od e v e l o pac o m m e r c i a lf u r n i t u r er i l i v o c a d s y s t e mw i t h i t so v e n p r o p e r t yr i g h t ,as u b s y s t e m n a m e df u r n i t u r er i l i v oc a d s y s t e m w h i c hi sb e l o n g st of u r n i t u r er i l i v oc a d c a m s y s t e m h a db e e n d e v e l o p e d t h i sa r t i c l ec o n t a i n ss o m em a i n t o p i c sl i s t e db e l o w : 1 a c c o r d i n gt o t h el a t e s ts o f t w a r ed e v e l o p i n gt e c h n o l o g ya n dt h eo p e r a t i o n o b j e c to f t h ef u r n i t u r er i l i v oc a d c a ms y s t e m t h et h e s i st a k e sv i s u a lc + + 6 0a s i t sd e v e l o p i n gs o r w a r e p l a t f o r mb a s e do n a u t o c a d 2 0 0 0e n v i r o n m e n t 2 ,a r e r m a k i n gr e s e a r c ho n a l lk i n d so fs o l u t i o n so f3 d e n t i t yc o n f i g u r a t i o n w e a n a l y z e dt h es y s t e ma n dt o o kt h eg e n e r a l i t ya n dp r a c t i c a l i t yo f t h es o f t w a r ea s t h ef i m d a m e n t a ll a w so fd e s i g n ;t h e np r o p o s e das o l u t i o no ft h ef u r n i t u r er i l i v o c a d c a m s y s t e m b a s e do nt h r e e d i m e n s i o n t i n ye n t i t y 3 a f t e rd o i n gm u c hr e s e a r c ho nt h ed a t ae x p r e s s i o no f t h e3 d e n t i t y , t h et h e s i s p r o p o s e d am e t h o dt oe x p r e s st h ee n t i t yb a s eo n3 dt i n ye n t i t ya n di m p l e m e n t e da n a l g o r i t h mt og e tt h ee n t i t yd a t a c o m p a r i n gw i t ho t h e ra l g o r i t h mi nm a n yt e s t t h i s a l g o r i s mp r o v e d t ob em o r e e f f i c i e n t ,a s t r i n g e n c ya n dp e c i s e 4 f o rt h e n e e d i n g o fe n g i n e e r i n g a p p l i c a t i o n ,t h e t h e s i s p r e s e n t e d a n d i m p l e m e n t e d an cgc o d e - b u i l d i n g a l g o r i t h m ,w h i c h u s e dt h em e t h o do f t h r e e d i m e n s i o nt i n ye n t i t y sf i g u r ee x p r e s s i o n t h i sa l g o r i t h mt a k e st h en o r m a t i v e z - m a pt oe x p r e s sa l lk i n d so fc a v ek r r i f e sf i g u r e t h e nt h ea l g o r i t h mc a nb e g e n e r a l u s e dw h e t h e rt h ed i a m e t e ri ss a l n eo rn o t m o r e o v e r , t h ea l g o r i t h mn o to n l yb u i l d r i g h tc a r v i n g t r a i lb u ta l s oo p t i m i z et h et r a i lt os o m ee x t e n t 5 a n a l y s i sa n dd e s i g no f t h es y s t e mc o n s t r u c t i o na n du s e ri n t e r f a c et h e nh a d b e e nd o n e 谢t lt h eu s eo ft h et e c h n o l o g i e sn a m e d “o b j e c t - o r i e n t e da n a l y s i s ( o o a 、” a n d “o b j e c t - o r i e n t e dd e s i g n ( o o d ) ” i i c o m p a r i n gw i t ht h eo t h e rf t t m i t u r er i l i v oc a ds o f t w a r e s ,t h i ss y s t e mc a nb e m o r ee a s i l yt ou s e ,a n dt h ed a t as 0 1 1 l c ec a nb em o r ew i d e l yt og e t m o r e o v e gt h e s y s t e mh a sah i g he f f i c i e n c ya n dal o wp r i c e i ta r r i v e da tt h ei n t e r n a t i o n a la d v a n c e l e v e la n dh a da h u g em a r k e t k e y w o r d s :c a d ,f u r n i t u r er i l i v o ,3 d i i i 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名:匡叠日期:2 0 。3 # g 月厂日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:重叠导师签名: ! 之兰! 耋 日期:2 叩;年月歹日 皇王型垫查兰堡主笙奎 第一章引言 1 1 国内外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 a d c a m 技术经历了三十多年的发展,已广泛应用于机械、电子、航 空、航天、汽车、轻工、纺织、建筑等多个行业,其c a d c a m 技术始终保持着 适用性、先进性、前沿惶。迄今为止,出现了多个成功的商品化c a d c a m 软件, 如:美国p t c 公司的p r o e n g i n e e r ,e d s 公司的u n i g r a p h i e s ,v c 公司的c a d d 5 0 , i b m 公司的c a t i a ,以色列的c i m a t r o n 9 0 ,以及s o l i d w o r k s 和s o l i d e d g e 等。 据统计,在发达国家中,c a d c a m 技术在制造企业中的应用,其覆盖率高达7 0 以上。一些企业的产品设计几乎全部由计算机完成。如美国的通用汽车公司、 日本的大隈公司、m a z a k 公司等,在c a d c a m 技术的应用方面均达到了非常高 的水平。 在我国,c a d c a m 技术在硬件生产、支撑软件和应用软件的开发应用等方面 都取得了较大的发展。开发了一系列的c a d c a m 软件。如:清华和华中理工大 学的g h c a d ,西北工业大学的n p uc a d c a m 系统等。改变了国内c a d 软件由 国外c a d 软件一统天下的局面。据统计,国产c a d 软件在国内拥有了3 0 以上 的用户群,某些领域内的国产c a d 软件市场占有率达6 0 以上。但是,从整体 水平上讲,我国自行开发的c a d c a m 系统目前与国外同类系统相比还有一定差 距,迸一步加强和开展c 丸d c a m 技术的研究和开发,仍然是我国从事c a d 技术 工作的人员的一项艰巨而紧迫的任务。 电子科技大学硕士论文 1 2 数控自动编程技术的发展历史 数控加工是c a d c a m 技术最能明显发挥经济效益的生产环节之一。它可阱 保证产品达到极高的加工精度和稳定的加工质量;可以大幅度缩短产品的生产 准备周期,在生产对象的几何形状复杂、加工精度高、批量小的情况下,具有 极高的竞争力。 控制数据加工的数控软件发展也极为迅速,大致经历了手工编程、数控语 言自动编程以及现在的交互式图形编程这几个阶段: 在手工编程阶段,设计者只能借助于数学公式,根据图纸要求进行数据的 计算,并按规定的指令代码手工编制零件的加工程序,编程效率低、精度差。 为了提高编程效率,降低变成人员的劳动强度,又引入了借助于计算机来编制 零件加工程序并自动制备穿孔纸带的方法,称为自动编程。随着c a d c a m 技术 的发展,数控加工编程系统发展到交互式图形编程阶段。这种编程是在c a d c a m 集成系统的支持下,在图形终端上进行数控加工编程。编程时所需要的几何数 据、刀具数据等可以直接从c a d 系统中读取。 1 3 论文选题技术背景和研究内容 本课题来源于一个横向课题“家具浮雕c a d c a m 系统”。随着经济的发展特 别是人民生活水平的提高,家具产品生产、消费开始追求个性化,产品更新周 期越来越短。为了适应这种变化,迫切要求家具制造业大幅度缩短产品的设计 周期并提高其生产的自动化水平。 雕刻c a d c a m 系统着重于非规则曲线和曲面的低成本、高效率加工,其基 本要求与机械制造业的c a d c a m 系统有很大的区别。在国外已经具有了实用水 平的三维浮雕曲面造型设计方法和加工轨迹生成算法,但在国内相应的研究成 果仍不多见 其次,对复杂浮雕进行高效率设计和加工方面,仍然有很多内容 需要我们研究。 国内c a d 市场上,用于家具浮雕设计加工的各种自主版权c a d 软件和国外 c a d 软件并存,但从整体上说,国内的家具浮雕c a d c a m 软件同国外同类型产 品之间仍然具有相当的差距。具有以下的特点:一方面,由于各个c a d 软件版 本之间数据表示、数据处理不兼容,因而形成了一道信息堡垒,给数据交换、 共享和信息的流动造成了很多的障碍。另一方面:现行的c a d 软件从设计上来 2 电子科技大学硕士论文 看,主要还停留在利用二维绘图与三维线框制图阶段,而数控加工也主要以点、 线为驱动对象,如孔加工,轮廓加工,平面区域加工方式等。这些设计、加工 方式不仅要求浮雕设计人员有熟练的a u t o 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 a d 系统”。 主要研究内容如下: 1 根据当前软件开发的技术和家具浮雕c a d c a m 系统的适用对象,确立了 家具浮雕c a d 系统的开发平台( 第二章) 。 2 在研究比较了三维形体的各种造型方式后,本着软件通用性、易用性的 原则对家具浮雕c a d 系统进行了总体分析和设计。提出了基于三维体素 的家具浮雕c a d c a m 系统的解决方案( 第三章) 。 3 对三维形体的数据表示进行了深入研究。提出并实现了一种基于三维体 素的三维形体的数据表示方法。并研究探讨了在这种数据表示方法下, 三维形体的表面形状数据的获取算法。经测试表明,该算法具有迭代速 度快、收敛性好、精度高的优点。( 第四章) 4 以工程应用为背景,根据基于三维体素的形体表示方法,提出并实现了 - - 7 用于数控加工的g 代码的生成算法。由于该算法对刀具同样应用了 基于三维体素的形体表示方法,因而对各种规格刀具( 圆柱铣刀、圆头 铣刀等) 来说,算法都适用,具备了良好的通用性。研究表明,该算法 除了能够正确的生成刀具的加工轨迹外,还能对加工轨迹做出一定的优 化。具备了良好的实用性能。( 第五章) 5 应用面向对象的概念对浮雕c a d 系统进行了应用软件的开发。软件的模 块结构合理,代码的可重用性高,为软件的后续开发和功能扩充奠定了 一个良好的基础( 第六章) 。 电子科技大学硕士论文 第二章系统开发平台和开发工具 2 1a u t o c a d 开发平台和w i n d o w s a u t o c a d 是美国的a u t o d e s k 公司开发的计算机辅助绘图软件包,a u t o c a d 从1 9 8 2 年问世以来,由于其功能强、使用灵活、硬件接口方便,已经成为微机 c a d 系统中最流行的图形软件。 a u t o d e s k 公司新近推出的a u t o c a d2 0 0 0 是设计与绘图的一大突破。它在 影响生产效率的许多方面作了重大改进,这些方面包括:系统运行速度、文件 共享、图层管理、线型管理、精确绘图、绘图布局、打印输出和高质量演示等。 软件本身易于学习和维护,并且可以按照工作需要进行改造。同a u t o c a d r 1 2 r 1 3 r 1 4 相比,a u t o c a d2 0 0 0 具有以下新特点。 更良好的用户界面; 性能显著改善:包括广泛的鼠标右键快捷操作,更优良的图形渲染算 法应用,快速精确的绘图方式,图形显示质量的提高等; 系统速度更快,运行更稳定; 具有良好的兼容性,更容易学习和使用; 丰富的网络功能; 丰富的开发工具:a d s ,o b j e c t a r x ,v b a 、a u t o l i s d 等。 2 2v i s u a l c + + 与m f c v i s u mc + + 是世界上公认的优秀的w i n d o w s 应用程序开发工具。它是用 于w i n d o w s 开发的m i c r o s o f tv i s u ms t u d i o 工具的一部分。v i s u a lc + + 和 v i s u a ls t u d i o 这两个工具的全面集成使得开发一个w i n d o w s 程序变的非常的 简单。使用v i s u a ls t u d i o 中的工具和向导,结合m f c 类库,我们可以在几分 钟内得到一个基于w i n d o w s 的应用程序。 其次,v i s u a lc + + 是一个可视化的编程工具,可视化是指用户可以直接 利用v i s u a lc + + 提供的工具,使得程序员设计用户界面就好像在白纸上画图 4 电子科技大学硕士论文 一样简单、直观、灵活和高效。 m f c 是m i c r o s o f t 基础类( m i c r o s o f tf o u n d a t i o nc l a s s ) 的简称,用来为 w i n d o w s 开发c + + g u i 应用程序。它的出现实际上体现了从传统的面向过程的 以c 为代表的程序开发到面向对象的c + + 程序开发的转变。用c 语言开发的 w i n d o w sa p i 是基于过程的接口,但是,随着用于c 语言的面相对象的扩展特 性的开发并被广泛用于称为c + + 的新型语言中,因而,也必须建立与w i n d o w s a p i 的面向对象包装的接口,这个产品最终演变为m f c 产品。 m f c 不仅是面向对象的接口,它也是面向对象的。除了封装特性外,该接 口( 包装在一组c + q - 类中) 还具备继承性和多态性等特性。在程序设计中, 我们广泛采用了m f c 提供的基础类库,大大提高了程序的设计效率。下面,我 们就简要介绍在本论文中大量使用的两个m f c 类: 2 2 1 c f i i e 类 多数文件系统都以某种方式使用文件系统,对于开发人员来说,理解文件 系统是如何表示的以及如何使用这个文件系统是非常重要的。m f c 提供了一个 一致的接口来处理这个问题,即c f i l e 类来处理文件系统中的数据。 c f i l e 类提供了处理文件时常用的i o 操作,如:文件建立,读文件,写文 件,文件删除等。同时,c f i l e 类还派生出一些类,专门用于处理与文件相关 的工作。如:从c f i l e 类派生出来的c s t d i o f i l e 类对a s c i i 类数据缓冲进行一 般的i o 处理,体现了流式文件经f o p e n 打开后的处理过程。流式文件可以是 二进制文件,也可以是文本文件,但c s t d i o f i l e 类以流模式处理输入和输出。 再比如:从c f i l e 类派生出来的c m e m f i l e 类可以处理内存数据。 在使用c f i l e 类时,首先必须用一个文件名创建一个c f i l e 类的实例,并 指出文件的打开方法( 即它的访问模式,权限设置等) ,实例声明完毕后,就可 以通过调用类的函数来实现相关的操作。包括:文件的打开,关闭,读,写, 文件指针的定位,查看文件状态等等。 2 2 2c o b l is t 类 c o b l i s t 是m f c 提供的功能强大的对象容器,它的行为类似于一个双向链 电子科技大学硕士论文 表,可以往里面添加不同类型的对象,唯一的条件是它们必须都是从c o b j e c t 类继承下来的。p o s i t i o n 是v i s u a lc + + 提供的一个特殊的数据类型,它与 c o b l i s t 相结合,用来指示当前访问的对象,类似于一个位置指针的作用。其 提供了大量的方法以便用户进行链表的相关操作,如:列表遍历,列表操作, 对象插入,对象查找,对象修改操作等等。 2 3 a u t o c a d 二次开发工具a d s 和o b j e c t a r x 综述 2 3 1a d s 简介 a d s 是a u t o c a dc 语言开发系统的简称,它使外部可执行文件与a u t o c a d 核心紧密的联系在一起,为在a u t o c a d 平台上进行二次开发提供了一个最为有 力的编程手段。 a d s 提供了一组用c 语言编写的a u t o c a d 应用程序的头文件和目标库。a d s 程序使可以在a u t o c a d 环境中运行的可执行文件,它和a u t o c a d 建立通讯联接, 向a u t o c a d 发出命令,并获得命令执行的结果,同时,a d s 应用程序拥有c 语 言运行函数库的全部功能。因而几乎可以完成任何的功能。 2 3 2o b j e o t a r x 简介 o b j e c t a r x 是c a d 提供的一个新的开发工具。a r x 库可以和a u t ol i s p 和a d s 相关联使用,对于用户使用、定制和扩展a u t o c a d 非常有利。一个a r x 应用程 序是一个动态连接库,它分享a u t o c a d 的地址空间并且可以被c a d 直接调用。 出于扩展的目的,a r x 库提供了很多的宏,它们有助于用户定义新的类或给现 有的a u t o c a d 类添加新的功能。 2 3 2 1 o b j e c t a r x 编程环境 a r x 是基于a u t o c a d r l 4 的一种新的编程环境,它提供了以c + + 为基础的 面向对象的开发环境及应用程序接口,能真正快速地访问a u t o c a d 图形数据库。 通过在c a d 应用系统开发中的应用表明,o b j e c t a r x 的许多特性能够实现很多 在原来开发环境中难以实现的功能,提高了开发效率,它是a u t o c a d 新一代的 开发工具。 与以往的a u t o l i s p 、a d s 开发工具相比,o b j e c t a r x 在编程环境上主要有以 6 电子科技大学硕士论文 下几方面的特点: 1 开发环境不同,其主要用于w i n d o w s 平台上的开发。 2 具有o b j e c t a r x 开发平台: 3 开发工具:m i c r o s o f tv i s u a lc + + 4 2 b 以上版本编译、调试集成化 开发环境和m f c 开发工具。 2 3 2 2 面向对象特性 a u t o c a dr 1 4 推出的o b j e c t a r x 编程工具是采用全新的面向对象技术,对象 的数据体系及编程方法是其吸引人的特点。 o b j e c t a r xs d k 主要提供了以下几个类库: 1 a c r x 类库:提供了系统级的类和c + + 的宏指令集,用于d l l 应用程序 的初始化、连接及实时类的注册和致性检查。 2 a c d b 类库:提供可以直接访问a u t o c a d 数据库结构的类。包括实体等 图形对象和层、线型等非图形对象。 3 a c g i 类库:提供了用于显示a u t o c h d 实体的图形接口。 4 a c g e 类库:该库主要被a c d b 库的类使用,包括与通用线性代数和几何 对象相关的类。 5 a d s 类库:c 语言的库函数,用于实体选择集操作、可编程对话框等操 作,这些操作主要为了与h u t o c a dr 1 2 兼容。 此外,o b j e c t a r x 编程环境可利用m f c 类库来编制丰富的w i n d o w s 风格界面。 由于采用了面向对象的编程技术,开发人员可在其提供的基类上派生出自定义 的类,给开发工作带来极大的方便。 a r x 是可编译的c + + 程序,与a d s 不同的是,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 r x 系统上增加新的类, 实时扩展原有类的函数。与a d s 及a u t o l i s p 相比,a r x 应用程序运行更稳定。 以上的这些新特性,使得o b j e c t a r x 开发手段成为众多a u t o d e s k - 次开发 商目前的首选开发工具,并利用它开发出了丰富多样的应用软件,如 m a c h i n i c a ld e s k t o p 等。 7 皇王型垫奎兰堡主丝苎一 2 3 2 3 常用函数、结构说明 1 访问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 c m d ( ) 和 a c e d c o m m a n d 0 。利用这两个函数,用户可以直接给a u t o c a d 图形环境中 的“c o m m a n d :”命令提示符发送命令和其他输入。其定义如下: i n ta c e d c o m m a n d ( i n tt y p e 1 ; i n ta c e d c m d ( s t r u c tr e s b u f r b p ) ; 与其他函数不同的是,这个函数具有长度可变的参数表,并且参数表中 的参数是成队出现的,我们称为参数对。在每一对参数中,第二个参数才 是真正要传递的参数,而第一个参数表示所传递的第二个参数的类型。参 数表中的最后一个参数为单个参数,其值为0 或r t n o n e 。比如:在a r x 中 调用画圆的命令如下所示: a c e d c o m m a n d ( r t s t r ,“c i r c l e ”,r t 3 d p o i n t ,p l ,r t r e a l ,r a d , ; 此函数表示画一个圆,其圆心在p l 点,半径为r a d 。请注意在每个参 数前的参数类型说明,输入参数所表示的具体含义是由这个参数类型来表 明的,下表列出了常用的参数类型和它在这个函数中的表示方法: 表格2 1 :参数在c + + 和a r x 中的表示方法 参数类型c c + + 表示a r x 中表示 字符串 s t rr t s t r 实数 r e a lr t r e a l 整数s h o r tr t s h o r t 点r t 3 d p o i n t , 实体名 r t e n a m e 选择集|t r e n a m e 8 电子科技大学硕士论文 2 结果缓冲区 在a u t o c a d 中采用d f x 组码来表示图形,组码仅仅是一个整数值,但不同 的值有不同的含义,下表列出了几种典型的组码及其含义: 表格2 - 2 :典型组码及其含义 组码意义组码意义 i 一4 条件操作符 5 实体句柄 l 一1 实体名称 1 0 1 0一个点 组码在a u t o c a d 数据结构中是以结果缓冲器链表的形式来表示的,结果缓 冲器是a d s 支撑环境的核心概念之一,用来代表a u t o c a d 的实体和各种表的数 据信息,其定义如下: s t r u c t r e s b u f s t r u c tr e s b u f r b n e x t ;,指向另外一个结果缓冲器的指针,该指针 用于实现链表。 s h o r t r e s t y p e : ,组码 u n i o na d s _ u v a lr e s v a l ; ,组码值 ; u n i o n a d s _ u v a l a d s _ r e a lr r e a l ; a d s _ r e a lr p o i n t 【3 ; s h o r t t i n t ; c h a r r s t i i n g ; l o n ga l o n g ; s t r u c ta d sb i n a r y r b i n a r y ;) ; 通过结果缓冲器可以建立如图2 - - 1 所示的链表: i n e x t h n e x t h n e x t u n e x t l f 一1 ji 5 ii 1 0 ji 一1 f 圃两劂劂 图表2 - 1 :结果缓冲区列表 9 电子科技大学硕士论文 3 选择集 在a u t o c a d 中,有很多命令( 函数) 的处理对象都是选择集,比如,选 择多个三维实体进行相交、相并、相减运算,在a r x 中,要想成功调用这些 命令( 函数) ,首先就必须要创建选择集,在完成相关命令处理后,再释放 这些选择集。 在a u t o c a d 环境下,获得选择集的方法是提示让用户选择对象,再由这 些对象构成选择集,而在0 b j e c t a r x 的二次开发环境下,获得选择集的方法 是使用一系列的属性和选定条件筛选当前数据库来选择实体对象,进而构成 选择集。 筛选函数原型为: i n ta c e d s s g e t ( c o n s tc h a r + s t r ,c o n s tv o i d p t l ,c o n s tv o i d 。 p t 2 ,c o n s ts t r u c tr e s b u f + e n t m a s k ,a d s _ n a m es s ) ; 参数说明如下表: 表格2 - 3 :筛选函数参数说明 参数参数说明 说明使用的筛选条件。根据参数的不同,可以在整个数据 s t r 库内筛选,或用户提取等等方式进行筛选工作。 p t l与某此选择方式相关的可选择的点 p t 2与某出选择方式相关的可选择的点 e n t m a s k 若其不为n u l l ,则表示确定的筛选条件,可构成链表 s s 选择集的识别名字,用于存放筛选数据库后所得的结果。 具体用法举例如下: 选择最近使用过的对象: a c e d s s g e t ( “l ”,n u l l ,n u l l ,n u l l ,s s n a m e ) ; ( 其中,“l ,表示“l a s t ”选择方式;s s n a m e 表示选择集名) 选择在层f l 0 0 r 3 上的所有实体 s t r u c tr e s b u f e b ,a d s _ n a m es s ,c h a rs b u f 【3 0 】; ,变量定义 e b r e s t y p e = 8 ; 8 表示筛选对象为层名 1 0 电子科技大学硕士论文 s t r e p y ( s b u f ,“f l o o r 3 “) ; e b r e s v a l r s t r i n g 。s b u f ; e b r b n e x t = n u l l ; a c e d s s g e t ( “x ”,n u l l ,n u l l ,n u l l ,s s n a m e ) ; 其中( “x ”表示在整个数据库里筛选;n u l l 表示筛选条件结 束,否则,可指向另外的s t r u c tr e s b u f 结构形成链表进行进一步筛 选。) 4 深层克隆 深层克隆函数用来复制对象和任何属于被复制对象的对象。在本程序 中,大量涉及了复杂三维实体的复制,拷贝等内容,而这个复杂三维实体是 由一系列的简单三维实体通过实体的相交、并、减运算得到的,在数据结构 上,包含了数个不同对象,因而在进行这样的复杂三维实体的复制、拷贝时, 除了将这个复杂三维实体的对象进行相关操作外,还必须将其包含的其他的 简单三维对象一并处理。这就必须要用到深层克隆技术。 在a u t o c a d 中常用的“c o p y ( 复制) ”、“m i r r o r ( 镜像) ”、“i n s e r t ( 插入) ”、“b l o c k ( 块) ”等命令就用到了深层克隆技术。 具体来讲,深层克隆函数实际上包含了两个步骤:克隆和转换。在克隆 这一个步骤中,首先创建一个用于克隆的对象,接着,将原对象数据编出到 内存中,然后,又将输出到内存的数据输入到新创建的对象中;在转换这一 个步骤中,使用i d 影射关系重新链接所有的新旧对象来建立新的关系。在 具体转换过程中,需要转换四种类型的对象的i d ( 硬所有、软所有、硬指 针、软指针) 。 一个典型的深层克隆一般要经过以下几个步骤: 获得要被克隆的对象的集合。 将对象列表放入列表中( a c d b o b | e c t i d a r r a y 类) 。 创建一个新的i d 影射关系( a c d b i d m a p p i n g 类) ,它将由深层克 隆函数编入。 调用深层克隆函数,传入要被克隆的对象列表、被克隆对象将要加 入对象的i d 和第一步中创建的i d 影射 具体函数框图请参见第六章的内容。 电子科技大学硕士论文 第三章系统总体方案设计 3 1 浮雕c a d c a m 系统简介 整个浮雕c a d c a m 系统大致可以分为两部分,即:计算机辅助设计c a d 系 统和计算机辅助制造c a m 系统。其关系如图3 一l 所示: 图3 - 1 :系统模块划分 其中,用户数据模块完成3 d 浮雕图案的设计和系统必需参数( 比如对加工 精度的要求等) 的输入;c a d 系统完成对用户输入的3 d 浮雕图案的数据解释: g 代码模块根据c a d 系统的数据输出,最终生成刀具的加工轨迹,形成g 代码: 而c a m 系统完成对g 代码的解释,生成加工驱动程序,完成浮雕图案的最后加 工。 本系统完成前三项功能。即:根据用户输入的数据,通过c a d 系统完成对 3 d 浮雕图案的数据解释,并形成g 代码。 3 2 系统设计目标、设计原则和设计思想 3 2 1 系统设计目标 系统设计目标是:应用先进的计算机辅助设计和制造技术,设计开发出一 套界面友好、功能强大的浮雕c a d c a m 系统,实现浮雕家具从设计到加工的一 体化。系统的应用达到帮助企业提高自动化水平、提高产品质量、缩短企业产 品的研发周期、降低产品的开发和制造成本,提高企业的市场竞争力的目的, 使企业在激烈的竞争中处于有利地位。从系统的使用上说,要特别注意软件的 1 2 电子科技大学硕士论文 易用性,降低浮雕c a d 系统在使用时对设计人员的内在素质要求。 3 2 2 系统设计原则 为了便于本系统的使用,在系统开发中遵循以下几个原则: 1 易用性原则: 对于一个软件,易用是其基本要求,它不仅体现在良好人机交互环境,友 好的用户界面,还包括这个软件对于使用者的内在素质要求,而后者往往是容 易被软件设计人员忽略的问题。在本软件设计中,我们的出发点之一就是让软 件更容易为人所用。 2 通用性原则: 浮雕c a d 系统在市场上已经出现了很多的实现方案,但是,各个方案之间 由于对三维数据实体的表示方法有所不同,造成各个系统之间存在信息壁垒, 通用性不强。 3 实用性强,操作简单的原则: 4 系统自动处理能力高,便于扩展和升级的原则: 3 3 软件系统结构方案一:分层设计方案 3 3 1 方案总述 根据浮雕设计者所设计图案的复杂性和设计精细程度的要求,我们可以将 个三维浮雕图案划分为多层实体近似的表示,如图3 2 ( a ) 所示。 ( a ) 待加工的三维浮雕实体 1 3 电子科技大学硕士论文 第2 层 第l 层 入 第l 层实体 第1 层实体在基准面上 投影的二维框图 的效果图 第2 层实体 ( b ) 分层示意图 图3 2 :分层设计模型 第2 层实体在基准面上 投影的二维框图 在浮雕实体绘制上,设计人员先依次绘制各层实体的二维框图,再生成各 层实体,最后生成浮雕实体。 在生成加工轨迹时,我们可以通过依次加工各层实体的方式加工出整个浮 雕实体。具体在加工每一层实体时,又可以利用各层实体的二维框图来获得加 工轨迹。 3 3 2 方案评述 采用这种方案虽然最终呈现在用户前的是一个三维浮雕实体,但其根本还 是运用二维线框建模方式来处理诸如实体的生成、刀具走刀轨迹的生成等系 1 4 电子科技大学硕士论文 列问题,因而笔者将其称为二维线框驱动的方案。由于线框模型结构简单、易 于理解、数据存储量少,具有操作灵活、响应速度快等特点,因而根据此方案, 我们可以很方便的得到加工时的走刀轨迹,并进行相应的干涉、碰撞等检查。 但是,这种方案也存在以下不足: 1 分层的数量问题:方案根据浮雕设计者所设计图案的复杂性程度而将 一个三维浮雕图案划分为多层实体近似的表示,对于一个具有复杂曲面形状的 浮雕三维实体来讲,分层数量越多,其最后得到的近似的三维实体与原来的浮 雕三维实体的拟合效果越好。但程序并不提供自动的分层功能,需要浮雕设计 人员自己根据需要进行分层,分层数量越多,需要设计人员绘制的二维框图也 就越多。设计效率大大降低了。 2 交互复杂:采用这种方式构造三维浮雕图案,用户必须从如上所述的 绘制线条开始的直至最后形成三维实体的若干步骤。这种设计方式迫使浮雕设 计人员将大量的时间花在了了浮雕图案的绘制上而不是创作上,这与我们浮雕 c a d 软件设计目的提高设计效率是相违背的。同时,某些复杂形体的二维 框图本身就不直观,更不易绘制,这些问题都影响了方案的实际运用。 3 数据通用性问题:设计人员

温馨提示

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

评论

0/150

提交评论