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