二维图像处理在AutoCAD软件中的应用开发研究

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

河南理工大学万方科技学院本科生毕业论文(设计) 二维图像处理在AutoCAD软件中的应用
开发研究
院系名称河南理工万方科技学院防空兵校区
姓名孙明
学号112608060170
专业电子信息工程
指导教师薛雷
摘要
摘要:AutoCAD是目前国内外使用最广泛的计算机辅助
绘图和设计软件包,它适用于机械、电子、建筑、军事等多种领域。

AutoCAD具有开放的体系结构,允许用户对其进行扩充与修改,
开发出满足特殊专业需要的AutoCAD增值软件。

本文关于二维图像的
消隐原理进行了深入剖析,也是二维图像在AutoCAD上的一个研究方向。

关键词:autoCAD软件二维图像开放体系消隐
Abstract:AutoCAD is the most widely used computer aidedDrawing and design software, it is suitable for various fields of machinery, electronics, construction, military etc..AutoCAD architecture is open, allowing the user to expand and modify the,Developed to meet the special needs of professional AutoCAD value-added software. In this paper, a two-dimensional imageBlanking principle in-depth analysis, is a two-dimensional image on AutoCAD in a research direction.
Key words:AutoCAD software,2D Computer Graphics,Open system,hide
目录
1 引言 (1)
2 AUTOCAD的背景与应用
2.1CAD的发展 (1)
2.2 CAD的优点 (2)
2.3 实例简介CAD的二维绘图应用 (4)
3 AUTOCAD二维图像图形消隐
3.1消隐概述 (4)
3.2消隐原理 (4)
3.2.1零件视图块消隐步奏 (5)
3.2.2建立零件视图块间的遮挡关系 (6)
3.2.3消隐 (6)
3.3 消隐实现过程详解 (7)
3.3.1消隐图组的建立 (7)
3.3.2消隐轮廓 (7)
3.3.3消隐面 (8)
3.3.4消隐图组 (8)
3.4 零件图形消隐实例详解 (10)
3.4.1零件视图块的边界表示 (11)
3.4.2边界上关键点的数据结构 (12)
3.4.3边界表示数据结构 (13)
3.4.4 装配消隐的实现 (13)
3.4.5 注意事项 (15)
4 心得体会 (15)
参考文献 (17)
致谢 (18)
1 引言
随着科学技术的不断发展, 计算机已应用到各个领域, 在设计行业计算机应用更为广泛。

AutoCAD在计算机绘图和设计领域已经领导潮流多年, 是迄今为止流行最广、普及最多的计算机绘图软件之一。

其具有丰富而强大的绘图、图形编辑、显示控制、图形输出等功能, 适合于各种特定的应用领域。

它又是一种技术, 其中人与计算机结合为一个问题求解组, 紧密配合, 发挥各自所长, 从而使其工作优于每一方, 并为应用多学科方法的综合性协作提供了可能。

CAD是工程技术人员以计算机为工具, 对产品和工程进行设计、绘图、分析和编写技术文档等设计活动的总称。

与传统手工设计相比, 应用CAD 技术能降低劳动强度, 提高设计质量,缩短设计周期, 有效避免手工设计中存在的错、碰、漏、缺现象。

2 AutoCAD的背景与应用
2.1 CAD的发展
AutoCAD(Auto Computer Aided Design)是Autodesk(欧特克)公司首次于1982年开发的自动计算机辅助设计软件,用于二维绘图、详细绘制、设计文档和基本三维设计。

现已经成为国际上广为流行的绘图工具。

AutoCAD的发展历史 1. AutoCADV(ersion)1.0:1982.11正式出版,容量为一张360Kb的软盘,无菜单,命令需要背,其执行方式类似DOS命令。

