王星宇, 王炬成, 袁飛暉, 趙 旭
(1.江蘇科技大學 船舶與海洋工程學院,江蘇 鎮江 212100;2.上海外高橋造船有限公司,上海 200137;3.江蘇現代造船技術有限公司,江蘇 鎮江 212003)
造船和海洋工程設計系統(AVEVA Marine,AM)是英國劍維公司(AVEVA)推出的三維設計軟件,主要用于船舶設計領域,是國內船廠占有率較高的三維設計軟件之一。AM的特點是Design模塊元件信息與存儲于Paragon元件庫模塊的數據庫信息分別存儲,并可實時共享,保證軟件運行和數據的安全性[1]。AM功能十分強大,不僅可實現多專業用戶協同設計,建立一個完整的數字化三維仿真模型,而且可利用其可編程宏語言(Programmable Macro Language,PML)接口和.NET接口進行軟件二次開發[2]。
由于船舶建造的復雜性和多樣性,因此各船廠均需要根據自身情況對軟件進行二次開發。國內很多學者對此進行研究。馬曉平等[3]和顧穎[4]針對艙室絕緣快速建模進行二次開發,取得良好成效。逯濤[5]基于AM開發報表、余料管理系統和自動化出圖等功能,較好地解決實際生產中的問題。唐志廣等[6]基于AM開發快速生成船體套料圖程序,效率提升十分明顯。由于在AM元件庫創建過程中,針對各類復雜件建模的工作量較大,且容易出錯、效率低下,因此采用C#對AM進行二次開發,尋求一種適用于快速生產元件庫的簡易化創建工具,提高生產設計效率。
AM元件庫創建十分繁瑣,對船舶各專業的元件庫均具有不同的模塊和創建內容,但創建步驟存在相似之處。具體過程如下:
(1)生成管理層次。創建包括Catalogue(項目庫)、Section(元件類型)、Category(元件分類)在內的3個管理層次。
(2)確定參數。根據文件標準確定所需參數并輸入其參數值。
(3)生成點集(或Pline集)。用于標注元件中的重要點位和參考點(或參考線)。
(4)生成型集。用于約束元件形狀,創建簡化模型和干涉空間等。
(5)生成數據集。記錄元件的重要參數并對其進行描述。
(6)創建元件描述。可分別創建元件的TEXT(文本描述)、SDTE(細節描述)和SMTE(材料描述)。
(7)創建零件庫。將元件分類并為元件的常規屬性賦值。
(8)創建表庫。可根據需求創建管徑表(Size Range Table)、支管表(Branch Table)、異徑表(Reducer Table)、壁厚表(Wall Thickness Table)和管道數據表(Pipe Data Table)等。
(9)創建質量文件。在Properties界面中創建CMPD(附件數據)、TUBD(管材數據)、CABD(電纜數據)等。
(10)創建SPCO(規格書)。
由上述步驟可知:AM建庫工作十分復雜,涉及多個模塊、多個界面和重復操作,使設計人員很容易誤操作導致返工。
AM目前支持兩種開發語言:AM提供的PML和.NET平臺的開發語言C#。AM不僅為用戶提供一系列較為全面的.NET API接口,覆蓋軟件的絕大部分功能,而且可直接將.NET的開發界面加載至AM窗口中,結合C#自身優勢,可使.NET方法比PML方法具有更好的維護性和延展性[7]。推薦開發者使用C#進行二次開發。
船體元件庫在Paragon模塊的Steelwork子模塊下創建,內容包括板厚、輪廓、參考點、簡化模型和干涉空間等。船體元件庫開發流程如下:根據CreatFirst創建元件的CATA(目錄)和SPRF(本體),其關聯信息為GMSS(幾何數據)、PTSS(點軸數據)和DTSE(參數數據);利用SetAttribute確定元件所需參數并賦值;采用CreatFirst創建Pline集、型集和數據集,元件參考線存儲于Pline集,元件模型輪廓、簡化模型和干涉空間存儲于型集;創建SPWL(規格書庫),并將元件參數信息通過SetAttribute匹配鏈接至SPCO即可完成創建。
船體元件庫快速創建界面如圖1所示,其中,序號①~⑦為操作步驟。操作步驟如下:①點擊CE按鈕,選擇創建元件的儲存位置;②填寫元件名稱;③通過radioGroup控件選擇元件類型,每種元件類型對應不同參數;④選擇創建標準和元件種類;⑤根據類型選擇或填寫具體的元件參數;⑥創建匹配元件的SPCO;⑦點擊創建按鈕。

