方雄兵
中國艦船研究設(shè)計中心,湖北武漢430064
FORAN導(dǎo)出的JT模型特征節(jié)點合并算法
方雄兵
中國艦船研究設(shè)計中心,湖北武漢430064
[目的]由于FORAN V70 R2.0(及以上版本)輸出的JT模型中存在很多同名的特征節(jié)點,導(dǎo)致采用間隙分析軟件對其進行分析時時間消耗加大且間隙分析結(jié)果難以處理。針對該問題,[方法]在研究FORAN導(dǎo)出的JT文件裝配結(jié)構(gòu)和蘊含信息(幾何信息、材料屬性信息等)的基礎(chǔ)上,提出一種特征節(jié)點合并算法。該算法由坐標變換、模型節(jié)點更名、節(jié)點幾何數(shù)據(jù)移動和材料屬性處理4個步驟構(gòu)成。然后,利用C++及JT Open Toolkit實現(xiàn)所提出的算法。[結(jié)果]結(jié)果顯示,利用該算法處理后的JT模型只包含1個裝配節(jié)點且保留了原始JT模型的內(nèi)在信息,可為后期間隙分析提供有效的輸入數(shù)據(jù)。[結(jié)論]大量的實例驗證了所提出算法的有效性,處理后的JT文件大小可減少7%~20%。
JT模型;裝配層次;特征合并;圖形變換;間隙分析;可視化
當(dāng)前,大型復(fù)雜產(chǎn)品的數(shù)字化設(shè)計技術(shù)已從二維CAD圖逐步過渡到以三維模型為主并向數(shù)字樣機、虛擬產(chǎn)品與過程、協(xié)同式設(shè)計與建造的方
向邁進。三維CAD模型作為產(chǎn)品設(shè)計與建造的基礎(chǔ),其輕量化和簡化處理對于數(shù)據(jù)交換與傳輸[1]、工程仿真與分析[2-3]、可視化協(xié)同[4]、虛擬展示與訓(xùn)練[5-6]等應(yīng)用均有重要意義。在實際工程應(yīng)用中,基于具體的軟件和(輕量化)模型開展應(yīng)用時,通常需要對模型進行一定的處理。利用FORAN軟件導(dǎo)出的零件JT模型開展艙室或區(qū)域內(nèi)零件之間的間隙分析時,發(fā)現(xiàn)零件JT模型的裝配結(jié)構(gòu)中包含多個同名特征節(jié)點,使得間隙分析的時間增加、問題記錄難以處理,因此需要對其進行處理。
國內(nèi)外學(xué)者在 STEP,IGES,3DXML,JT等格式模型的處理與應(yīng)用方面開展了大量工作。王永劍[7]介紹了國外STEP標準的應(yīng)用動態(tài)以及接口實現(xiàn)方法。李玉剛等[8]分析了STEP(標準號:ISO 10303)在船舶領(lǐng)域的標準化與應(yīng)用情況。王曉斌等[9]針對達索的3DXML格式內(nèi)容進行了深入研究。黃靖等[10]研究了常用CAD軟件導(dǎo)出的IGES格式模型內(nèi)容,提出了基于圖表示與產(chǎn)生式規(guī)則的IGES數(shù)據(jù)交換算法。張西廠等[11]研究了基于JT的航空發(fā)動機圖解圖生成方法。殷明強等[12]研究了在不改變裝配模型格式和外觀前提下,裝配體輕量化的方法。上述工作為JT文件的深入研究和應(yīng)用提供了參考。
JT作為一種新的國際標準格式,已被眾多商用軟件所支持。為解決FORAN導(dǎo)出的JT模型存在較多同名特征節(jié)點而不適合間隙分析的問題,本文將在分析FORAN導(dǎo)出的零件JT模型裝配及內(nèi)蘊信息的基礎(chǔ)上,基于齊次坐標與矩陣變換[13],提出一種特征節(jié)點合并算法。該算法可對同名的特征節(jié)點進行合并,對保留的唯一節(jié)點進行更名。并且,將用應(yīng)用案例表明,處理后的零件JT模型裝配結(jié)構(gòu)中只有一個節(jié)點、更加輕量化,能夠滿足后續(xù)間隙分析需要。
1.1 ISO JT標準格式簡介
JT是德國西門子公司推出的一種輕量化文件格式,目前已被國際標準化組織(ISO)認定為國際標準(ISO IS 14306:2012)。該格式提供了一種高效的3D產(chǎn)品定義方法,可在產(chǎn)品設(shè)計、仿真、制造以及后期技術(shù)支持等更大范圍內(nèi)應(yīng)用于協(xié)作、驗證與可視化。
JT文件由一序列的塊或片段所構(gòu)成,其基本結(jié)構(gòu)如圖1所示,包括:文件頭(File header)、內(nèi)容目錄段(TOC segment)和數(shù)據(jù)段(Data segment)。文件頭始終在文件最前的位置,而TOC的位置則可以在文件中間緊隨文件頭,也可以在文件的末尾。完整的JT文件,其數(shù)據(jù)段內(nèi)容非常豐富,包含邏輯場景圖(LSG)、形狀細節(jié)層次段、JT邊界表示段、XT邊界表示段、線框段、元數(shù)據(jù)段、產(chǎn)品制造信息段等。在JT模型數(shù)據(jù)定義中,經(jīng)常使用以下幾種坐標系統(tǒng),包括局部坐標系、節(jié)點坐標系、世界坐標系和視點坐標系。當(dāng)前,眾多的成熟商用軟件均提供了JT數(shù)據(jù)的導(dǎo)入/導(dǎo)出接口。
圖1 JT文件基本結(jié)構(gòu)Fig.1 General hierarchy of JT files
1.2 FORAN導(dǎo)出的JT模型分析
1.2.1 JT模型裝配結(jié)構(gòu)分析
西班牙SENER公司的造船軟件FORAN V70 R2.0(以下簡稱FORAN)提供了導(dǎo)出JT格式三維模型的功能,導(dǎo)出方法有2種:一種是手工操作方式,在FORAN軟件中打開需要轉(zhuǎn)換的模型,點擊JT導(dǎo)出功能菜單,將打開的模型導(dǎo)出為JT;另一種是基于腳本的轉(zhuǎn)換方式,即通過轉(zhuǎn)換命令形成的腳本完成模型的輕量化轉(zhuǎn)換。通過開發(fā)這種轉(zhuǎn)換腳本文件的生成工具,可生成基于一定導(dǎo)出規(guī)則的JT轉(zhuǎn)換腳本,利用該腳本,可批量導(dǎo)出全船JT模型。
導(dǎo)出的粒度也存在多種形式:1)結(jié)構(gòu)和基座可以分段形式導(dǎo)出;其他模型(設(shè)備、水管、風(fēng)管、電纜、電纜托架等)以區(qū)域/系統(tǒng)方式導(dǎo)出為一個整體的JT文件,該文件包含了大量的零件級模型;2)可以選擇單個零件三維模型并導(dǎo)出為JT。前一種形式導(dǎo)出的JT文件通常包含數(shù)量較多的零件,如一個區(qū)域內(nèi)所有的設(shè)備,可對其進行分解,生成零件級的JT模型,如1個設(shè)備、1根管子、1個T型材。如圖2所示,利用JT可視化瀏覽工具,可以看出導(dǎo)出的零件級JT文件裝配結(jié)構(gòu)為3級,第1級為根裝配節(jié)點(默認節(jié)點),第2級為零件級裝配節(jié)點,第3級為特征裝配節(jié)點。特別地,第2級零件級節(jié)點下存在數(shù)量眾多的同名(如Para?metric和Polyhedron)特征節(jié)點。
1.2.2 JT模型內(nèi)容分析
進一步地,通過對圖2(a)中的JT文件內(nèi)容進行分析,發(fā)現(xiàn)其文件內(nèi)部結(jié)構(gòu)及各部分的主要信息如表1所示。
圖2 FORAN導(dǎo)出的原始JT模型Fig.2 Original JT models exported by FORAN
根據(jù)表1,F(xiàn)ORAN導(dǎo)出的JT文件基本結(jié)構(gòu)為一個JtkAssembly(即名稱為E CM-ES-1的零件級裝配)節(jié)點下掛若干個JtkPart節(jié)點(即名稱為Parametric和Polyhedron的特征節(jié)點),JtkPart包含具體的幾何模型數(shù)據(jù),主要信息有:該特征節(jié)點的版本、ID號、單位、變換矩陣(齊次坐標表示)、LOD層級、形狀面片頂點、形狀法向量、材料屬性等。如圖3所示,借助TC Visualization Mockup(以下簡稱Vis Mockup)高級功能(操作—檢查器),可以查看特征節(jié)點(即JtkPart節(jié)點)下的數(shù)據(jù)。每個JtkPart節(jié)點下有多個細節(jié)層次,每個細節(jié)層次下又包含一定數(shù)量的面片(即JtkShape)。
綜上,F(xiàn)ORAN導(dǎo)出的JT模型裝配結(jié)構(gòu)如圖4所示。
基于Vis Mockup開展2個零件JT模型的間隙分析時,Vis Mockup會將第1個JT模型的每個特征節(jié)點(JtkPart)與第2個JT模型的每個特征節(jié)點進行間隙計算(只進行到這一級)。然而,F(xiàn)ORAN導(dǎo)出的JT模型裝配結(jié)構(gòu)中往往存在多個同名的JtkPart特征節(jié)點,如Parametric,Polyhedron或是一些不規(guī)范命名的節(jié)點,導(dǎo)致在后期進行間隙分析時需要分析計算的JtkPart對數(shù)較多,分析時間增長,且間隙分析結(jié)果記錄項(Parametric,Parametric,距離值,……)中的特征節(jié)點無法與其所屬的零件名稱(零件A,零件B)一一對應(yīng),導(dǎo)致兩個JT模型的間隙分析結(jié)果難以處理。假設(shè),參與間隙分析的兩個零件JT模型分別包含m和n個JtkPart,則在間隙分析時需要計算m×n對JtkPart之間的距離值,并對m×n個間隙記錄項進行分析處理。
因此,要提高JT模型的間隙分析和結(jié)果處理效率,需要對FORAN導(dǎo)出的零件級JT模型進行以下處理:將JT模型中的特征節(jié)點(JtkPart)進行合并,合并后的JT模型只有1個特征節(jié)點,且其名稱與合并前的JT模型名稱相同,即與上一級的Jt?kAssembly節(jié)點同名。
圖3 特征節(jié)點下包含的信息Fig.3 Information beneath the part node
圖4 FORAN導(dǎo)出的JT模型詳細裝配結(jié)構(gòu)Fig.4 Detailed assembly structure of JT models exported by FORAN
3.1 問題分析
通過對FORAN導(dǎo)出的JT模型文件內(nèi)容的分析,可以看出JT文件基本結(jié)構(gòu)為一個JtkAssembly(如圖 2(a)中的 E CM-ES-1)節(jié)點,下掛若干個JtkPart節(jié)點,如圖2(a)中的多個 Parametric節(jié)點,圖2(b)中的多個Polyhedron節(jié)點。JtkPart節(jié)點包含具體的幾何模型數(shù)據(jù),即JtkShape面片的頂點、法向量。由于JtkAssembly節(jié)點不能直接包含幾何模型數(shù)據(jù),所以要完成合并操作必須保留一個JtkPart節(jié)點,而將其他所有JtkPart下的幾何數(shù)據(jù)都合并到這個保留的JtkPart下,并將保留的JtkPart進行輸出。除合并幾何數(shù)據(jù)外,還需要對材料屬性等信息進行處理,并將唯一保留的JtkPart更換為上一級JtkAssembly的名稱,如圖 2(a)中的ECM-ES-1。
要實現(xiàn)對JtkPart幾何數(shù)據(jù)的合并,需要解決以下關(guān)鍵問題:零件級(JtkAssembly)節(jié)點下存在多個JtkPart節(jié)點,每個節(jié)點均有自己獨立的坐標系,即各自的變換矩陣JtkTRANSFORM;若直接將幾何數(shù)據(jù)復(fù)制到保留的JtkPart節(jié)點下,會導(dǎo)致頂點位置及法向量錯誤。為實現(xiàn)幾何數(shù)據(jù)正確合并,需要將被移動的JtkPart節(jié)點坐標系與保留的JtkPart節(jié)點坐標系進行統(tǒng)一。處理該問題可采用如下2種方式:1)將其他JtkPart節(jié)點幾何數(shù)據(jù)統(tǒng)一到保留的JtkPart節(jié)點局部坐標系中,這種方式需要完成變換矩陣求逆以及2個矩陣相乘[13],并將結(jié)果矩陣應(yīng)用于其他所有JtkPart節(jié)點下的幾何數(shù)據(jù);2)將所有JtkPart節(jié)點下的幾何數(shù)據(jù)均統(tǒng)一到世界坐標系中,即將各JtkPart節(jié)點變換矩陣應(yīng)用到各自的幾何數(shù)據(jù)上。從計算量考慮,本文采用第2種方法。
JtkPart節(jié)點幾何數(shù)據(jù)合并處理流程簡單描述如下。
1)對于每一個JtkPart節(jié)點,將其變換矩陣(JtkTRANSFORM)應(yīng)用到其下所有的幾何數(shù)據(jù)(頂點和法向量)上,即所有的幾何數(shù)據(jù)均以世界坐標系為參照,然后將該變換矩陣設(shè)置為單位矩陣。
2)保留第 1個 JtkPart節(jié)點,將第 2~n個JtkPart節(jié)點的幾何數(shù)據(jù)合并到第1個JtkPart節(jié)點下,并將第2~n個節(jié)點從上級JtkAssembly節(jié)點下移除。
3.2 算法設(shè)計與描述
3.2.1 算法設(shè)計與分析
綜合上述分析,F(xiàn)ORAN導(dǎo)出的JT模型進行特征節(jié)點合并需要解決以下問題:1)JtkPart節(jié)點幾何數(shù)據(jù)與屬性信息的移動;2)若存在多個JtkPart節(jié)點,需要將被合并的JtkPart節(jié)點數(shù)據(jù)刪除;3)合并后將保留的JtkPart節(jié)點更名,并將上一級JtkAssembly節(jié)點移除或者返回保留的JtkPart節(jié)點。完整的JT特征節(jié)點合并處理過程見JT模型特征節(jié)點合并算法(以下簡稱“JT合并算法”),具體如下。
輸入:FORAN V70 R2.0導(dǎo)出的JT模型。
輸出:裝配結(jié)構(gòu)只有1個名稱為零件名的JtkAssembly節(jié)點,且保留原始模型幾何數(shù)據(jù)和屬性信息的JT模型。
處理過程:
1)計算JT裝配中特征節(jié)點JtkPart的數(shù)量numofPart;
2)將第1個JtkPart的變換矩陣應(yīng)用到其下各個細節(jié)層中所有JtkShape下的數(shù)據(jù)上,即所有幾何數(shù)據(jù)的坐標為世界坐標;將第1個JtkPart更名為上一級的JtkAssembly節(jié)點名稱,即FORAN導(dǎo)出的JT模型的名稱。
3)將第i(2~numofPart)個JtkPart的變換矩陣應(yīng)用到其下各個細節(jié)層中所有JtkShape下的數(shù)據(jù)上,與2)中操作相同;將第i(2~numofPart)個Jtk?Part幾何數(shù)據(jù)移動至第1個JtkPart下;將第i(2~numofPart)個JtkPart的材料屬性應(yīng)用到其下各個細節(jié)層中所有JtkShape數(shù)據(jù)上;將第i(2~nu?mofPart)個JtkPart放入至1個隊列remChild中。
4)將remChild中的所有JtkPart數(shù)據(jù)移除。
5)返回第1個JtkPart的指針。
對上述JT合并算法進行分析,其計算復(fù)雜度為 O(numofLOD×numofShape*(numofVertex+nu?mofNormal)),其中 numofLOD 為每個 JtkPart的細節(jié)層次,numofShape為每個細節(jié)層中JtkShape的數(shù)量,numofVertex和numofNormal分別為每個JtkShape的頂點數(shù)量和法向量數(shù)量。通常情況下,對FORAN導(dǎo)出的JT模型,其numofLOD為3,每個細節(jié)層中包含的JtkShape數(shù)量均相同,每個JtkShape為一個多邊形,有3或4個頂點,即numof?Vertex和numofNormal為常數(shù)3或4。在采用齊次坐標表示時,JtkShape各個頂點和法向量均有4個分量。因此,JT合并算法計算復(fù)雜度為一個關(guān)于JtkShape數(shù)量的線性函數(shù) O(numofShape),而JtkShape數(shù)量numofShape取決于CAD軟件表達幾何體外觀的精細程度以及幾何體自身的平滑程度。
3.2.2 算法描述
下面采用偽代碼對JT合并算法進行描述。表2中,各主要函數(shù)原型定義如下。
PARTS_MERGE(JtkAssembly*assembly)將assembly指向的裝配節(jié)點下的其他JtkPart特征節(jié)點移動到第1個JtkPart節(jié)點下,對第1個特征節(jié)點進行更名,即保留第1個節(jié)點,最后將該特征節(jié)點指針返回。
APPLY_TRANSFORM (JtkPart* part, Jtk?Transform*pxform)將變換矩陣pxform應(yīng)用到part下各細節(jié)層中所有JtkShape下的數(shù)據(jù)上。
SET_PART_NODE_NAME(JtkHierarchy*part0,const char*newname)將part0指向的特征節(jié)點賦值為新的名稱newname,本算法中newname為零件的名稱。
MOVE_SHAPES(JtkPart*parSource,JtkPart*parDest)將parSource中的幾何數(shù)據(jù)移動到特征節(jié)點parDest下。
APPLY_MATERIAL(JtkPart*part,JtkMateri?al*material)將material中的材料屬性應(yīng)用到part指向的特征節(jié)點下所有的幾何數(shù)據(jù)上。
4.1 節(jié)點處理工具設(shè)計
考慮到船舶零件數(shù)量大的特點,節(jié)點合并工具應(yīng)具備對FORAN導(dǎo)出的零件級原始JT模型進行批量處理的功能,處理后的JT存儲于本地公共文件夾中。節(jié)點合并處理工具界面如圖5所示,用戶選擇文件或文件夾選項后,可進一步選擇本地需要處理的原始JT文件(要求:該JT為零件級)。基于Visual Studio 2010,采用C++語言以及JT Open Toolkit提供的API實現(xiàn)了JT合并算法。
4.2 案例與討論
4.2.1 測試案例
選擇FORAN導(dǎo)出的JT模型,對所提出的算法進行驗證,具體步驟如下。
1)選擇本地需要進行節(jié)點合并處理的JT文件,可以是單個分解處理后的JT文件或包含多個JT文件的文件夾。如圖6所示,選擇圖2(b)中的基座模型C: empAS-****-XX13JZ.jt為例,說明節(jié)點處理工具的用法。該模型處理前文件大小為33.9 kB,包含27個JtkPart節(jié)點。
2)選擇“確定”,如圖7所示,對JT文件進行節(jié)點合并處理。
3)節(jié)點合并后的JT文件存放在默認的文件夾中。如圖8所示,利用JT Vis Mockup 10.1打開節(jié)點合并處理后的AS-****-XX13JZ模型文件,可以看到該基座模型只有1個頂級裝配節(jié)點,其下無其他節(jié)點。
表2 JT模型特征節(jié)點合并算法偽代碼描述Table 2 Pseudo-code description for the algorithm of merging part nodes of JT models
圖5 特征節(jié)點合并工具界面Fig.5 Interface of part nodes merging tool
圖6 選擇需要進行節(jié)點合并的JT文件Fig.6 Choosing JT files for part nodes merging
圖7 JT模型特征節(jié)點合并過程信息Fig.7 Process information of JT model in process of part nodes merging
JtkPart節(jié)點合并處理后,AS-****-XX13JZ.jt模型大小為27 kB,只有1個節(jié)點。以下給出了其他一些測試案例,如圖8~圖11所示,從圖9(b)、圖10(b)和圖11(b)可以看出,處理后的JT只包含1個節(jié)點。處理前、后模型數(shù)據(jù)對比如表3所示。
圖8 特征節(jié)點合并后的JT模型Fig.8 JT model after part nodes merging
圖9 設(shè)備JT模型節(jié)點合并處理前后對比(編號3)Fig.9 Comparison of an equipment's JT model before and after part nodes merging(No.3)
圖10 結(jié)構(gòu)JT模型節(jié)點合并處理前后對比(編號8)Fig.10 Comparison of a structure's JT model before and after part nodes merging(No.8)
圖11 結(jié)構(gòu)JT模型節(jié)點合并處理前后對比(編號10)Fig.11 Comparison of a structure's JT model before and after part nodes merging(No.10)
從表3可以看出,F(xiàn)ORAN導(dǎo)出的原始零件級JT模型經(jīng)過節(jié)點合并處理后,文件大小減少了7%~20%,相比未處理前更加輕量化。圖9~圖11分別為表3中編號為3,8和10的零件級JT模型進行節(jié)點處理前、后的對比。其中,結(jié)構(gòu)類原始零件級JT模型通常只有1個特征節(jié)點,通過對特征節(jié)點下的細節(jié)層次以及三角形面片數(shù)量進行分析,發(fā)現(xiàn)編號為8的模型與編號為10的模型相比,其Part節(jié)點數(shù)量均為1,細節(jié)層次數(shù)量均為3,每個細節(jié)層次包含的面片(JtkShape)數(shù)量分別為28和1 124。
從表3以及對JT模型內(nèi)部信息進行深入分析發(fā)現(xiàn),表3中JT模型輕量化百分比大小與模型包含特征節(jié)點數(shù)量、細節(jié)層次、各層的三角形面片數(shù)、材料信息大小等有關(guān)。模型建模精度越高,包含的特征節(jié)點數(shù)量以及三角形面片數(shù)越大,從而輕量化率越高。
表3 JT模型特征節(jié)點合并處理前、后數(shù)據(jù)對比Table 3 Comparison of data before and after part node merging of JT models
4.2.2討論
1)利用JT合并算法處理后的JT模型(零件級)只包含1個特征節(jié)點,保留了原始JT模型的名稱、所有幾何數(shù)據(jù)和材料屬性等信息。
2)在完成節(jié)點合并處理后,2個零件級JT模型之間間隙分析計算次數(shù)變?yōu)?,其問題記錄項數(shù)量為1或0,記錄項主要元素為“(零件A的名稱,零件B的名稱,距離值,……)”,根據(jù)問題記錄項的元素可準確定位到具體零件上。
3)盡管本文提出的算法主要針對FORAN V70 R2.0(及以上版本)導(dǎo)出的JT模型,然而當(dāng)前很多格式定義的三維模型在裝配結(jié)構(gòu)上與JT非常類似,如3DXML,SMG格式,論文所提出的算法對于其他軟件導(dǎo)出的JT以及其他格式定義的三維模型裝配結(jié)構(gòu)與幾何數(shù)據(jù)處理問題也有一定的借鑒意義,如SMG,3DXML,STEP等格式。
JT作為一種國際標準格式,其包含的信息非常豐富,對船舶這類零部件數(shù)量大的應(yīng)用領(lǐng)域而言,可以支持大場景模型的高效可視化以及全生命周期的協(xié)同。本文對FORAN導(dǎo)出的JT模型存在大量同名特征節(jié)點而導(dǎo)致后續(xù)的間隙分析效率低、結(jié)果難以處理的問題進行了專門研究,給出了一種節(jié)點合并算法,處理后的JT模型只包含1個節(jié)點,保留了原始JT所有的幾何與材料屬性等信息,并且比處理前的JT文件大小減少了7%~20%,為支持船舶等領(lǐng)域大裝配的應(yīng)用,如船舶艙室三維模型間隙分析、可視化、虛擬維修與培訓(xùn)等,提供了有效的輸入數(shù)據(jù)。大量仿真案例驗證了所提出算法的有效性。
[1]王啟富,賈成,劉俊,等.三維CAD模型中自由曲線曲面無損壓縮算法[J].計算機輔助設(shè)計與圖形學(xué)學(xué)報,2007,19(9):1200-1205.WANG Q F,JIA C,LIU J,et al.Lossless compres?sion of free-form curve and surface in CAD models[J].Journal of Computer-Aided Design&Computer Graph?ics,2007,19(9):1200-1205(in Chinese).
[2]劉清華,李帥,劉云華,等.協(xié)同環(huán)境中基于輕量化的3D異構(gòu)CAD模型干涉檢查[J].中國機械工程,2013,24(1):56-60,77.LIU Q H,LI S,LIU Y H,et al.Collaborative support?ed 3D heterogeneous CAD model interference check?ing based on lightweight model[J].China Mechanical Engineering,2013,24(1):56-60,77(in Chinese).
[3]姜麗萍,陳文亮,黃大興.基于輕量化模型的飛機裝配過程虛擬仿真方法[J].航空制造技術(shù),2013(12):26-29.JIANG L P,CHEN W L,HUANG D X.Virtual simu?lation method of aircraft assembly procedure based on lightweight model technology[J].Aeronautical Manu?facturing Technology,2013(12):26-29(in Chinese).
[4]巫鵬偉,盧鵠,范玉青.協(xié)同共享數(shù)據(jù)的輕量化模型[J].航空維修與工程,2010(2):56-58.WU P W,LU H,F(xiàn)AN Y Q.Lightweight model of col?laborative sharing data[J].Aviation Maintenance&Engineering,2010(2):56-58(in Chinese).
[5]談敦銘,趙罡,薛俊杰.飛行器大數(shù)據(jù)量CAD模型并行預(yù)處理[J].計算機輔助設(shè)計與圖形學(xué)學(xué)報,2013,25(3):425-432.TAN D M,ZHAO G,XUE J J.Parallel pre-process?ing of massive aircraft cad models[J].Journal of Com ?puter-Aided Design&Computer Graphics,2013,25(3):425-432(in Chinese).
[6]LEU M C,EIMARAGHY H A,NEE A Y C,et al.CAD model based virtual assembly simulation,plan?ning and training[J].CIRP Annals-ManufacturingTechnology,2013,62(2):799-822.
[7]王永劍.基于STEP標準的應(yīng)用系統(tǒng)的接口開發(fā)[J].航空工藝技術(shù),1997(2):21-22.WANG Y J.Interface development of STEP stan?dard-based application system[J].Aeronautical Manu?facturing Technology,1997(2):21-22(in Chinese).
[8]李玉剛,紀卓尚,林焰.船舶STEP標準現(xiàn)狀及其應(yīng)用研究[J].艦船科學(xué)技術(shù),2008,30(1):29-33.LI Y G,JI Z S,LIN Y.Status of ship STEP standard and its application research[J].Ship Science and Tech?nology,2008,30(1):29-33(in Chinese).
[9]王曉斌,寧濤,王可.3DXML文件格式解析及應(yīng)用[J].工程圖學(xué)學(xué)報,2010,31(2):33-37.WANG X B,NING T,WANG K.Parsing 3DXML file format and its application[J].Journal of Engineering Graphics,2010,31(2):33-37(in Chinese).
[10]黃靖,王斌,胡楷模,等.基于DAG表示與產(chǎn)生式的IGES裝配體數(shù)據(jù)交換算法[J].圖學(xué)學(xué)報,2012,33(4):50-58.HUANG J,WANG B,HU K M,et al.IGES data ex?change algorithm for assemblies based on DAG repre?sentation and production rules[J].Journal of Graph?ics,2012,33(4):50-58(in Chinese).
[11]張西廠,梅小川,邱明星.基于JT數(shù)據(jù)編制航空發(fā)動機圖解圖的創(chuàng)新方法[J].航空發(fā)動機,2009,35(6):10-13.ZHANG X C,MEI X C,QIU M X.Innovation meth?od of compiling aeroengine IPC based on JT data[J].Aeroengine,2009,35(6):10-13(in Chinese).
[12]殷明強,李世其.保持外觀的CAD模型輕量化技術(shù)[J].計算機應(yīng)用,2013,33(6):1719-1722.YIN M Q,LI S Q.Simplification method of appear?ance preserved CAD model[J].Journal of Computer Applications,2013,33(6):1719-1722 (in Chi?nese).
[13]VINCE J.Mathematics for computer graphics[M].3rd ed.London:Springer,2010.
An algorithm for merging part nodes of JT models exported by FORAN
FANG Xiongbing
China Ship Development and Design Center,Wuhan 430064,China
Many cognominal parts exist in JT models exported by FORAN V70 R2.0 software,and this leads to an increase in time consumption and the space analysis results becoming hard to process when using clearance analysis software to perform distance computing for such JT models.Aiming at this problem,an algorithm for merging component nodes is put forward based on investigating the assembly configuration and inherent information(i.e.geometric and material information)of JT models created by FORAN.The method is composed of four steps:coordinate transformation,model node renaming,node geometric data transferring and material attribute processing.Finally,the proposed method is implemented by C++and JT Open Toolkit.The results show that the new JT models generated by the proposed method are comprised of only one assembly node,and they preserve the intrinsic information of the original JT models.Its validity is illustrated by a great deal of examples,and the content of the worked JT models are reducedbyabout7%to20%.
JT model;assembly hierarchy;component merging;graphic transformation;clearance analysis;visualization
U662.9
:ADOI:10.3969/j.issn.1673-3185.2017.03.007
http://kns.cnki.net/kcms/detail/42.1755.TJ.20170512.1255.028.html期刊網(wǎng)址:www.ship-research.com
方雄兵.FORAN導(dǎo)出的JT模型特征節(jié)點合并算法[J].中國艦船研究,2017,12(3):43-50,148.
FANG X B.An algorithm for merging part nodes of JT models exported by FORAN[J].Chinese Journal of Ship Research,2017,12(3):43-50,148.
2016-06-13< class="emphasis_bold">網(wǎng)絡(luò)出版時間
時間:2017-5-12 12:55
國家部委基金資助項目
方雄兵(通信作者),男,1983年生,博士,工程師。研究方向:計算機圖形學(xué),計算機輔助幾何設(shè)計及艦船虛擬仿真。E-mail:fangxb2013@sina.cn