2. AutoCAD V1.2:1983.4出版,具备尺寸标注功能. 3. AutoCADV1.3:1983.8,具备文字对齐及颜色定义功能,图形输出功能. 4. AutoCADV1.4:1983.10,图形编辑功能加强. 5. AutoCADV2.0:1984.10,图形绘制及编辑功能增加,如:MSLIDE VSLIDE DXFIN DXFOUT VIEW SCRIPT等等.至此,在美国许多工厂和学校都有AutoCAD拷贝. 6. AutoCADV2.17- V2.18:1985年出版,出现了Screen Menu,命令不需要背,Autolisp初具雏形,二张360K 软盘. 7. AutoCADV2.5:1986.7, Autolisp有了系统化语法,使用者可改进和推广,出现
了第三开发商的新兴行业,五张360K软盘. 8. AutoCADV2.6:1986.11,新增3D功能, AutoCAD已成为美国高校的inquired course. 9. AutoCADR(Release)9.0:1988.2,出现了状态行下拉式菜单. 至此, AutoCAD开始在国外加密销售. 10. AutoCADR10.0:1988.10,进一步完善R9.0, Autodesk公司已成为千人企业. 很棒的绘图软件11. AutoCADR11.0:1990.8,增加了AME(Advanced Modeling Extension),但与AutoCAD分开销售 12. AutoCADR12.0:1992.8,采用DOS与WINDOWS两种操作环境,出现了工具条.
13. AutoCADR13.0:1994.11, AME纳入AutoCAD之中. 14. AutoCADR14.0:1997.4,适应Pentium机型及Windows95/NT操作环境,实现与Internet网络连接,操作更方便,运行更快捷,无所不到的工具条,实现中文操作. 15. AutoCAD2000(AutoCADR15.0):1999,提供了更开放的二次开发环境,出现了Vlisp独立编程环境.同时,3D绘图及编辑更方便。

2.2 CAD的优点
首先,毋庸置疑的是使用CAD技术,可以使劳动强度降低,图面清洁,用CAD 绘图则可以用一只鼠标做你想做的任何事情。

它有统一的线型库、字体库,图面整洁统一。

CAD软件所提供的UNDO功能让你不必担心画错,它可以使你返回到你画错之前的那一步。

其次,可以让设计工作更加高效,设计成果也可以重复利用。

CAD之所以高效,因其最伟大的功能之一:“COPY”。

一些相近、相似的工程设计,图纸只要简单修改一下就行了,或者直接套用,而你只需按几下键盘、鼠标。

CAD软件可以将建筑施工图直接转成设备底图,使水暖、电气的设计师不会在描绘设备底图上浪费时间。

而且现在流行的CAD软件大多提供丰富的分类图库、通用详图,设计师需要时可以直接调入。

重复工作越多,这种优势越明显。

除此之外,CAD技术可以使画图的精度提高。

建筑设计的精度一般标注到毫米,结构计算的精度也不是很高,施工时的精度更低,但对于一些特型或规模大、复杂的建筑离开了CAD困难将成倍增长。

2.3 实例简介CAD的二维绘图应用
首先观察到该图形是一个房屋的正视图,可以看出,该图形是一个轴对称图形,房屋的左右部分是完全对称的,所以可以先画出该房屋的一半,如左半部分,然后再通过镜像完成整个房屋图形的绘制。

取该房屋图形的左半部分,从整体上来看,该部分由四扇窗户、两扇门及台阶、栏杆、屋顶等构成,可以先画出图形内部的窗户、门等元素,再画整个房屋外部的整体构造,然后将窗户等移动到合适的位置,画出余下的图形,最后通过镜像完成整个房屋。

第一步、窗户
打开CAD,调出需要使用的工具条。

通过矩形快捷键先画一个指定大小的矩形并分解,通过偏移,在这个矩形内部画出合适间距的七横四竖的线条,然后通过修剪功能,将多余的部分去除,画出一个窗户的模型。

第二步、门
该门并不是对称图形,且图形中的尺寸也不相同,所以需要一个个画出来。

具体如下:先画整个门的外边框,画一个固定大小的矩形并分解;再通过偏移选项偏移出四条竖线,分别是最两边和最中间的四条竖线,再偏移出最上面两条和最下面的三条竖线,
并修剪一下,勾画出整个门的整体构型,这样门的门框和们的上边便画出来了。

可以看出,门可以分成四个部分。

先画门的最左面的部分,画一个特定大小的矩形并分解,然后在矩形内合适的位置复制或偏移出一条横线,将矩形分成上下两个矩形;在上面的矩形中特定位置画一个小矩形作为门把手,在下面矩形内通过偏移修剪或者多次复制修剪。

第三步、整体
先画一条特定粗细和特定大小的线,可以调整线条的粗细画出线条,也可以用多段线画出该线条;可以用多段线的方法画出该房屋建筑的外边框,注意不同地方线条的粗细不同。

然后将门窗移进房屋的左半部分的一楼的合适位置,通过复制将一楼的门窗复制到二楼,完成左半部分房屋除屋顶外的部分。

