倪海參 汪學鋒
1上海交通大學船舶海洋與建筑工程學院,上海 200030
2上海交通大學船舶海洋與建筑工程學院海洋工程國家重點實驗室,上海 200030
從CATIA到TRIBON的板架結(jié)構(gòu)數(shù)據(jù)轉(zhuǎn)換方法
倪海參1汪學鋒2
1上海交通大學船舶海洋與建筑工程學院,上海 200030
2上海交通大學船舶海洋與建筑工程學院海洋工程國家重點實驗室,上海 200030
船舶行業(yè)不同CAD軟件間的數(shù)據(jù)交換是個倍受關注的問題,從CATIA到TRIBON的數(shù)據(jù)轉(zhuǎn)換是其中一個重要的環(huán)節(jié)。通過對船舶CAD軟件CATIA與TRIBON之間模型數(shù)據(jù)結(jié)構(gòu)的分析研究,開發(fā)了從CATIA到TRIBON的船體板架結(jié)構(gòu)的數(shù)據(jù)轉(zhuǎn)換方法。該方法首先分析研究CATIA結(jié)構(gòu)樹,然后通過對CATIA系統(tǒng)的二次開發(fā)提取板架結(jié)構(gòu)幾何與屬性信息,其中可以通過控制提取數(shù)據(jù)的精度來提高數(shù)據(jù)轉(zhuǎn)換過程的精度;利用外掛軟件將數(shù)據(jù)信息合并到一個文檔,按照數(shù)據(jù)映射關系將其轉(zhuǎn)換為能夠在TRIBON中進行建模的格式文件;開發(fā)TRIBON系統(tǒng)建模模塊,最終迅速有效地完成數(shù)據(jù)的轉(zhuǎn)換。幾個板架結(jié)構(gòu)的轉(zhuǎn)換實例說明該方法能為兩個不同CAD軟件間的數(shù)據(jù)交換提供一種有效的工具。
CATIA;TRIBON;數(shù)據(jù)轉(zhuǎn)換;二次開發(fā)
近年來,在我國船舶設計制造領域,各船廠、科研院所均采用了數(shù)字化船舶設計系統(tǒng)[1],其中以 TRIBON,CADDS5 和 CATIA[2]為代表的船舶設計軟件正在不斷提升船舶設計水平。TRIBON是目前使用最為廣泛的船舶生產(chǎn)設計軟件之一,被稱作“船舶設計制造專家”。盡管TRIBON系統(tǒng)存在三維圖形拓撲造型能力差等缺點,但是由于其實用性,仍被許多造船公司作為船舶生產(chǎn)設計的主要軟件[3]。CATIA則由于其易于建模的人性化操作界面和智能化的模型樹結(jié)構(gòu),使用戶能方便、快捷地對產(chǎn)品進行重復修改,正在被越來越多的用戶所接受。目前,CATIA大多應用于船舶詳細設計階段,在生產(chǎn)設計階段要根據(jù)詳細設計圖紙在TRIBON中重新構(gòu)圖,這一過程無形中增加了船舶生產(chǎn)設計的工作量。
由于船舶軟件數(shù)據(jù)的非標準性和特殊性,至今無法完全實現(xiàn)它們之間模型數(shù)據(jù)的相互轉(zhuǎn)換,導致先進設計方法不能有效展開,影響了船舶設計質(zhì)量和設計周期。CATIA與TRIBON在詳細設計和生產(chǎn)設計階段存在著嚴重的數(shù)據(jù)交換障礙,且兩者之間的數(shù)據(jù)交換尚無研究先例。CATIA系統(tǒng)與TRIBON系統(tǒng)雖然都支持IGES格式文件的導入和導出,但是當CATIA系統(tǒng)中導出的IGES文件簡單地導入TRIBON系統(tǒng)中時,模型結(jié)構(gòu)信息將會嚴重丟失。針對該問題,汪學鋒等[4]已經(jīng)著手開展了不同軟件間的數(shù)據(jù)交換研究,苗赟等[5]開發(fā)研究的TRIBON與CADDS5的數(shù)據(jù)交換接口為本文提供了研究基礎,但是由于CAD系統(tǒng)與模型數(shù)據(jù)結(jié)構(gòu)的不同,存在著許多值得進一步研究的地方,其中參考文獻[5]就可利用CADDS5軟件菜單功能直接提取數(shù)據(jù)信息。本文根據(jù)CATIA中結(jié)構(gòu)模型數(shù)據(jù)的特點來開發(fā)接入的提取模塊,并利用該模塊提取繁雜的模型數(shù)據(jù)。由于只有對型材庫標準構(gòu)件信息提取足夠完整才能在轉(zhuǎn)換過程中不至于丟失信息,因此為了提高數(shù)據(jù)轉(zhuǎn)換精度,本研究在提取過程中對曲線進行了特殊處理。同時,還將根據(jù)數(shù)據(jù)結(jié)構(gòu)組織特點開發(fā)CATIA和TRIOBN數(shù)據(jù)交換和導入的模塊。通過開展CATIA與TRIBON兩大船舶CAD軟件間的數(shù)據(jù)交換研究,將實現(xiàn)CATIA模型與TRIBON模型數(shù)據(jù)的無縫連接。
本文利用CATIA與TRIBON系統(tǒng)軟件提供的二次開發(fā)工具和外部VB軟件開展研究,既保持了核心技術的獨立性和發(fā)展性,也避免了CATIA及TRIBON版本升級可能帶來的不兼容性。
CATIA具有兩種二次開發(fā)方式,一種是編寫VBScript腳本程序從系統(tǒng)內(nèi)部訪問對象,即通過CATIA的宏(Macro)命令運行的方法;另一種是由第三方軟件開發(fā)腳本程序,通過CATIA提供的連接組件實現(xiàn)兩者之間的通信。由于宏在運行過程中無法改變參數(shù)值并且智能程度較低,只適用于簡單的重復性操作過程,因此本文選用了自主開發(fā)獨立軟件的方法。此外,開發(fā)第三方軟件也有兩種方法,一種是CAA(Component Application Ar?chitecture)C++模式,另一種是CAA Automation模式。前者基于CATIA已有組件定制開發(fā),其工作量較大;后者則相對較為容易理解與掌握,也能夠滿足開發(fā)需求。所以本文采用第三方軟件Visual Basic 6.0利用CAA Automation技術進行開發(fā)[6]。
TRIBON提供了VITESSE二次開發(fā)工具,使用戶能訪問產(chǎn)品信息模型和在TRIBON系統(tǒng)內(nèi)部實施建模。利用面向?qū)ο蟮母呒壘幊陶Z言PY?THON編寫的VITESSE程序,可以實現(xiàn)對TRIBON系統(tǒng)建模的功能擴展。但VITESSE程序只能夠在TRIBON系統(tǒng)的應用程序環(huán)境下運行。
總體開發(fā)流程如圖1所示,主要由CATIA信息提取、數(shù)據(jù)中間轉(zhuǎn)換及TRIBON重構(gòu)模型3大部分組成,具體形成了3大模塊。
1)信息提取模塊:作為數(shù)據(jù)交換系統(tǒng)的前置接口,通過訪問CATIA模型對象從CATIA數(shù)據(jù)庫中提取出模型信息;
2)中間轉(zhuǎn)換模塊:利用Visual Basic 6.0開發(fā)中間轉(zhuǎn)換接口[7],將CATIA提取出的文本文檔映射[8]為以關鍵字和參數(shù)值形式組織的TRIBON可識別格式文件;
3)模型重構(gòu)模塊:作為數(shù)據(jù)轉(zhuǎn)換系統(tǒng)的后置接口,將上述文件導入TRIBON系統(tǒng)數(shù)據(jù)庫,執(zhí)行讀取和解析命令在TRIBON系統(tǒng)中重構(gòu)模型。

