基于CATIA V6的多模式结构出图方法与二次开发
2022-07-19程哲邱雨周桐杨中源
程哲,邱雨,周桐,杨中源
(中国船舶及海洋工程设计研究院,上海 200011)
未来三维模型将成为主要的船舶设计信息载体,在设计、审核、协同等工作中逐渐替代传统的二维图纸。但目前受限于技术瓶颈,二维设计仍是主要的船舶设计手段,设计人员需同时承担三维建模及二维绘图任务,这无疑大大增加了的工作量,不利于三维设计的发展和推广。于是,利用三维模型生成二维图纸的出图需求应运而生。目前国内多数船舶总体所和总装厂正以CATIA V6作为主要的三维设计、制造及管理平台,同时开展多专业研究工作并通过开发手段对平台功能进行优化与完善。SFD(structure function design)模型是CATIA V6中船体结构模型的一种主要形式,模型中各类结构件均以面片或线条的形式表达,具有模型简化、参数化、轻量化的特点。船体结构图样是船体图样的重要组成部分,包含基本结构图、典型横剖面图、分段结构图等,图样中表达的构件种类繁多、层次交叠。为了表达清晰,在小比例(如1∶50等)的船体结构图样中,常采用简化画法表达结构件的剖面、轮廓、轨迹等,以SFD模型作为出图的研究对象符合其简化表达。设计人员通过对船体结构三维建模,使设计过程可视、可靠、优化;使用模型进行结构出图,可保证结构图样的同源性,减少绘图工作量的同时又可提升图纸质量。为使SFD模型的结构出图结果满足船体结构制图的要求,考虑以CATIA原生投影出图功能为基础,结合考虑船体结构图样的特殊性,提出适用于多类型图样的多模式结构出图方法,并基于CATIA适用的CAA(component application architecture)和EKL(engineering knowledge language)二次开发技术开发相应的出图程序,实现出图流程的半自动化。
1 出图基本流程
船体结构SFD模型出图的基本流程分为4个阶段,见图1。其中模型剖切阶段和图纸生成阶段是出图流程的核心部分。
图1 结构出图基本流程
模型预处理阶段中,在保证模型质量前提下,需要对SFD模型进行修改使其符合出图程序的要求,主要是针对模型中构件种类(Category)和附加属性的修改,其中部分修改可由程序完成。出图节点由程序调用后台知识工程模板资源创建,包含总根节点、图纸节点、剖面控制节点和结构模型节点,典型的出图节点结构树见图2。
图2 典型出图节点结构树
模型剖切阶段中,由用户指定出图剖面并存放于剖面控制节点中,并对出图相关参数进行设置。由出图程序对SFD模型中的结构件进行筛选与几何处理(包括求交、投影、平移、扫掠、提取等),生成三维线框,同时对线框中的三维线条(点)附加必要的属性供程序后续读取识别。
图纸生成阶段,由出图程序调用CATIA原生投影出图方法将上一阶段的三维线框投影为图纸节点中的二维线条;并通过二维线条与三维线条间的链接关系,在二维环境中读取三维线框属性与模型结构件信息,同时调用后台EKL程序和配置表格资源,对二维线条的线型、颜色和图层进行刷新,并进行可实现的信息自动标注。
图纸后处理阶段,用户需要使用手动标注程序对没有自动标注的部分信息进行补充,同时需要对图面整体进行处理,如标注信息位置的调节、线条的删减等。
当上述所有步骤完成后,将图纸节点导出为DWG格式文件,在AutoCAD中完成后续工作。
2 出图要求
2.1 构件图面表达要求
SFD模型中,出图涉及的各类型结构件在模型结构树上的层级关系见图3。
图3 SFD模型结构树层级关系示意
模型中Panel(板架)无实际几何特征,其作用类似于几何图形集,用于收纳除Member类型外的结构件并存储部分结构信息。
在不同视向的船体结构图样中,结构件中基本可分为轮廓线与剖面线两种表现形式,图3中各类型典型结构件及对应的图面表达要求见表1。
表1 典型结构件及其图面表达要求
以横舱壁图为例,图样中表示该横舱壁上骨材(或强构件)的线条为轨迹线,将其视为剖面线的一种。开孔的剖面线为2个点,将其作为蝴蝶形开孔剖面符号的定位,最终形式见表1。
2.2 构件种类划分要求
SFD模型中同类型的结构件,当其位置、朝向或属性不同时,在结构图样中线条的表达要求就可能不同。因此出图模型的部分类型结构件必须进一步划分种类(Category)才能满足出图程序的识别要求,板材(板架)和骨材的种类划分建议见图4,除可选划分种类和可自动划分种类外,其余的种类都应在建模过程中进行划分。
图4 板材/骨材种类建议划分方法
在建模时强框架若选用图4中的可选划分种类,出图程序就能准确地识别与处理;若仅选择至上一级种类,程序则会通过预设判断规则处理,但准确性会降低。可自动划分种类表示在建模时可不进行划分,只需要选择其上一级种类;在模型预处理阶段,可由程序自动完成划分工作。除板材(板架)和骨材外,Member类型仅要求划分Pillar(支柱)种类,图3中其余类型的结构件均无种类划分要求。
出图程序不仅适用于按上述构件种类划分(命名)方法建模的模型,若实际SFD模型中涉及出图需求的结构件种类能且仅能与一个上述种类对应,在程序的预定义类中对种类属性的映射关系进行配置后即能正常出图。
2.3 后台资源配置要求
除对SFD模型本身的要求,出图程序还对CATIA项目协作区的后台资源配置有要求,各项资源与出图CAA程序的关系见图5。
图5 出图后台配置资源的使用
各项资源的具体配置情况可在不同协作区中根据实际需求随时进行变更。结构分段信息表用于储存施工设计阶段船体结构的施工分段信息,仅在分段结构图出图时生效,可缺省。
3 出图程序
船体结构形式多样且复杂,综合考虑各种不同的结构图样种类、视向、表达方法等,出图需求不同,需要依靠多模式结构出图方法满足这些差异性需求。多模式主要体现在剖切模式、景深值、图样比例、投影主视向、投影模式和自动标注等方面。体现到出图程序中,以上模式均以选项或参数的形式开放,供用户根据具体的出图场景随时修改。
3.1 程序框架
结合CAA和EKL二次开发技术完成出图程序开发。EKL内置于CATIA中,是知识工程功能实现的重要载体,具有编辑简便、使用广泛的特点;考虑到图样中标注的内容、样式的多样性和不确定性,使用EKL语言编写标注程序的部分内容并存储于知识工程组件Action中,供CAA程序调用。CAA全称为组件运用架构,是一种基于组件的开发方法,基础开发语言为C++,同时提供大量的接口与函数;与EKL相比,CAA开发与CATIA系统结合更紧密,十分适用于代码规模大、功能复杂、原生EKL开发难以实现的程序开发。出图程序的基本框架见表2。
表2 出图程序基本框架
出图主程序批量出图功能界面见图6,用户在剖面控制节点中放入剖切面,选择出图总节点与图纸节点,完成各项选项、参数设置后即可开始进行出图。
图6 出图主程序批量出图功能界面
3.2 模型剖切方法
根据图3所示的SFD模型结构树层级关系,将Panel及其附属构件作整体考虑进行剖切处理,剖切处理策略可分为“求交”、“投影”策略;出图程序提供按构件种类与主视向关系以及构件与剖切面位置关系两种剖切模式判断当前Panel应使用的剖切策略。以某横舱壁为例,采用两种剖切模式的剖切策略,具体见表3。
表3 剖切模式与策略
各类构件在执行剖切处理前,会先按照景深值进行预筛选,不满足筛选条件的构件会直接跳过处理,不生成三维线条。景深值开放于图6所示的高级设置中,按表1中所示的结构件类型和表现形式分为若干参数。图样比例主要影响标注文本、符号的大小,还与船体结构图中特殊的表达形式有关,如表示面板轮廓的两条细实线间距等于同一图样中粗实线的宽度,会随图样比例发生变化。
3.3 线框投影方法
投影主视向包括+、-、+、-、+和-共6种。一般情况下,+视向适用于从艉朝艏看的横剖面图,+视向适用于从右朝左看的纵剖面图,-视向适用于俯视结构图(甲板图等)。
投影模式主要包括正向投影、法向投影、半法向投影(见表4),当剖切面法向平行于坐标轴时,3种模式等效;若剖切面法向不与坐标轴平行,则3种模式的二维投影平面法向会不同。
表4 投影模式与投影平面法向
正向投影模式适用于多数常规剖面出图。法向和半法向投影模式均适用于倾斜构件的出图,法向投影模式能较准确地表达构件的实际尺寸;而半法向投影模式的投影结果在某一向的尺度与正向投影相同,结构件在图样中能保持与坐标轴刻度的位置关系,在另一向上则表达构件实际尺寸,可用于外板纵骨图等出图。
除上述3种投影模式外,出图程序还提供折面多向投影模式和舱底图模式(仅主视向为Z-时可用)。折面多向投影模式指剖切面为若干面组合而成的折面时,各子面分别按半法向投影模式出图,并在二维中自动拼接。舱底图的出图规则与一般剖面图有较大区别,其为利用复杂组合剖面剖切船体,移去观察者和剖切面间的部分结构,对其余构件进行投影得到的结果,属于剖视图。
3.4 信息自动标注
信息自动标注主要是构件规格的标注,在图6所示的标注设置中,用户可以按表1中所示的结构件类型和表现形式选择哪些需要自动标注。除此之外,自动标注还提供以下功能:①使用图块替换部分骨材剖面线;②板缝线符号、板缝符号;③蝴蝶形开孔剖面符号;④连续符号、间断符号;⑤骨材端部类型;⑥坐标轴、标题。
3.5 应用实例
以图2所示的某船全船结构模型为例,该船总长约70 m,结构模型共分为5个分段。针对不同类型结构图样,出图程序与CATIA原生GVS出图功能的运行耗时见表5。
表5 出图程序运行耗时
可见二次开发的出图程序与原生功能相比效率明显提升。
以某一横剖面图为例对比出图结果,该横剖面处的模型切片与剖切模型生成的三维线框见图7,图纸节点中生成的剖面图见图8。
图7 某横剖面的模型切片与三维线框
图8 某横剖面图
由图8可见出图结果满足表1中各类型构件的表达要求,同时自动标注的信息已经相对完善,用户可以使用手动标注功能对开孔、圆弧半径、甲板(平台)名称等进行补充标注,手动标注功能界面见图9。
图9 后处理程序手动标注功能界面
4 结论
1)通过基于CATIA V6的CAA与EKL二次开发技术,开发的多模式结构出图程序适用于各种类型船体结构,可实现使用三维模型半自动化结构出图。程序完全自主可控,可对其进行深度订制,可满足各种特殊的结构件图面表达形式以及信息标注样式。
2)该出图程序可使用任何面(平面、曲面或组合面)作为剖切面,并可按不同的投影模式和主视向进行出图,但其基本原理是投影出图,无法进行展开表达,因此对于扭曲构件的出图效果尚不理想,需要进一步探讨解决方案。
3)使用出图程序对结构模型出图,在减少设计人员的绘图工作量的同时又提升了图纸质量,有利于现阶段三维设计的发展和推广。