(航空宇航制造工程专业论文)盘盖类零件图的计算机识别技术研究.pdf_第1页
(航空宇航制造工程专业论文)盘盖类零件图的计算机识别技术研究.pdf_第2页
(航空宇航制造工程专业论文)盘盖类零件图的计算机识别技术研究.pdf_第3页
(航空宇航制造工程专业论文)盘盖类零件图的计算机识别技术研究.pdf_第4页
(航空宇航制造工程专业论文)盘盖类零件图的计算机识别技术研究.pdf_第5页
已阅读5页,还剩79页未读 继续免费阅读

(航空宇航制造工程专业论文)盘盖类零件图的计算机识别技术研究.pdf.pdf 免费下载

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

文档简介

两北i 业大学硕士论文中文摘要 摘要 在v i s u a lc + + 编程环境中,利用a u t o c a d 二次开发工具o b j e c t a r x ,以盘 盖类零件图为重点研究对象,对机械制图作业批改软件的若干技术进行了详细分 析,并提出了相应的算法。 在算法设计中,主要依据的标准为预先提供的参考答案图,同时还要满足机 械制图国家标准中对机械零件图画法中的相关规定。程序以检查典型错误为主要 任务,同时具有一定容差性和智能性。 按系统的工作流程分别介绍了图形的预处理、区域划分、视图识别、图形比 较和其他辅助模块。在预处理中,对线宽、线型进行检查处理,对复杂实体如矩 形等进行分解处理,对重合实体进行合并处理,对于距离相差在一定范围内的点 进行融合处理。在区域划分中,介绍了基于实体外接矩形融合运算图形区域划分 方法和基于扫描线图形区域划分方法,并根据实际矢量图形特征新提出一种基于 实体相交特性图形区域划分方法,然后就三种区域划分方法的特点进行了比较讨 论。视图识别中,根据盘盖类零件图结构特点,进行主视图、左视图及其他视图 的识别匹配并阐述了旋转剖这个重要视图表达方式的识别方法。在图形比较模 块中埘点、直线、圆、圆弧、字符、标注、剖面线、粗糙度等机械制图元素的识 别及比较检查处理方法进行了详细讨论。在辅助模块中,主要包括三个部分内容: 程序结果显示、程序界面设计、程序安装打包处理。根据软件使用者使用方式月 的不同,在结果显示上分为以图形方式显示和以保存文本方式显示两种方式,其 中以图形方式显示主要针对学生,以文本方式显示主要针对教师。程序界面设计 以使_ l 日方便、简洁、美观为原则,同时包括程序运行界面设计、加载后在a u t u c a d 中菜币设计两个部分内容,同时还对a r x 程序的加载方式以及使a r x 程序自 动加载方法进行了叙述。在程序安装打包处理中,首先对打包工具i n s t a l l s h i e l d 进行了介绍,随后对在i n s t a l l s h i e l d 对系统注册表的修改以及对安装打包文件的 组织安排等方法进行了详细阐述。 最后完整展示了整个软件的安装、运行、作业批改过程,并给出了运行实例 验证了算法的正确性、合理性和适应性。 关键词:机械制图作业批改,盘盖类零件,a u t o c a d ,o b j e c t a r x p q 北 二业大学硕士论文 英文摘要 t h er e s e a r c ho f c o m p u t e rr e c o g n i t i o n t e c h n o l o g yf o rp l a t e - l i k ep a r td r a w i n g a b s t r a c t i nt h ev i s u a lc + + p r o g r a m m i n ge n v i r o n m e n t u s e i n go b j e c t a r xw h i c hi so n e d e v e l o p m e n tk i to fa u t o c a d ,c o v e r i n gak i n do fd e t a i ld r a w i n gt a k et h ep l a t e l i k e p a r t sa st h ek e yr e s e a r c ho b j e c t s ,s o m ei m p o r t a n tt e c h n o l o g i e so ft h ec o r r e c t i n go f m e c h a n i c a lp a r td r a w i n gs o f t w a r ea r ea n a l y s e d a n dc o r r e s p o n d i n ga l g o r i t h m sa r e p r o p o s e d i nt h ea l g o r i t h md e s i g n ,t h em a i ns t a n d a r di st h er e f e r e n c ea n s w e rd r a w i n g w h i c hi sp r o v i d e di na d v a n c e ,m e a n w h i l et h en a t i o n a lm e c h a n i c a ld r a w i n gs t a n d a r d m u s tb eo b s e r v e d t h ep r o c e d u r et a k e si n s p e c t i n gt h et y p i c a lm i s t a k ea st h ep r i m a r y m i s s i o n ,a tt h es a m et i m ei th a st h ec e r t a i nt o l e r 自n c ea n dt h ei n t e l l i g e n c e t h ep a p e ri n t r o d u c e st h eg r a p hp r e t r e a t m e n t ,t h er e g i o nd i v i s i o n ,t h ev i e w r e c o g n i t i o n ,t h eg r a p hc o m p a r i s o na n do t h e ra u x i l i a r ym o d u l e ss e p a r a t e l ya c c o r d i n g t ot h es y s t e mw o r kf l o w i nt h eg r a p hp r e t r e a t m e n t ,t h el i n ew i d t ha n dt h el i n es t y l e a r ec a r r i e do ni n s p e c t i o np r o c e s s i n g ,t h ed e c o m p o s i t i o np r o c e s s i n gt ot h ec o m p l e x e n t i t yl i k er e c t a n g l ei sc a r r i e do ni n s p e c t i o np r o c e s s i n g ,t h em e r g ep r o c e s s i n gt ot h e s u p e r p o s i t i o ne n t i t ya n dt h em e r g ep r o c e s s i n gt ot h o s ep o i n t sw h i c hh a v el i t t l e d i s t a n c ea r ec a r r i e do nt o o t h ep a p e rp r o p o s e st w ok i n d so fm e t h o d sd i v i d i n g a u t o c a dg r a p hf o rm e c h a n i c a lp a r td r a w i n g sb a s e do no b j e c t a r x :t h eg r a p h r e g i o nd i v i s i o nb a s e do ne n t i t i e s m i n i m u me x t e r i o rr e c t a n g l ef u s i o n ,t h eg r a p h r e g i o nd i v i s i o nb a s e do ns c a n n i n gb e a mn e w l yo n ek i n db a s e d o nt h e e n t i t y i n t e r s e c t i o nc h a r a c t e r i s t i cg r a p hr e g i o nd i v i s i d nm e t h o di sp r o p o s e dw h i c hf i tt h e b a s i sa c t u a lv e c t o rg r a p hc h a r a c t e r i s t i c i nt h ev i e wr e c o g n i t i o n ,t h ep a p e rc o v e r st h e k i n do fd e t a i ld r a w i n gu n i q u ef j a t u r ea c c o r d i n gt ot h ep l a t e - l i k ep a r td r a w i n g c a r r i e s o nt h ef r o n tv i e w , t h el e f tv i e wm a do t h e rv i e w sr e c o g n i t i o nm a t c h e s ,a n de l a b o r a t e s t h er e c o g n i t i o nm e t h o d so ft h er e v o l v i n gc u t a w a yv i e ww h i c hi sv e r yi m p o r t a n tv i e w e x p r e s s i o nw a y i nt h eg r a p hc o m p a r i s o nm o d u l e ,t h ep r o c e s s i n gm e t h o dh a sc a r r i e d 0 1 1t h ed e t a i l e dd i s c u s s i o ni n c l u d et h ep o i n t ,t h es t r a i g h tl i n e ,t h ec i r c l e ,t h ea r c ,t h e c h a r a c t e r ,t h ed i m e n s i o n ,t h eh a t c ha n dt h er o u g h n e s s i nt h ea u x i l i a r ym o d u l e , i i 西北f :业大学硕士论文 英文摘要 m a i n l yt h r e ep a r t i a lc o n t e n t sa r ei n c l u d e di nt h ep a p e r :t h er e s u l ts h o w , t h e i n t e r r a c i a ld e s i g na n dt h ep r o c e d u r ei n s t a l l m e n t p a c k sp r o c e s s i n g a st h ed i f f e r e n to f u s e r s g o a l ,t h er e s u l ti ss h o w e db yt w ow a y st h a ta r eg r a p h i cm o d ea n dt h et e x t m o d e t h eg r a p h i cm o d em a i n l ya i m sa tt h es t u d e n t t h et e x tm o d e m a i n l ya i m sa t t h et e a c h e lt h ep r o c e d u r e i n t e r f a c i a ld e s i g nt a k e st h ee a s yt oo p e r a t e ,s u c c i n c ta n d a r t i s t i cs u r f a c ea st h ep r i n c i p l e ,w h i c hi n c l u d e st h ep r o c e d u r e s u r f a c ed e s i g n r u n n i n gi no p e r a t i o ns y s t e mm a dt h em e n hd e s i g n si na u t u c a dt w op a r t s m e a n w h i l et h ea r x p r o c e d u r ea u t o l o a d i n gm e t h o di sc a r r i e do nt h en a r r a t i o n i nt h e p r o c e s s i n go fp a c ka n di n s t a l l m e n t ,i n s t a l l s h i e l dw h i c hi st h et o o lf o rp r o c e d u r e p a c k a g ei si n t r o d u c e d t h e nt h em e t h o d st om o d i f yt h es y s t e mr e g i s t r ya n dt o o r g a n i z et h ei n s t a l l m e n td o c u m e n t sa r ec a r r i e do nt h ed e t a i l e de l a b o r a t i o n f i n a l l yt h ew h o l ep r o c e s si sd e m o n s t r a t e di np a p e ri n c l u e st h ee n t i r es o f t w a r e i n s t a l l m e n t ,r u n n i n ga n dc o r r e c t i n gd r a w i n g s f f h e ni tp r o d u c e ds o m ee x a m p l e st o c o n f i r mt h ea c c u r a c y , t h er a t i o n a l i t ya n dt h ec o m p a t i b i l i t yo f a l g o r i t h m s k e yw o r d s :m e c h a n i c a lp a r td r a w i n g ,c o r r e c t i n go f d r a w i n g ,p l a t e l i k ep a r t s , a n t o c a d ,o b j e c t a r x i l l 西北工业大学硕士论文第1 章绪论 1 1 前言 第一童绪论 画法几何与机械制图这门课程是一门研究用投影法绘制工程图样并解 决空间几何问题的理论和方法的技术基础课,主要研究如何在平面上准确而全 面的把物体按照有关标准表达出来,也就是用二维图线、图形和符号来表达三 维空间物体 q 1 2 1 。这门课一直以来被认为是“工科工程师的语言”;具有较高的绘 图能力、识图能力是优秀工科工程师基本素质之一,它是工科学生必备的基本 知识技能之一。正因为如此,绝大多数工科院校都把这门课定为学生必修的一 门技术基础课。但是这门课程的最大特点是对形象思维能力的要求高于对逻辑 思维能力的要求,即要求学生有较强的空间想象能力。这也就决定了制图课程 必须重视其教学实践环节,学生需要通过大量的练习,多画图,多想象,多找 错,才能正确理解和掌握二维图形的表达方法和表达规律,锻炼并提高自己的 形象思维能力。传统的制图作业批改方法,教师需要投入大量的时间和精力去 批改,且反馈时间较长,效果不是很理想,不易于调动学生的学习积极性。 随着计算机技术的迅猛发展,计算机在教育领域的普及和应用己日益广泛 和深入。目前,大部分的工科院校都开设了计算机绘图课程,各种计算机辅助 设计和绘图软件得到推广与应用。采用计算机绘图,不仅可以大大的提高学生 的绘图效率,而且还避免了使用图纸,节省了大量的人力、物力、财力和时间。 由于计算机的智能化、视觉的直观化以及运算的高速化等特点,计算机正成为 有效的学习、教学和教育管理的工具。利用计算机绘图,不仅可以调动学生的 学习积极性,提高绘图效率,而且可以及时发馈教师的意见,同时又能够满足 同学自我练习、自我检测的要求。鉴于此,设计开发出一套制图作业的计算机 自动批改作业系统 3 1 1 4 1 1 5 i 6 1 ,不但成为可能,而且很必要。 因此,西北工业大学机械制图教研室提出了“计算机绘图作业辅助批改软 件”这一课题,经过老师和几届研究生的探索,解决了很多难题,取得了令人满 意的成绩。但是,由于课题的复杂性,本软件和相关算法的研究与完善还需要 一段时间。 1 2 作业批改软件实现总体方法 计算机自动批改作业系统运行处理的方法,总的来说是基于比较的方法 西北t 业大学硕十论文第1 章绪论 包括图形比较和数据比较。系统需要先后读入参考答案图和学生作业图,然后 采用一系列算法对参考答案图和学生作业图先后进行处理,提取出需要的相应 的数据,然后对两幅图形的数据进行比较,从而找出学生中错误的,或者是不 合理的地方,并反馈到学生作业图上。 1 3 作业批改软件需要实现的目标 设计一个通用的、具有一定智能的计算机绘图作业批改软件是一项很复杂 的系统工程,其中涉及到图形特征提取、区域划分、区域识别、图形比较、数 据库访问等关键技术。机械制图的图形非常复杂,不但是包含了多种线型和线 宽的图线,而且还包括了字符、尺寸标注、剖面线等复杂图线【”。由于视图表 达的灵活性,正确答案通常不止一个,给批改软件的设计带来了很大的困难。 能够完全准确地找出学生作业图中的所有错误,是非常困难的,而且是很 不现实的。为了在有效的时间内取得较好的研究结果,必须对问题模型进行进 一步的简化,突出关键的部分,而忽略次要部分。有针对性地以能够检测出典 型、常见的错误为主线,然后逐步完善为课题研究的根本研究思路。 1 4 目前国内研究状况 由于画法几何和机械制图作业批改软件在广大的工科院校都有使用和推广 的价值,不少的人士已经在这方面进行了探索。目前,国内类似的较为成熟的 软件,主要针对的是画法几何部分,与机械制图作业相比较,画法几何作业的 图线较为单一,不涉及尺寸标注和剖面线,其正确答案通常情况下只有一个, 比较有利于批改软件的编程实现。而能够自动批改机械制图作业的很少,并且 智能性较差。从已经发表的相关论文,我们可以归纳出e t 前一些典型的批改软 件系统采用的基本的批改方法。例如: 承德石油高等专科学校的吴学文针对一些简单的制图作业写出了自己的批 改系统【2 】。该批改软件针对的是目前较为流行的专业绘图软件a u t o c a d , 使用的语言是a u t o c a d 的二次开发语言a u t o l i s p 。但在开发中,针对每一习 题编制不同的程序,因此智能性不好。 郑州轻工业学院的何培英与华中科技大学的常明联合开发了一套基于w e b 的工程制图作业批改系统,它针对的是华中科技大学c a d 中心研制开发的凯图 c a d i b o l 2 0 0 0 工程绘图软件。这套批改系统具有作业批改、作业评分、成绩统 2 荫北r 业大学硕士论文第1 章绪论 计、批改后的作业保存等比较完整的功能。使用的开发语言是v c 十+ 6 0 ,在算 法上采用图形直接比较法,即以标准答案为模板去核对学生的作图情况,从而 判断学生作业中的正误。由于凯图c a d 采用链表数据结构,故采用遍历法进行 比较。批改流程是:打开学生作业,调入对应的标准答案,从作业中取出一图 素,然后遍历正确答案图判断该图素是否对应存在,如果存在则正确并标示, 如果不存在则用细红线显示并记录,重复此过程,直到学生作业中图素全部判 断完毕。然后判断标准答案中是否存在未标示的图素,如有则用红色显示未标 示的图素并记录。为了提高批改的准确性,在两个图形进行比较时需要对以下 儿个问题进行处理:非一次画成的直线、圆弧;直线起始点的确定;图层、线 型匹配问题和两图形比较时定位点的问题。这套批改系统虽然功能是比较完善 的,但是只能针对比较简单的图形,而且对绘图过程有诸多限制。不过,这套 系统最大的不足是它针对凯图c a d t o o l 2 0 0 0 工程绘图软件,这就限制了批改软 件的推广价值。 两北工业大学制图教研室从9 7 级开始投入巨大精力,针对机械制图作业的 自动批改进行研究8 】【9 】【l o l 【l l l 【1 2 】【1 3 ”】,主要过程和取得的主要研究成果有: 1 9 7 级研究生陈子恒和李蓉在d x c a d 做了一些开创性的工作; 29 8 级研究生许占民以a u t o c a d 2 0 0 0 为开发对象,使用o b j e c t a r x 2 0 0 0 在v i s u a lc + + 6 0 环境中开发,完成了数据库的转型; 3 2 0 0 0 级研究生袁宁对整个软件的结构了和作业图的显示技术加以改进, 添加了剖面线和尺寸标注的智能比较模块,使程序具有更广泛的适应性和实用 性。 4 2 0 0 l 级研究生孙洁和2 0 0 2 级王旭刚对轴套类典型零件图进行了研究。 5 2 0 0 l 级研究生汤良勇在继承前几届研究生研究成果的基础上针对典型 盘盖类零件图的绘制比例、尺寸标注个数、重合线检查、区域划分、加强肋识 别等进行研究开发。 6 2 0 0 2 级研究生陈志远主要对盘盖类零件图的视图识别、尺寸检查、全剖 视图、半剖视图进行了简单研究,并给出了部分算法。 由于高等教育事业的发展,教学压力越来越大,而且教学硬件环境的改善 与提升,推广制图作业计算机批改系统逐渐成为可能,也必将吸引更多的学校 和专业人士参与到制图作业批改系统的开发中来,机械制图作业批改系统还将 不断的发展,新的用途和方法将不断的出现。 1 5 作业批改软件的实现依据及设讦原则 自动作业批改软件是计算机模拟人脑进行作业批改,具有智能化的方面。 西北1 业大学硕士论文第l 章绪论 一方面,人工批改制图作业,可以根据头脑中存储的标准答案图和以前作业批 改的经验,对学生作业图进行不断地检查和验证。而作业批改软件则需要一幅 参考答案图作为批改的依据,通过对两幅图形数据库的比较,以此判定学生作 业图中的错误个数、种类以及性质。另一个方面,由于人工批改作业是教师多 年学科知识积累的灵活运用的体现,是对制图规则和投影原理进一步的深化和 理解,这个过程是一个非常复杂且抽象的思维过程,计算机本身只是一部机器 而已,并不具备这种复杂而抽象的思维能力。所以,自动作业批改系统的必须 以参考答案图中的数据为实现依据,同时还应满足机械制图国家标准中的有关 规定。 由于零件的种类繁多,按其形状和结构的不同特点,可以大致分为轴套类、 盘盖类、叉架类和箱体类等等。各类零件的形状和结构特征具有很大的差异, 设计种通用的算法来完成所有种类零件图作业的批改,显然是不现实的。所 以,为了提高编程的效率,增加批改的效果,以及简化算法,自动作业批改软 件设计的思路顺序应该采用“先总后分再总”三个步骤完成,即第一步,先总体 上对作业图进行检查处理,包括线型线宽检查、图形预处理、区域划分等等: 第二步,针对不同类型的零件作业图进行处理,包括视图匹配、数据对比、图 形对比等等;第三步,对处理结果进行处理,包括结果显示、数据保存等等。 本课题在继续完善前几届同学程序的基础上主要针对盘盖类零件图进行处理, 设计的原则如下: 1 本课题主要针对盘盖类零件图; 2 主要以检查作业图中的常见和典型错误为主,不必要的错误予以忽略; 3 根据重要与否考虑绘图的误差,设置不同的误差范围; 4 考虑到程序的封装性和可移植性; 5 考虑到程序的可扩展性,便于程序的后续完善。 1 6 本课题需要解决的问题 本课题在前几届研究生研究的基础上继续针对盘盖类零件图识别中的若干 项技术加以更深入的研究和分析,具体内容如下: 1 完善和调试盘盖类零件图批改及尺寸标注批改的不足之处,主要是解决 字符识别等细节问题,使识别方法更具有适用性和普遍性。 2 在完善零件的全剖、半剖视图算法的基础上,对旋转剖视图的识别及特 征匹配算法进行研究。 3 尺寸标注的检测方法研究:包括标注格式错误、完整性检查等。 4 两北r 业大学硕十论文第1 章绪论 4 完善粗糙度的识别和批改算法。 5 软件结构、界面设计:包括安装、运行的界面,将前期程序模块进行封装 形成独立软件。 1 7 运行平台和编程语言 1 7 1 自动批改软件的运行平台的选择 在实际广泛应用的众多二维工程制图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 的定制与开发非常便捷。再加之,考虑到整个课题的延续性, 本课程依然选择a u t o c a d 作为开发和运行平台。 1 7 2 编程语言 a u t o c a d 本身提供了多种开发的接口【l5 1 ,允许用户根据自己的需要来扩 展其本身已有的功能。这些开发接口分别针对不同的开发语言。使用最多的是 三种编程语言:a u t o l i s p ,v i s u a l b a s i c ( v b a l ,c + + ( o b j e c t a r x ) 。 a u t o l i s p 或者l i s p ( 目前发展成为v i s u a ll i s p ,功能得到了增强,并且可 以将l i s p 程序编译成二进制代码文件) 是一种解释型的语言,运行速度较慢, 它提供了一个简单扩充a u t o c a d 命令的机制。l i s p 写成的程序仅限于使用静 态的a u t o c a d 命令集合和系统提供的结构化函数库。该语言本身比较容易学习 和掌握,但是对图形数据的操作功能比较弱。 v i s u a lb a s i c 是典型的a c f i v e xa u t o m a t i o n 控件,可以成为开发a u t o c a d 应用程序的独立开发环境。v i s u a lb a s i ca p p l i c a t i o n ( v b a ) 是v i s u a lb a s i c 的特 殊形式,它将v b 环境植入应用程序中,可以实现自己设计的程序与a u t o c a d 本身的无缝连接。v i s u a lb a s i c 同样是解释型的语言,运行速度较慢,数值计算 功能也比较弱。由于v b 是通过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 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 来设计和实现的。 幽北i :业人学硕十论文第l 章绪论 从算法设计需要的角度出发,本课题使用o b j e c t a r x 开发接口和c + + 编程 语言。由于o b j e c t a r x 目前仅支持微软公司的v i s u a lc + + ,因此软件集成开发 环境使用m i c r o s o f tv i s u a lc + + 6 0 和m i c r o s o f tv i s u a ls t u d i o6 0 。 1 7 _ 3 开发工具o b j e c t a r x 介绍 a i g x 是一个厦向对象的3 2 位a u t o c a d 二次开发工具,它提供的c h 类库 可用子开发a u t o c ad 应用程序、扩充a u t o c a d 的类的协议、建立a u t o c a d 命令。a r x 应用程序是共享a u t o c a d 地址空间,对a u t o c a d 进行直接数据调 用的动态链接库( d l l ) 。此外,它溶入了新的面向对象程序设计o o p ( o b j e c t o r i e n t e dp r o 酽a m m i n g ) 思想,功能强大,运行速度快【16 1 1 _ 7 】【1 8 】。 1 ) o b j e c t a r x 程序的运行机制 山于a r x 程序作为一个动态链接库只能在a u t o c a d 环境中载入和使用。 斟此,o b j e c t a r x 程序不仅耍符合c + + 的语法规定,还要遵守a u t o c a d 的通信 协议。 用户设计的o b j e c t a r x 程序与a u t o c a d 系统之间采用w i n d o w s 的消息传 递机制直接通信。在加载ar x 程序时,首先a u t o c a d 调用入口函数 a u r x e n t r y p o i n t 0 ,并向其发出载入消息。然后通过入口函致中的s w i t c h 语句调 月初始化函数完成有关程序的初始化工作:其中a r x 命令通过a c d e r e g c m d s ( ) 宏负责注册,经过注册的命令可加人a u t e c a d 系统的内部命令集中,可以像系 统本身的命令一样使用。 2 1a r x 程序的基本结构和功能 a r x 程序通常由初始化程序和用户函数两部分组成。 初始化部分主要由头文件、入口函数a c r x e n t r y p o i n t 0 定义、初始化函数定 义和卸载a r x 程序的函数定义四个部分组成。 用户函数是程序的主体部分。包括了对话框的定义和激活,以及用户设计 的其他功能。在v i s u a lc + + 编程语言环境的支持下,极大地减小开发者编程的 复杂性。 3 1 a r x 的面向对象的特征 从a r x 开发者的角度来看,a u t u c a d 图形数据库是一个图形及其属性数据 对象管理器,开发者可以根据应用的需要添加和建立新的管理机制并加人到这 个体系中去。o b j e c t a r x 应用程序以c + + 为基本开发语言,具有面向对象编程 方式的数据可封装性、可继承性及多态性等特点,用其开发的软件具有模块性, 独立性强、连接简便、使用方便、内部功能高效实现以及代码可重用性强等优 点,并且支持m f c 基本类库,能简洁并高效地实现许多复杂功能【1 9 】【2 0 1 。 6 两一匕j :业人学硕士论文第2 章软件总体设计 第二章软件系统总体设计 总体设计一般分为两个方面:一是系统设计,包括系统的具体实现方法、接 口说明以及在开发中的一些规范:二是确定软件的结构、数据结构、并建立接口。 在这个阶段必须回答的关键问题是;“概括的说,应该是如何解决这个问题? ” 这部分的工作只要能描述出要设计的软件系统的总框架f 2 1 1 。 2 1 系统设计 2 1 1 软件设计平台、接口 本批改软件是在大型工程软件a u t o c a d 的平台上,在w i n d o w s 系统中,利 用其二次开发工具接口o b j e c t a r x ,在v i s u a lc + + 编程环境中针对a u t o c a d 图形数据库进行批改处理。 2 1 - 2 软件的实现方法 一、图形比较 软件实现的关键是图形的比较。考虑到盘盖类零件的结构特点以及视图表达 相对比较固定,为提高软件的执行效率和制图作业批改的具体操作实际,本文在 图形比较时采用直接比较和结构特征比较相结合的方法。 a 直接比较法 该方法模拟了人的直观思维习惯进行两个图形的比较,找出两个图形中的 不同之处。使用的前提是两个图形必须处于相同的条件之下:即两个图形具有相 同的绘图比例、相同的放置方向和相同的对应基准点。也就是说如果在某个位置 上存在一个具有大小、形状和方向相同的图形,如果在相同的位置上同样存在一 个与之大小、形状和方向都相同的图形,则就可以判断这两幅图形是相同的。如 图2 1 所示。 图2 - k a ) 和图2 - 1 ( b ) 中两个四边形具有相同的绘图比例、放置方向和基准点 位置,因此可以进行直接比较,可判断出2 - 1 ( a ) 中四边形的边a d 、d c 和2 - l ( b ) 中的对应边a d 、d c 不同。 p 北j :业大学硕士论文第2 章软件总体设计 x b 图2 - 1 图形直接比较 b 结构特征比较法 该方法主要是通过对图形的形状特征进行分析,并根据特征结构进行比较。 简单地说,如果在某个位置上存在一个具有某个形状的图形,在另一个位置上存 在一个放置方向不同,但是图形比例和形状相同的图形,则同样可以判断两个图 形是相同的。如图2 - 2 所示。尽管2 - 2 ( a ) 和图2 2 ( b ) 中各自的四边形放置位置不 同,但是他们在几何上是全等四边形,所以可以判断这两个图形是相同的。 y 图2 - 2 图形特征比较 由于在实际机械零件图的识别中,图形往往比图2 2 中的图形复杂的多,可 能不仅仅是图形的基准点和放置位置不同,而且有些零件的画法也不同。这就更 显出了基于图形结构特征比较法的合理性,如在答案图上我们采用相关算法识别 出零件上各个特征结构【2 2 心】【2 4 i ,包括沉孔、螺纹、通孔,然后在学生作业图上 也识别出零件在相对应位置上也存在一个具有相同数目特征的孔,则认为学生在 孔的表达上是正确的,而不用去考虑学生表达的方式手法等等。 二、数据提取 在数据提取过程中,主要用到的方法是扫描线法。 衄衄 州北:l j 业人学硕十论文第2 章软件总体设计 扫描线,即就是一系列由程序按一定规律生成的动态图形实体。通过对这些 动态实体与图形的交点的分析,可获取适当的数据。按照不同的需求,扫描线可 以构造成指定的形状,如直线、圆形、环形、矩形、三角形等等。最基本的扫描 线有两种一直线扫描线和圆扫描线。直线扫描线最简单,用途最广泛。圆扫描 线主要用于以圆为基本特征要素的视图中。如图2 - 3 ( a ) 所示为动态生成的一组圆 扫描线,图2 - 3 ( b ) 所示为一系列动态生成的直线水平扫描线。 薹蠹囊目 用更加广泛。e 司、。 在如图2 4 盘盖类零件图的两个基p 盐盐q,。厂卜心、 本视图中,视图( b ) 为中心对称图形,基 一 :兰j l _ l 3 兰兰 本特征元素是圆,像这类视图最适合用l 一一_ j 、l , 圆扫描线法提取数据。尤其是存在简化。i 潮铁v 艘 画法时,圆扫描线画法仍有生命力。视n 圈山 作业批改软件既要能检查学生对机械制图国家标准绘图基本规定【2 5 1 的掌握 程度,同时又要重点考察学生对零件图表达方法的掌握程度,还应当能对学生图 阿一匕i :业人学硕士论文第2 章软件总体设计 中由于绘图精度出现的误差可以进行容错性处理。 在a u t o c a d 图形中,体现制图标准的通常为各种尺寸标注的系统设置以及 学生在绘制图形实体时对实体属性的确定是否正确;图形中出现的误差主要体现 为图形实体的点误差。在机械制图国家标准中规定宽度大于o 5 毫米小于2 毫米 的线段为粗线,细线宽度约为粗线的三分之一。由于在a u t o c a d 软件中,线宽 值在分别0 3 毫米的左右的线段在显示和打印时有明显的区别,为了便于统一, 在本文中规定凡是线性宽度值大于o 2 5 毫米,并小于2 毫米的线段作为粗线, 线宽值小于o 3 0 毫米的作为细线段。同时规定在1 :1 绘图比例的情况下,点误 差的范围为3 个绘图单位,线段的角度误差控制在正负1 。范围。其他的根据具体 情况,以及数据重要性酌情确定合适的误差j 2 2 结构化软件设计 从系统设计的角度出发,软件设计方法可以分为三个大类:第一类是根据系 统的数据流进行设计,成为面向数据流的设计或者过程驱动设计,以结构化设计 方法为代表;第二类是根据系统的数据结构进行设计,成为面向数据结构的设计 或者是数据驱动的设计,以l c p ( l o g i c a lc o n s t r u c t i o no f p r o g r a m s ,程序逻辑构造) 方法、j a c k s o n 系统开发方法以及数据结构化系统开发方法为代表;第三类设计 方法是面向对象的设计。 结构化设计是目前使用得最广泛的一种设计方法。它将一个程序内部的功能 分离成相对独立的模块的模块化设计过程。 2 2 1 功能模块的定义 结构设计的一条基本原理就是程序应该模块化,也就是一个大程序应该由许 多规模适中的模块按照合理的层次结构组织而成,通常每个模块只需要完成一个 特定的子功能。 计算机对图形的认识模拟了人对图形的认识思维方式。软件实现的方法也是 从这一个基本的依据出发,通过对整个图形数据库的遍历,首先从中划分出不同 的图形块,再根据每个图形块所包含不同的实体的特征,通过提取特征参数再做 更深层次的处理,在处理的过程中还应该根据各个不同类型实体元素具体的特征 属性采取相应的处理方法。 根据人对图形认识的逻辑过程,作业批改软件所实现的功能一般可划分为: 预处理、区域划分、视图识别与匹配、视图规范化、结构特征识别、图形比较以 及批改结果处理等等。 l o 曲,i t 业人学硕十论文第2 章软件总体设计 为了提高代码的重用性以及为了使程序结构流程更具有条理性和可移植性, 本程序对需要完成的各种功能采用模块化的的形式来提高编程效率,并增加程序 可靠性。 2 2 2 功能模块划分的要求 1 助能独立性是模块化、抽象和信息隐减的直接产物。由于要求没计模块时 能够得到很好的信息隐藏的效果,要求模块剃的接口应该较为简单,主要功能的 实现都在模块内部完成。这就要求在软件系统中,每个模块只负责实现软件设计 中划分到该模块的子功能,而与软件系统中其他的模块除了必须的控制信息、数 据信息的交流外,不做更多的联系。 2 内聚性标志是信息隐藏概念的延伸。_ 个内聚程度高的模块在软件程序中 只完成一个单一的工作,而且同其他模块中的程序很少有交互。简单地说,最理 想的就是一个内聚性高的模块只做一件事。 3 耦合度是在一个软件结构中不同模块之间的互相连接的紧密程度。耦合度 的强弱取决于各个模块之间接口的复杂程度、调用模块的方式以及通过接口的数 据信息。 在本程序的设计过程中,尽量使各个模块做到独立性强、内聚性高、耦合性 低。这样做不仅可以使程序开发变得更简单,而且对以后修改的副作用小,有利 于测试和维护。 2 2 3 功能模块的划分 根据软件需要完成的功能需要设计一下模块: l 预处理模块:主要完成各类实体( 包括直线、圆、圆弧、尺寸线、字符等 等) 的分类和过滤,并完成直线、圆、圆弧等图形实体的融合。 2 图形区域划分模块:将整个图形按照聚集性划分成各个不相关联的图形 块,再对各个单独的图形块进行处理。 3 图形区域识别匹配模块:将各个独立的图形块与盘盖类零件图的各个表达 视图,如主视图、芷视图、局部视图等等,进行识别匹配。 4 图形转换模块:由于绘图方式、表达方案的多样性,需要将各种不同的绘 图表达方式,转换成统一的表达方案,便于后续处理。 5 图形比较模块:以答案图为参考依据与对应的学生作业图进行比较,查找 错误。 6 辅助模块:结果处理显示模块、软件的界面设计、打包程序设计,以及程 序运行系统设计等。 两北一业大学硕士论文第2 章软件总体设计 2 3 程序结构流程 按照上述各个功能模块的划分,并根据各个模块执行的先后时间顺序,程序 的结构流程图如下图2 5 所示。 读入答案图 图形预处理li 读入学孛图 形区域划列l 阁形预处理 图形区域匹删l 罔形匿域划j 图形转换ij 罔形区域匹 图形比较 完整性检查 图2 - 5 程序流程设计框图 1 2 曲北t 业大学硕士论文第3 章幽形处理 3 1 图形预处理 3 1 1 线宽、线型的处理 第三章图形处理 按照机械制图国家标准中的有关规定,图线的线宽应当划分为粗线和细线两 种。学生在选择图形线宽时,经常出现随意性和前后线宽不一致的情况。为了有 利于程序的比较,应按照线宽一致性要求,对学生作业图中的不同线宽分别转化 为对应的粗线或细线。 在o b j e c t a r x 中,查询实体线宽的方法函数为:a c d b :l i n e w e i g h t l i n e w e i g h t ( ) ,设定实体线宽的方法函数为:a c d b :l i n e w e i g h ts e t l i n e w e i g h t ( o 对线宽处理的方法和步骤如下: 第一步:遍历学生作业图形数据库,提取各个图形实体。 第二步:将图形实体的线宽作如下设定:线宽值大于0 2 5 毫米,并小于2 毫米的线段作为粗线,并设定其线宽值为o 3 0 毫米,线宽值小于o 3 0 毫米的作 为细线,并设定其线宽值为0 _ 2 0 毫米。 在a u t o c a d 中,同一种线通常有很多线型,例如实线就有三种线型,即 “b y l a y e r ”、“b y b l o c k ”、“c o n t i n u o u s ”等。为了保证线型的一致性,便于程序处 理,应将同一种线的线型设为相同线型,例如将所有实线的线型都设为 “c o n t i n u o u s ,将所有点划线都线型都设为“c e n t e r x 2 ”等。 在o b j e c t a r x 中,查询实体线型的方法函数为:c h a r + a c d b e n t i t y :l i n e t y p e ( ) c

温馨提示

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

评论

0/150

提交评论