圖1 開發(fā)流程圖Fig.1 Flow chart of data transformation
在CATIA模型中,Product為頂層結(jié)構(gòu),在Product根節(jié)點下包括多個Part子節(jié)點、Part節(jié)點以及Part所包括的子節(jié)點含有的模型信息。其下面的Part節(jié)點是零件文檔的最上層對象,也是包含模型完整信息的最小單位。如圖2所示,Part對象包括所有訪問零件文檔所需的對象和方法,如Bodies(Plate,Stiffener…),Parameters(Points,Thickness…),OriginElement等。

圖2 結(jié)構(gòu)樹模型信息Fig.2 Production tree of model information
在CAA Automation中,所有的數(shù)據(jù)都被封裝成對象的形式,并呈樹狀結(jié)構(gòu)(產(chǎn)品結(jié)構(gòu)樹)。本文通過根對象(Application)對所有其它對象進行訪問,從而獲得產(chǎn)品結(jié)構(gòu)樹的樹狀層次結(jié)構(gòu)所表示的零件裝配關系,說明產(chǎn)品、部件和零件之間的從屬關系等,得到完整的產(chǎn)品數(shù)據(jù)信息。
對于船舶模型,CATIA中由幾何信息和屬性信息兩種形式共同描述船體結(jié)構(gòu)模型信息。幾何信息需要批量讀取CATIA結(jié)構(gòu)樹中的點坐標,用提取的點集來表達船舶和扶強材等構(gòu)件的基本形狀。結(jié)構(gòu)樹的樹狀層次結(jié)構(gòu)表示裝配關系,代表產(chǎn)品、部件和零件之間的從屬關系,利用對這些對象的屬性進行訪問,可以方便地得到產(chǎn)品相應的數(shù)據(jù)信息。因此,屬性信息則由開發(fā)的軟件訪問對象的厚度、材料和截面形式等參數(shù)值得到。最后,把幾何信息和屬性信息合并,從而表達出完整的板架信息。提取數(shù)據(jù)的流程如圖3所示。

