




已阅读5页,还剩55页未读, 继续免费阅读
(机械设计及理论专业论文)基于二维工程图尺寸的准确性研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 随着数控图形交互式自动编程技术的发展,越来越多的研究人员将研究工 作重心放在如何自动识别图形中的几何特征,并且希望得到准确几何特征信息。 由于三维模型设计是参数化设计,这种对几何特征信息的识别研究颇有成效, 而目前依然在广泛使用的二维模型设计由于并不是采用参数化设计的,图形中 的尺寸标注特征和几何特征并不能完全保证匹配,所以单独识别图纸中的几何 特征信息并不能保证加工出来的零件尺寸是准确的。虽然目前针对二维图形特 征识别方法有很多,但进展缓慢,主要因素之一是单独研究几何特征而没有对 图形的尺寸标注特征和几何特征一起进行研究。 本文以目前在二维工程图中使用最广泛的软件a u t o c a d 为研究开发平台, 对图形中的尺寸准确性进行校核,以保证二维图形中自动识别的几何特征是准 确的。首先讨论了a u t o c a d 的各种二次开发工具,分析各自的特点,选择最适 合课题研究的工具。其次根据a u t o c a d 软件的帮助文档对其数据库进行了研究, 根据机械制图的国家标准( g b 4 4 4 8 4 8 4 ) 分析了尺寸标注特征在软件中的各种 类型以及标注样式。对于软件中的尺寸标注识别提出了两种方法,一种是针对 常规尺寸标注特征,由于其具有整体特征,能够用常规的方法进行识别;另外 一种是针对爆破尺寸标注,由于某些原因不再具备整体特征,本文提出了一种 新的方案解决爆破尺寸标注识别的问题。在识别的过程中应用数据挖掘技术关 联规则算法,通过基本图元之间的关联逐步进行识别,然后提取所有爆破尺寸 标注的基本图元,完成对爆破尺寸标注的识别。最后,对尺寸标注与其对应的 几何特征关联性进行了研究,讨论了如何利用尺寸标注的文本与几何特征配合 对图形尺寸进行校核的方法,并通过实例进行了验证,说明了方法的有效性。 关键词:尺寸标注识别,尺寸校核,a u t o c a d ,二次开发,数据挖掘技术,关 联规则 a b s t r a c t a b s t r a c t a l o n gw i t ht h ed e v e l o p m e n to fc a d c a mt e c h n o l o g y ,m o r ea n dm o r e r e s e a r c h e r sf o c u st h o rw o r ko nh o wt or e c o g n i z ef e a t u r eo fg r a p h i c sa u t o m a t i c a l l yo n t h ed r a w i n g ,a n dt h e yw a n tt oo b t a i nf e a t u r ei n f o r m a t i o no fg r a p h i c sa c c u r a t e l y d u e t o 3 d ( t h r e e d i m e n s i o n a l ) m o d e ld e s i g n a d o p t sp a r a m e t r i cd e s i g n ;t h ef e a t u r eo f g r a p h i c sr e c o g n i t i o nh a sa c h i e v e dr e m a r k a b l ep r o g r e s si nr e s e a r c h i n g b u t ,a tp r e s e n t , 2 d ( t w o - d i m e n s i o n a l ) m o d e ld o e sn o ta d o p tp a r a m e t r i cd e s i g nw h i c hi sa l s ow i d e l y u s e da l lo v e rt h ew o r l d t h ef e a t u r eo fd i m e n s i o n sa n dg r a p h i c sa r en o te n s u r et h e m e x a c tm a t c h i n go nt h e2 dd r a w i n g , s ot h e f e a t u r eo fg r a p h i c sr e c o g n i t i o na l o n e c a n n o tm a k es t i let h ep a r t s s i z e sa r ea c c u r a c y a l t h o u g ht h e r ea r em a n ym e t h o d st o r e c o g n i z et h ef e a t u r eo fg r a p h i c s ,t h ew o r kp r o g r e s s e da tas l o wp a c e t h em a i n l y r e a s o ni st h ef e a t u r eo fg r a p h i c sa r er e s e a r c h e di n d i v i d u a l l yr a t h e rt h a nd i m e n s i o n s a n dg r a p h i c st o g e t h e r i no r d e rt os o l v et h i sp r o b l e m ,t h i sp a p e rt a k e sw i d e l yu s e d2 ds o f t w a r e a u t o c a da s d e v e l o p m e n tp l a t f o r m ,r e s e a r c h i n g o nt h ea c c u r a c yo f e n t i t y s d i m e n s i o no n2 dd r a w i n gt oe n s u r ef e a t u r eo fg r a p h i c sr e c o g n i t i o na u t o m a t i c a l l ya r e a c c u r a c y f i r s t l yt h ea r t i c l ed i s c u s s e ss o r t so fa u t o c a ds e c o n dd e v e l o p m e n tt o o l s a n da n a l y z e st h er e s p e c t i v ec h a r a c t e r i s t i c so ft o o l s ,s e l e c t i n gt h ed e v e l o p m e n tt o o l b e s ts u i t e dt op a p e rn e e d s s e c o n d l ya c c o r d i n gt oa u t o c a dh e l pd o c u m e n t , t h i s t h e s i ss t u d i e ss o f t w a r ed a t a b a s e a n da c c o r d i n gt om e c h a n i c a ld r a w i n gn a t i o n a l s t a n d a r d s ( g b 4 4 4 8 4 8 4 ) ,t h i st h e s i sa l s o s t u d i e sv a r i o u st y p e so fd i m e n s i o n sa n d s t y l e so fd i m e n s i o n s t or e c o g n i z ef e a t u r e so fd i m e n s i o n ,t h i sa r t i c l ep r e s e n t st w o m e t h o d s :s o m ea r ef o rc o m m o n l yd i m e n s i o n s d u et ot h e s ed i m e n s i o n sh a v ew h o l e f e a t u r e ,s oi tc a nb eu s e dc o n v e n t i o n a la l g o r i t h mt or e c o g n i z e t h eo t h e r sa r ef o r e x p l o d e dd i m e n s i o n s d u et ot h e s ed i m e n s i o n s h a v en o tw h o l ef e a t u r e ,s ot h i sa r t i c l e p u t sf o r w a r dan e wm e t h o dt or e c o g n i z ee x p l o d e dd i m e n s i o n s a s s o c i a t i o nr u l e m i n i n ga l g o r i t h mi sa d d e di nt h ep r o c e s so fr e c o g n i t i o n ;i tc 觚r e c o g n i z ee x p l o d e d d i m e n s i o n ss t e p b ys t e pw i ma s s o c i a t i o nr e l a t i o n s h i p so fb a s i ce l e m e n t so f i i a b s t r a c t d i m e n s i o n s f i n a l l yt h i sa r t i c l er e s e a r c h e st h e 堂o l a t i o n s h i pb e t w e e nd i m e n s i o n sa n d g r a p h i c s ,d i s c u s s i n gh o wt oc h e c kg r a p h i c ss i z e sc o o p e r a t e 、) l ,i t hd i m e n s i o nt e x ta n d g e o m e t r yp r o p e r t y a n dt h e ns o m ee x a m p l e sr r ep r o v i d e dt oi l l u s t r a t et h ee f f i c i e n c y k e y w o r d s :d i m e n s i o nr e c o g n i t i o n , d i m e n s i o nc h e c k i n g ;a u t o c a d ,s e c o n d d e v e l o p m e n t ,d a t am i n i n gt e c h n i q u e ,a s s o c i a t i o nr u l e i l l 1 绪论 1 绪论 1 1 课题来源 河南省科技攻关项目“纺织机械辊筒类件号c a d c a e 系统研制 ( 0 8 2 1 0 2 2 4 0 0 1 0 ) 1 2 课题研究背景及意义 制造业是国家经济发展的重要支柱,它的发展水平是一个国家经济实力、 国防力量和科技水平的重要标志。而且人民的生活水平也和制造业的发展水平 息息相关,强大的制造业水平能使一个国家的经济健康、快速、稳定的发展【l 】。 制造业技术的革新是支撑整个制造业健康稳定发展的重要因素。在2 0 世纪 5 0 年代,作为制造业大国的美国正是由于忽略了制造业技术的革新,从而降低 了其制造产业在国际中的竞争力,丧失了许多市场,导致了2 0 世界9 0 年代初 的经济衰退。这使得美国决策层开始进行反思,最后得出的结论认为其在高速 增长的技术市场上逐步丧失竞争力的一个重要原因就是美国没有把自己的先进 技术应用到制造业上,随后制定了一系列振兴制造业的计划,使先进制造业技 术在美国迅速发展,从而促进了美国经济的全面复苏【i 】。 先进制造技术( a d v a n c e dm a n u f a c t u r i n gt e c h n o l o g y , a m t ) 是制造业不断吸 收机械、电子、信息、能源及现代系统管理等方面的成果,并将其综合应用于 产品设计、制造、检测等过程,以达到优质、高效、低耗等效果,提高产品在 市场上的竞争能力。数控 0 n - r 技术就是先进制造技术的一个重要分支,自从1 9 5 2 年第一台数控车床诞生以来,它不断推动制造业技术的发展。数控加工技术的 发展也标志着机械加工从传统的普通车床人工制造加工转变为数控车床自动制 造加工【2 k 在数控加工技术中,数控程序是零件工艺部门和零件生产部门之间的 重要纽带,它蕴含了大量数控加工信息。数控编程技术也随着数控加工技术的 发展不断进行发展,经历了编程效率低下、编程过程繁琐的手工编程,到目前 编程高效、编程过程自动化的图形交互式自动编程。 目前,图形交互式自动编程在国内外制造加工中得到广泛的应用,它通常 以计算机辅助设计( c a d ) 软件为基础,在计算机中绘制零件图样,然后调用 l l 绪论 数控编程模块,利用人机交互的方式指定加工的部位,输入工艺参数,计算机 根据这些信息进行必要的数据处理并编译出数控程序【3 ,4 】( 如图1 1 ) 。 开始 计算机中绘制 零件图形 在数控编程系 统中读取图形 文件 通过人机交互 模式,指定加 工部位,计算 加工结点 图1 1 数控图形系统编译过程 在图形交互式自动编程中,使用计算机绘制零件模型是很重要的一步,绘 制零件模型的准确与否直接决定着后续工作能否加工出合格的零件。目前绘制 零件的软件有两种:一种是三维软件,由于三维软件在绘图过程中是采用尺寸 驱动全参数化设计,所以用三维软件进行绘图出错率相对较低;另外一种是二 维软件,由于其绘图过程中并非像三维软件一样采用尺寸驱动全参数化设计, 图形的真实大小并不是由图形尺寸标注和视图内在的隐含几何拓扑关系以及 各视图间的对应关系共同决定的,所以这类绘图软件很难保证零件图样的准确 性【5 1 。例如,在a u t o c a d 中绘制长度为l o o 嚣0 2 的几何轮廓,设计人员在绘制直 2 首 = 一 墼碧 l 绪论 线时多数都是绘制长度为1 0 0 的直线,然后利用标注编辑功能绘制上下偏差, 但实际上这条直线的实际长度依然是1 0 0 ,不在它的公差允许范围内。除此之外, 由于人为原因,还经常会出现尺寸标注错误的情况【6 j ,在图形交互式自动编程中, 数控加工人员就不敢贸然依靠对零件图外形轮廓的坐标位置直接捕捉来进行自 动编程,他们不得不采用最为原始的方法,利用手工建立坐标系,计算各个加 工部位的坐标位置,这是对人力和物力的极大浪费。目前由于受到经济、技术 水平等因素的限制,国内外采用交互式自动编程很难达到根据三维图自动编程, 尤其是国内多数工厂加工还是采用二维工程图,所以如何保证零件图尺寸的准 确性,让图形交互式自动编程技术得到合理的应用和充分的发挥是目前亟待解 决的重要问题。 为了解决二维工程图尺寸准确性的问题,本课题通过软件开发,对图形的 边界轮廓和尺寸标注特征进行识别,提取它们的尺寸信息,进行准确性校核, 以达到依靠对零件图形轮廓坐标位置的直接捕捉来进行自动编程的目的,从而 提高图形交互式自动编程的可靠性。 1 3 国内外研究现状 零件图的特征识别方法的研究从很早就开始进行了,最早可追溯到上个世 纪7 0 年代,研究人员希望能够对零件图中实体模型的特征识别,提取其工艺信 息,获取数控加工刀具轨迹,从而将c a d c a m 一体化技术应用于实际生产中。 到目前为止,国内外研究人员提出了很多种特征识别方法。 1 3 1国外研究现状 m e e r a n 和p r a t t 提出一套p r o l o g 系统利用d x f 文档格式识别非回转体零 件,他建立了一套常规的模型特征加工规则,例如对于平面和斜面上的孔,可 以采用同一套规则【7 1 。但是这套系统是针对于d x f 文档格式,不能在设计软件 中实时操作,使用起来比较麻烦。 t y a n 和d e v a r a j a n 研发出一套f l e x i c a d 系统用于进行零件特征识别,其中 主要设置5 个属性用来识别特征:p r o t r u s i o n d e p r e s s i o n ,e x t e r n a la c c e s sd i r e c t i o n s , e x i ts t a t u s ,b o u n d a r yp e r i m e t e ra n db o u n d a r yg e o m e t r ,引,但只是用于识别非相交 类零件特征,对于公认难度很大的相交特征识别效率并不高。 3 i 绪论 p e t e r s 采用神经网络技术来进行特征识别,其中主要的技术还是模式识别, 利用神经网络软件依靠编码从候选几何子集提取关键性信息进行模式识别【9 】,这 种方法的优势在于神经网络方法本身具有自学习功能,同时能对一些干扰特征 或者不完整特征进行模糊识别,j 下确率相对比较高,但建立系统的过程相对复 杂,工作量很大。 p a r r y - b a r w i c k 和b o w y e r 建立了一套参数理论来替代现在的模板加工技术, 主要针对特征建立五个参数x l ,x 2 ,y 1 ,y 2 ,u ,前四个参数是利用笛卡尔坐标 值来解释特征,最后一个参数是用来定义转角【i o 】。但局限于这套理论只适用于 本系统定义的原始特征形状,脱离系统中所定义的特征形状,则很难得到应用。 1 3 2国内研究现状 目前,国内有在机械制图课程中用于对轴类零件的尺寸标注特征进行批改 方法的研究【1 1 1 2 】,文献中主要采用的是“特征识别法 ,批改出轴类零件图上 尺寸标注特征是否完整,标注值是否正确等。这种方法结合工艺结构解决轴类 的零件图尺寸标注作业批改的问题,处理的图纸类型相对单一简单,不能l a 很z 好 解决标注中带有尺寸公差的尺寸标注特征。 也有通过建立尺寸标注与系统“电子模型 之间的关联,解决尺寸标注中 “错标 的问题,引进模板技术,使得尺寸标注能够批量生成,提高了制图的 工作效率和出图的准确性【1 3 】。相同的还有基于知识表达实现参数化尺寸标注【1 4 】。 但是这些方法要不需要依靠系统“电子模型 为参考,要不就需要强大的知识 库作为依据,同时不能解决尺寸标注特征准确性的问题。 还有通过把特征识别技术和数控车床自动编程技术相结合起来,先利用特 征识别技术自动识别a u t o c a d 环境下绘制的二维零件图的特征,然后根据工艺 参数数据库自动计算出尺寸公差带的中心尺寸,最后进行自动编程,实现了 c a d c a m 的集成【”- i7 1 。这种方法通过对零件轮廓特征的提取和尺寸标注公差的 辅助参考,一定程度的避免了尺寸标注不准确带来的问题,但如果尺寸标注不 是以整体出现而是爆破的状态,就不能通过对尺寸标注特征的识别得到尺寸标 注公差的辅助参考,并且它在回转体零件图中得到很好地应用,但是对于复杂 零件图效果并不是很好。 国内也有大学提出基于矢量信息的方法应用神经网络技术识别工程图标注 单元,实现对各种形式标注单元的识别。它根据国家机械制图标准 4 1 绪论 ( g b 4 4 4 8 4 8 4 ) 中的尺寸标注绘制规则对尺寸标注单元进行了分类,并在此基 础上分析了各种类型尺寸标注单元的基本拓扑结构组成元素,进而提出一种基 于矢量信息的拓扑结构元素特征编码规则与编码算法,并通过基本拓扑结构元 素编码的组合得到各种具体形式标注单元的编码。然后,应用神经网络技术实 现标注单元拓扑特征编码的提取与标注单元拓扑特征编码的识别1 引。 1 4 课题研究的主要内容和关键技术 根据国内外的研究现状,到目前为止,国内外研究人员提出了许多特征识 别方法,其中只有很少一部分能够处理好二维工程图的特征识别,并且其中大 部分是研究回转体零件,对于其他复杂零件图识别方法效果并不是很好【o l 明。在 这些识别方法中,很少有对二维工程图的尺寸准确性进行校核,这在数控加工 过程中,给数控编程人员带来很大的困扰,一旦加工的零件尺寸不符合要求, 数控编程人员就不得不对工程图重新建立坐标系,利用人工计算工程图加工部 位的坐标点,然后推算出走刀轨迹,这严重制约着c a d c a m 一体化技术的发 展。为了解决这个问题,本课题通过对工程图中尺寸标注特征进行研究,利用 尺寸标注中的文本与它所标注的对应几何特征尺寸进行对比,建立一个数控前 处理系统,一旦存在尺寸标注的文本与几何特征尺寸之间存在超差的现象,就 对该标注提出警告,防止数控人员在进行人工交互操作提取图形轮廓坐标值时, 得到错误的尺寸参数。如图1 2 就是本课题的主要研究内容。 图1 2 课题研究的主要内容 由于在二维工程图中,图形特征通常都是靠点、线来表示,包含的零件信 息比实体模型所包含的信息少很多,只能通过尺寸标注等特征来辅助表达图形 信息。除此之外,在二维设计软件中,尺寸标注和图形轮廓之间并不是采用参 5 1 绪论 数化约束,虽然二维设计软件a u t o c a d 从2 0 1 0 版本开始引进参数化约束绘图, 但需要手动操作,而且对于尺寸标注的参数化约束相对简单,无法约束爆破的 尺寸标注,这就导致二维零件模型的尺寸准确性很难得到保证。在计算机中核 对零件的标注尺寸和实际尺寸时,细微的差别单凭工程设计人员的肉眼,很难 被检测出来,所以需要依靠计算机的运算辅助工程人员对二维工程图的尺寸准 确性进行校核。其中关键的是要能把尺寸标注特征提取出来,但由于设计人员 的习惯不同,使用二维软件进行标注的时候方法也多种多样【2 0 - 2 l 】,并且一旦设 计人员为了设计方便将尺寸标注特征爆破后,这个尺寸标注在工程图中就不再 是以整体特征的对象出现,而是由其几个基本组成图元的特征出现,如何将这 些不同的操作习惯、标注特征整合在一起,制作一个可靠的,通用的,并且带 有智能系统的软件是本课题研究的重点。 a u t o c a d 作为国内外使用最为广泛的二维设计软件,很多研究人员都将它 应用于c a d c a m 一体化技术中,它的图形文件格式d w g 、d x f 等被当作工 程图图形文件存储格式,大量应用于数控图形交互式自动编程中,所以本课题 将a u t o c a d 作为测试环境,编写校核系统程序。 本课题的研究内容大致可以分为四个部分: 第一个部分是准备工作部分。首先要研究采用的a u t o c a d 软件平台,掌握 软件的数据库和开发平台,在读取工程图时,能够在软件环境下对图形中的特 征信息进行识别提取,例如实体,标注格式等。 第二个部分是对具有整体特征的常规尺寸标注进行信息提取。在二维绘图 软件中,软件公司提供有专门的数据接口用于对常规尺寸标注特征信息提取。 主要方法是先通过对工程图的数据遍历,筛选出尺寸标注对象,然后根据软件 提供的属性名称,将需要的属性值提取出来。 , 第三个部分是对爆破后的尺寸标注进行信息提取。设计人员在设计时,由 于设计需求或者其它一些原因,需要将这些尺寸标注爆破,这些爆破后的尺寸 标注就不具备尺寸标注完整的特征属性,而是被分解为几个基本图元。图1 3 就 是由基本图元组成的尺寸标注。 这些基本图元散布在图形数据库中,与图形中几何特征混合在一起,例如 爆破后的“尺寸标注边界线 在图形数据库中是以l i n e 的类名出现,而图形中 只要是直线特征的对象都是以l i n e 作为类名,用常规的遍历方法很难将这些散 乱的基本图元特征提取并按照隶属的尺寸标注特征归类在一起。所以本课题采 6 l 绪论 用数据挖掘技术,通过关联规则来解决这些复杂问题。 图1 3 由基本图元组成的尺寸标注 第四个部分就是将常规尺寸标注和爆破的尺寸标注统一集中起来,对尺寸 标注特征与尺寸标注对应的几何特征的尺寸信息进行准确性校核,并对校核结 果进行处理。 1 5 论文章节安排 第二章:介绍a u t o c a d 二次开发的平台,并对各种开发平台的优劣进行分 析,然后确定了a u t o c a d n e t 作为本课题的开发平台;详细剖析了a u t o c a d 数据库,梳理论文工作所涉及数据对象的特征和参数等,为项目研究工作奠定 基础。 第三章:对a u t o c a d 软件中尺寸标注特征种类进行分析,利用a u t o c a d 二次开发工具中常用的“选择过滤集( s e l e c t i o n f i l t e r ) ,对图形中的常规尺寸标 注进行识别和提取,并对其属性信息进行提取。 第四章:结合数据挖掘技术中关联规则算法,将图形中爆破后的尺寸标注 的基本图元进行特征识别、提取和归类,根据基本图元提取出有用的尺寸标注 特征信息。 第五章;利用提取的尺寸标注特征信息和尺寸标注对应的几何特征的尺寸 信息,对图形尺寸进行准确性校核,并对校核结果进行处理。 第六章:对论文工作进行总结,并对后续工作提出设想和建议。 7 2a u t o c a d 的二二次开发平台及其数据库 2a u t o c a d 的二次开发平台及其数据库 2 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 具有强大的图形编辑功能,在很多领域都能得到应用,例如机械 设计、土木建筑、室内设计,但它不可能完全满足各行各业的需求,于是, a u t o c a d 软件就开放多个开发平台和编程语言供程序设计人员根据自己的需要 对它进行开发,补充和完善。 表2 1a u t o c a d 各个开发平台的比较 目前,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 、n e t l 2 2 】,这些应用程序编程接口( a p p l i c a t i o np r o g r a m m i n gi n t e r f a c e , a p i ) 可以满足用户的各种需求。表2 1 是对a u t o c a d 提供的各个开发接口进行 简单的对比。下面是对a u t o c a d 二次开发接口的介绍和评价。 2 1 1 o b j e c t a r x 开发平台 o b j c c t a r x 的全称是a u t o c a dr u n t i m ee x t e n s i o n ,是以c - h 语言为基础的 面向对象的开发环境和应用程序接口,它其实是w i n d o w s 动态链接库( d l l ) 程序,由于与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 的功能, r 2a 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 最为强 大的定制开发工具【2 引。同时c _ h 作为基本开发语言,具有可封装性、可继承性 及多态性的特点,并且支持m f c 基本类库,用其开发具有使用方便、内部功能 高效实现、模块性好、连接简单、独立性强及代码可重用性强等特点,能简洁 高效地实现许多复杂功能瞄】。但由于开发平台编程语言是c h ,所以对于编程 人员的编程能力要求很高【z 4 】。 2 1 2 v b 和v b a 开发平台 a c 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 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 自动化服 务的功能。 v i s u a lb a s i c ( v b ) 是美国微软公司推出的面向对象的可视化程序开发工具, 它简单易学,适用面广,而且具有快速的程序开发环境,代码的编写量小,用 户可以很方便的直接改动界面,所见即所得,在w i n d o w s 平台上被广泛适用。 而且v b 是w i n d o w s 操作系统下最常用的支持a c t i v e xa u t o m a t i o n 技术的开发 工具。为此,可以作为设计人员进行程序设计的首选工具。v b a 是v i s u a lb a s i c f o ra p p l i c a t i o n s 的缩写,由v i s u a lb a s i c 派生而来,现在已经成为m i c r o s o f t 产品 的标准语言。与v b 一样,v b a 是面向对象的设计语言,它继承了v b 语法简 单、功能强大的特点,同时,由于v b a 可与主程序在同一内存空间内运行,大 大提高了运行的速度,并具有某些“智能”功能【2 习。 在a u t o c a d 2 0 0 0 以后所有版本的软件中,都集成了v b a 开发环境( a i d e ) ,开发者可以通过v b a 开发a u t o c a d 的进程,另外也可以通过c o m 机 制使用支持c o m 开发的语言,如v i s u a lb a s i c 开发a u t o c a d 的进程外程序。使 用v b a 语言开发程序简单易用,能提供强大的窗体创建功能,可创建自己的工 具条和建立功能强大的模块级宏指令,同时具备和o b j e c t a r x 一样完善的数据 访问与管理能力,可以对a c c e s s 数据库或其它外部数据实现访问与管理,但不 能随意使用a u t o c a d 命令,并且由于v b a 是以对象作为数据处理的基本单元, 因此像t r i me x t e n d 之类的命令都不能真正的实施,要想完成这样的操作,相关 数据只能在程序中自己计算,同时如果用户误操作,很容易使正常的应用程序 出错甚至崩溃【2 4 】。 9 2a u t o c a d 的二次开发平台及其数据库 2 1 3a u t o l i s p 和v i s u a l l i s p 开发平台 a u t o l i s p 是a u t o c a d 提供的最早的一种解释型的a p i ,主要用来自动完成 重复性的任务,从a u t o c a dr 1 4 开始提供的v i s u a l l i s p 是a u t o l i s p 的扩展和 延伸,是一种半编译型a p i ,与a u t o l i s p 完全兼容,同时它能访问a u t o c a d 的多文档设计环境、c o m a c t i v e x 用户界面和事件相应器等。该语言开发程序 同样简单易用,功能尤其是图形功能很强大。并且几乎所有的a u t o c a d 命令都可 以被它调用,同时具备高级语言的基本结构和功能,由于它是内建于a u t o c a d 应用程序,所以可以得到充分应用,能够直接修改及增加指令【2 6 1 。但不适合做 大型程序,并且缺乏很好的保护机制,源程序保密性差1 2 4 1 。 2 1 4n e t 开发平台 从a u t o c a d2 0 0 6 开始,a u t o c a d 增加了n e ta p i 。它提供一系列托管的 外包类( m a n a g e dw r a p p e rc l a s s ) ,使开发人员可在n e t 框架下,使用任何支 持n e t 的语言,如v b n e t 、c j | | n e t 和c + + n e t 等对a u t o c a d 进行二次开发。 该开发接口是完全面向对象的,在功能上并不输于c + + ,并且兼具方便易用的 特点,是较理想的a u t o c a d 二次开发的工具。使用n e t a p i 对a u t o c a d 进行 开发需要m i c r o s o f tv i s u a ls t u d i o2 0 0 5 以上的版本作为集成环境。 在上面分析的四个开发工具中,以v c + + 为基础的o b j e e t a r x 的开发功能 最为强大,但是掌握v c + + 及o b j e c t a r x 困难也是最大的,而a u t o c a d 其它的 开发工具如v b a 、v i s u a l l i s p 等虽然方便易学,开发周期也相对比较短,但是 对执行速度和性能要求都很高的解决方案或者复杂的程序,v b a 和v i s u a l l i s p 就难以胜任了。对于n e ta p i 来说,随着a u t o c a d 版本的更新,n e ta p i 已 经拥有足以和c + + 相匹配的强大功能,由于开发接口是完全面向对象的,又具 有方便易用的特点【2 3 】,所以n e t a p i 是目前最理想的a u t o c a d 开发工具,也是 今后a u t o c a d 二次开发技术的发展方向。 在n e t 平台上,c 撑编程语言是为n e t 平台专门设计的语言,主要目的是 为了吸引程序设计人员将开发平台转移到n e t 平台上,c 撑是扎根于c ,c + + 和 j a v a 的语言,是一种由事件驱动、完全的面向对象和可视化的编程语言。程序 设计人员可以借助微软强大的v i s u a l :s t u d i o n e t 集成开发环境( i n t e g r a t e d d e v e l o p m e n te n v i r o n m e n t ,i d e ) 方便地创建、运行、测试和调试c 撑程序,因而 完成程序所用的时间和不用i d e 时完成程序相比,大为减少。c 撑也使语言的协 1 0 2a u t o c a d 的二次开发平台及其数据库 同工作的能力达到新的高度:不同语言的软件组件能前所未有地进行交互。开 发人员可以将旧的软件打包,用于新的c 群程序。它吸取了每种语言的优点并增 加了自己的特点。由于c 稃是建立在已经广泛使用和良好发展的语言基础上,程 序设计人员会发现学习和使用c 撑是件很容易的事情。 综合上面的论述和所要研究的内容,本课题采用n e t 平台,使用c | 编程语 言对程序进行开发。本论文中的所有程序代码也均采用c 群n e t 进行编写。 2 2a u t o c a d n e t 平台动态链接库的引用和程序加载 2 2 1a u t o c a d n e t 平台动态链接库的引用 在a u t o c a d n e ta p i 中,由不同的动态链接库( d l l ) 文件组成,它们 提供用于访问图形文件或a u t o c a d 应用程序中所包含的丰富的类、结构、方法 和事件。通过这些动态链接库,a u t o c a d 中的数据库才能够被访问,在这种环 境下,用户可以通过程序对图形中所有对象进行创建和编辑,例如:直线,圆, 标注样式,表格等。每一个动态链接库都定义了不同的使用功能的命名空间。 下面是必须要用到的两个动态链接库文件: a c d b m g d d l l :包含o b j e c t d b x 托管类,主要包含用于处理a u t o c a d 数据 库和d w g 文件的相关操作的命名空间和类,如实体操作等【2 7 1 。 a c m g d d l l :包含a u t o c a d 托管类,用户处理a u t o c a d 程序级别的对象, 如程序对象、文档对象掣2 7 1 。 在a u t o c a d n e t 中,要对图形文件进行处理首先要在m i c r o s o rv i s u a l s t u d i o 中引用上面的两个动态链接库文件,如图2 1 。然后在c ;擘中使用关键字 “u s i n g 导入命名空间。比较常用的命名空间有以下几个: a u t o d e s k a u t o c a d a p p l i c a t i o n s e r v i c e s 用于定义和注册新的a u t o c a d 命 令,新的命令和a u t o c a d 本身的命令一致。 a u t o d e s k a u t o c a d c o l o r s 用于定义和编辑a u t o c a d 中的颜色。 a u t o d e s k a u t o c a d d a t a b a s e s e r v i c e s 用于操作a u t o c a d 的图形数据库的图 元,包括几何图形和非几何图形。 a u t o d e s k a u t o c a d e d i t o r i n p u t 用于与用户交互的类。 a u t o d e s k a u t o c a d r u n t i m e 用于诸如d l l 初始化和运行时类的注册与确认 等相关系统工作。 1 1 2a u t o c a d 的二次开发平台及其数据库 a u t o d e s k a 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 g e o m e t r y 用于提供常见的图形几何操作。 图2 1m i c r o s o f tv i s u a ls t u d i o 中a u t o c a d 动态链接库的引用 2 2 2a u t o c a d n e t 程序加载 在a u t o c a d 对话框中输入“n e t l o a d ”命令后,弹出“选择n e t 程序集” 对话框,选择编译好的d l l 文件,就可以将程序加载。在d l l 文件中,会有自 己定制的程序命令,可以像a u t o c a d 的命令一样使用。如图2 2 就是在加载过 d l l 文件,输入定制命令后a u t o c a d 菜单栏中多出来的菜单。 除了手动加载外,还可以进行自动加载n e t 开发的d l l 文件,自动加载需 要修改注册表信息h k e yl o c a lm a c h i n e 下的a u t o c a d 相应版本下的 a p p l i c a t i o n 项下创建一个新项里面设以下三个键值: ”l o a d c t r l s ”( 加载控制控制a r x 程序的加载方式,设为o x 0 2 随 a u t o c a d 启动一起加载) ”l o a d e r ”( 应用程序路径) ”m a n a g e d ”( 程序形式设为o x 0 1 ,告诉a u t o c a d 这是托管程序) 把以上文本复制到一个文本文件中,再把扩展名改为r e g 运行后,启动 1 2 2a u t o c a d 的二次开发平台及其数据库 a u t o c a d 应用程序就会自动加载”x :、0 0 f , x d l l ”应用程序。 图2 2 定制命令加载菜单栏 2 3a u t o c a d 中数据库对象 二次丌发的主要内容是通过对软件数据库对象的访问,编译出自己需要的 程序。下面对a u t o c a d 数据库对象进行介绍。 一般来说,数据库对象指可以保存到文件中的对象,主要包括实体、符号 表和对象词典等。在a u t o c a d 中,d x f 格式和d w g 格式的图形文件都可以用 来存储组成a u t o c a d 的数据库对象。要访问图形文件数据库对象,需要导入 a u t o d e s k a u t o c a d d a t a b a s e s e r v i c e s 命名空问,a u t o c a d 数据库用该命名空间 中的d a t a b a s e 类表示,可以通过以下语句获取当前的a u t o c a d 数据库。 d a t a b a s ed b = h o s t a p p l i c a t i o n s e r v i c e s w o r k i n g d a t a b a s e ; 除了能获取当前的数据库外,还可以使用n e w 和d e l e t e 创建和删除一个图 形数据库。 a u t o c a d 在数据库中包含一系列符号表和一个命名对象词典。符号表和命 名对象词典都是存储数据库对象的容器,其中特定类型的符号表只能存储特定 类型的记录,例如层表中只能存储层记录,也就是通常所说的层;块表中只能 存储块表记录,也就是通常所说的块定义。a u t o c a d 数据库中通常有9 个固定 类型的符号表,程序设计人员不能向数据库中新增或者删除任何一种类型的符 号表。 命名对象词典是所有扩充词典的根对象,其中包含了其他词典,作为非实 体对象保存的容器。当a u t o c a d 创建一个新图时,a u t o c a d 数据库创建了一个 命名对象词典,可以保存除实体对象之外的其他数据库对象。在缺省的情况下, 命名对象词典主要包含四
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学数学青岛版 (六三制)二年级上册一 看魔术-乘法的初步认识教案设计
- 高中化学必修一知识点总结
- 防水痘安全知识
- 灭火器维保合同样本
- 宠物护理职业暴露应急预案及处理流程
- 幼儿园团体合作游戏计划
- 少儿趣味编程Scratch学科融合《斐波那契数列》(教案+源文件)
- 高三物理在线学习资源计划
- 小学数学成果展示活动计划
- 幼儿园语言游戏互动计划
- 结核病防治知识培训试题及答案
- 变频器日常维护及常见故障处理85页PPT课件
- XX光伏电站项目方案(自投)
- 《长方体正方体》课前小研究
- 附件:湖北省重点水利水电工程施工招标投标评分标准-鄂水
- MIL-STD-105E抽样计划表
- 中国联通消防安全管理规定
- 一课一练21:关联速度模型(答案含解析)—2021届高中物理一轮基础复习检测
- GB∕T 10781.11-2021 白酒质量要求 第11部分:馥郁香型白酒
- T∕CCT 002-2019 煤化工 副产工业氯化钠
- 学习通《商业计划书的优化》章节测试附答案
评论
0/150
提交评论