圖1 船體元件庫快速創建界面
通過上述步驟完成船體元件庫創建。船體元件庫結構樹如圖2所示。

圖2 船體元件庫結構樹
輪機元件庫在Paragon模塊的Pipework子模塊下創建,內容包括各類管材、管附件和閥件等。
輪機元件庫開發流程如下:根據CreatFirst創建元件的CATA和SCOM(組件);利用SetAttribute確定元件所需參數并賦值;采用CreatFirst創建點集、型集和數據集,元件參考點存儲于點集,元件模型輪廓、簡化模型和干涉空間存儲于型集,各種參數信息存儲于數據集;創建SDTE和SMTE;創建TABWLD(表庫)和PRTWLD(零件庫);創建SPWL,并將元件參數信息匹配鏈接至SPCO即可完成創建。
輪機元件庫快速創建界面如圖3所示,其中,序號①~⑦為操作步驟。操作步驟與船體元件庫快速創建相同。

圖3 輪機元件庫快速創建界面
通過上述步驟完成輪機元件庫創建。輪機元件庫結構樹如圖4所示。

圖4 輪機元件庫結構樹
電氣元件庫在Paragon模塊的Electrical子模塊下創建,內容包括電纜、電纜托架、貫穿件和電纜節點等。電氣元件庫開發流程如下:根據CreatFirst創建元件的CATA和SCOM;確定元件所需參數并賦值,電纜需要創建電纜芯數和標稱截面面積等,Purpose變量應賦值CORE(電纜托架為TRAY,電纜節點為REPR);采用CreatFirst創建點集、型集和數據集,元件參考點和電纜節點等存儲于點集,電纜托架和貫穿件等模型輪廓存儲于型集,各種參數信息存儲于數據集;創建TEXT和PRTWLD;創建SPWL,并將元件參數信息匹配鏈接至SPCO即可完成創建。
電氣元件庫快速創建界面如圖5所示,其中,序號①~⑦為操作步驟。操作步驟與船體元件庫快速創建相同。

圖5 電氣元件庫快速創建界面
通過上述步驟完成電氣元件庫創建。電氣元件庫結構樹如圖6所示。

圖6 電氣元件庫結構樹
針對板材、型材和管材等需要大規模創建的元件,可直接導入規定格式的外部文件.xls,通過識別各列關鍵參數和類型,實現批量快速創建元件庫的功能。元件庫批量創建界面如圖7所示。操作步驟如下:①點擊導入按鈕,選擇.xls文件;②點擊創建按鈕。

圖7 元件庫批量創建界面
以2艘風電安裝船為例,使用AM元件庫創建功能與元件庫快速創建工具對所有被定義的船舶元件進行創建,并對建庫效率進行對比。
建庫效率對比如表1所示。所有定義的元件數量分別為18 828個和19 228個,其創建時間分別節省615.0 h和646.0 h,元件庫快速創建工具效率明顯優于AM元件庫建庫功能。

表1 建庫效率對比
批量建庫效率對比如表2所示。定義的元件數量分別為576個和692個,其創建時間分別節省19.5 h和24.1 h,元件庫快速創建工具批量建庫功能明顯優于AM元件庫建庫功能,且時間基本用于創建表格。

表2 批量建庫效率對比
元件庫快速創建工具基于C#在AM中的開發程序,實現船舶元件庫快速創建,改變繁瑣復雜的傳統建庫模式。相對于AM元件庫創建功能,基于二次開發的元件庫快速創建工具功能性更強,可大量降低設計人力和時間的投入,提高設計工作效率和精細化設計水平,提升產品設計質量,縮短產品制造周期,提升市場成本競爭優勢。