韓久志, 顧曉波,, 何 佳
(1.江蘇科技大學 船舶與海洋工程學院, 江蘇 鎮江 212003;2.江蘇現代造船技術有限公司, 江蘇 鎮江 212003)
基于Tribon系統的船體剖面生成程序開發
韓久志1, 顧曉波1,2, 何 佳2
(1.江蘇科技大學 船舶與海洋工程學院, 江蘇 鎮江 212003;2.江蘇現代造船技術有限公司, 江蘇 鎮江 212003)
在船舶生產設計中,使用Tribon系統自身功能剖取和修改船體剖面耗時較多且存在遺漏結構等問題,影響出圖效率。針對上述問題,結合Tribon二次開發接口Vitesse與數據庫技術,使用Python語言開發能夠精確快速自動生成分段范圍內所有平面剖面的輔助程序。通過分段測試,船體剖面生成程序能夠有效提高船體生產設計效率。
Tribon;船體剖面;Vitesse;數據庫技術
Tribon系統于20世紀90年代因國內輔助造船水平較低且計算機技術薄弱而引入國內,是一套計算機輔助設計、生產及信息集成的造船專家系統。船體剖面是指船體結構在某一位置處朝一特定方向的投影視圖,例如:橫剖面是指船體結構在垂直于水平面的位置上朝船長方向的投影。船體剖面[1]除用于表達所剖位置構件的形狀外,更主要的是用于表達關鍵構件或其相連構件間的連接情況,因此在船舶生產設計中有著重要的指導作用。在Tribon系統中,直接剖取結構剖面操作復雜、效率較低、不夠精確且修改剖面耗時較多,本文基于Tribon系統二次開發接口Vitesse與數據庫技術開發了船體平面剖面輔助生成程序。
1.1 Tribon系統剖面生成
在Tribon系統中可調用Create View功能填入相關參數來生成以及優化剖面,如圖1所示。在這個功能模塊中,確定剖面位置的主要參數是船體結構位于全船坐標系中的一點,或是船體構件上的一個平面以及曲面。當使用點來確定剖面時,目標剖面投影視向可通過全船坐標系的三維空間向量表示。對于剖取特定板架所在平面的剖面視圖時,可通過Tribon系統板架建模名稱確定位置,而視向可根據剖面投影方向進行設計。使用Tribon系統開取剖面一般需要位置參數、視向參數和范圍參數,并根據目標剖面的結構深度與細節需要細化參數。本文所開發的船體剖面生成程序就是通過分析剖面所需表達的要素,自動生成精確剖面參數,避免重復修復相關參數,從而實現剖面快速生成。

圖1 Tribon系統剖面視圖開取界面
1.2 開發思路
本文主要通過使用Python編程語言以及Tribon系統的Vitesse接口抽取并分析船體分段相關數據,如分段范圍、構件信息等。歸類分段板架后精確生成分段范圍內所有剖面的剖面參數,并存儲至SQLite3數據庫中。再使用kcs_draft與KcsInterpretationObject模塊自動繪制分段內所有剖面。船體剖面生成程序的實現流程如圖2所示。

