王星宇, 王炬成, 袁飛暉, 趙 旭
(1.江蘇科技大學(xué) 船舶與海洋工程學(xué)院,江蘇 鎮(zhèn)江 212100;2.上海外高橋造船有限公司,上海 200137;3.江蘇現(xiàn)代造船技術(shù)有限公司,江蘇 鎮(zhèn)江 212003)
造船和海洋工程設(shè)計系統(tǒng)(AVEVA Marine,AM)是英國劍維公司(AVEVA)推出的三維設(shè)計軟件,主要用于船舶設(shè)計領(lǐng)域,是國內(nèi)船廠占有率較高的三維設(shè)計軟件之一。AM的特點是Design模塊元件信息與存儲于Paragon元件庫模塊的數(shù)據(jù)庫信息分別存儲,并可實時共享,保證軟件運行和數(shù)據(jù)的安全性[1]。AM功能十分強大,不僅可實現(xiàn)多專業(yè)用戶協(xié)同設(shè)計,建立一個完整的數(shù)字化三維仿真模型,而且可利用其可編程宏語言(Programmable Macro Language,PML)接口和.NET接口進行軟件二次開發(fā)[2]。
由于船舶建造的復(fù)雜性和多樣性,因此各船廠均需要根據(jù)自身情況對軟件進行二次開發(fā)。國內(nèi)很多學(xué)者對此進行研究。馬曉平等[3]和顧穎[4]針對艙室絕緣快速建模進行二次開發(fā),取得良好成效。逯濤[5]基于AM開發(fā)報表、余料管理系統(tǒng)和自動化出圖等功能,較好地解決實際生產(chǎn)中的問題。唐志廣等[6]基于AM開發(fā)快速生成船體套料圖程序,效率提升十分明顯。由于在AM元件庫創(chuàng)建過程中,針對各類復(fù)雜件建模的工作量較大,且容易出錯、效率低下,因此采用C#對AM進行二次開發(fā),尋求一種適用于快速生產(chǎn)元件庫的簡易化創(chuàng)建工具,提高生產(chǎn)設(shè)計效率。
AM元件庫創(chuàng)建十分繁瑣,對船舶各專業(yè)的元件庫均具有不同的模塊和創(chuàng)建內(nèi)容,但創(chuàng)建步驟存在相似之處。具體過程如下:
(1)生成管理層次。創(chuàng)建包括Catalogue(項目庫)、Section(元件類型)、Category(元件分類)在內(nèi)的3個管理層次。
(2)確定參數(shù)。根據(jù)文件標(biāo)準(zhǔn)確定所需參數(shù)并輸入其參數(shù)值。
(3)生成點集(或Pline集)。用于標(biāo)注元件中的重要點位和參考點(或參考線)。
(4)生成型集。用于約束元件形狀,創(chuàng)建簡化模型和干涉空間等。
(5)生成數(shù)據(jù)集。記錄元件的重要參數(shù)并對其進行描述。
(6)創(chuàng)建元件描述??煞謩e創(chuàng)建元件的TEXT(文本描述)、SDTE(細節(jié)描述)和SMTE(材料描述)。
(7)創(chuàng)建零件庫。將元件分類并為元件的常規(guī)屬性賦值。
(8)創(chuàng)建表庫??筛鶕?jù)需求創(chuàng)建管徑表(Size Range Table)、支管表(Branch Table)、異徑表(Reducer Table)、壁厚表(Wall Thickness Table)和管道數(shù)據(jù)表(Pipe Data Table)等。
(9)創(chuàng)建質(zhì)量文件。在Properties界面中創(chuàng)建CMPD(附件數(shù)據(jù))、TUBD(管材數(shù)據(jù))、CABD(電纜數(shù)據(jù))等。
(10)創(chuàng)建SPCO(規(guī)格書)。
由上述步驟可知:AM建庫工作十分復(fù)雜,涉及多個模塊、多個界面和重復(fù)操作,使設(shè)計人員很容易誤操作導(dǎo)致返工。
AM目前支持兩種開發(fā)語言:AM提供的PML和.NET平臺的開發(fā)語言C#。AM不僅為用戶提供一系列較為全面的.NET API接口,覆蓋軟件的絕大部分功能,而且可直接將.NET的開發(fā)界面加載至AM窗口中,結(jié)合C#自身優(yōu)勢,可使.NET方法比PML方法具有更好的維護性和延展性[7]。推薦開發(fā)者使用C#進行二次開發(fā)。
船體元件庫在Paragon模塊的Steelwork子模塊下創(chuàng)建,內(nèi)容包括板厚、輪廓、參考點、簡化模型和干涉空間等。船體元件庫開發(fā)流程如下:根據(jù)CreatFirst創(chuàng)建元件的CATA(目錄)和SPRF(本體),其關(guān)聯(lián)信息為GMSS(幾何數(shù)據(jù))、PTSS(點軸數(shù)據(jù))和DTSE(參數(shù)數(shù)據(jù));利用SetAttribute確定元件所需參數(shù)并賦值;采用CreatFirst創(chuàng)建Pline集、型集和數(shù)據(jù)集,元件參考線存儲于Pline集,元件模型輪廓、簡化模型和干涉空間存儲于型集;創(chuàng)建SPWL(規(guī)格書庫),并將元件參數(shù)信息通過SetAttribute匹配鏈接至SPCO即可完成創(chuàng)建。
船體元件庫快速創(chuàng)建界面如圖1所示,其中,序號①~⑦為操作步驟。操作步驟如下:①點擊CE按鈕,選擇創(chuàng)建元件的儲存位置;②填寫元件名稱;③通過radioGroup控件選擇元件類型,每種元件類型對應(yīng)不同參數(shù);④選擇創(chuàng)建標(biāo)準(zhǔn)和元件種類;⑤根據(jù)類型選擇或填寫具體的元件參數(shù);⑥創(chuàng)建匹配元件的SPCO;⑦點擊創(chuàng)建按鈕。
圖1 船體元件庫快速創(chuàng)建界面
通過上述步驟完成船體元件庫創(chuàng)建。船體元件庫結(jié)構(gòu)樹如圖2所示。
圖2 船體元件庫結(jié)構(gòu)樹
輪機元件庫在Paragon模塊的Pipework子模塊下創(chuàng)建,內(nèi)容包括各類管材、管附件和閥件等。
輪機元件庫開發(fā)流程如下:根據(jù)CreatFirst創(chuàng)建元件的CATA和SCOM(組件);利用SetAttribute確定元件所需參數(shù)并賦值;采用CreatFirst創(chuàng)建點集、型集和數(shù)據(jù)集,元件參考點存儲于點集,元件模型輪廓、簡化模型和干涉空間存儲于型集,各種參數(shù)信息存儲于數(shù)據(jù)集;創(chuàng)建SDTE和SMTE;創(chuàng)建TABWLD(表庫)和PRTWLD(零件庫);創(chuàng)建SPWL,并將元件參數(shù)信息匹配鏈接至SPCO即可完成創(chuàng)建。
輪機元件庫快速創(chuàng)建界面如圖3所示,其中,序號①~⑦為操作步驟。操作步驟與船體元件庫快速創(chuàng)建相同。
圖3 輪機元件庫快速創(chuàng)建界面
通過上述步驟完成輪機元件庫創(chuàng)建。輪機元件庫結(jié)構(gòu)樹如圖4所示。
圖4 輪機元件庫結(jié)構(gòu)樹
電氣元件庫在Paragon模塊的Electrical子模塊下創(chuàng)建,內(nèi)容包括電纜、電纜托架、貫穿件和電纜節(jié)點等。電氣元件庫開發(fā)流程如下:根據(jù)CreatFirst創(chuàng)建元件的CATA和SCOM;確定元件所需參數(shù)并賦值,電纜需要創(chuàng)建電纜芯數(shù)和標(biāo)稱截面面積等,Purpose變量應(yīng)賦值CORE(電纜托架為TRAY,電纜節(jié)點為REPR);采用CreatFirst創(chuàng)建點集、型集和數(shù)據(jù)集,元件參考點和電纜節(jié)點等存儲于點集,電纜托架和貫穿件等模型輪廓存儲于型集,各種參數(shù)信息存儲于數(shù)據(jù)集;創(chuàng)建TEXT和PRTWLD;創(chuàng)建SPWL,并將元件參數(shù)信息匹配鏈接至SPCO即可完成創(chuàng)建。
電氣元件庫快速創(chuàng)建界面如圖5所示,其中,序號①~⑦為操作步驟。操作步驟與船體元件庫快速創(chuàng)建相同。
圖5 電氣元件庫快速創(chuàng)建界面
通過上述步驟完成電氣元件庫創(chuàng)建。電氣元件庫結(jié)構(gòu)樹如圖6所示。
圖6 電氣元件庫結(jié)構(gòu)樹
針對板材、型材和管材等需要大規(guī)模創(chuàng)建的元件,可直接導(dǎo)入規(guī)定格式的外部文件.xls,通過識別各列關(guān)鍵參數(shù)和類型,實現(xiàn)批量快速創(chuàng)建元件庫的功能。元件庫批量創(chuàng)建界面如圖7所示。操作步驟如下:①點擊導(dǎo)入按鈕,選擇.xls文件;②點擊創(chuàng)建按鈕。
圖7 元件庫批量創(chuàng)建界面
以2艘風(fēng)電安裝船為例,使用AM元件庫創(chuàng)建功能與元件庫快速創(chuàng)建工具對所有被定義的船舶元件進行創(chuàng)建,并對建庫效率進行對比。
建庫效率對比如表1所示。所有定義的元件數(shù)量分別為18 828個和19 228個,其創(chuàng)建時間分別節(jié)省615.0 h和646.0 h,元件庫快速創(chuàng)建工具效率明顯優(yōu)于AM元件庫建庫功能。
表1 建庫效率對比
批量建庫效率對比如表2所示。定義的元件數(shù)量分別為576個和692個,其創(chuàng)建時間分別節(jié)省19.5 h和24.1 h,元件庫快速創(chuàng)建工具批量建庫功能明顯優(yōu)于AM元件庫建庫功能,且時間基本用于創(chuàng)建表格。
表2 批量建庫效率對比
元件庫快速創(chuàng)建工具基于C#在AM中的開發(fā)程序,實現(xiàn)船舶元件庫快速創(chuàng)建,改變繁瑣復(fù)雜的傳統(tǒng)建庫模式。相對于AM元件庫創(chuàng)建功能,基于二次開發(fā)的元件庫快速創(chuàng)建工具功能性更強,可大量降低設(shè)計人力和時間的投入,提高設(shè)計工作效率和精細化設(shè)計水平,提升產(chǎn)品設(shè)計質(zhì)量,縮短產(chǎn)品制造周期,提升市場成本競爭優(yōu)勢。