武佩佩,邢洁鋆, 韩娅娜,孟晓栋, 陈明武
(中国电建集团西北勘测设计研究院有限公司,西安 710065)
随着三维数字化进程的推进[1],国内水利水电行业使用CATIA V6在工程设计领域展开了广泛的研究[2],特别是在水电与抽蓄[3]、新能源、洞室[4]等工程领域应用较为广泛。在使用CATIA V6进行三维模型正向设计的过程中[5],通常以投影的方式得到模型对应的视图,然后通过视图剖切得到剖面并进行填充[6]。然而CATIA工程图应用中的填充功能略显不足,存在填充内容精度低、质量差、效率慢等问题。因此,如何提高出图质量、提升出图效率,已经成为当前工程图领域急需解决的问题。
工程图应用中的填充技术包含图像填充、加阴影、加点、着色、矢量填充等[7]。郑旻璐[8]利用最小二乘算法,对填充区域的样本进行特征自适应性优化,进而实现三维船舶图像填充;彭扬平[9]根据水利水电行业现有的工程出图标准,提出一种矢量纹理填充方法,该方法借助AutoCAD的基本填充样式,在3DE平台开发矢量填充的插件功能,利用CAA二次开发技术实现若干填充实例;李颖弢[10]提出一种基于双线性插值算法的图像放大方法,首先获取需要进行填充区域原始图像和缩放后图像的长宽值,计算得到原始图像和缩放后图像的宽度比与高度比,然后将原始图像存入RAM并将图像数据复制后放入缓存区域中,根据缩放比例计算图像像素对应的虚拟坐标,最终将虚拟坐标周围的4个点像素值进行加权计算,得到缩放后的像素值,实现矢量化填充。对于加阴影、加点、着色等填充方式,填充效果单一,无法真实形象的展示材料实际情况。矢量填充使用点、线、矩形、多边形、圆和弧线等几何图形来描述图案,通过数学公式计算获取几何图形位置信息,在填充图案进行缩放或旋转等操作时,几何图形位置都会进行计算更新,不会出现整体图案失真的现象,因此在工程领域应用矢量填充可以达到较好的填充效果。目前矢量填充在AutoCAD中已经得到广泛应用[11],矢量图库也非常丰富,同时可以根据矢量图的生成规则自定义矢量图[12]。相对于CATIA的应用,矢量填充虽然属于原生功能,但在二维出图中的应用与研究并不广泛,且可选的填充样式非常少,无法满足复杂的矢量纹理填充需求。
本文针对CATIA V6中工程图的矢量填充应用不充分,填充质量差、效率底、形式单一等问题进行深入剖析,提出一种快速便捷的矢量填充方法,实现矢量的手动区域填充和剖视图自动填充的功能,提升工程出图质量、提高出图效率。
矢量填充方法主要分为手动区域填充和剖视图自动填充。首先,通过自定义配置的方式进行矢量库的定义,手动区域填充方法是根据实际需求,选择已经定义过的矢量,在指定的投影视图区域中进行填充;剖视图自动填充则是通过对模型所附材料的拔模域添加已经定义的矢量,在生成剖视图时自动完成剖面的矢量填充。CATIA中使用的矢量填充库,参考AutoCAD矢量填充库,按照统一规则完成定义,其默认填充样式存储在名为acad.pat的文件中。表1列举了工程中常用的矢量填充样式。
表1 矢量图案类别对应关系
矢量填充遵循先定义后使用的原则,在进行手动区域填充前需要进行填充矢量库定义,生成矢量标准库文件。在出图设计过程中,设计人员创建工程图并选择存储矢量标注库对应的标注文件,其次选择需要矢量填充的区域和填充矢量,完成手动区域填充。填充流程如图1所示。
图1 手动区域填充流程
1.1.1定义矢量
在CATIA V6的环境文件中定义变量CATCollectionStandard,用来指定CATIA安装路径下的drafting文件夹为标准矢量文件的保存位置。登录CATIA V6选择角色为“所有者”,登录之后在首选项中进入标准页面,选择参考文件,即可在“向量”选项中添加实例,定义标准填充矢量,定义界面如图2所示。
图2 标准填充矢量定义
在进行标准填充矢量定义的时候,指定类型为drafting,通过在阵列的向量中添加实例,增加新的向量节点,设置当前矢量的名称、比例、线宽、角度、线形、矢量图形等,完成矢量的定义。以一期混凝土为例,对以上参数进行设置,即可在预览位置,看到当前参数定义对应的矢量图案结果。
1.1.2区域填充
完成矢量填充的定义后,在工程图生成时选择1.2.1节定义的标准文件,并在工具条中选择“区域填充”工具中的“向量”类型,使用已经定义过的矢量图案手动添加矢量进行填充,方法如图3所示。完成填充之后也可以对已填充区域进行矢量图案修改,手动区域填充效果如图4所示。
图3 区域填充方法
图4 工程图手动区域填充效果
上述的手动区域填充方法仍需要设计人员在工程图中手动添加矢量,当遇到工程图中有大量剖切图需要填充时,难免会造成繁杂重复的操作,影响工作效率。为了较好地解决此问题,在进行剖视图填充时,对模型添加材料,并在材料的拔模域中定义矢量,将材料和矢量填充图案进行关联,将实现剖视图的自动填充。
1.2.1定义自动填充拔模域
定义自动填充拔模域的目的是使材料与矢量填充图案关联,从而在剖切后自动填充已关联的矢量图案。首先进行材料的创建,在核心材料中选取外观域和制图域作为添加域;其次编辑三维模型中材料的拔模域,设定对应的矢量填充图案,调整比例、线宽、角度、线型等参数,使材料与矢量填充图案关联,并且为三维模型添加带有矢量填充的材料;最终在三维模型生成剖视图时,剖面即可自动填充与材料相关联的矢量图案,如图5所示。
图5 三维模型材料与填充图案关联
1.2.2自动填充
完成材料和填充的关联后,在工程图中无论如何剖切,矢量填充都会与三维模型的材料拔模域设置保持一致,剖面自动填充对应的矢量图案,提高出图填充效率。剖视图的自动填充效果如图6所示。此外材料与自动填充关联后得到的工程图,也可以对填充矢量进行修改和参数编辑。
图6 剖视图自动填充结果
为了验证本文提出的工程图矢量填充方法的有效性,本节将设计实验对方法提及的矢量图案、参数调整在工程应用进行详细的验证。上述材料矢量库共包含12种类别的图案设计,对于每一种矢量图案,都进行填充实验,验证每种图案的有效性,结果如图7所示。
图7 不同矢量的填充结果展示
由图中的效果可以看出对于不同的矢量样式,在填充区域都可以展示正确的填充图案。除此之外对于同一种图案的不同显示比例进行实验验证,结果如图8所示,针对三期混凝土矢量图案调整不同的缩放比例,可以看出对于不同的矢量图案缩放比例都可以进行较好的适配。
图8 矢量填充比例调整对比结果
对于每种矢量填充图进行详细的参数调整测试,调整的参数包含线宽、线型、颜色、角度4种类型,对于每种参数进行实验验证,结果如图9所示,其中图9(a)为原始的黏土矢量图案,图9(b)是使用不同线宽参数的结果,图9(c)对线型参数进行变换后的结果,图9(d)是对颜色参数进行设置的结果,图9(e)是进行角度参数调整的结果。可以看出,对矢量图案进行参数调整后,仍可以保证填充结果的质量和精度。
图9 矢量填充参数调整对比结果
目前该方法已在金川、阜康、镇安、大石峡等多个水利水电工程中得到了应用,工程采用三维正向设计,在二维出图过程中均使用了本文提出的矢量填充方法,提升了工程图的出图效率和填充图案的质量与精度,较好地满足了设计出图需求,如图10所示为水电站工程中尾水闸门操作室纵剖面填充效果。
图10 尾水闸门操作室纵剖面填充效果
本文结合西北院三维设计与二维出图经验,进行基于CATIA V6的工程图矢量填充关键方法的研究,提出基于CATIA V6的工程图矢量填充方法,在工程中应用证明,设计人员的出图效率得到了显著提升,出图质量得到了较高保证。但是需要指出的是,随着工程项目的不断拓展,现有的材料库可能出现无法满足新项目的矢量图案需求,因此在今后的工作中需要对矢量填充库进行及时扩展。