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