程哲,邱雨,周桐,楊中源
(中國船舶及海洋工程設計研究院,上海 200011)
未來三維模型將成為主要的船舶設計信息載體,在設計、審核、協(xié)同等工作中逐漸替代傳統(tǒng)的二維圖紙。但目前受限于技術(shù)瓶頸,二維設計仍是主要的船舶設計手段,設計人員需同時承擔三維建模及二維繪圖任務,這無疑大大增加了的工作量,不利于三維設計的發(fā)展和推廣。于是,利用三維模型生成二維圖紙的出圖需求應運而生。目前國內(nèi)多數(shù)船舶總體所和總裝廠正以CATIA V6作為主要的三維設計、制造及管理平臺,同時開展多專業(yè)研究工作并通過開發(fā)手段對平臺功能進行優(yōu)化與完善。SFD(structure function design)模型是CATIA V6中船體結(jié)構(gòu)模型的一種主要形式,模型中各類結(jié)構(gòu)件均以面片或線條的形式表達,具有模型簡化、參數(shù)化、輕量化的特點。船體結(jié)構(gòu)圖樣是船體圖樣的重要組成部分,包含基本結(jié)構(gòu)圖、典型橫剖面圖、分段結(jié)構(gòu)圖等,圖樣中表達的構(gòu)件種類繁多、層次交疊。為了表達清晰,在小比例(如1∶50等)的船體結(jié)構(gòu)圖樣中,常采用簡化畫法表達結(jié)構(gòu)件的剖面、輪廓、軌跡等,以SFD模型作為出圖的研究對象符合其簡化表達。設計人員通過對船體結(jié)構(gòu)三維建模,使設計過程可視、可靠、優(yōu)化;使用模型進行結(jié)構(gòu)出圖,可保證結(jié)構(gòu)圖樣的同源性,減少繪圖工作量的同時又可提升圖紙質(zhì)量。為使SFD模型的結(jié)構(gòu)出圖結(jié)果滿足船體結(jié)構(gòu)制圖的要求,考慮以CATIA原生投影出圖功能為基礎,結(jié)合考慮船體結(jié)構(gòu)圖樣的特殊性,提出適用于多類型圖樣的多模式結(jié)構(gòu)出圖方法,并基于CATIA適用的CAA(component application architecture)和EKL(engineering knowledge language)二次開發(fā)技術(shù)開發(fā)相應的出圖程序,實現(xiàn)出圖流程的半自動化。
船體結(jié)構(gòu)SFD模型出圖的基本流程分為4個階段,見圖1。其中模型剖切階段和圖紙生成階段是出圖流程的核心部分。
圖1 結(jié)構(gòu)出圖基本流程
模型預處理階段中,在保證模型質(zhì)量前提下,需要對SFD模型進行修改使其符合出圖程序的要求,主要是針對模型中構(gòu)件種類(Category)和附加屬性的修改,其中部分修改可由程序完成。出圖節(jié)點由程序調(diào)用后臺知識工程模板資源創(chuàng)建,包含總根節(jié)點、圖紙節(jié)點、剖面控制節(jié)點和結(jié)構(gòu)模型節(jié)點,典型的出圖節(jié)點結(jié)構(gòu)樹見圖2。
圖2 典型出圖節(jié)點結(jié)構(gòu)樹
模型剖切階段中,由用戶指定出圖剖面并存放于剖面控制節(jié)點中,并對出圖相關參數(shù)進行設置。由出圖程序?qū)FD模型中的結(jié)構(gòu)件進行篩選與幾何處理(包括求交、投影、平移、掃掠、提取等),生成三維線框,同時對線框中的三維線條(點)附加必要的屬性供程序后續(xù)讀取識別。
圖紙生成階段,由出圖程序調(diào)用CATIA原生投影出圖方法將上一階段的三維線框投影為圖紙節(jié)點中的二維線條;并通過二維線條與三維線條間的鏈接關系,在二維環(huán)境中讀取三維線框?qū)傩耘c模型結(jié)構(gòu)件信息,同時調(diào)用后臺EKL程序和配置表格資源,對二維線條的線型、顏色和圖層進行刷新,并進行可實現(xiàn)的信息自動標注。
圖紙后處理階段,用戶需要使用手動標注程序?qū)]有自動標注的部分信息進行補充,同時需要對圖面整體進行處理,如標注信息位置的調(diào)節(jié)、線條的刪減等。
當上述所有步驟完成后,將圖紙節(jié)點導出為DWG格式文件,在AutoCAD中完成后續(xù)工作。
SFD模型中,出圖涉及的各類型結(jié)構(gòu)件在模型結(jié)構(gòu)樹上的層級關系見圖3。
圖3 SFD模型結(jié)構(gòu)樹層級關系示意
模型中Panel(板架)無實際幾何特征,其作用類似于幾何圖形集,用于收納除Member類型外的結(jié)構(gòu)件并存儲部分結(jié)構(gòu)信息。
在不同視向的船體結(jié)構(gòu)圖樣中,結(jié)構(gòu)件中基本可分為輪廓線與剖面線兩種表現(xiàn)形式,圖3中各類型典型結(jié)構(gòu)件及對應的圖面表達要求見表1。
表1 典型結(jié)構(gòu)件及其圖面表達要求
以橫艙壁圖為例,圖樣中表示該橫艙壁上骨材(或強構(gòu)件)的線條為軌跡線,將其視為剖面線的一種。開孔的剖面線為2個點,將其作為蝴蝶形開孔剖面符號的定位,最終形式見表1。
SFD模型中同類型的結(jié)構(gòu)件,當其位置、朝向或?qū)傩圆煌瑫r,在結(jié)構(gòu)圖樣中線條的表達要求就可能不同。因此出圖模型的部分類型結(jié)構(gòu)件必須進一步劃分種類(Category)才能滿足出圖程序的識別要求,板材(板架)和骨材的種類劃分建議見圖4,除可選劃分種類和可自動劃分種類外,其余的種類都應在建模過程中進行劃分。
圖4 板材/骨材種類建議劃分方法
在建模時強框架若選用圖4中的可選劃分種類,出圖程序就能準確地識別與處理;若僅選擇至上一級種類,程序則會通過預設判斷規(guī)則處理,但準確性會降低。可自動劃分種類表示在建模時可不進行劃分,只需要選擇其上一級種類;在模型預處理階段,可由程序自動完成劃分工作。除板材(板架)和骨材外,Member類型僅要求劃分Pillar(支柱)種類,圖3中其余類型的結(jié)構(gòu)件均無種類劃分要求。
出圖程序不僅適用于按上述構(gòu)件種類劃分(命名)方法建模的模型,若實際SFD模型中涉及出圖需求的結(jié)構(gòu)件種類能且僅能與一個上述種類對應,在程序的預定義類中對種類屬性的映射關系進行配置后即能正常出圖。
除對SFD模型本身的要求,出圖程序還對CATIA項目協(xié)作區(qū)的后臺資源配置有要求,各項資源與出圖CAA程序的關系見圖5。
圖5 出圖后臺配置資源的使用
各項資源的具體配置情況可在不同協(xié)作區(qū)中根據(jù)實際需求隨時進行變更。結(jié)構(gòu)分段信息表用于儲存施工設計階段船體結(jié)構(gòu)的施工分段信息,僅在分段結(jié)構(gòu)圖出圖時生效,可缺省。
船體結(jié)構(gòu)形式多樣且復雜,綜合考慮各種不同的結(jié)構(gòu)圖樣種類、視向、表達方法等,出圖需求不同,需要依靠多模式結(jié)構(gòu)出圖方法滿足這些差異性需求。多模式主要體現(xiàn)在剖切模式、景深值、圖樣比例、投影主視向、投影模式和自動標注等方面。體現(xiàn)到出圖程序中,以上模式均以選項或參數(shù)的形式開放,供用戶根據(jù)具體的出圖場景隨時修改。
結(jié)合CAA和EKL二次開發(fā)技術(shù)完成出圖程序開發(fā)。EKL內(nèi)置于CATIA中,是知識工程功能實現(xiàn)的重要載體,具有編輯簡便、使用廣泛的特點;考慮到圖樣中標注的內(nèi)容、樣式的多樣性和不確定性,使用EKL語言編寫標注程序的部分內(nèi)容并存儲于知識工程組件Action中,供CAA程序調(diào)用。CAA全稱為組件運用架構(gòu),是一種基于組件的開發(fā)方法,基礎開發(fā)語言為C++,同時提供大量的接口與函數(shù);與EKL相比,CAA開發(fā)與CATIA系統(tǒng)結(jié)合更緊密,十分適用于代碼規(guī)模大、功能復雜、原生EKL開發(fā)難以實現(xiàn)的程序開發(fā)。出圖程序的基本框架見表2。
表2 出圖程序基本框架
出圖主程序批量出圖功能界面見圖6,用戶在剖面控制節(jié)點中放入剖切面,選擇出圖總節(jié)點與圖紙節(jié)點,完成各項選項、參數(shù)設置后即可開始進行出圖。
圖6 出圖主程序批量出圖功能界面
根據(jù)圖3所示的SFD模型結(jié)構(gòu)樹層級關系,將Panel及其附屬構(gòu)件作整體考慮進行剖切處理,剖切處理策略可分為“求交”、“投影”策略;出圖程序提供按構(gòu)件種類與主視向關系以及構(gòu)件與剖切面位置關系兩種剖切模式判斷當前Panel應使用的剖切策略。以某橫艙壁為例,采用兩種剖切模式的剖切策略,具體見表3。
表3 剖切模式與策略
各類構(gòu)件在執(zhí)行剖切處理前,會先按照景深值進行預篩選,不滿足篩選條件的構(gòu)件會直接跳過處理,不生成三維線條。景深值開放于圖6所示的高級設置中,按表1中所示的結(jié)構(gòu)件類型和表現(xiàn)形式分為若干參數(shù)。圖樣比例主要影響標注文本、符號的大小,還與船體結(jié)構(gòu)圖中特殊的表達形式有關,如表示面板輪廓的兩條細實線間距等于同一圖樣中粗實線的寬度,會隨圖樣比例發(fā)生變化。
投影主視向包括+、-、+、-、+和-共6種。一般情況下,+視向適用于從艉朝艏看的橫剖面圖,+視向適用于從右朝左看的縱剖面圖,-視向適用于俯視結(jié)構(gòu)圖(甲板圖等)。
投影模式主要包括正向投影、法向投影、半法向投影(見表4),當剖切面法向平行于坐標軸時,3種模式等效;若剖切面法向不與坐標軸平行,則3種模式的二維投影平面法向會不同。
表4 投影模式與投影平面法向
正向投影模式適用于多數(shù)常規(guī)剖面出圖。法向和半法向投影模式均適用于傾斜構(gòu)件的出圖,法向投影模式能較準確地表達構(gòu)件的實際尺寸;而半法向投影模式的投影結(jié)果在某一向的尺度與正向投影相同,結(jié)構(gòu)件在圖樣中能保持與坐標軸刻度的位置關系,在另一向上則表達構(gòu)件實際尺寸,可用于外板縱骨圖等出圖。
除上述3種投影模式外,出圖程序還提供折面多向投影模式和艙底圖模式(僅主視向為Z-時可用)。折面多向投影模式指剖切面為若干面組合而成的折面時,各子面分別按半法向投影模式出圖,并在二維中自動拼接。艙底圖的出圖規(guī)則與一般剖面圖有較大區(qū)別,其為利用復雜組合剖面剖切船體,移去觀察者和剖切面間的部分結(jié)構(gòu),對其余構(gòu)件進行投影得到的結(jié)果,屬于剖視圖。
信息自動標注主要是構(gòu)件規(guī)格的標注,在圖6所示的標注設置中,用戶可以按表1中所示的結(jié)構(gòu)件類型和表現(xiàn)形式選擇哪些需要自動標注。除此之外,自動標注還提供以下功能:①使用圖塊替換部分骨材剖面線;②板縫線符號、板縫符號;③蝴蝶形開孔剖面符號;④連續(xù)符號、間斷符號;⑤骨材端部類型;⑥坐標軸、標題。
以圖2所示的某船全船結(jié)構(gòu)模型為例,該船總長約70 m,結(jié)構(gòu)模型共分為5個分段。針對不同類型結(jié)構(gòu)圖樣,出圖程序與CATIA原生GVS出圖功能的運行耗時見表5。
表5 出圖程序運行耗時
可見二次開發(fā)的出圖程序與原生功能相比效率明顯提升。
以某一橫剖面圖為例對比出圖結(jié)果,該橫剖面處的模型切片與剖切模型生成的三維線框見圖7,圖紙節(jié)點中生成的剖面圖見圖8。
圖7 某橫剖面的模型切片與三維線框
圖8 某橫剖面圖
由圖8可見出圖結(jié)果滿足表1中各類型構(gòu)件的表達要求,同時自動標注的信息已經(jīng)相對完善,用戶可以使用手動標注功能對開孔、圓弧半徑、甲板(平臺)名稱等進行補充標注,手動標注功能界面見圖9。
圖9 后處理程序手動標注功能界面
1)通過基于CATIA V6的CAA與EKL二次開發(fā)技術(shù),開發(fā)的多模式結(jié)構(gòu)出圖程序適用于各種類型船體結(jié)構(gòu),可實現(xiàn)使用三維模型半自動化結(jié)構(gòu)出圖。程序完全自主可控,可對其進行深度訂制,可滿足各種特殊的結(jié)構(gòu)件圖面表達形式以及信息標注樣式。
2)該出圖程序可使用任何面(平面、曲面或組合面)作為剖切面,并可按不同的投影模式和主視向進行出圖,但其基本原理是投影出圖,無法進行展開表達,因此對于扭曲構(gòu)件的出圖效果尚不理想,需要進一步探討解決方案。
3)使用出圖程序?qū)Y(jié)構(gòu)模型出圖,在減少設計人員的繪圖工作量的同時又提升了圖紙質(zhì)量,有利于現(xiàn)階段三維設計的發(fā)展和推廣。