注意一楼的台阶,先将门的边框延伸与地线相接,再画两条等间距的线,勾画出台阶。

由于房屋是一个轴对称图形,所以可以通过镜像将左半部分镜像到右半部分,保留原图形。

在房屋一楼合适高度画出三条等高的线和中间的两条竖线,再根据房屋的已有线条,画出一楼和二楼作为分界的两条横线。

再画出二楼中间突出的房屋部分,由于窗户已经完成,所以只需要画出整体外形就可以了。

二楼的栏杆可以通过多次复制或者阵列来完成,可以观察到栏杆是由许多相同的图形构成的,所以只需要完成其中一个就可以了。

该构成元素可以分成三个部分,每个小部分先画一个特定大小的矩形并分解,再通过偏移画出五横三竖八条线,并按要求剪切,余下的内容可按图要求用线条连接,或者画多边形。

画出三个小部分组成栏杆的一个构成元素,在复制完成整个栏杆,并镜像保留原图形到另一边。

房顶可以使用填充的方法完成,选择填充选项,选择好屋顶作为填充对象,然后选择合适的图案,调整好比例和角度完成填充,这样,屋顶就完成了。

最后,修改好图形的某些细节,房屋图就完成了。

+
a=
+ 2-1
d
b
c
3 AutoCAD二维图像图形消隐
3.1 消隐概述
在产品设计中,装配图绘制的好坏将直接关系到整个产品设计的成败;而在装配图的绘制中,各图组间的消隐是一个十分关键的环节。

目前,常见的消隐方法有两种:二维裁剪消隐和二维遮挡消隐。

前者是对两个或多个图组根据其遮挡关系进行内部图素的裁剪,在裁剪后若重新移动或删除某图组,被裁剪的图组很难复原;后者是纯粹的根据遮挡关系的二维图形的真正消隐,不破坏原图组;图组移动或删除后,背景图形自动恢复,方便实用。

3.2消隐原理
消隐原理主要是利用AutoCAD的区域造型功能,在制作各消隐图组(如专用件、标准件、外购件图块等)的同时,制作一个该图组内各图素所组成的最大轮廓线,然后将其转化为面域“REGION”,即所谓消隐面(与图组内图素在同一绘图高度上);消隐过程就是在二维半空间内,根据各消隐面在不同空间高度位置的分布(可以认为消隐面是不透明的),实现各图组之间的遮挡关系;在调整各图组的遮挡关系时,只需改变其二维半空间位置(Z轴高度,即ELEV)即可。

装配消隐的过程如图1所示,用户从图形实体数据中选择图形实体并定义
为零件视图块,利用边界搜索算法得到该零件视图块的内外轮廓信息,这些信息作为
用于消隐的零件图设计信息而被记录于零件视图块的扩展数据域中。

然后用户指定
零件视图块之间的遮挡关系,对零件视图块赋予消隐高度值,同样记录在零件视图块
的扩展数据域中。

最后系统利用零件视图块的轮廓信息、零件视图的消隐高度等数
据,通过裁剪等基本算法进行消隐的计算处理,最后得到具有消隐效果的图形显示和
打印结果。

图1消隐过程示意图
3. 2.1零件视图块消隐操作步骤
由图形定义零件视图块消隐操作首先要把若干个没有逻辑联系的图形实体组合成零件视图块,并将用于消隐的设计信息存储在零件视图块的扩展数据域中,步骤如下:
(1)检查图形实体集的外边界和内孔边界情况零件视图块必须具有封闭的外边界,为了找出图形实体集合形成的外边界,在利用边界搜索算法进行搜索时,应该选取在位于这一边界之外的参考点,最简单的选取方式是计算被选择实体集合共同的包围盒,任取包围盒之外的1点即满足要求。

另外要检查选择的图形实体集形成的零件视图块的内孔情况。

用户以交互方式选择决定内孔位置的标记点,同样利用基于参考点的边界搜索算法找出该点指示的内孔边界。

如果用户选取的标记点是错误的,例如该标记点指示的是外边界或者已经定义的内孔边界,或者标记点不在希望搜索的内孔边界之内,那么内孔边界的检查将会指示出错或得不到需要的结果。

(2)以选择的图形实体生成块利用块的生成函数把选择的图形实体集合组合成1个赋名的块,并插入该块的Insert实体,同时删除被选择的图形实体集合。

