(机械设计及理论专业论文)盘盖类零件图作业批改软件若干技术的研究.pdf_第1页
(机械设计及理论专业论文)盘盖类零件图作业批改软件若干技术的研究.pdf_第2页
(机械设计及理论专业论文)盘盖类零件图作业批改软件若干技术的研究.pdf_第3页
(机械设计及理论专业论文)盘盖类零件图作业批改软件若干技术的研究.pdf_第4页
(机械设计及理论专业论文)盘盖类零件图作业批改软件若干技术的研究.pdf_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

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

文档简介

西北1 二业大学硕十论文 撞要 盘盖类零件图作业批改软件若干 技术的研究 摘要 本论文的研究工作受到西北工业大学电子教材建设经费资助。 按照批改零件的结构类型,机械制图作业批改系统可以分为轴套类、盘盖类、 叉架类和箱体类一系列的子批改系统。经过几年的研究,轴套类作业批改系统的 大量技术难题已经得到解决,并且提出了一系列重要的算法,现在已经能够正确 批改一些轴类作业图。本课题的任务是继承已经取得的成果,探索盘盖类零件图 作业批改系统的一般过程和规律,为盘盖类作业批改系统的后续研究作技术准 备。 盘盖类零件图的批改过程分为绝对错误的检查和相对错误检查。绝对错误检 查包括线宽检查、尺寸标注检查、填充线检查和重合线检查。绝对错误的判断标 准是机械制图国家标准。相对错误检查包括区域划分、视图识别、数据提取、数 据提取等过程。相对错误的判断依据是答案图。本批改系统采用直线和圆弧扫描 算法,并且结合图形元素直接比较法和特征比较法,既简化了处理过程,又降低 了处理难度,比较圆满地完成了开题报告确立的任务。 本文依照批改系统的工作顺序,阐述了解决盘盖类作业批改系统的技术问 题,重点表述了作业图连续显示、基准点定位、区域划分、视图识别、方向致 化、比例一致化、简化画法处理以及结果显示方法的处理方法。 关键词:机械制图:作业批改;盘盖类零件;o b j e c t a r x 西北工业大学顶:论文 摘要 t h er e s e a r c h0 ns o m et e c h n o l o g i e so fp l a t e l i k e s c h o o l w o r k s c o r r e c t i o ns o f t w a r e t a n gl m n g y o n g ( d e p a r t m e n to f m e c h a n i c a le n g i n e e r i n g ,n o r t h w e s t e r np o l y t e e h n i c a lu n i v e r s i t y ) a b s t r a c t t h e a i mo ft h e p a p e r i st or e s e a r c ht h e s y s t e m o fm e c h a n i c a l d r a w i n g s c h o o l w o r kc o r r e c t i o na a c c o r d i n gt o t h es t r u c t u r eo ft h ec o r r e c t e d p a r t s ,t h e s c h o o l w o r kc o r r e c t i o ns y s t e mc a nb ed i v i d e di n t os e r i e so f s h a f t - l i k e ,p l a t e l i k e , f o r k l i k ea n db o x l i k es u b s y s t e m s 。i nt h ep a s ts e v e r a ly e a r s ,m a n yd i f f i c u l t i e so f s h a f t - l i k ec o r r e c t i o n s u b s y s t e m h a db e e ns o l v e d 。s o ,t h i st a s ki st of i n dt h ec o m m o n p r i n c i p l ea n dp r o c e s so f t h ep l a t e l i k ed r a w i n gc o r r e c t i o ns y s t e mw h i c hi sb a s e do n e x i s t e n tr e s u l t s ,a n dt h i sc a nh e l pt ot h es u b s e q u e n tr e s e a r c ho nt h ep l a t e l i k ed r a w i n g c o r r e c t i o ns y s t e m 。 a c c o r d i n g t ot h ep r o p e r t yo f t h ee r r o r s ,a l ld r a w i n ge r r o r sc a nb e e nd i v i d e di n t o a b s o l u t ee r r o r sa n dc o m p a r a t i v ee r r o r s s ot h ep l a t e l i k ed r a w i n g c o r r e c t i n gp r o c e s s c a nb ed i v i d e di n t ot w os t a g e s :a b s o l u t ee r r o r sc h e c k i n ga n dc o m p a r a t i v ee r r o r s c h e c k i n g 。a b s o l u t ee r r o r sc h e c k i n gi n c l u d ef o u rm o d u l e sw h i c h w e r el i n e w e i g h t c h e c k i n g ,h a t c hc h e c k i n g ,d i m e n s i o nc h e c k i n ga n do v e r l a p p e dl i n ec h e c k i n g 。 c o m p a r a t i v ee r r o r sc h e c k i n gm o d u l e i n c l u d ed r a w i n g c o m p a r t m e n t a l i z a t i o n ,v i e w r e c o g n i z i n g ,d a t ag e t t i n g a n dd a t a c o m p a r e ,i nt h i s c o r r e c t i o n s y s t e m , l i n e - s c a n n i n g a n d c i r c l e s c a n n i n ga l g o r i t h m ,d i r e c tg r a p h i c s e l e m e n t c o m p a r e a l g o r i t h ma n dc h a r a c t e rc o m p a r ea r eu s e d ,w h i c hs i m p l i f yt h ep r o c e s sa n dr e d u c e d i f f i c u l t i e s a c c o r d i n gt ot h es y s t e m so p e r a t i o n a lo r d e r ,t h i sp a p e re x p l a i n sh o w t os o l v e s o m ep r o b l e m si nt h ec o r r e c t i o ns y s t e m ,f o ri n s t a n c e ,s u c c e s s i v e l y d i s p l a y i n g a u t o c a df i l e s ,f i n d i n gd a t u mm a r k ,d r a w i n gc o m p a r t m e n t a l i z a t i o n ,v i e w r e c o g n i z i n g ,s c a l ec o n s i s t e n c y ,o r i e n t a t i o nc o n s i s t e n c y p r o c e s s i n gs i m p l i f i e dm e a r l s a n d d i s p l a y i n gc o r r e c t i n gr e s u l t s 。 t h i st h e s i si s s u p p o r t e db y n o r t h w e s t e r np o l y t e c h n i c a lu n i v e r s i t y e l e c t r o n i c s t e a c h i n gm a t e r i a lb u d g e t k e y w o r d s ;m e c h a n i c a ld r a w i n g ;s c h o o l w o r kc o r r e c t i o n ;p l a t e l i k ep a r t so b j e c t a r x 西北1 二业大学硕上论文 第l 章绪论 第一章绪论 1 i 前言 画法几何及机械制图是工科院校学生必修的一门技术基础课,它主要研 究如何在平面上准确而全面地把物体按照一定的投影方法及有关标准表达出来, 也就是以二维图线、图形和符号来表达三维空间物体,因此教学内容的呈现方式 以二维的图和三维的形为主。这门课程的最大特点就是对形象思维能力的要求高 于对逻辑思维能力的要求。这也决定了制图课程必须重视它的教学实践环节。学 生完成作业时,必须对各种表象进行联想和想象,组成图形以表达思考的结果, 完成图与形的练习。学生需要通过做大量的习题,多画图,多想象,才能理解和 掌握三维立体与二维图形之间的转换规律,才能锻炼形象思维能力i l 】。 随着计算机技术的迅猛发展,计算机在教育领域的普及和应用已日益广泛和 深入。计算机正成为有效的学习、教学和教育管理的工具。目前,大部分的工科 院校都开设了计算机绘图课程,各种计算机辅助设计和绘图软件得到推广与应 用。采用计算机绘图,不仅可以大大的提高学生的绘图效率,而且还避免了使用 图纸,节省了大量的人力、物力、财力和时间。不过,学生绘图效率的提高,相 对地增大了教师批改作业的工作量。同时,由于目前计算杌绘图软件的功能限制, 直接对计算机绘图作业进行人工批改的难度非常大。教师检查计算机绘图的方法 通常有两种方法:一是将学生作业图打印到图纸上,再进行常规的检查;二是直 接在屏幕上检验。很显然,这两种方法都没有发挥计算机的优势,都没有减轻教 师的负担,而且前者也没有节省财力物力,后者不能为学生保留老师的指导意见, 也不能很迅速完整地向教师反馈学生的作图信息。学生与教师之间不能有效沟通 信息,这很不利于提高学生的学习兴趣与学习效果,教师也不能及时了解学生对 所学知识的掌握程度,就不能有效的采取针对性的改进措施,不能很好的提高教 学质量。鉴于此,设计一个能充分交换学生与教师信息的计算机绘图作业的辅助 批改系统是很有必要的。 然而,设计既适用于画法几何又适用于机械制图的批改系统是一项繁难甚至 无法完成的工作。如果针对不同的任务设计不同的子批改系统,可以简化方案、 降低难度和风险,达到各个击破的目的。画法几何作业的图线相对简单,经常以 补画图线的方式出题,它的正确答案通常只有一个。因此,对这类作业的批改比 较容易实现,目前已经有比较成熟的方案和产品。机械制图作业的情况就复杂得 多,其复杂性不仅表现在机械零件的多样性,完整清晰的表达所需要的种类繁多 数量庞大的基本图形元素和符号,丽且也表现在出题方式的多样性上:既可以是 较为简单的补画视图,也可以是较为高级的三维立体图改画二维图,也可以是更 高级的零件测绘。这是一个灵活性、自主性极强的过程,所以学生作业图和正确 答案图就有可能是多种多样的。这正是设计机械制图作业批改软件的难点所在。 机械零件按照其形状通常可以分为轴套类、盘盖类、又架类和箱体类四类。 它们之间的特点通常是比较明显的,在图纸上的表现就是表达它们主要形状特征 的主要图形元素有相对固定的组合模式,往往也是有规律可循的。因此,针对不 同类型的机械零件图采用不同的批改策略,不仅可以再次简化思路和程序的设计 西北丁业大学硕士沦文 第1 章绪论 工作,而且可以使整个工怍并行展开,也可以分阶段完成,这一点对于时间有限 的毕业课题研究而言有着极为重要的意义。正是在这思想的指导下,西北工业 大学制图教研室的几届研究生做了大量卓有成效的探索和研究。9 6 级研究生陈 子恒和李蓉以d x c a d 作为二次开发的对缘,以c 语言作为开发语言,做了一 些开创性的工作。9 8 级研究生许占民针对轴套类作业进行开发,初步实现了轴 套类作业图的批改功能。这一次转变具有深刻的意义,它不仅实现了开发平台的 顺利转换,开发语言的升级,而且可以迎合更多用户的需要,使工作成果更有推 广价值。2 0 0 0 级研究生袁宁采用了全新的思路,提出了许多全新的方法,对软 件结构进行全新的设计和规划,并充分考虑了程序的重用性和算法的通用性,出 色地完成了针对学生练习用的轴套类零件批改软件任务。轴套类零件作业批改软 件的完成在整个机械零件图作业批改软件系统的编写过程中具有里程碑的意义。 在整个批改软件的规划中,遵循轴套类、盘盖类、叉架类和箱体类顺序,按 照零件图的复杂程度,由简到繁,逐步推进。丽且每类型的零件图,也按照由 易到难,层层深入,不断完善和丰富批改功能。 盘盖类零件主体多是由共轴回转体构成。轴向尺寸较短而径向尺寸较大。常 见结构有车眭l q r l 、加强肋、轮辐、键槽、通孔、沉孔和销孔等。实际应用的盘盖类 零件构成不同、形状迥异、复杂程度差异明显,而学生练习用的盘盖类零件图通 常比较正规,较少异构,更接近于盘盖类零件的定义。但是,一般而言,盘盖类零 件要比轴套类零件复杂一些,其零件图也要复杂一些。其复杂性不仅表现在更多 的主要视图数量,还表现在更多的辅助线和更加灵活的画法。而且,辅助线的长 度和形状各不相同,往往又与结构线相互交叉,目前没有完全通用的、可靠的算 法将辅助线与结构线区分开来。盘盖类零件与轴套类零件的结构特征的差异、零 件图的形态和复杂性的差异,导致了两类零件图作业批改过程的很大不同。不过, 作为个系列任务,两者之间还是有通用的地方。因此,本课题的程序部分将利 用袁宁所提供的可以重用的代码,继承已有的成果,秉承结构化和重用性的思想, 积极探索适合于盘盖类零件作业的批改的思路和方法。 按照实际应用要求和发展趋势,作业批改软件应该是基于w e b 应用的。但 是,在整个批改系统中,批改模块是真正的核心模块,也是难点所在。本课题的 重点是解决批改模块中遇到的技术问题,本论文叙述的也是批改模块中遇到的技 术问题和解决方案,不涉及网络模块。 1 2 国内研究状况 由于画法几何和机械制图作业批改软件在广大的工科院校都有使用和推广 的价值,不少的入士已经在这方面进行了探索。从已经发表的相关论文,我们可 以归纳出目前一些典型的批改软件系统采用的基本的批改方法。 承德石油高等专科学校的吴学文针对一些简单的制图作业写出了自己的批 改系统【2 1 。该批改软件针对的是目前较为流行的专业绘图软件a u t o c a d ,使 用的语言是a u t o c a d 的专用二次开发语言a u t o l i s p 。吴学文提出了两种批改方 法:一种是比较学生作业图元数据与答案图元数据:一种是比较学生作业图形与 答案图形块。但是,这两种方法主要适合检验补画图线、补视图等答案唯一的这 类习题。前一种方法具有简单智能化功能,是完全由计算机自动检验作业情况, 2 西北工业大学顺士论文 第l 章绪论 能很方便地判断学生作业中的作图是否精确,可以重点用来检验学生的精确绘图 能力。但在开发中,要针对每一习题编制不同的程序,须对a u t o l i s p 语言有较 多的了解,因而难点要稍微大一些。后一种方法的开发虽然简便,但使用时还须 靠使用者来检验作业情况,因而很难判断学生作业中的作图是否精确。显然,这 两种方法都有比较大的缺陷。 郑州轻工业学院的何培英与华中科技大学的常明联合开发了套基于w e b 的工程制图作业批改系统p j ,它针对的是华中科技大学c a d 中心研制开发的凯 图c a d t 0 0 1 2 0 0 0 工程绘图软件。这套批改系统具有作业批改、作业评分、成绩 统计、批改后的作业保存等比较完整的功能。使用的开发语言是v c + + 6 0 ,在算 法上采用图形直接比较法,即以标准答案为模板去核对学生的作图情况,从而判 断学生作业中的正误。由于凯图c a d 采用链表数据结构。故采用遍历法进行比 较。批改流程是:打开学生作业,调入对应的标准答案,从作业中取出一图素, 然后遍历正确答案图判断该图素是否对应存在,如果存在则正确并标示,如果不 存在则用细红线显示并记录,重复此过程,直到学生作业中图素全部判断完毕。 然后判断标准答案中是否存在未标示的图索,如有则用红色显示未标示的图素并 记录。为了提高批改的准确性,在两个图形进行比较时需要对以下几个问题进行 处理:非一次画成的直线、圆弧:直线起始点的确定:图层、线型匹配问题和两 图形比较时定位点的问题。这套批改系统虽然功能是比较完善的,但是只能针对 比较简单的图形,而且对绘图过程有诸多限制。不过,这套系统最大的不足是它 针对凯图c a d t o o l 2 0 0 0 工程绘图软件,而这种软件在其它学校很少被采用,这 就限制了批改软件的推广价值。 正如前所述,西北工业大学制图教研室在机械作业制图批改系统上投入了巨 大的精力,经历了工作平台的变迁,开发语言的升级和算法的转换,取得了很大 成绩。9 6 级研究生陈子恒和李蓉以d x c a d 作为二次开发的对象,以c 语言作 为开发语言【4 】。9 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 环境中针对轴套类作业进行 开发 5 1 ,他们采用的算法都是直接的图形直接比较法。2 0 0 0 级研究生袁宁采用的 开发平台也是a u l o c a d 2 0 0 0 ,也使用o b j e c t a r x 2 0 0 0 开发工具。但是他采用的 算法是扫描线法,提出了一系列重要的思路和算法州。 除了以上提到的批改系统外,还有一些目前没有实现的批改算法和思路。思 路一:由于平面零件图是立体零件的投影反映,平面图可能多种多样,但是反映 的立体图是唯一的。因此,先根据给定的平面视图构造立体图,再提取立体图的 关键数据最后比较标准图与学生作业图的相关数据,找出多余、缺失或者错误 的图线。不过,这种思路有严重的缺陷,且不说由三视图构造立体图算法的复杂 性,主要是由于平面视图可能出现错误( 多线、少线或者错线) 而根本不能构造 立体图。这明显破坏了这种方法的使用前提,就得不到最终结果。还有一种理想 中的方案【”,期待不用建立各种标准零件图库,而是建立零件图评判的各种规则, 通过规则的推理和判断。分析出错误图线。规则的建立通过如下的方法实现:把 零件图的有关知识总结出来,分成事实和规则,并以适当的形式存入计算机中, 建立起一个知识库。根据这些专门的知识,系统可以对输入计算机的原始数据进 行推理,作出判断。该方法对知识库有以下几点要求:能理解自然语言,可以用 两北下业大学硕【:论文 第1 章绪论 知识库提问;具有较强的联想能力,能根据用户的大致描述找到有关知识;具有 推理能力,能方便地进行知识的增、减、改,能实现知识的相关性和完备性检查, 并具有一定的自学能力:除了存储专门的知识外,还要存储许多的常识。这无疑 是一个完美的想法,也无疑是一个不现实的方法。按照这个想法建立的将是一个 具有比较完整的高智能的复杂的专家系统,建立这个知识库的每一个要求都是一 个高难度的课题,需要用高度的智慧、诸多专业的知识和大量的时间与精力才有 可能取得一些进展。对于一个时间要求有限,水平要求有限的课题来说,使用这 种方法是不适宜的。 由于高等教育事业的发展,教学压力越来越大,而且教学硬件环境的改善与 提升,推广制图作业计算机批改系统逐渐成为可能,也必将吸引更多的学校和专 业人士参与到制图作业批改系统的开发中来,机械作业制图批改系统还将不断的 发展,新的用途和方法将不断的出现。 1 3 作业批改软件的基本信息 1 3 1 作业批改软件的批改对象 目前大多数的计算机辅助绘图软件都提供了多种多样的绘图命令和绘图方 式,用户可以灵活选择不同的方式来绘图。同样的一幅机械零件图,可以分别使 用完全不同的绘图命令来完成。例如:尺寸标注通常情况下使用专用的尺寸标注 命令来完成,也可以用最简单的画直线命令和添加字符命令来完成;再如剖面线 的绘制,可以用专用的剖面线填充命令来一次性的添加,当然也可以用画直线命 令来完成。使用专用绘图方式和自定义绘图方式得到的图形都可能是正确的。 不同绘图命令生成的图形数据结构通常是完全不同的。如果要求针对各种自 定义的绘图方式生成的图形数据,都能进行正确的识别和比较,那么在开始批改 处理之前,需要进行进行图形识别和图形理解,将不同类型的数据结构组织成单 一规范的图形特征,这个要求给课题研究带来很大的困难。而且,这种针对特定 数据结构提出的算法不具有通用性,即针对不同的c a d 系统开发的批改系统必 须对批改算法作出重大修改。 学生作业图是画法几何与机械制图和计算机绘图课程的练习作业。 学生使用的绘图方法和技巧大部分来源于教师的传授,而这些方法和技巧都是 c a d 系统本身提供的。因此可以合理假设学生作业图中的图形数据是以专用的 绘图方法命令生成的,而作业批改软件的处理过程也是以这个假设为前提的。 目前,本课题开发的批改软件针对a u t o c a d ,批改对象是通过2 0 0 0 和2 0 0 2 两个版本完成的t l w g 文件。程序语言是v c + + 6 ,d ,开发工具是o b j e c t a k x 2 0 0 9 , 批改算法主要是扫描法和直接图形元素比较法。 1 3 2 作业批改软件的答案形式 无论采用什么批改方案,学生作业图和标准答案图最终比较的数据都必须有 相同的数据格式。提取最终比较数据的过程可能有差异,不过,基本j 顷序是用批 改程序先后批改答案图和作业图,再比较得到的数据。 在比较作业图和答案图数据的时候,可以发现不论是答案图还是作业图中, 4 西北工业大学硕l 论文 第l 章绪论 都存在一些不用相互比较而只需要根据某些制图标准就可以判断对错的数据( 从 这些数据中发现的错误称为绝对错误,这将在以后的章节中详细阐述) ,这部分 数据就可以不必保存在最终比较数据集中。显然,从答案图中提取的需要比较的 数据集可以作为答案,将这些答案数据集保存为一个单独的答案数据文件r t x t ) , 可以随时使用。当然,还有种原始的答案形式就是作为答案图的+ d w g 文件。 使用d w g 形式的答案,需要完成一个完整的批改比较的过程,处理速度当然会 比答案数据文件形式的慢。 答案数据文件的形式不仅有利于提高处理速度,还有许多其它优势:学生可 以看不到正确的答案图就可以批改自己的作业,然后再修正自己的错误,再次批 改,这样可以用于学生自测,加深学生的印象;答案数据文件比d w g 文件 小,这种答案形式对于远程批改极为有利:传输数据量小,占用网络资源少。 1 3 3 实现作业批改的主要依据 要作出判断,必须有判断依据。人工批改制图作业,可以根据头脑中存储的 标准答案图和以前作业批改的经验,对学生作业图进行不断地检查和验证。而作 业批改软件则需要幅标准答案图作为批改的依据,以此确定各个视图的对应关 系,从而进一步实现视图与视图的比较检查,判定学生作业图中的错误个数和性 质。因此,计算机作业批改软件必须以标准答案图作为批改处理过程的主要依据。 对一些无法通过与标准答案图比较来判定正误的图例,则依据机械制图国家标 准中的有关规定来判别。由于计算机绘图有一系列标准,所以判断依据还有机 械制图用计算机信息交换制图规则( g b t 1 4 6 6 51 9 9 3 ) 、c a d 技术制图通则 等标准。另外,由于与手工图纸绘图的差异,还提出了一些特殊的批改要求,如 非重合线标准。由于a u t o c a d 可以控制线宽的显示,所以,线宽批改不以屏幕 显示为标准,而以线宽设置为依据。 1 3 ,4 作业批改程序的设计要求 学生作业图中的绘图错误可大体分为两种,一种是大多数学生绘图过程中都 容易出现的典型错误,另一种是属于少数学生的个别错误。典型错误占据了所有 学生绘图错误中的大多数。设计一个能够完整检测出学生作业图中所有绘图错误 的程序具有相当的难度,因此本课题程序的设计并不是要求能够检测出所有可能 出现的错误,而是尽可能地检测出用典型画法造成的各种典型错误。 综上所述,本课题中作业批改软件的主要设计特点是: 1 针对通用的常规的绘图方法,主要是绘图软件提供的绘图方法,不保证 能够批改用非常规的方法完成的作业图; 2 针对学生练习用的盘盏类零件图,而且目前还不能适应所有的画法情形。 3 主要以标准答案图和机械制图国家标准等基本标准为判别依据,还 注意利用其它一些特别标准; 4 不要求有错必究,只能尽可能多地检测出学生作业图中的典型绘图错误。 两北t 业人学硕士论文 第1 章鳍论 1 4 开发工具0 b j e c t a r x 的介绍“9 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 直接调用。用户可以添加新类到o b j e c t a r x 编程环境中,然后输出 这些类以用于别的应用程序,用户创建的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 协议。 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 的开放式结构,而且可以直接访问a u m c a d 数据库、图形系统和用户自定义命令。另外,这些库可以和v i s u a l l i s p 以及其它 编程接口一起使用。d o s 时代已经过去,a u t o c a d 现在已经只适用于w i n 3 2 平 台。a u t o c a d 现在是一个面向对象的c a d 应用软件,它能向用户和开发者提供 各种应用程序的开发方式选择。 如何选择v i s u a l l i s p 、v b a 或o b j e c t a r x 进行a u m 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 用户可以通过 创建新的宏代码,新的工具条或者用d i e s e l ( 可直接求值的字符串表达式语言) 类编制状态栏,创建智能菜单和菜单组类定制a u t o c a d 的菜单,也可以创建一 些预制了各种层、文字样式、尺寸样式、线型等的样图来使操作简化和更有效率。 a u t o l i s p 包含了许多像c 和c + + 那样的基本元素,所有的程序代码均是用 文本编辑器编写的。因为a u t o l i s p 程序是一种解释程序,其运行速度要比c + + ( o b j e c t a r x ) 慢。a u t o l i s p 的优点是它不需要编译,可以运行于任何平台。但 是,因为现在的a u t o c a d 版本只考虑支持一个平台,所以这已经不再成为一个 优点。 a u t o c a d2 0 0 0 包含v b a ( v i s u a lb a s i cf o r a p p l i c a t i o n ) 形式的v i s u a lb a s i c , 它虽然用于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 的一个非常重要的特点,它体现了o b j e c t a r x 程序 对a u t o c a d 对象数据结构的操作,也体现了o b j e c t a r x 程序提供的对象与 a u t o c a d 拥有的对象具有同等地位。 o b j e c t a r x 应用程序本质是w i n d o w s d 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 应用程序以c + + 为基础,具有面向对象编程方式的数据可封装 性、可继承性、多态性等特点。用它开发的工程c a d 软件具有模块好,独立性 强,使用方便,内部功能高效实用以及代码可重用性强的优点,并支持m f c ( 微 软基础类库) ,可以充分利用m f c 的强大功能实现许多复杂的目的。 因此,选择o b j e c t a r x 作为a u t o c a d 二次开发的语言工具是未来发展的趋 势。 西北工业人学砸士论文 第2 章作业图预处理 第二章作业图预处理哺3 2 1 作业图预处理模块概述 作业图预处理是指在对主体圈形进行处理前,对一系列的次要实体作的数据 提取、删除的操作,这样可以减少对主体图形处理的干扰。预处理包含两部分: 绝对错误的检查、删除和辅助线的检测、删除。 绝对错误是指不需要与标准答案图相比较就可以直接判定的错误,主要指线 型、线宽以及特定对象的格式、形状等。本课题程序的绝对错误检测主要包含了 线宽分类检查、剖面线检查、尺寸标注检查、重合线检查四个部分。可以归为绝 对错误检查的还包含中心线线型和线宽检查、加强肋断面图线型和线宽检查以及 螺纹孔线型和线宽检查。由于前四者可以完全独立地以模块的形式实现,故将它 们单独表述,而后三者需要依赖其它任务的完成才能完成,例如完成加强肋结构 的识别。这些被依赖的任务往往又是一系列复杂任务中的一个有机组成部分。不 适合强行分割。为了更好的描述有关问题的研究过程,下面按照一致的叙述结构 对各个关键问题的分析和算法的设计进行详细讨论。在每一个专题讨论中,首先 论述实际中的关键问题,分析技术难点,然后给出具体的解决方法和算法,最后 给出程序模块的流程图和接口数据参数。 辅助线主要是指功能上相对于结构线而言,通常作为引出线、中心线和分隔 边界出现。而不表达结构信息,也不参与图线比较。但是,辅助线的判别,尤其 是直线类的,比较困难。目前的判别方法仅适用于没有半剖图形的情况。虽然能 满足目前的要求,但是终归不是成熟的算法,没有普遍适用性,故不予详细阐述。 本章将着重阐述预处理过程中的绝对错误的检查。对于问题分析比较困难、 算法设计比较复杂的模块,本文中增加了相应的叙述内容,同时给出了算法的伪 代码,以便于更好的表述设计思路。对于相对较为简单的功能模块,则略去了程 序伪代码,以节省篇幅。 四个绝对错误检测模块的独立性都很强,而且程序接口的设计形式也比较统 一,传入参数都是自定义的表示图纸的数据结构的引用,所得到的检查结果只需 要填充图纸数据结构中对应的子数据结构即可。这四个模块在具体的设计过程和 使用过程中并没有涉及到盘盏类零件图的有关特征,因此这四个模块的算法可以 适用于所有的机械零件图对象,它们也是可重用性最强的模块。 2 。2 线宽分类检查的原理和实现方法 线宽错误是学生制图过程中容易出现的典型错误之一。线宽数据是机械制图 中的重要信息数据。不同的线宽表达了不同的图线特征。正确的图线线宽会使视 图表达清晰易懂,而错误的线宽会加大视图理解的难度,严重的还会引起图形信 息表达错误。按照机械制图国家标准中的有关规定,国线韵线宽应当划分为 粗线和细线两种,其中粗线的宽度大约为细线宽度的两倍。 学生在使用计算机绘图软件进行制图时,可能设置了多种线宽值。由于机 西北工业人学硕七论文 第2 章作业图预处理 械制图国家标准中并没有指定粗线和细线的具体宽度数值,所以不能简单的根 据线宽的数值来确定这条图线是粗线还是细线,因此线宽错误检测技术的关键是 设计一种算法,读取学生作业图中所有的实体线宽,并加以分类检查,判定其线 宽的设计和划分是否合理:再以标准答案图为依据,具体判断某一条图线的线宽 是否正确。为了适应学生作业图中可能出现的多种线宽值,要求该算法在划分粗 线和细线时必须有一定的智能性和容错性。 2 2 1 关键问题与技术难点分析 a u t o c a d 中,图线的线宽预定义值并不是连续的,而是一系列的离散值, 分布于o 0 0m m 到2 ,l lm m 之闻,它超越了机械制图国家标准规定的线宽取 值范围,在机械制图国家标准中,描述图纸图线时只使用了两种线宽形式, 即粗线和细线。粗、细是一个相对的无法严格划分的概念,而且机械制图国家 标准也只给出了粗、细线的大致范围和粗、细线之间的大致比例关系( 机械 制图国家标准g b t4 4 5 7 4 - 2 0 0 2 规定:粗线线宽b ( o ,5 2 m m ) ,细线线宽约 b 2 ( 0 2 5 1 0 r a m ) ) 。要判断一种线宽属于粗线还是细线线宽范畴,需要从线宽取 值所属范围以及与其它线宽的比值这两个相对和绝对的方面考虑。也就是说,需 要设计一种合理算法的算法来完成这个任务,而不是做简单的比较就可以完成 的。 在实际作图中,作业图常常存在多种线宽。假设某个作业图中一共有 o 2 0 m m 、o 2 5 m m 、0 3 0 m m 、0 9 0 r a m 、1 0 0 m m 五种线宽,那么可以画出如图2 1 的线宽分布图。 o o 2 0o3 0o 9 0 嚣意 图2 - 1 线宽分布图 该图中的线宽可以划分成两个集合,粗线集合( 包括0 ,9 0 m m 、1 0 0 r a m 两 种线宽) 和细线集合( 包括o 2 0 m m 、0 2 5 m m 、0 3 0 m m 三种线宽) 。由于最细的 粗线( 线宽值为o 9 0 r a m ) 大于两倍的最粗的细线( 线宽值为o 3 0 r a m ) ,所以这 个学生作业图中的线宽划分可以认为是合理的。 再考虑如图2 2 的线宽分布图。 0 5 0 0 0 2 003 00 9 0线宽值 单位“ 图2 2 线宽分布 该图中一共有四种线宽,其线宽值分别为0 2 5 m m 、o 3 0 m m 、0 5 0 m m 、 0 , 9 0 m m 。教师在批改作业时,一般会将o 2 5 m m 、o 3 0 m m 的图线划归到细线集 合,而将0 9 0 m m 的图线假定为粗线,进而可以推断0 , 5 0 m m 的线宽值是错误的 线宽设定。这样的推断是合理的,因为如果去掉0 5 0 r a m 的线宽值,其余图线可 西北工业人学烦l 论文第2 章作业圈预处理 以按照正确的线宽比例划分为粗线和细线。 从上面的分析可以看到,线宽分类检查的关键问题是:设计一种线宽分类 算法,能够对一系列的离散线宽值进行合理的划分,当这一系列线宽值中存在错 误的时候,该算法应该能够做出合理的判断。 2 2 2 算法设计与伪代码 由于国标对于线宽取值范围有明确限定,故可以将线宽分为有效和无效两 种,有效的必定在国标规定范围内,而无效的处于国标规定范围外。这样可以在 算法中首先确定粗线上届和细线下届。如果没有有效上届或下届时,启用无效线 宽,确保找到粗细分别比较明显的租线和细线。实际绘图中,如果两种图线的线 宽值之差大于o 。1 2 m m ,在视觉上就会绘人不同线宽的感觉。因此,在找不到有 效线宽时,无效线宽在一定程度上也能承担粗细线的功能。集合的范围确定了, 关键就是确定两个集合的起始位置。正确的粗线和细线线宽划分,在两个集合中 间应当有满足两倍关系的一段合理间隔,因此,只要具体确定这个合理间隔的位 置,线宽集合的划分也可以随之确定。另外需要说明一点的是,由于a u t o c a d 预定义的最大线宽是2 1 i m m ,与2 m m 之间再没有其它线宽,而且它与2 m m 没 有明显的视觉差异,而且习惯上很少有人使用2 1 i m m 的线宽,所以粗线线宽上 届选取使用线宽中的最大值可以认为是合理的。 本算法利用国标规定的最小线宽值作为细线下届,最大线宽值作为粗线上 届,取得它们在线宽数组中的索引号:从最大线宽处w 。开始,取其二分之一 的值w 胁,找到离w 。最近且不大于w 。m 的线宽的索引号记录该索引号与 w 。的索引号的差值n 。w 。从大到小滑动,记录对应的索引号和n 。w 。i 。第 一次不大于细线下届线宽时,算法终止。n 最小时,w 。i 。和w 。对应的索引号 即为细线上届与粗线下届。它们之间的线宽为不可分类的线宽。如果找不到合乎 国标规定的细线下届,就默认,m ,。为线宽最小值。 用图形表示该算法,如图2 3 所示。虚线框右边线对应w 。,左边线对应 w m m 。算法从最右虚线框开始,逐步相左推进,记录每个框内落入的线宽数n 。 如果n 不大于上一轮n ,则标 记对应的粗线下届与细线上 届。算法按照坐标系上线宽值 的递减方向向前跳跃进行,直 到虚线框左边线不大于细线下 届线a a 。对应图2 - 3 中的线 宽分布,第一次间隔窗口的最 大值w m a x = 0 7 0 ,最小值 w m i n = o 3 5 ,其窗口的位置如 o ! oo 土。 o 6 0 妙m 一 飞尹咿 腿 ,争摹擅:8 , 0 筠 第一次划分:虚绒框t w m a x = 0 t 0 ,i n = o 4 5 ,n l = i 第二次划分:虚线框2 ,“= o 6 0 ,w z i n = o 3 0 ,n 2 = o 第三次划分:虚线框3 v i m a x = 0 3 0 w m i n = o 1 0 ,n 3 = 2 圜2 - 3 线宽捌分 图2 - 3 虚线框1 所示,可以直观的看到:落在间隔窗口中的线宽值有一个,即0 6 0 。 经过三次间隔窗口的生成处理,可以得到如图2 3 中所示的三组数据。 合理的间隔窗口位置,必然落在其中的线宽值的个数为最少,即取n l , n 2 ,n i 中的最小值n j ,只要记录n j 对应的阊隔窗口的有关数据,就得到 了合理划分的最小粗线的线宽值,进一步可以具体确定粗线集合和细线集合a 对 西北_ 丁业大学硕士论文 第2 章作业图预处理 于两次或者两次以上出现同样最小个数的n 值,取最后一次的为准。 图2 一l 中的线宽划分要过三次生成和计算间隔窗口,每一次的相关数据如图 2 3 中所标注,n 的最小值是n 2 = 0 ,由此可以判定,其最小粗线线宽值为 o 9 0 r a m 。 图2 2 中的线宽划分要过两次生成和计算间隔窗口,每一次的相关数据如图 2 - 4 中所标注,n 的最小值是n 1 = 1 ,由此可以判定,其最小粗线线宽值为 o 9 0 r a m ,而0 5 0 m m 落在粗线和细线之间,属于无法判定粗细的图线线宽。 需要额外说明的是,在 a u t o c a d 的图形数据库中,图线的 线宽类型一共有四种,分别为默认 值( d e f a u l t ) 、随块( b yb l o c k ) 、随 层( b yl a y e r ) 和设定值( 0 o o m m 2 1 l m m ) 。在随块( b yb l o c k ) 情况 下,如果没有设定块的特殊属性, 其线宽值就是默认值( d e f a u l t ) 。 默认的线宽值并非存储在图 ; ! oo 由o ; l 罗审l0 _ :8 0 一 l 2 l 1 q t 3 5午荤i l 第一i 戈划分:虚线框1 ,w m a x = 0 6 0 ,w m i n = o 3 0 ,n i = l 第二汝划分:虚线框2 ,= 0 3 5 ,w m i n = o 1 7 ,n 2 = 2 图2 - 4 线宽划分 形文件中,而是作为每一个a u t o c a d 平台的系统设置值来处理。假如在一台计 算机上,学生以o 3 0 m m 的默认值来绘图,那么同样的这个图形文件,如果在另 外的一台计算机上打开,而其a u t o c a d 系统的默认值是o 8 0 m m ,那么所有的 图线宽度就都变为o 。8 0 r a m 。因此,正确设定线宽值的方法是随层( b yl a y e r ) 或 者直接设定具体的数值。在本课题的程序处理中,对于默认值( d e f a u l t ) 或者随 块( b y b l o c k ) 的线宽设定都直接判定为错误。 算法伪代码: c h k l w e i g h t ) d o u b l e 础w e i g h t 且定义用于存放线宽值的数组 g e t d a t a l w e i g h t ( p l w e i g h f ,获取图形实体的线宽数值 s o r t l w e 辔 f ( p l w e 辔 f ,刀j 线宽值按照从小到大的顺序排序 t m i n l n d e x = o , i m a x l n d e x = n - l ;1 定义细线下届i m i n i n d e x ,粗线上届i m a x l n d e x g e t m i n l t h i n ( p l w e i g “1 i m i n l

温馨提示

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

评论

0/150

提交评论