馬曉平,顧 穎,趙 旭
(1.江蘇科技大學(xué) 船舶與海洋工程學(xué)院,江蘇 鎮(zhèn)江 212003;2.江蘇現(xiàn)代造船技術(shù)有限公司,江蘇 鎮(zhèn)江 212003)
造船及海工設(shè)計系統(tǒng)(AVEVA Marine,AM)是英國劍維(AVEVA)公司推出的三維設(shè)計軟件,具備解決復(fù)雜工程設(shè)計和管理問題的能力,可提高設(shè)計效率、增強數(shù)據(jù)安全性[1]。為滿足客戶化需求,AM提供友好界面和豐富接口,方便用戶通過二次開發(fā)解決使用中的需求問題[2]。
AM軟件雖已具備許多功能,但仍有一些功能無法滿足設(shè)計需求。在艙室絕緣建模的過程中,AM自帶的建模方法對于曲面絕緣及型材絕緣建模,手工量較大,過于繁瑣,效率低下,因此基于AM的艙室絕緣快速建模開發(fā)十分必要。在AM原生功能的基礎(chǔ)上,采用可編程宏語言(PML)開發(fā)曲面絕緣及型材絕緣建模的二次開發(fā)程序,實現(xiàn)艙室絕緣快速建模,提高生產(chǎn)設(shè)計效率,最終實現(xiàn)降本增效。
AM沒有專門用于絕緣建模的功能,用戶在舾裝模塊的Structrue子模塊中通過平面板材建模功能對絕緣進行拼湊建模,建立的絕緣模型存儲在WORLD-SITE-ZONE-STRU-FRAM數(shù)據(jù)結(jié)構(gòu)下[3]。絕緣建模過程如圖1所示。
圖1 絕緣建模過程
對于曲面絕緣,將圖1(a)中1塊2 500 mm×4 000 mm規(guī)格的曲面板材分割為500 mm×500 mm的平面板,需要反復(fù)打開Create Panel界面,建立40塊平面絕緣,通過旋轉(zhuǎn)角度使板材與曲面貼合,從而構(gòu)成曲面絕緣。對于型材絕緣,每次在敷設(shè)相同形狀不同尺寸的絕緣時,均需要通過手動測量或查看型材屬性獲取尺寸信息,逐點選取建立型材絕緣,圖1(b)中的角鋼絕緣需要獲取16個點的絕緣坐標(biāo),影響建模效率和質(zhì)量。
AM的平面板材建模方法適于平面絕緣,但對于曲面絕緣和型材絕緣存在2個缺陷:(1)工作量較大,重復(fù)性操作多,效率低下;(2)準(zhǔn)確性低,在敷設(shè)過程中較易造成錯誤且難以發(fā)現(xiàn)。
PML是AVEVA公司量身定制的一種開發(fā)語言,可與AM軟件無縫銜接,直接在AM中調(diào)試,不需要編譯即可運行。PML可實現(xiàn)圖標(biāo)繪制、模型修改、報表生成、數(shù)據(jù)抽取等多種功能[4]。通過PML對AM進行二次開發(fā),設(shè)計由板材絕緣和型材絕緣組成的艙室絕緣用戶界面。
曲面絕緣建模開發(fā)流程如圖2所示。
圖2 曲面絕緣開發(fā)流程
2.1.1 拾取曲面板材對角線端點并劃分網(wǎng)格
曲面板材對角線端點信息的獲取是網(wǎng)格劃分的基礎(chǔ),采用PickCpoints(!option)方法進行拾取操作。在!option為CORNER時,通過實例化對象EDGPACKET的definePosition()方法,存儲拾取的曲面板材對角線端點的位置和方位信息。根據(jù)對角線端點的位置及偏移方向,判斷網(wǎng)格面朝向,計算網(wǎng)格的行數(shù)和列數(shù)。程序自動對網(wǎng)格進行劃分,由于曲面絕緣的建立按照一定順序,每3個點建立1個三角形,每2個三角形組成1塊絕緣,通過多塊絕緣構(gòu)成曲面絕緣,因此在網(wǎng)格劃分時,網(wǎng)格點標(biāo)號按照一定順序排列,如圖3所示。在圖3中,R為網(wǎng)格行數(shù),C為網(wǎng)格列數(shù)!this.columnCount。
圖3 網(wǎng)格點標(biāo)號
根據(jù)網(wǎng)格點標(biāo)號可得出網(wǎng)格點對應(yīng)的平面坐標(biāo),定義!index為圖3網(wǎng)格點標(biāo)號。通過GetQuadPointsMatrixIndecies(!index is real)方法計算網(wǎng)格點!index對應(yīng)的坐標(biāo)。在!index為(R-1)C時,網(wǎng)格點坐標(biāo)為(1,C),網(wǎng)格點平面坐標(biāo)如圖4所示。
圖4 網(wǎng)格點平面坐標(biāo)
2.1.2 拾取分析曲面板材網(wǎng)格點并建板
曲面板材網(wǎng)格點的拾取操作通過PickCpoints(!option)方法實現(xiàn)。在!option為NODE時,采用GetNodePosC(!picked)方法存儲拾取的曲面板材網(wǎng)格點的位置信息。通過GetNodePosF()方法分析拾取的曲面板材網(wǎng)格點,得到網(wǎng)格板端點最終位置。網(wǎng)格板端點最終位置的3種情況如圖5所示。若拾取的是一個平面,則網(wǎng)格點所在直線與平面的交點即為最終的網(wǎng)格板端點;若拾取的是一條直線,則網(wǎng)格點所在直線與拾取直線的交點為最終的網(wǎng)格板端點;若拾取的是曲面上的一點,則最終的網(wǎng)格板端點為拾取點在網(wǎng)格點所在直線的投影點。GetNodePosF()方法精簡以往頻繁打開Create Panel界面進行選取的步驟,僅需要根據(jù)輔助提示進行拾取,在對拾取的信息自動判斷后獲得網(wǎng)格板端點的最終位置,保證網(wǎng)格板端點位置的準(zhǔn)確性。
圖5 網(wǎng)格板端點最終位置的3種情況
網(wǎng)格板端點在不同網(wǎng)格中具有不同的表示方式,通過GetFourPointsCoor()方法得到并存儲在!this.fourPointsCoor數(shù)組中。在!this.fourPointsCoor[a][b][c]中,a和b為網(wǎng)格坐標(biāo)索引值,c為在以(a,b)坐標(biāo)為起點的網(wǎng)格位置。以圖6中坐標(biāo)索引為(2,2)的點為例,該點在網(wǎng)格①中為第四點,用數(shù)組元素[1][1][4]表示。
圖6 網(wǎng)格板端點表示方式
網(wǎng)格板端點按照一定規(guī)則自動整合,通過CreateCPanel()方法建立絕緣模型,1個網(wǎng)格的第一點、第二點和第三點構(gòu)成1塊panel,第二點、第三點和第四點構(gòu)成1塊panel,核心代碼如圖7所示。通過循環(huán)語句快速建立曲面絕緣,免去以往手動單塊建模的繁瑣操作,大幅提高建模速度。
圖7 CreateCPanel()方法核心代碼
艙室型材絕緣主要由球扁鋼絕緣、角鋼絕緣及T型材絕緣等構(gòu)成。根據(jù)絕緣形狀將型材絕緣分為8種敷設(shè)類型,如圖8所示,其中:W為絕緣厚度;T為型材厚度;D為型材高度;X為絕緣與型材之間的角度;A為型材底端的長度;C為面板厚度;L為絕緣一邊的長度。通過上述參數(shù)確定型材絕緣的形狀與大小,可通過參數(shù)化建模思想[5]實現(xiàn)型材絕緣建模。
圖8 型材絕緣敷設(shè)類型
型材絕緣開發(fā)流程如圖9所示。開發(fā)重點是參數(shù)獲取,對型材的幾何尺寸進行參數(shù)設(shè)計,在敷設(shè)形狀相同尺寸不同的型材絕緣模型時,僅需要設(shè)定不同參數(shù)值,并不需要重新建立即可快速建立不同規(guī)格類型的型材絕緣模型。
圖9 型材絕緣開發(fā)流程
以球扁鋼絕緣建模為例。在1塊板材上建立多個絕緣,通過EDGPACKET對象的elementPick()方法選取1塊類型為HPLATE的板材,采用Collection方法抽取板材上所有Gtype屬性為BULB的型材,采用PML1語法抽取型材的Position、Orientation、TolLen和Cparam屬性,其中:TolLen為型材長度;Cparam為數(shù)組類型,存儲型材厚度、高度等信息。通過對型材信息的抽取,免去頻繁手動測量數(shù)據(jù)和查看屬性的操作,一步拾取板材的操作即可快速獲得大量型材的數(shù)據(jù)信息。根據(jù)方位屬性分析,計算面板的朝向Facing Dir和延伸方向Running Dir。對位置屬性獲取的坐標(biāo)點延面板朝向平移Cpara[1]的數(shù)值,可得到絕緣剖面原點。在原點確定后,利用參數(shù)化建模思想,通過參數(shù)變量控制絕緣的尺寸和形狀。在得到絕緣坐標(biāo)值后,可快速創(chuàng)建型材絕緣。
絕緣快速建模程序界面如圖10所示。
圖10 絕緣快速建模程序界面
在絕緣快速建模過程中,用戶主要通過三大步驟進行絕緣建模。第一步,模型拾取。在曲面絕緣建模界面中,通過Pick Corner Points、Add Node Points和Delete Last Point等3個按鈕根據(jù)輔助提示拾取對角線端點及網(wǎng)格點數(shù)據(jù)。在型材絕緣界面中,通過Pick Item按鈕拾取1塊板架,可快速收集板架上所有型材的信息。第二步,絕緣敷設(shè)材料選擇及尺寸參數(shù)輸入。程序通過拾取的信息及獲取的輸入?yún)?shù),自動計算構(gòu)建Panel各Pave點的最終位置。第三步,點擊Create按鈕,快速生成絕緣模型。分別以散貨船駕駛艙室的艙壁和1塊曲面板材為例,絕緣建模效果如圖11所示。
圖11 絕緣建模效果
以1艘38 000 t散貨船為例,分別使用AM原生建模功能和絕緣快速建模開發(fā)工具進行絕緣建模,對建模效率進行對比,結(jié)果如表1所示。船上所有曲面絕緣建模可節(jié)省82.9 h,所有型材絕緣建??晒?jié)省238.7 h,綜合可節(jié)省13.4 d的設(shè)計工時,由此得出二次開發(fā)絕緣建模效率明顯優(yōu)于原生建模,驗證二次開發(fā)的高效性。
表1 建模效率對比
基于PML在AM中進行二次開發(fā),實現(xiàn)艙室絕緣快速建模,改變手動測量或查找屬性獲取數(shù)據(jù)進行絕緣建模的模式,僅需要通過模型拾取動作即可獲取數(shù)據(jù)信息,計算絕緣坐標(biāo),完成絕緣建模工作。相對于原生平面板材建模功能,采用二次開發(fā)的絕緣建模程序功能更強,可為設(shè)計人員節(jié)約大量設(shè)計時間,大幅縮短船舶設(shè)計周期,最終實現(xiàn)降本增效。
[][]