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