圖2 程序實現流程
在Tribon系統中選定目標船的工程之后,獲取目標船的所有分段名稱與范圍;選定分段后取分段內所有板架信息從而對板架進行兩次分類,歸類后緩存至數據庫中;根據板架歸類統計出分段范圍所有板架或構件的位置,生成板架所在平面的位置集;以平面位置為索引,構建每個位置處剖面的范圍參數、視向參數;最后將所有相關參數傳至繪制方法,循環繪出分段范圍內所有或選定剖面的剖面視圖。
剖面快速生成程序中的數據均是通過抽取Tribon船體模型而獲得的[2]。本程序以分段為剖面工程基礎,其涉及的數據主要是分段名稱與分段范圍。分段范圍是由該分段內所有板架范圍所確定的,故又涉及分段內部所有板架的名稱及范圍的獲取。本程序的數據抽取主要使用Python語言,通過Tribon系統的Vitesse接口調用kcs_dex抽取模塊實現[3]。
板架的歸類主要通過分析板架的4階變換矩陣進行。在Tribon系統中,船體構件可通過這個4×4變換齊次矩陣,實現其三維變換操作。本程序主要通過獲取該矩陣的第3與第4行相關數據識別板架的類型與位置。設某個平面板架的變換矩陣為A,若該板架平行于坐標系Oyz平面,則有A31的值為1,第3行其他元素均為0,且A41為該板架與全局坐標系x軸相交的值,第4行除比例因子A44為1外其他均為0。因此,A31值為1表示板架平行于橫剖面,A32值為1表示平行于縱剖面,A33值為表示平行于水平面。根據板架所平行的剖面,可將板架的平面類型歸類于橫剖面、縱剖面或水平剖面。若多個板架的變換矩陣一致,則表示它們位置相同,在同一個平面內。同一平面內板架的歸類集合以平面所在位置,如FR 50+100的船體標尺形式表示。
3.1 剖面參數生成
剖面參數指的是位置參數、視向參數以及范圍參數。位置參數用來確定剖取剖面的位置,即待剖取剖面位于全船的位置,可通過全船坐標點或船體構件名稱定義位置;視向參數確定船體結構投影方向,即觀看剖面的視向,可通過全船坐標系的空間向量進行指定;范圍參數指待投影區域位于全船坐標系下的空間范圍,即船體構件在全船坐標系中最小的包絡箱形范圍,如圖3所示,可用包絡箱形的兩對角點A和B表示箱形范圍。

圖3 包絡箱形范圍
以Tribon系統本身開取剖面功能為例,介紹本程序所涉及的剖面參數的具體含義。根據上述對剖面參數的分類,圖1中Plane單元模塊下Plane區域的所有參數可歸類于位置參數與視向參數,可將剖面位置的表達劃分為垂直于坐標軸剖面、三點定義剖面和指定板架所在平面剖面這3種情況。垂直于坐標軸的剖面即指平行于橫剖面、縱剖面、水線面的剖面,其剖面位置參數即剖面與坐標軸交點處的坐標軸值,其視向參數則對應于圖1中Looking區域中所有參數。當選擇了坐標軸值作為位置參數時,其具體參數只需在By Coordinates區域中的Origin填入特定坐標值,如選x軸,即剖面平行于Oyz平面,其位置參數只需填入Origin處的x值;當選用“3points”確定剖面位置時,則由剖面中的1點作為源點以及確定剖面法向量的兩個向量確定剖面;當選用Plane區域下的板架“Panel”作為位置參數時,應在選定構件類型填入相應的結構名稱。
在Tribon系統中范圍參數由Create View界面中的Limits單元模塊(見圖4)確定,由空間范圍“Limits”與剖面深度“Depth”構成。圖中“Limits”區域內的“Minimum”與“Maximum” 是指上述箱形范圍的兩個對角點即最低點A和最高點B,由其確定剖面的空間范圍。“Depth”區域的參數確定剖面投影深度,即確定待投影結構沿剖面法向的范圍。

圖4 Limits單元模塊
根據分段剖面表以及面向對象的編程思想,本程序將剖面參數封裝成一個抽象的類——剖面類,剖面的所有參數均轉化為該類的屬性,從而具體某個剖面的表示則是該類的一個具體對象[4],剖面類的具體屬性如表1所示。確定剖面參數的基礎是完成了對目標分段內所有板架的分析與歸類,根據剖面類型確定剖面的剖取方式以及視向。如表2所示,本程序將平面剖面類型分為“xpanels” “ypanels”“zpanels”等3類,即橫剖面、縱剖面與水平剖面。剖面位置是指板架歸類后所在平面的位置,其值與板架變換矩陣有關。剖面名稱與板架歸類后的歸類集合名稱一致,同時也間接以船舶標尺的形式表示剖面類型。如表2所示,根據不同類型的剖面可在一定范圍內選定剖面的視向,并根據視向獲取已定義的視向值。本程序中,剖面范圍有兩種取值方式:一種是取分段的范圍值,此時的剖面大小與分段投影范圍相同;另一種是取歸類后板架平面的范圍,此時的剖面只表示當前所有板架的投影視圖。根據剖面的表達需要,在程序中可以選定剖面范圍的取值方式。剖面前后深度根據剖面平面內板架沿視向方向的范圍確定,即該剖面只表達歸類后板架集合內的船體結構。

表1 剖面類屬性