圖3 提取數(shù)據(jù)流程圖Fig.3 Flow chart of model data extraction
本文利用Visual Basic 6.0在CATIA系統(tǒng)界面中添加了對當前文檔進行提取信息的窗口,通過該窗口首先獲取本地激活的文檔,然后訪問其對象屬性。
型材的信息處理要定義型材結(jié)構(gòu)體來保存型材信息,扶強材的形式如下:扶強材{起點,終點,截面形狀,端切形式}。
其中對曲線信息的提取是個難點,若直接提取只能提取到曲線起點、中點和終點的坐標值,不能滿足轉(zhuǎn)換過程中的精度要求。在CATIA系統(tǒng)建模過程中曲線是通過離散點插值后形成的曲率連續(xù)的曲線,為了能夠用更詳盡的信息表達曲線特征,要對曲線進行等距離的離散化然后提取離散點,在離散代碼:Set pntPoint=oHSF.AddNewPoin?tOnCurveFromPercent(refCurve,1/iPoint,F(xiàn)alse)中,循環(huán)過程中iPoint取值越高,曲線表達會越精確,離散化效果如圖4所示。

圖4 曲線離散點Fig.4 Discrete points in the curve
通過開發(fā)外掛軟件,從CATIA中讀取的幾何信息和屬性信息包含TRIBON系統(tǒng)中Scheme文件需要的信息,因此只要采用一一映射的方式對文本文檔數(shù)據(jù)進行讀寫操作完成數(shù)據(jù)的轉(zhuǎn)換,就能實現(xiàn)TRIBON中的自動建模。
平面板架上的元素包括板縫(SEA)、板(PLA)、扶強材(STI)、肘板(BRA)和孔(HOL)等[9],板架Scheme文件對每一個基本元素遵循特定規(guī)則進行描述。通過VB合并幾何信息(Geometry Infor?mation)和屬性信息(Attribute Information)到一個數(shù)據(jù)文件,然后讀取數(shù)據(jù)文件寫入空的Scheme文件中。
1)讀取板架名稱、位置和方向等信息;
2)讀取邊界點信息;
3)讀取平板厚度等信息;
4)讀取扶強材信息;
5)讀取開孔信息。
上述各階段都按Scheme文件格式寫入,從而完成主要的數(shù)據(jù)轉(zhuǎn)換工作,具體的映射過程如圖5所示。

圖5 數(shù)據(jù)映射過程Fig.5 Data-mapping process
利用 VITESSE工具[10]開發(fā) PYTHON程序模塊,該模塊添加了數(shù)據(jù)導入菜單用以指定數(shù)據(jù)導入路徑,將已經(jīng)轉(zhuǎn)換好的Scheme文件導入TRI?BON系統(tǒng)中,并讀取數(shù)據(jù),解析其信息,最后自動建模。
添加數(shù)據(jù)導入菜單需要編寫初始化文件,并定義環(huán)境變量SBB_TRIGDIR,通過開發(fā)的VI?TESSE程序接口讀取環(huán)境變量SBB_TRIGDIR所指向目錄的初始化文件trig_draft_init.py以加載開發(fā)的數(shù)據(jù)導入菜單。數(shù)據(jù)導入菜單如圖6所示,定義菜單的方法如圖7所示。

