專利名稱:船舶涂裝面積計(jì)算方法及計(jì)算的計(jì)算機(jī)應(yīng)用程序的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及應(yīng)用計(jì)算機(jī)上的運(yùn)行程序?qū)Υ巴垦b面積的計(jì)算方法。
背景技術(shù):
在如今造船領(lǐng)域中TRIBON軟件通過(guò)其卓越的建模功能成為主流設(shè)計(jì)軟件之一。但TRIBON軟件的一個(gè)不足之處是沒(méi)有提供計(jì)算船舶涂裝面積的直接辦法。而我們直到目前沿用的手工計(jì)算的辦法則相當(dāng)繁瑣。因此,我們創(chuàng)建了船舶涂裝面積計(jì)算方法,同時(shí)基于TRIBON系統(tǒng)開發(fā)了船舶涂裝面積計(jì)算應(yīng)用程序,簡(jiǎn)化船舶涂裝面積設(shè)計(jì)中繁瑣的人工計(jì)算。
發(fā)明內(nèi)容本發(fā)明要解決的技術(shù)問(wèn)題,是為簡(jiǎn)化造船設(shè)計(jì)中船舶涂裝面積設(shè)計(jì)時(shí)反復(fù)查找船體結(jié)構(gòu)圖和零件圖繁瑣人工計(jì)算,而提供一種通過(guò)計(jì)算機(jī)實(shí)現(xiàn)提高設(shè)計(jì)速度的船舶涂裝面積計(jì)算方法及計(jì)算的計(jì)算機(jī)應(yīng)用程序。
采用的技術(shù)方案是船舶涂裝面積設(shè)計(jì)中由于艙室不同含有不同的涂裝要求,所以船舶涂裝面積計(jì)算需按各艙室進(jìn)行,因此船舶涂裝面積計(jì)算方法是重點(diǎn)解決如何計(jì)算包含于給定艙室中各種船體結(jié)構(gòu)零件的面積。
船舶涂裝面積計(jì)算方法,包括如下步驟1、從TRIBON環(huán)境中調(diào)出相關(guān)三維模型,從中找出給定艙室,按其圍成艙室平面板來(lái)定義計(jì)算范圍。
2、計(jì)算范圍確定后,計(jì)算圍成艙室的平板面積(1)通常情況,艙室的外形可為長(zhǎng)方體,長(zhǎng)方體的表面分別與XY平面,YZ平面,XZ平面平行,圍成艙室的平板面積可直接取每個(gè)表面的長(zhǎng)方形面積。
(2)給定的艙室位于船體尾部區(qū)域,其外形不是長(zhǎng)方體,從俯視圖觀察,近似梯形形狀,可按梯形面積近似計(jì)算艙室上下表面面積(見(jiàn)圖1),船體尾部平面板四個(gè)頂點(diǎn)分別是P0,P1,P2,P3,設(shè)頂點(diǎn)坐標(biāo)分別是(X0,Y0)(X1,Y1)(X2,Y2)(X3,Y3),則所求面積等于函數(shù)Y0+K1·(X-X0)-[Y2+K2(X-X2)]在艙室位于(a,b)區(qū)間上積分,其中K1,K2分別是直線P0P1,P2P3的斜率。整理后,得到計(jì)算公式S=(Y0-K1·X0-Y2+K2·X2)·(b-a)+(K1-K2)(b·b-a·a)/2;3、計(jì)算艙室內(nèi)部結(jié)構(gòu)的面積,對(duì)于艙室內(nèi)部結(jié)構(gòu)零件,處理方法是判斷零件的空間位置,篩選出屬于相關(guān)艙室的零件,判斷零件是否位于艙室區(qū)域內(nèi)。
(1)當(dāng)是板狀結(jié)構(gòu)零件其每個(gè)頂點(diǎn)坐標(biāo)(X,Y,Z),如果滿足條件Xmin≤X≤Xmax,Ymin≤Y≤Ymax,Zmin≤Z≤Zmax,其中Xmin,Xmax,Ymin,Ymax,Zmin,Zmax分別是圍成艙室的平面板定義計(jì)算范圍的三維空間的上下界限,則該板位于艙室區(qū)域內(nèi),由TRIBON數(shù)據(jù)庫(kù)中可直接取得該板面積,對(duì)于該板上各型材,可取其規(guī)格和長(zhǎng)度,進(jìn)而計(jì)算出型材面積。
(2)如果板上存在一個(gè)頂點(diǎn)坐標(biāo),不滿足上述條件,則該板不完全位于艙室區(qū)域內(nèi),用其位于艙室內(nèi)的部分占整張板的比例進(jìn)行計(jì)算。首先取得該板在X,Y,Z方向上最大伸展范圍,在X方向上X1和X2分別等于集合該板頂點(diǎn)的X坐標(biāo)中最小值和最大值,在Y,Z方向上同理得到Y(jié)1,Y2,Z1,Z2,接下判斷在哪個(gè)方向上超出艙室范圍。通過(guò)Xmin≤X1≤X2≤Xmax,Ymin≤Y1≤Y2≤Ymax,Zmin≤Z1≤Z2≤Zmax三個(gè)條件來(lái)判斷,當(dāng)不滿足Xmin≤X1≤X2≤Xmax條件,則該板在X方向上超出艙室范圍。當(dāng)不滿足Ymin≤Y1≤Y2≤Ymax條件,則該板在Y方向上超出艙室范圍。當(dāng)不滿足Zmin≤Z1≤Z2≤Zmax條件,則該板在X方向上超出艙室范圍。然后,在超出艙室范圍的方向上進(jìn)行考察,設(shè)X方向上超出艙室范圍(見(jiàn)圖2),區(qū)間(X1,X2)不完全包含于區(qū)間(Xmin,Xmax)之中,可取得區(qū)間(X1,X2)包含在區(qū)間(Xmin,Xmax)中的部分(X3,X4),于是可得該板位于艙室內(nèi)部分占整張板的比例為K=(X4-X3)/(X2-X1),這樣,該板X方向上位于艙室內(nèi)部分的面積S=K·S1,S1為該板全部面積。如果是在Y方向或Z方向上板超出艙室范圍,按同樣辦法處理。
船舶涂裝面積計(jì)算的計(jì)算機(jī)應(yīng)用程序,包括如下步驟
(1)基于船舶設(shè)計(jì)軟件TRIBON系統(tǒng)的數(shù)據(jù)庫(kù),在Excel中的VBA編程開發(fā)船舶涂裝面積計(jì)算程序。
(2)打開Excel文件“涂裝面積計(jì)算程序”,該文件包含用于計(jì)算船舶涂裝面積的宏命令。
(3)運(yùn)行宏,彈出“選擇艙室類型”對(duì)話框,點(diǎn)擊所需類型(見(jiàn)圖3)。
(4)在接下來(lái)的“輸入分段名稱”對(duì)話框中輸入艙室所在分段及在分段中的部位,輸入完畢后,點(diǎn)擊“確定”鍵(見(jiàn)圖4)。
(5)確定所要計(jì)算的艙室所在分段及在分段中部位后,再根據(jù)提供的要求輸入限制范圍信息,輸入完畢后點(diǎn)擊“開始計(jì)算”。見(jiàn)圖5。程序自動(dòng)找出所有包含于計(jì)算范圍中的船體結(jié)構(gòu)零件并由TRIBON的數(shù)據(jù)庫(kù)提取或計(jì)算其面積。
(6)計(jì)算結(jié)果填入Excel表格中。
本發(fā)明取得的積極效果,是省去了人工反復(fù)查找船體結(jié)構(gòu)圖和零件圖來(lái)計(jì)算涂裝面積的繁瑣工作,只需從TRIBON環(huán)境中調(diào)出相關(guān)的三維模型,從中找出圍成艙室的平面板,將這些板的名稱輸入到本程序的輸入框中,程序就可以通過(guò)各種判斷和計(jì)算最后得到所求面積。提高了設(shè)計(jì)速度,縮短了設(shè)計(jì)時(shí)間,從而實(shí)現(xiàn)了船舶涂裝面積計(jì)算的自動(dòng)化。
圖1是船體尾部區(qū)域船體平面板四個(gè)頂點(diǎn)坐標(biāo)圖。
圖2是艙室內(nèi)部分的零件在X方向上超出艙室范圍示意圖。
圖3是計(jì)算機(jī)上選擇艙室類型對(duì)話框圖。
圖4是計(jì)算機(jī)上輸入分段名稱對(duì)話框圖。
圖5是計(jì)算機(jī)上輸入限制范圍信息對(duì)話框圖。
具體實(shí)施方式
主要原理船舶涂裝設(shè)計(jì)中由于根據(jù)艙室不同,含有不同的涂裝要求,所以船舶涂裝面積計(jì)算按艙室進(jìn)行。因此船舶涂裝面積計(jì)算方法重點(diǎn)解決如何計(jì)算包含于給定艙室中各種船體結(jié)構(gòu)零件面積。
船舶涂裝面積計(jì)算方法,包括如下步驟
1、首先,從TRIBON環(huán)境中調(diào)出相關(guān)三維模型,從中找出給定艙室,按其圍成艙室的平面板來(lái)定義計(jì)算范圍,通常情況,一個(gè)艙室的外形可為長(zhǎng)方體,而且,取船體坐標(biāo)系觀察,長(zhǎng)方體的表面與XY平面、YZ平面、XZ平面平行。
2、計(jì)算范圍確定后,計(jì)算圍成艙室的平面板面積圍成艙室的平面板面積可直接取每個(gè)表面的長(zhǎng)方形的面積。對(duì)于船體尾部區(qū)域的艙室,其外形不是長(zhǎng)方體,但從俯視圖觀察,近似梯形形狀,可按梯形面積近似計(jì)算艙室上下表面面積。
如圖1所示,船體平面板四個(gè)頂點(diǎn)分別是P0,P1,P2,P3,現(xiàn)要計(jì)算落在(a,b)區(qū)間的面積。假設(shè)頂點(diǎn)坐標(biāo)分別是(x0,y0)(x1,y1)(x2,y2)(x3,y3),則所求面積等于函數(shù)y0+k1·(x-x0)-[y2+k2(x-x2)]在(a,b)區(qū)間上積分。其中k1,k2分別是直線P0P1,P2P3的斜率。整理后,得到計(jì)算公式S=(y0-k1·x0-y2+k2·x2)·(b-a)+(k1-k2)(b·b-a·a)/2;3、計(jì)算艙室內(nèi)部結(jié)構(gòu)的面積對(duì)于艙室內(nèi)部結(jié)構(gòu)零件,處理方法是判斷零件的空間位置,篩選出屬于相關(guān)艙室的零件。零件的面積通過(guò)兩種方法得到,一種方法是由數(shù)據(jù)庫(kù)直接取得;另一種方法是進(jìn)行近似計(jì)算求得。下面具體說(shuō)明。
以一張板為例,首先判斷它是否位于艙室區(qū)域內(nèi)。判斷方法如下對(duì)于該板每個(gè)頂點(diǎn)坐標(biāo)(x,y,z),如果滿足條件xmin≤x≤xmax,ymin≤y≤ymax,zmin≤z≤zmax,其中xmin,xmax,ymin,ymax,zmin,zmax分別是圍成艙室的平面板定義計(jì)算范圍的三維空間的上下界限,則該板位于艙室區(qū)域內(nèi),這時(shí),由TRIBON數(shù)據(jù)庫(kù)中可直接取得該板面積,對(duì)于該板上各型材,可取其規(guī)格和長(zhǎng)度,進(jìn)而計(jì)算出型材面積。
如果在該板上存在一個(gè)頂點(diǎn)坐標(biāo),不滿足上述條件,則該板不完全位于艙室區(qū)域內(nèi)。這時(shí),需要該板位于艙室內(nèi)部分的面積。這里使用其位于艙室內(nèi)部分占整張板的比例進(jìn)行計(jì)算。
首先取得該板在x,y,z方向上的最大伸展范圍。以x方向?yàn)槔?,x!等于集合{該板所有頂點(diǎn)的x坐標(biāo)}中最小值。X2等于集合{該板所有頂點(diǎn)的x坐標(biāo)}中最大值。在y,z方向上同理得到y(tǒng)1,y2,z1,z2。
接下來(lái)判室它在哪個(gè)方向上超出艙室范圍。
如果滿足條件ymin≤y1≤y2≤ymax,zmin≤z1≤z2≤zmax,但不滿足xmin≤x1≤x2≤xmax,則該板在x方向上超出艙室范圍。
類似的,如果xmin≤x1≤x2≤xmax,zmin≤z1≤z2≤zmax,但不滿足ymin≤y1≤y2≤ymax,則該板在y方向上超出艙室范圍;如果xmin≤x1≤x2≤xmax,ymin≤y1≤y2≤ymax,但不滿足zmin≤z1≤z2≤zmax,則該板在z方向上超出艙室范圍。
然后,我們?cè)诔雠撌曳秶姆较蛏线M(jìn)行考察。這里假設(shè)為x方向上超出艙室范圍。即區(qū)間(x1,x2)不完全包含于區(qū)間(xmin,xmax)之中。容易取得區(qū)間(x1,x2)包含于區(qū)間(xmin,xmax)中的部分(x3,x4)。如圖2陰影所示。
于是得到該板位于艙室內(nèi)部分占整張板的比例為k=(x4-x3)/(x2-x1)。這樣,該板位于艙室內(nèi)部分的面積S=k·S1,S1是該板全部面積。如果是在y或z方向上板超出艙室范圍,按同樣辦法處理。
綜上所述,我們得到了處理艙室所含各零件面積的基本方法。
船舶涂裝面積計(jì)算的計(jì)算機(jī)應(yīng)用程序船舶涂裝面積計(jì)算應(yīng)用程序基于TRIBON系統(tǒng)數(shù)據(jù)庫(kù)在Excel中的VBA編程環(huán)境下開發(fā)而成。程序的操作很簡(jiǎn)單,下面以我廠設(shè)計(jì)建造的46000噸油船211分段其中一個(gè)艙室的面積計(jì)算為例給以簡(jiǎn)要說(shuō)明。
首先打開Excel文件“涂裝面積計(jì)算程序”,該文件中包含用于計(jì)算船舶涂裝面積的宏命令,運(yùn)行宏,彈出“選擇艙室類型”對(duì)話框,點(diǎn)擊所需類型。見(jiàn)圖3。
在接下來(lái)的對(duì)話框中見(jiàn)圖4、圖5,輸入艙室所在分段及分段中的部位,輸入完畢后,點(diǎn)擊“確定”鍵。再根據(jù)提供的要求輸入限定范圍信息,輸入完畢后點(diǎn)擊“開始計(jì)算”。程序自動(dòng)找出所有包含于計(jì)算范圍中的船體結(jié)構(gòu)零件并由數(shù)據(jù)庫(kù)提取或計(jì)算面積。計(jì)算結(jié)果填入Excel表格中,如下
型材板架名零件號(hào)零件名 面積(米2)規(guī)格長(zhǎng)度艙頂板 19.76艙底板 19.76左側(cè)縱艙壁 8.84右側(cè)縱艙壁 8.84近首端橫艙壁 1.615近尾端橫艙壁 1.615211-F241 PL-19A板 1.052834211-F241 PL-19A板 1.052834211-F251 PL-19A板 1.052834211-F251 PL-19A板 1.052834211-F261 PL-19A板 1.052834211-F261S PL-35A板 1.570356211-F271 PL-19A板 1.052834211-F271 PL-19A板 1.052834211-F281 PL-19A板 1.052834211-F281 PL-19A板 1.052834211-F291 PL-19A板 1.052834211-F291 PL-19A板 1.052834211-F301 PL-19A板 1.052834211-F301 PL-19A板 1.052834211-F311 PL-19A板 1.052834211-F311S PL-35A板 1.570356211-F321 PL-19A板 1.052834211-F321 PL-19A板 1.052834211-F331 PL-19A板 1.052834211-F331 PL-19A板 1.052834211-F341 PL-19A板 1.052834211-F341 PL-19A板 1.052834211-F351 PL-19A板 1.052834211-F351 PL-19A板 1.052834211-LB0 PL-9A 板 15.34952總計(jì)算面積 102.0826通過(guò)在我廠設(shè)計(jì)建造的46000噸油輪上幾個(gè)典型艙室的計(jì)算,證明程序使用效果良好,提高了計(jì)算速度,基本上使計(jì)算誤差控制在3%以內(nèi)。
權(quán)利要求
1.船舶涂裝面積計(jì)算方法,其特征包括如下步驟A、從TRIBON環(huán)境中調(diào)出相關(guān)三維模型,從中找出給定艙室,按其圍成艙室平面板來(lái)定義計(jì)算范圍;B、計(jì)算范圍確定后,計(jì)算圍成艙室的平板面積(1)、通常情況,艙室的外形可為長(zhǎng)方體,長(zhǎng)方體的表面分別與XY平面,YZ平面,XZ平面平行,圍成艙室的平板面積可直接取每個(gè)表面的長(zhǎng)方形面積;(2)、給定的艙室位于船體尾部區(qū)域,其外形不是長(zhǎng)方體,從俯視圖觀察,近似梯形形狀,可按梯形面積近似計(jì)算艙室上下表面面積,船體尾部平面板四個(gè)頂點(diǎn)分別是P0,P1,P2,P3,設(shè)頂點(diǎn)坐標(biāo)分別是(X0,Y0)(X1,Y1)(X2,Y2)(X3,Y3),則所求面積等于函數(shù)Y0+K1·(X-X0)-[Y2+K2·(X-X2)]在艙室位于(a,b)區(qū)間上積分,其中K1,K2分別是直線P0P1,P2P3的斜率,整理后,得到計(jì)算公式S=(Y0-K1·X0-Y2+K2·X2)·(b-a)+(K1-K2)(b·b-a·a)/2;C、計(jì)算艙室內(nèi)部結(jié)構(gòu)的面積,對(duì)于艙室內(nèi)部結(jié)構(gòu)零件,處理方法是判斷零件的空間位置,篩選出屬于相關(guān)艙室的零件,判斷零件是否位于艙室區(qū)域內(nèi)(1)、當(dāng)是板狀結(jié)構(gòu)零件其每個(gè)頂點(diǎn)坐標(biāo)(X,Y,Z),如果滿足條件Xmin≤X≤Xmax,Ymin≤Y≤Ymax,Zmin≤Z≤Zmax,其中Xmin,Xmax,Ymin,Ymax,Zmin,Zmax分別是圍成艙室的平面板定義計(jì)算范圍的三維空間的上下界限,則該板位于艙室區(qū)域內(nèi),由TRIBON數(shù)據(jù)庫(kù)中可直接取得該板面積,對(duì)于該板上各型材,可取其規(guī)格和長(zhǎng)度,進(jìn)而計(jì)算出型材面積;(2)、如果板上存在一個(gè)頂點(diǎn)坐標(biāo),不滿足上述條件,則該板不完全位于艙室區(qū)域內(nèi),用其位于艙室內(nèi)的部分占整張板的比例進(jìn)行計(jì)算,首先取得該板在X,Y,Z方向上最大伸展范圍,在X方向上X1和X2分別等于集合該板頂點(diǎn)的X坐標(biāo)中最小值和最大值,在Y,Z方向上同理得到Y(jié)1,Y2,Z1,Z2,接下判斷在哪個(gè)方向上超出艙室范圍,通過(guò)Xmin≤X1≤X2≤Xmax,Ymin≤Y1≤Y2≤Ymax,Zmin≤Z1≤Z2≤Zmax三個(gè)條件來(lái)判斷,當(dāng)不滿足Xmin≤X1≤X2≤Xmax條件,則該板在X方向上超出艙室范圍;當(dāng)不滿足Ymin≤Y1≤Y2≤Ymax條件,則該板在Y方向上超出艙室范圍;當(dāng)不滿足Zmin≤Z1≤Z2≤Zmax條件,則該板在X方向上超出艙室范圍;然后,在超出艙室范圍的方向上進(jìn)行考察,設(shè)X方向上超出艙室范圍,區(qū)間(X1,X2)不完全包含于區(qū)間(Xmin,Xmax)之中,可取得區(qū)間(X1,X2)包含在區(qū)間(Xmin,Xmax)中的部分(X3,X4),于是可得該板位于艙室內(nèi)部分占整張板的比例為K=(X4-X3)/(X2-X1),這樣,該板X方向上位于艙室內(nèi)部分的面積S=K·S1,S1為該板全部面積,如果是在Y方向或Z方向上板超出艙室范圍,按同樣辦法處理。
2.船舶涂裝面積計(jì)算的計(jì)算機(jī)應(yīng)用程序,其特征包括如下步驟基于船舶設(shè)計(jì)軟件TRIB0N系統(tǒng)的數(shù)據(jù)庫(kù),在Excel中的VBA編程環(huán)境下開發(fā)船舶涂裝面積計(jì)算程序;打開Excel文件“涂裝面積計(jì)算程序”,該文件包含用于計(jì)算船舶涂裝面積的宏命令;運(yùn)行宏,彈出“選擇艙室類型”對(duì)話框,點(diǎn)擊所需類型;在接下來(lái)的“輸入分段名稱”對(duì)話框中輸入艙室所在分段及在分段中的部位,輸入完畢后,點(diǎn)擊“確定”鍵;確定所要計(jì)算的艙室所在分段及在分段中部位后,再根據(jù)提供的要求輸入限制范圍信息,輸入完畢后點(diǎn)擊“開始計(jì)算”,程序自動(dòng)找出所有包含于計(jì)算范圍中的船體結(jié)構(gòu)零件并由TRIBON的數(shù)據(jù)庫(kù)提取或計(jì)算其面積;計(jì)算結(jié)果填入Excel表格中。
全文摘要
本發(fā)明涉及船舶涂裝面積計(jì)算方法及計(jì)算的計(jì)算機(jī)應(yīng)用程序,涂裝面積計(jì)算方法包括從TRIBON環(huán)境中調(diào)出相關(guān)三維模型,從中找出圍成艙室的平面板來(lái)定義計(jì)算范圍,計(jì)算圍成艙室的平板面積,計(jì)算艙室內(nèi)部結(jié)構(gòu)零件面積。涂裝面積計(jì)算的計(jì)算機(jī)應(yīng)用程序,是在Excel中的VBA編程中開發(fā)而成,打開Excel文件“涂裝面積計(jì)算程序”,運(yùn)行宏,彈出對(duì)話框,將這些板的名稱輸入到本程序的輸入框中,程序就通過(guò)各種判斷和計(jì)算最后得到所求面積。本發(fā)明比傳統(tǒng)的手工方法的優(yōu)點(diǎn)在于省去了人工反復(fù)查找船體結(jié)構(gòu)圖和零件圖來(lái)計(jì)算面積的繁瑣,提高了設(shè)計(jì)速度,縮短了設(shè)計(jì)時(shí)間,實(shí)現(xiàn)了船舶涂裝面積計(jì)算的自動(dòng)化。
文檔編號(hào)G06F17/50GK1702657SQ20051004662
公開日2005年11月30日 申請(qǐng)日期2005年6月10日 優(yōu)先權(quán)日2005年6月10日
發(fā)明者張鵬, 祖鳳賢 申請(qǐng)人:渤海船舶重工有限責(zé)任公司