(3)存储零件视图块的遮挡信息零件视图块的遮挡信息就是用于构造零件视图块的内外轮廓边界的基本数据为了重构零件视图块的内外边界,除了需要构成零件视图块的实体集外,还需要指示内孔的标记点序列,因此这里需要保存的数据主要就是各标记点数据,它们被存储在零件视图块实体的Xdata扩展数据域中。

3.2.2建立零件视图块间的遮挡关系
用户对零件视图块间的遮挡关系的指定通过Above命令来进行,该命令可以指定若干个零件视图块的遮挡能力大于另一个零件视图块。

在实现中采用消隐高度值表示零件视图块的遮挡能力大小,通过消隐高度值的不同来建立零件视图块间的遮挡关系。

消隐高度的数值作为零件视图块的遮挡信息,也保存在被插入的零件视图块的Insert实体的Xdata域中。

3.2.3消隐
消隐按如下的规则进行:外轮廓之内和内轮廓之外的区域对背景具有遮挡作用,具有较高消隐高度的图形实体遮挡具有较低消隐高度的图形实体。

利用保存于零件视图实体中的遮挡信息,零件视图块的内外轮廓边界以及它的消隐高度在消隐步骤中被重构出来。

消隐的基本操作是扫描显示链表,计算和修改当前视图中每一实体的显示数据。

为了减少计算工作量,首先要根据包围盒数据对正在扫描的实体可能产生遮挡的零件视图块范围,然后逐一进行计算和修改。

由于显示链表中的显示结构是离散的线段和填充多变形,消隐的最终计算就是利用所有可能对实体产生遮挡的零件视图块的内外轮廓边界,对该实体的显示链表项中的离散线段集合或填充多边形集合进行裁剪操作,得到位于零件视图块的外轮廓之内和内孔之外的部分作为裁剪结果,并用这一结果修改显示链表项,这样就得到了该实体消隐后的正确显示。

由于显示链表项中的基本图形结构是线段和填充多边形,所以问题就转化为遮挡图形的各边界对线段、多边形的裁剪算法。

由于零件视图块的边界是由线段、圆弧或椭圆弧构成的没有自相交的任意形状的封闭边界,这种边界对填充多边形的裁剪较复杂,可采用对多边形各边进行裁剪的替代处理方法,可以得到正确的轮廓线,但缺点是裁剪结果丢失了填充信息,真正的多边形裁剪在下一阶段的开发中进行实现。

3.3 消隐实现过程详解
3.3.1消隐图组的建立
消隐图组可以理解为一个或几个相互间无遮挡关系的零件图素的集合,这个集合内的所有图素都是二维的,并在同一个三维高度上。

当零件图素绘制完毕后,首先在专门设定的消隐层上绘制出这个图素集合的最大外轮廓封闭线(POLYLINE),再将这个轮廓线转化为R面域(REGION),最后将这个图素集合与面域共同制作为一个图块(BLOCK),这个图块就被称为消隐图组。

3.3.2消隐轮廓
绘制消隐轮廓有两种方法,对于比较简单的图素集合来说,可以人工交互的方法依次按外轮廓点绘制封闭的0宽度的POLYLINE线;对于比较复杂的图素集合来说,用人工方法去专门绘制其最大轮廓是很不经济的。

我们可以用下列步骤来提取其最大外轮廓线。

1.1.1

图素划分
宽度的POLYLINE都
部分)。

1.1.2取
各部分的多义线边界
应用AutoCAD的“BPOLY”(在AutoCAD R13和R14版中也可使用“BOUNDARY”)命令,在各部分的边界内分别拾取“种子点”,生成各部分的辅助多义线边界(见图2)。

1.1.3再用BPOLY提取图素的最大外轮廓边界
删除用于划分图素集合的POLYLINE,然后冻结除消隐层以外的所有图层,再次应用“BPOLY”命令,在图素集合的内部拾取“种子点”,即可生成图素集合的多义线边界(见图3)。

最后将辅助多义线边界删除,剩下的就是该图素集合的最大外轮廓线。

3.3.3消隐面
近似线段多少由“面密度SOLWDENS”来控制。

为保证其转换精度,建议将面密度值设得大
一些(只能在1~12之间,数值越大,精度越高;建议取值12)。

一般情况下,圆弧的半径越大,面密度值相应设得越大。

当然,所绘制的图形所占硬盘空间就越大。

AutoCAD R13和R14均采用ACIS REGION功能,已经解决了转换精度问题,不必再设。

