譚 冬,唐志廣
(大連中遠(yuǎn)海運(yùn)重工有限公司,遼寧大連 116113)
AVEVA Marine(AM)是目前世界上最先進(jìn)的船舶三維設(shè)計(jì)軟件之一,由英國AVEVA公司研發(fā)。AM主要分為舾裝設(shè)計(jì)模塊和船體設(shè)計(jì)模塊。舾裝設(shè)計(jì)模塊由工廠設(shè)計(jì)管理系統(tǒng)(Plant Design Management System,PDMS)升級(jí)而來,船體設(shè)計(jì)模塊由TRIBON軟件升級(jí)而來。AM軟件功能強(qiáng)大,可輕松實(shí)現(xiàn)對船舶設(shè)計(jì)過程中各專業(yè)的協(xié)同設(shè)計(jì)。
三維建模是船體結(jié)構(gòu)三維設(shè)計(jì)的基礎(chǔ),根據(jù)數(shù)字孿生的要求,只有建立正確的模型才能建造出正確的實(shí)船。AM軟件提供了強(qiáng)大的三維建模功能,可幫助船舶設(shè)計(jì)師完成復(fù)雜的建模工作。考慮到自身施工能力,船廠通常將一條船劃分為多個(gè)分段,每個(gè)分段又分為成百上千個(gè)構(gòu)件,構(gòu)件和構(gòu)件之間需要按照設(shè)計(jì)規(guī)范規(guī)定的連接方式進(jìn)行裝配和焊接。由此可見,要設(shè)計(jì)出正確的模型,不僅要保證構(gòu)件的材質(zhì)正確,也要保證構(gòu)件的位置、大小等幾何特性正確,還要保證構(gòu)件之間的連接方式是正確的。然而,AM并未提供相關(guān)的模型檢查功能,在實(shí)際的設(shè)計(jì)工作中,模型檢查任務(wù)往往由設(shè)計(jì)師人工完成,在數(shù)量龐大的構(gòu)件之中檢查結(jié)構(gòu)設(shè)計(jì)是否符合規(guī)范要求十分耗時(shí)費(fèi)力。為減輕設(shè)計(jì)壓力,利用軟件開發(fā)手段自動(dòng)化檢查模型成為優(yōu)先選擇。本文以變高型材對接處的連接代碼檢查為例,對AM二次開發(fā)在船體模型檢查中的應(yīng)用進(jìn)行探索。
利用AM進(jìn)行船體生產(chǎn)設(shè)計(jì)建模時(shí),經(jīng)常會(huì)遇到變高型材對接的情況,需要對模型對接處進(jìn)行特殊處理。如圖1(a)所示,若不進(jìn)行特殊處理,直接按普通對接方式建模,則會(huì)在2個(gè)型材對接處產(chǎn)生一個(gè)高度差,形成結(jié)構(gòu)缺陷。一般處理方法如圖1(b)所示,從較大的型材上切除陰影部分(切除部分的長度參考規(guī)格書或設(shè)計(jì)規(guī)范的要求,一般為高度差的4倍),再將角鋼面板(或球扁鋼的球頭)部分向下壓,形成如圖1(c)所示的形狀,然后將角鋼面板(或球扁鋼球頭)與腹板焊接好,最后再焊接2個(gè)型材的對接部分。
圖1 變高型材對接處理方式
針對變高型材,AM軟件提供了如圖2所示的3種端切樣式,配合靈活的參數(shù)設(shè)置(a為切除寬度,b為切除高度,R為切除半徑),基本可覆蓋大多數(shù)情況下的建模需求。若需要特殊形式的端切,可利用AM軟件提供的自定義端切功能,進(jìn)入系統(tǒng)初始化模塊創(chuàng)建自定義的特殊端切樣式,供建模使用。
圖2 變高型材對接端切代碼
由于船體模型中的加強(qiáng)筋規(guī)格繁多、結(jié)構(gòu)復(fù)雜,且建模人員的水平參差不齊,故模型端切代碼難免會(huì)出現(xiàn)一些錯(cuò)誤設(shè)置。特別是2個(gè)分段的對接處,一旦相關(guān)設(shè)計(jì)人員溝通不及時(shí),極易出現(xiàn)設(shè)計(jì)錯(cuò)誤,這會(huì)造成較大的返工或材料損失。因此,進(jìn)行模型檢查十分必要??紤]到人工檢查工作量巨大,可利用AM二次開發(fā)的方法編制程序,自動(dòng)、批量執(zhí)行模型檢查工作,可有效提高模型檢查的效率和準(zhǔn)確性。
AM軟件使船舶生產(chǎn)設(shè)計(jì)的各個(gè)專業(yè)實(shí)現(xiàn)了數(shù)字化,大大提高了設(shè)計(jì)的效率和準(zhǔn)確性。然而,由于每個(gè)船廠的客觀條件不同,須考慮到客戶的定制化需求,AM軟件可提供豐富的二次開發(fā)接口和友好的界面,以便用戶根據(jù)本工廠的實(shí)際情況與需求進(jìn)行二次開發(fā),進(jìn)而解決各種實(shí)際問題。
AM軟件的二次開發(fā)體系架構(gòu)如圖3所示,對AM 軟件進(jìn)行二次開發(fā)可采用可編程的宏語言(Programming Marco Language ,PML)方法和Net方法,以及這2種方法都可調(diào)用的公共應(yīng)用程序框架(Common Application Framework,CAF)數(shù)據(jù)抽取接口。其中PML方法主要用于舾裝模塊,NET方法主要用于船體模塊和舾裝模塊。本文采用NET方法提供的接口和功能進(jìn)行開發(fā)。
圖3 AM二次開發(fā)體系架構(gòu)
模型中各構(gòu)件之間的連接方式通常由1串?dāng)?shù)字代碼表示。AM二次開發(fā)程序首先接收用戶輸入的分段名列表,其中包含需要檢查的分段的名稱。隨后,AM二次開發(fā)程序提取分段名列表中各個(gè)分段的型材,并將這些型材信息另存為1個(gè)型材列表。在此之后,對型材列表中的每個(gè)型材兩兩配對,通過計(jì)算每對型材端頭的距離是否小于某個(gè)特定值δ來判斷型材端頭是否處于對接狀態(tài)。若發(fā)現(xiàn)2個(gè)型材的端頭是對接的,則比較其高度差是否小于特定的差值Δh,如果高度差大于Δh,還需判斷端切代碼是否符合特定的代碼值。為減少程序后續(xù)的編譯次數(shù)并提高通用性,需要將型材的端頭距離δ、型材的高度差Δh、型材端切特定代碼值(列表)設(shè)置于相應(yīng)配置文件中,程序通過配置文件獲取具體的數(shù)值供計(jì)算或判斷時(shí)使用。將上述工作流程繪制成程序流程圖,見圖4。
圖4 變高型材端切代碼檢查程序流程圖
初始化是在執(zhí)行AM加載項(xiàng)前必要的準(zhǔn)備工作。本程序的配置文件是一個(gè)文本文件,保存有型材端頭的距離δ、型材的高度差Δh以及端切代碼列表等信息,程序開始時(shí)讀取此配置文件中的信息供后續(xù)使用。
在AM模型中,每個(gè)分段包括許多板架,板架中包含眾多的板材、肘板和型材等構(gòu)件。要提取分段中的型材信息,需要先提取分段中的各個(gè)板架信息,然后再提取板架中的型材信息,最后將這些信息合并到一個(gè)列表中。在提取型材列表后,即可對這些型材逐一進(jìn)行端切檢查。
檢查結(jié)果保存在加強(qiáng)筋列表中。將保存在加強(qiáng)筋列表中所有端切異常的加強(qiáng)筋提取出來,即可得到檢查結(jié)果。為方便查看,本程序可將檢查結(jié)果導(dǎo)出為表格,也可將端頭展現(xiàn)在三維視圖中,供設(shè)計(jì)師或?qū)徍巳藛T審閱。
本文為解決人工檢查船體模型工作量大、效率低下、準(zhǔn)確性差的問題,以變高型材對接處的連接代碼檢查為例,對AM二次開發(fā)在船體模型檢查中的應(yīng)用進(jìn)行探索。AM二次開發(fā)程序1 min內(nèi)即可完成人工檢查2 h的工作量,可有效提高模型檢查的效率和準(zhǔn)確性。