圖6 數(shù)據(jù)導入菜單Fig.6 Operation menu for data import

圖7 定義數(shù)據(jù)導入菜單Fig.7 Defining the operation menu
利用VITESSE開發(fā)數(shù)據(jù)導入路徑對話框(圖8),然后調(diào)用已開發(fā)的重構(gòu)模塊函數(shù),執(zhí)行重構(gòu)命令PYTHON程序來完成TRIBON系統(tǒng)中的自動重構(gòu)。VITESSE程序按照之前寫出的Scheme文件的組織順序依次識別Panel-Count,Panel-Name,Panel-Statement,Curve-Count,Curve-Statement等信息,其關鍵源程序如圖9所示。

圖8 數(shù)據(jù)導入路徑對話框Fig.8 The dialog box of file import path

圖9 運行Scheme信息Fig.9 Running Scheme file for model
一系列的應用實例轉(zhuǎn)換驗證了所開發(fā)的程序,本文介紹其中典型的兩例。
1)船舶雙層底結(jié)構(gòu)中的肋板結(jié)構(gòu),其包含了平面板架的基本幾何特征,如人孔、曲線邊界、直線邊界等的處理,經(jīng)過轉(zhuǎn)換,證明本文的研究方法能夠完整地實現(xiàn)轉(zhuǎn)換(圖10)。

圖10 船舶肋板轉(zhuǎn)換實例Fig.10 Rib transformation example
為了驗證轉(zhuǎn)換結(jié)果的精確程度,圖11對局部細節(jié)放大,得到TRIBON圖形中離散點越密集,曲線精確程度越高,本文選擇插入19個點將曲線離散為20段。在對精度要求較高的情況下,可以適當增加離散點,但是數(shù)據(jù)的增加會導致處理速度變慢。

圖11 肋板曲線部分放大圖Fig.11 Zoom in the rib’s curved line
2)復雜的雙層底內(nèi)底板除了上例中的信息外,還包含4個扶強材,也就形成了板件組合,將其擴展就能完成整個分段甚至全船的轉(zhuǎn)換(圖12)。比較內(nèi)底板局部放大圖(圖13)可以看到不同結(jié)構(gòu)的拓撲關系和型材庫中標準構(gòu)件的成功轉(zhuǎn)換。

圖12 船舶內(nèi)底板轉(zhuǎn)換實例Fig.12 Transformation example for inner bottom plating