面密度设置完毕后,就可以使用“SOLMESH”(在AutoCAD R13和R14均使用“REGION”)命令,拾取该消隐轮廓线,AutoCAD将自动生成消隐面。

3.3.4消隐图组
将冻结的图层全部解冻,选择图素集合及消隐面,使用“WBLOCK”命令,生成消隐图组。

2.遮挡关系的调整
在装配图中分别插入多个消隐图组,按装配关系放置完毕后,就可以通过改变各图组相对于基准XY平面的高度ELEV,来进行图组间遮挡关系的调整。

在AutoCAD中使用
“CHANGE”命令,先选取需更改高度的

择“Properties”中的“Elev”选项,输入即可。

当各图组内部嵌套消隐图组时,以各基本图组的绝对Z轴高度为准;同时也图组之间的交叉遮挡现象。

3.实现装配消隐
在AutoCAD命令行上键入“HIDE”命令,即可对当前视窗内的图形进行消隐观察(见图4)。

消隐完毕后,在使用有关视窗缩放(ZOOM)/平移(PAN)/重生成(REGEN)等命令时,消隐效果将取消,视窗内图形重新回到原来的“透明”状态,此后必须重新使用“HIDE”命令才能看到消隐效果。

4.消隐出图
在出图(PLOT)时,必须选取HIDE复选框,才能实现消隐输出。

如果使用笔式绘图机出图,可以考虑先将消隐层关闭(OFF,注意不是冻结!),这时消隐面仍然参与消隐计算,但是不进行绘图输出,节省了出图时间,提高了出图效率。

5.AutoCAD R14的另一种消隐方法WIPEOUT
在AutoCAD R14中捆绑了一个BONUS外挂模块,其中的WIPEOUT工具也可用于在R14中的简单图形的消隐。

该工具可以将所选择的区域以背景色覆盖,主要用于保证文字的清晰、易于辨认。

步骤如下:
如上所示,我们先制作图素集合的最大外轮廓线(注意:该轮廓线必须只由直线类型组成,若存在弧线,则该命令不能执行!),然后应用“WIPEOUT”命令,选取该轮廓线,即生成了消隐面。

该消隐方法无需使用“HIDE”命令,消隐效果可以一直存在,使用起来十分方便。

唯一的缺点是不能对圆弧操作,因此实用性不强,在此就不做详细叙述了。

3.4 零件图形消隐实例详解
3.4.1零件视图块的边界表示
零件视图由零件的整个或部分视图构成,具有一个封闭的外边界即外多边形环,可以没有内边界或有若干个内边界。

零件视图的外边界之内和内边界之外的区域是零件视图块的遮挡区域,可以遮挡消隐高度在该零件视图块之下的各图形实体或零件视图块。

零件视图块的轮廓边界是零件视图块的重要几何特征和遮挡信息,外边界和内孔边界唯一决定零件视图块的遮挡区域。

二维CAD系统的若干图形实体必须具有封闭的外边界才能构成零件视图块,边界必须由轮廓线构成,基本曲线单位是线段、圆弧和椭圆弧见图2。

零件视图块的外边界由基于回溯的参考点边界搜索算法对于选择的图形实体集合进行搜索,需要的参考点通过计算这些实体集的共同包围盒之后,选择该包围盒之外任一点而得到。

内边界的搜索需要由用户交互定义内孔的标记点。

在边界搜索算法中,当参考点在边界外时,搜索结果是最大和最靠外的边界,其路径方向为顺时针,而当参考点在边界内部时,搜索结果是围绕参考点的最小边界,其路径方向为逆时针。

图2零件视图块的内、外边界
传统的零件视图块都具有一个外边界,可以没有内边界或者有若干个内孔边界。

但在系统的新版本中,由于要实现对于CTEXT实体的正确处理,零件视图块的概念被扩展到具有多个外边界和各自的多个内边界的情况。

CTEXT是由多个分离的字
符或汉字形成的特殊的文字实体,每个字符或汉字都有各自的包围盒形成的边界,因此CTEXT实体的轮廓边界特征是具有多个不相交的外边界,没有内边界。

零件视图块的边界表示应当满足这样一些要求,一是完备表示零件视图块的内、外边界轮廓信息,二是应采用数据冗余度最小的数据结构。

系统中采用这样的数据结构表示边界,若干个有序关键点顺次连结成没有自相交的封闭边界,一个零件视图块的各内外边界形成该零件视图块的边界链表。

