王佩瑜 宋一淇 高偉
摘要:隨著三維設(shè)計軟件應(yīng)用的深入,基于底層數(shù)據(jù)對軟件進行客制化二次開發(fā)的需求逐漸增多。針對主流的船舶設(shè)計軟件FORAN,首先對舾裝各模塊之間的關(guān)系及鐵舾件建模的方法進行了分析,明確了研究的對象。然后,通過模型分析及數(shù)據(jù)庫監(jiān)測等方法,確定與鐵舾件模型密切相關(guān)的數(shù)據(jù)表,進而對這些表的字段、差異性以及關(guān)聯(lián)關(guān)系進行了詳細分析。最后,根據(jù)對表的分析結(jié)果,結(jié)合鐵舾件重量重心屬性的解析方法給出了其應(yīng)用的途徑。對鐵舾件底層數(shù)據(jù)的研究結(jié)果,可用于模型各種屬性的解析及其深度利用。
關(guān)鍵詞:鐵舾件;三維模型;數(shù)據(jù)結(jié)構(gòu);數(shù)據(jù)分析;FORAN
中圖分類號:U662.9? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文獻標識碼:A? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文章編號:1674-957X(2021)02-0199-02
0? 引言
三維設(shè)計作為提高船舶設(shè)計制造效率和質(zhì)量的有效手段,以及作為數(shù)字樣船及虛擬仿真技術(shù)的基礎(chǔ),正在被越來越廣泛地應(yīng)用于船舶的設(shè)計制造過程中。目前,國內(nèi)許多設(shè)計院所、船廠都已在設(shè)計制造過程中應(yīng)用了三維CAD/CAM系統(tǒng),如國外引進的CADDS5、TRIBON、FORAN、CATIA,以及國產(chǎn)的東欣,SB3DS等[1-2]。
隨著三維CAD/CAM系統(tǒng)應(yīng)用的推廣和深入,對其數(shù)據(jù)利用的需求逐漸增多,利用的形式越來越多樣化。而其系統(tǒng)本身的通用化功能往往難以滿足用戶對三維數(shù)據(jù)多樣化及個性化的利用要求。同時,由于底層數(shù)據(jù)結(jié)構(gòu)的研究是進行二次開發(fā)的前提和基礎(chǔ),使得對三維CAD/CAM系底層數(shù)據(jù)結(jié)構(gòu)的研究逐漸成為研究熱點[3-5]。
FORAN系統(tǒng)采用與Oracle數(shù)據(jù)庫高度集成的方式,使用Oracle數(shù)據(jù)庫全程管理其船舶三維模型。其數(shù)據(jù)表數(shù)量眾多,結(jié)構(gòu)復(fù)雜。但其Oracle數(shù)據(jù)庫完全向用戶開放,為對其底層數(shù)據(jù)結(jié)構(gòu)的研究和開發(fā)利用提供了可能。其中,結(jié)構(gòu)數(shù)據(jù)的解讀已取得了一些成果[6]。
1? FORAN系統(tǒng)簡介
FORAN系統(tǒng)是由西班牙SENER集團開發(fā)的,專門用于船舶與海洋工程設(shè)計制造的三維軟件系統(tǒng)。[7-9]
FORAN系統(tǒng)涵蓋了總體、船體、舾裝、電氣、艙室布置等各專業(yè)的三維設(shè)計功能,可用于船舶的概念設(shè)計、初步設(shè)計、詳細設(shè)計、生產(chǎn)設(shè)計等各個設(shè)計環(huán)節(jié)[10]。其中,鐵舾件建模主要與NORM模塊和FPIPE模塊有關(guān)。
2? 鐵舾件建模方法簡述
FORAN中鐵舾件建模的對象主要包括輔助結(jié)構(gòu)(基座)、管路支架、電纜托架等。其均主要在FPIPE模塊進行建模。
鐵舾件建模方法有兩種:①為采用structural outfitting模式進行創(chuàng)建,該模式主要用于輔助結(jié)構(gòu)建模。②為采用supports模式進行創(chuàng)建,主要用于管路支架、電纜托架建模。
采用structural outfitting模式建模,首先要在NORM模塊中定義板、骨材、開孔等標準庫,該庫可以和結(jié)構(gòu)模塊共用。然后在structural outfitting模式下選取相應(yīng)的標準板材,修改參數(shù)化尺寸,并根據(jù)構(gòu)件位置搭建輔助結(jié)構(gòu)。采用該模式創(chuàng)建的輔助結(jié)構(gòu),其每個構(gòu)件及對應(yīng)的標準庫的信息均存儲在Oracle數(shù)據(jù)庫中。
采用supports模式建模,由于管路支架和電纜托架其本身幾何特征的標準化、系列化等特點,一般采用定義參數(shù)化宏文件的方式進行建模,該宏文件以文件的方式存放,未存儲到Oracle數(shù)據(jù)庫中。采用該方式創(chuàng)建的支架和托架布置到三維模型中后,其幾何參數(shù)、布置信息及相對應(yīng)的宏文件名稱均存儲在Oracle數(shù)據(jù)庫中。
此外,對于結(jié)構(gòu)形式較簡單、固定的輔助結(jié)構(gòu)也可以采用定義宏文件的方式進行創(chuàng)建。但是,由于宏文件僅定義了模型的幾何關(guān)系,不包含材料、密度等屬性信息,故系統(tǒng)無法根據(jù)其幾何形狀計算重量、重心等。
綜上所述,由于采用supports模式創(chuàng)建的支架和托架,其存儲在Oracle數(shù)據(jù)庫的信息完整性有所欠缺,因此本文主要對采用structural outfitting模式創(chuàng)建的輔助結(jié)構(gòu)的底層數(shù)據(jù)進行研究。
3? 鐵舾件模型底層數(shù)據(jù)結(jié)構(gòu)
3.1 相關(guān)數(shù)據(jù)表
FORAN系統(tǒng)Oracle數(shù)據(jù)庫數(shù)據(jù)表數(shù)量眾多,數(shù)據(jù)結(jié)構(gòu)比較復(fù)雜。其中,與鐵舾件相關(guān)的數(shù)據(jù)表約有20張。根據(jù)這些表所包含的信息,可將其主要分為兩類:一類為鐵舾件屬性信息表,如as_list、as_elem、as_lang等,其記錄了鐵舾件的名稱、描述等,以及組成鐵舾件的每個構(gòu)件的編號、類型、重量、重心等屬性信息;另一類為節(jié)點數(shù)據(jù)表,如bs_design_node、bs_design_atom等,其記錄了設(shè)計節(jié)點的層次關(guān)系及區(qū)域、系統(tǒng)、重量、重心等屬性信息。此外,表prd_expl_part主要存儲結(jié)構(gòu)屬性信息,也包含部分鐵舾件構(gòu)件的屬性信息。
對于鐵舾件模型的屬性信息,設(shè)計人員所關(guān)心的主要有兩類:一類為鐵舾件的分類信息,如名稱、所屬分段、所屬區(qū)域等信息;另一類為重量、重心、材料、板厚、骨材長度等屬性信息。據(jù)此,通過建模操作,同時結(jié)合SQL語句監(jiān)測數(shù)據(jù)庫的變化情況,分析得到與鐵舾件密切相關(guān)的數(shù)據(jù)表,如表1所示。
此外,該表也包含了重量、重心等字段,但其值全部為0,對數(shù)據(jù)利用沒有實際意義。
3.2 表的差異性分析
從前文對表字段的分析中,可以看出部分表其字段有不同程度的重復(fù),如表as_elem、prd_expl_part和bs_design_atom中均含有字段weight、cog等,且后兩張表重復(fù)的字段更多。因此,解讀這些表的差異性對于后期數(shù)據(jù)的利用是不可或缺的。
對于表as_elem,在前文分析中已提到其weight、cog等字段值均為0,沒有實際意義;對于表prd_expl_part,其主要記錄了結(jié)構(gòu)件的屬性信息及部分鐵舾件的屬性信息(具有part fabrication id的鐵舾件);對于表bs_design_atom,其對應(yīng)節(jié)點信息表bs_design_node中的每一個設(shè)計節(jié)點,因此包含了所有模型的屬性信息。
3.3 表的關(guān)聯(lián)關(guān)系分析
由于用戶對數(shù)據(jù)需求的多樣性,單張數(shù)據(jù)表所包含的屬性信息往往無法滿足所有的需求,通常需要從多張數(shù)據(jù)表中查找信息。因此,表的關(guān)聯(lián)關(guān)系分析數(shù)據(jù)利用的關(guān)鍵。
需要注意的是,表as_elem的字段oid與表bs_design_node的字段model_oid相關(guān)聯(lián);同時,其又與表prd_expl_part的字段prd_part_oid相關(guān)聯(lián)。但是,表bs_design_node的字段model_oid和表prd_expl_part的字段prd_part_oid沒有關(guān)聯(lián)關(guān)系。
這是由于具有part fabrication id的鐵舾件,其屬性信息除了記錄在節(jié)點信息表中,還記錄在了結(jié)構(gòu)相關(guān)表中,導(dǎo)致數(shù)據(jù)表的關(guān)聯(lián)關(guān)系發(fā)生了相應(yīng)的變化。具體變化如圖1所示。
從圖1中可以看出,當鐵舾件不具有part fabrication id時,表as_elem的字段oid與表bs_design_node的字段model_oid相關(guān)聯(lián);反之,當鐵舾件具有part fabrication id時,表as_elem的字段oid首先與表prd_expl_part的字段prd_part_oid相關(guān)聯(lián),進而通過該表的字段oid與表bs_design_node的字段model_oid相關(guān)聯(lián)。
4? 結(jié)束語
根據(jù)對FORAN系統(tǒng)鐵舾件相關(guān)數(shù)據(jù)表的分析結(jié)果,參考重量重心屬性的解析方法,可以解析出所有重要的屬性信息?;谶@些數(shù)據(jù),可以通過二次開發(fā)實現(xiàn)按系統(tǒng)、區(qū)域、材料等統(tǒng)計匯總鐵舾件的重量重心。這些需求是軟件本身功能所欠缺的。
此外,本文中對鐵舾件底層數(shù)據(jù)的研究思路和方法可供其他CAD軟件底層數(shù)據(jù)的研究提供有益參考。
參考文獻:
[1]張凱,謝承福,涂躍紅,等.FORAN軟件在船舶總體設(shè)計中的應(yīng)用[J].中國艦船研究,2009,4(4):76-80.
[2]蘇文榮,陳錦晨,鄭斌華.三維CAD技術(shù)在船舶設(shè)計中的應(yīng)用[J].上海船舶運輸科學研究所學報,2007,30(2):144-149.
[3]倪海參,汪學鋒.從CATIA到TRIBON的板架結(jié)構(gòu)數(shù)據(jù)轉(zhuǎn)換方法[J].中國艦船研究,2012,7(5):66-70.
[4]賈琪琳.TRIBON的船體分段數(shù)據(jù)分析[J].船舶工程,2010,32(1):67-69.
[5]苗贇,汪學鋒.船舶主流CAD軟件間的數(shù)據(jù)交換研究[J].中國造船,2011,52(3):190-197.
[6]宋一淇,王佩瑜,常守明,等.基于FORAN的船體結(jié)構(gòu)底層數(shù)據(jù)結(jié)構(gòu)分析[J].中國艦船研究,2014,9(5):26-32.
[7]林銳,盧永進,房玉吉,等.Foran軟件在輪機設(shè)計中的應(yīng)用[J].機械,2011,38(8):27-29.
[8]盧永進,華志剛.基于FORAN的船舶管路三維設(shè)計研究[J].船海工程,2012,41(5):77-80.
[9]李軍,李櫻,羅白璐.基于FORAN的結(jié)構(gòu)模型管理方法[J].船舶標準化工程師,2012,1:28-31.
[10]陳寧.FORAN在船舶數(shù)字化設(shè)計全流程中應(yīng)用技術(shù)研究[J].造船技術(shù),2009,4:34-38.