圖13 船舶內(nèi)底板轉(zhuǎn)換實例局部放大圖Fig.13 Zoom in the inner bottom plating model
本文開展了從CATIA到TRIBON船舶結(jié)構(gòu)數(shù)據(jù)交換的方法研究,得到如下結(jié)論:
1)本文所提出的從CATIA到TRIBON船舶結(jié)構(gòu)數(shù)據(jù)轉(zhuǎn)換的方法有效、可靠,可以解決船體結(jié)構(gòu)平面板架的數(shù)據(jù)轉(zhuǎn)換,通過對曲線的離散化處理,有效提高了數(shù)據(jù)交換的精度,為軟件間更加復雜的船體模型數(shù)據(jù)轉(zhuǎn)換提供了研究基礎。
2)數(shù)據(jù)轉(zhuǎn)換通過提取、轉(zhuǎn)換和導入3個步驟,將主要轉(zhuǎn)換過程用外掛程序來實現(xiàn),可以認為是一種有效的手段。其不僅可以用于CATIA到TRI?BON的轉(zhuǎn)換,也可以廣泛應用于類似的其它CAD軟件之間的轉(zhuǎn)換,其中本文方法提取的CATIA模型信息同樣可以導入其它系統(tǒng)進行有限元分析等方面的研究。
3)在船舶模型從設計端向生產(chǎn)端的轉(zhuǎn)換環(huán)節(jié)中,包括型材庫標準結(jié)構(gòu)件的轉(zhuǎn)換,可減少甚至是消除船廠重復建模的工作,將會提高使用效率。
本文的研究還僅限于相對簡單的板架結(jié)構(gòu),以此為基礎在后續(xù)的研究過程中可以處理更加復雜的模型數(shù)據(jù)庫,如開發(fā)更多、更全的標準構(gòu)件轉(zhuǎn)換模塊,進一步地研究和改善大曲度的曲面等的轉(zhuǎn)換,實現(xiàn)船體分段及全船數(shù)據(jù)模型的交換。
[1]喬珊,應文燁,何剛.艦船數(shù)字化設計應用研究[J].中國艦船研究,2007,2(4):20-25.
QIAO S,YING W Y,HE G.Application of digitaliza?tion design for ship[J].Chinese Journal of Ship Re?search,2007,2(4):20-25.
[2]Dassult System.CATIA documentation[EB/OL].2008[2010-09-01].http://www.maruf.ca/files/catiahelp/CATIA_P3_default.htm.
[3]Tribon Solutions AB.Tribon M3-user’s guides docu?mentation[CP].2008.
[4]汪學鋒,李鋒,周煒,等.流固耦合網(wǎng)格插值方法研究[J].船舶力學,2009,13(4):571-578.
WANG X F,LI F,ZHOU W,et al.Research on grid in?terpolation method of fluid-structure coupling[J].Jour?nal of Ship Mechanics,2009,13(4):571-578.
[5]苗赟,汪學鋒.船舶主流CAD軟件間的數(shù)據(jù)交換研究[J].中國造船,2011,52(3):190-197.
MIAO Y,WANG X F.Research on data transformation between principal ship CAD softwares[J].Shipbuild?ing of China,2011,52(3):190-197.
[6]Dassult System.CAA V5 Visual Basic help[CP].2008.
[7]顧敏芳,汪學鋒.Patran集成Fluent處理中模型的轉(zhuǎn)換[J].中國艦船研究,2010,5(1):6-9,13.
GU M F,WANG X F.Model transformation in integra?tion of Fluent based on Patran[J].Chinese Journal of Ship Research,2010,5(1):6-9,13.
[8]江敏,杜學東,張曉暉,等.對等點的數(shù)據(jù)映射推導算法 研 究[J].計 算 機 工 程 與 應 用 ,2009,45(3):152-154.
JIANG M,DU X D,ZHANG X H,et al.Research of data mapping inference algorism of peer-to-peer[J].Computer Engineering and Applications,2009,45(3):152-154.
[9]賈琪琳.TRIBON的船體分段數(shù)據(jù)分析[J].船舶工程,2010,32(1):67-69.
JIA Q L.Data analysis of ship segments by TRIBON[J].Ship Engineering,2010,32(1):67-69.
[10]Tribon Solutions AB.Tribon M3-user’s guides:Vi?tesse,availability in Tribon applications[CP].2008.
Data Transformation from CATIA to TRIBON for Naval Ships
NI Hai-shen1 WANG Xue-feng2
1 School of Naval Architecture,Ocean and Civil Engineering,Shanghai Jiao Tong University,Shanghai 200030,China
2 State Key Laboratory of Marine Engineering,School of Naval Architecture,Shanghai Jiao Tong University,Shanghai 200030,China
Data transformation among different ship CAD software is a highly concerned issue,with the transformation between CATIA and TRIBON being a particularly important element.By analyzing the struc?ture of model data,a data transformation method from CATIA to TRIBON for naval ships was proposed in this paper.Firstly,the secondary software attached to CATIA was developed to extract its geometry and at?tribute information,and the precision of this extraction procedure directly determines the overall accuracy of the transformation process.Next,the plug-in software was used to merge the data into a single file and translated it into a valid TRIBON document format.Finally,the remodeling modules of TRIBON were de?veloped to accomplish the transformation.Simulation results show that the proposed method can be used to transmit data among different CAD software effectively and efficiently.
CATIA;TRIBON;data transformation;secondary software
U662.9
A
1673-3185(2012)05-66-05
10.3969/j.issn.1673-3185.2012.05.012
2011-11-18
國家高技術研究發(fā)展計劃(863)項目(2008AA09A108);國家教育財政部重大項目(ZXZY019)
倪海參(1986-),男,碩士研究生。研究方向:船舶與海洋工程。
汪學鋒(1966-),男,研究員,博士生導師。研究方向:船舶與海洋工程。E?mail:wangxuef@sjtu.edu.cn
汪學鋒。
喻 菁]