表2 剖面視向參數值
3.2 數據存儲
根據程序本身的功能范圍以及可移植性,數據存儲機制選用的是輕型數據庫SQLite3。通過數據庫技術,可以記錄分段內所有平面剖面數據,以供剖面修改與備份需要。數據庫主要存儲歸類后的板架集合所在平面的剖面數據,其結構如表3所示。

表3 分段剖面數據
本程序主要通過調用kcs_draft模塊下view_symbolic_new(Symbolic View)創建剖面視圖方法實現繪制剖面。該方法參數Symbolic View是指KcsInterpretationObject模型的用于創建平面剖面視圖的類,其主要屬性如表4所示。由Viewclass剖面對象和剖面范圍賦值于Symbolic View實例化后的對象,并傳遞上述的繪制方法實現繪制。

表4 Symbolic View類屬性
船體剖面生成程序可用于Tribon系統的多個模塊。下面以Hull Planar模塊剖取2 700 TEU集裝箱船底部分段剖面為例,介紹程序的操作步驟與實現效果。
在Tribon系統船體剖面生成程序可通過菜單直接啟動,彈出通過使用wxPython圖形庫設計而成的人機交互界面[5],如圖5所示。在選擇目標分段B11PS分段后,右邊空白框會以樹狀結構顯示出該分段內所有剖面分類情況以及位置名稱。當分段是初次選擇時,需要點擊“更新數據”按鈕進行分段數據更新。在右側樹狀欄展開剖面類型節點后,右擊選擇“FR 75”“FR 81”“L0”“1980”向左邊列表框內添加剖面。本程序支持繪制單個或多個剖面,當選擇剖面不正確時,點擊“重置選擇”按鈕可清空列表框內剖面。當剖面確定之后,點擊“繪制剖面”按鈕,在Tribon系統繪制區域內選取一點以默認比例1∶50繪制列表框內所列剖面,繪制效果如圖6所示。關閉本程序后,可繼續在繪制區域內對所生成的剖面進行標注或調用。
通過具有數年船體生產設計工作經驗的設計人員實際使用測試表明:使用Tribon系統自身功能剖取上述剖面耗時100 s,優化修改耗時120 s;使用本程序則耗時分別為60 s和105 s。本程序在剖取剖面方面效率提高明顯,剖面質量較好。

圖5 船體剖面生成程序主界面

圖6 繪制效果
基于Tribon系統船體模型數據,本文使用Python語言以及SQLite3輕型數據庫分析歸類船體分段板架,開發船體剖面生成程序,實現快速自動繪制批量船體分段內平面剖面。船體剖面生成程序不僅能夠批量繪制高質量剖面,可供Tribon系統多模塊多專業使用,還能有效提高船舶生產設計效率,縮短工時,提高造船經濟效益。
[1] 楊永祥,管義鋒.船體制圖[M].北京:國防工業出版社,2010.
[2] 張星君,夏利娟,趙黨. Tribon船體模型的數據信息文件快速生成的開發[J]. 船舶工程,2010(1):56-59.
[3] 姚競爭.Tribon模型的數據抽取及二次開發 [D].哈爾濱:哈爾濱工程大學,2006.
[4] 房曉溪. 面向對象程序設計[M].北京:高等教育出版社,2003.
[5] 龔英弢,沈玉琦. Tribon M3船體快速建模開發[J]. 船舶,2008(6):51-54.
Development of Hull Section Generation Program Based on Tribon System
HAN Jiuzhi1, GU Xiaobo1,2, HE Jia2
(1. School of Naval Architecture and Ocean Engineering, Jiangsu University of Science and Technology,Zhenjiang 212003, Jiangsu, China; 2. Jiangsu Modern Shipbuilding Technology Co.,Ltd., Zhenjiang 212003, Jiangsu, China)
During the ship production design, it is time-consuming to use the Tribon system to create or modify the view of hull section ,which would make some omission of structure in the section and effect the efficiency of drawing. In order to solve the above problems, a program is developed which can automatically generate all plane section views of a block accurately and quickly by Python language with the Vitesse application program interface and database technology. It proves that the hull section generation program can effectively improve the design efficiency of ship hull production through the block test.
Tribon; hull section; Vitesse; database technology
韓久志(1990-),男,碩士研究生,研究方向為船舶與海洋結構物先進制造技術
1000-3878(2017)04-0087-06
TP311
A