3..
4.2边界上关键点的数据结构
typedefstruct
{
chartag;
doublex,y,r,r2,angle,twist;
} TSLoopEdge;
在这一表示边界关键点的数据结构中,不仅记录了构成边界的各点的坐标,还记录了与该点与下一点构成的曲线边的基本信息,因此这一点的数据结构和下一点的数据结构中的坐标值唯一决定这一段曲线边,下面对该结构各域作具体说明:
tag:记录与下一点共同构成的曲线类型;
为线段、圆弧、椭圆弧三种,当曲线为圆弧、椭圆弧时,还需要其中一空闲数据位记录曲线由该点到下一点是逆时针方向还是顺时针方向,以确定曲线几何表示;
(x,y):记录这一点的坐标值;
r:当曲线为圆弧时记录其半径,当曲线为椭圆弧时记录其半长轴;
r2:当曲线为椭圆弧时记录其半短轴;
angle:当曲线为椭圆或圆弧情况时,记录点对应的参数角;
twist:当曲线为椭圆弧时,记录该椭圆弧的偏转角度。

用上面的边界点的数据表示方法,当前点的坐标、下一点坐标以及当前点数据结构中记录的曲线边的几何参数可以唯一地决定这段曲线边。

以椭圆弧为例,首先根据当前点的参数角和椭圆弧的长短轴数据,可以计算出椭圆模型坐标系中当前点的坐标,然后根据椭圆弧偏转角计算出世界坐标系中当前点相对于椭圆心的坐标,这样就可以计算出椭圆心坐标,再根据下一点的坐标值以及标志域中一位记录的表示椭圆弧几何形状的信息,便能唯一确定这段椭圆弧曲线边。

3.4.3边界表示数据结构
零件视图块的每一内、外边界采用下面的数据结构进行表示,若干个边界项形成一个链表,完整地表示出零件视图块的边界结构。

Type def struct MDSPart Loop Head
{ short tag;
long Xmin , Ymin , Xmax, Ymax;
unsigned short height , PtNum;
TSLoopEdge * pts ;
Struct MDS PartloopHead * next ;
TSLoop Head;
}
tag:表示消隐时边界对当前扫描实体的是否可能遮挡标志,以及表示边界是外边界还是内边界;
当被扫描图形实体的消隐高度高于边界对应的零件视图块,或者被扫描图形实体在边界的包围盒之外时,该边界对扫描实体无遮挡关系。

(x,y,x,y):表示边界的包围盒数据;
height:边界所在的零件视图块的消隐高度;
PtNum:边界的关键点个数;
边界为1个圆时是特殊情况,此时关键点为圆心,点数为1。

见图3。

pts:边界的有序关键点数组首指针;
next:下一边界指针;
图3线段被有内孔的零件视图快遮挡
3.4.4装配消隐的实现
消隐的实现方法应该保持图形中各个实体的几何数据不变,在消隐后图形可以得到恢复,因此,消隐通过对实体的显示数据以及打印数据进行处理而实现。

由于显示链表中存储的最终实体数据是离散线段或者填充多边形,而零件视图块边界对填充多边形的裁剪目前是通过边界对填充多边形的各边的裁剪来实现的,因此装配消隐就转化为零件视图块内、外边界间的有效区域对线段的遮挡问题,其实质为:对具有一定消隐高度的直线段P1P2和具有一定消隐高度的由外边界和零或多个内孔构成的平面区域,求线段不被遮挡的部分。

假设一装配图具有N条离散直线段,其中li的消隐高度为hi(i为0到N-1),同时有M个零件视图形成的有效平面区域,其中πj的消隐高度为Hj(j为0到M-1),消隐算法的流程描述如下:
在系统的新版本中,CTEXT文字是一种新的文字实体,它具有多个分离的字符或汉字,因此CTEXT实体构成的零件视图块具有多个外边界。

具有多个外边界的零件视图快的消隐处理,与通常的具有唯一外边界的零件视图块的处理有一定差别,具有一个外边界的零件视图区域对线段进行裁剪时,裁剪结果是线段在外边界外的部分与线段在各内孔中的部分的并集,而具有多个外边界和各自的若干内孔边界的零件视图区域对线段进行裁剪时,结果是线段逐一被各个外边界内区域裁剪的部分,与原线段在各内孔边界内部的部分的并集,前一部分指被上一个外边界内部区域裁剪的结果作为输入又被下一个外边界内部区域进行裁剪,以此类推。

相关文档
最新文档