專利名稱:用于三維船舶建模零件自動(dòng)編碼的簡化屬性分析方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種三維零件異同快速判斷方法,特別涉及一種用于三維船舶建模零
件自動(dòng)編碼的簡化屬性分析方法。
背景技術(shù):
目前,世界各國都在深化應(yīng)用三維設(shè)計(jì)軟件,以便提高船舶設(shè)計(jì)的精度。伴隨三維 軟件的推廣,出現(xiàn)了一些的新的課題,其中就包括設(shè)計(jì)效率的提高和設(shè)計(jì)數(shù)據(jù)的處理兩個(gè) 方面。因?yàn)槿S模型零件具有高度的仿真性,內(nèi)含大量的屬性數(shù)據(jù),所以相比二維零件,我 們可以分析得到大量的對(duì)生產(chǎn)施工具有指導(dǎo)意義的數(shù)據(jù)。如何有效利用這些數(shù)據(jù)是船舶界 一直在研究的課題。 從上世紀(jì)90年代中開始,三維建模軟件在我國各大中型船廠逐漸得到推廣應(yīng) 用,三維模型零件所具有的交互設(shè)計(jì)、仿真模擬和精細(xì)設(shè)計(jì)功能使得船舶建造的精度和 效率都有所提高,錯(cuò)誤率更是明顯減少。各大船廠也由此堅(jiān)定了生產(chǎn)設(shè)計(jì)三維建模的 決心。法國Dassault System公司的CAD/CAE/CAM —體化軟件CATIA(Computer Aided Tri-Dimensional Interface Application)就是船舶三維建模軟件中的突出代表。但由 于每個(gè)船廠的生產(chǎn)模式都有各自的特點(diǎn),對(duì)數(shù)據(jù)的需求也不盡相同,因此也就需要對(duì)各自 的三維建模軟件按船廠的實(shí)際需求進(jìn)行改進(jìn),也就是所謂的軟件客戶化。這種客戶化所采 用的技術(shù)一般都是用軟件本身提供的開發(fā)工具來進(jìn)行程序開發(fā),這就是通常所說的二次開 發(fā)。 CATIA的船體模型具有精確度高、仿真性強(qiáng)、視覺效果好的特點(diǎn),能夠提供逼真的
數(shù)字模型。但由于CATIA所提供的船體建模工具不夠豐富,加上CATIA本身的核心算法精
確度過高,從而使得船體模塊的建模效率并不高。CATIA模型中的每個(gè)零件以及對(duì)零件的各
種附加修改結(jié)果都是一個(gè)完整的可操作對(duì)象,導(dǎo)致模型更新緩慢,任何一個(gè)對(duì)象的修改都
可能會(huì)引起關(guān)聯(lián)對(duì)象的重新生成,即使關(guān)聯(lián)對(duì)象沒有任何改變,使得CATIA的模型一方面
能夠因?yàn)橐粋€(gè)零件的修改而自動(dòng)完成相關(guān)零件的修改,避免漏改,也減少了用戶需要手工
調(diào)整零件的工作量;另一方面,由于這種關(guān)聯(lián)的特點(diǎn)是建立在高精度的算法基礎(chǔ)上的,使得
一旦分段的關(guān)聯(lián)零件數(shù)達(dá)到一定數(shù)目后,關(guān)聯(lián)修改會(huì)導(dǎo)致模型修改速度明顯下滑。由于船
舶的生產(chǎn)設(shè)計(jì)過程是一個(gè)反復(fù)修改的過程,一個(gè)分段在初次建模完成后,往往還需要經(jīng)過
多次的修改才能最終完工。所以,雖然CATIA船體模塊的初次建模效率相比其他三維軟件
沒有落后太多,但模型的最終完工時(shí)間卻要遠(yuǎn)落后于其他的三維建模軟件。 為了利用CATIA對(duì)象類型多、仿真度高、對(duì)象關(guān)聯(lián)性強(qiáng)、屬性值豐富等優(yōu)點(diǎn),可以
通過CATIA的數(shù)據(jù)接口和二次開發(fā)工具,來豐富CATIA的建模工具,簡化建模操作;也可以
利用其對(duì)象屬性豐富的優(yōu)點(diǎn)進(jìn)行數(shù)據(jù)分析,減少數(shù)據(jù)的后處理工作;更加可以針對(duì)大批量
有規(guī)律的數(shù)據(jù)開發(fā)自動(dòng)處理,提高總的生產(chǎn)設(shè)計(jì)效率和精度。 零件編碼是船舶的基礎(chǔ)數(shù)據(jù),是在生產(chǎn)設(shè)計(jì)過程中由設(shè)計(jì)員對(duì)船體結(jié)構(gòu)中最小元 件的命名。編碼的目的是為了指導(dǎo)船體結(jié)構(gòu)的裝配,編碼的過程是一種裝配方案的設(shè)計(jì)過
3程,對(duì)編碼的所有分析過程都是圍繞這個(gè)目的來進(jìn)行的。 所謂零件的自動(dòng)編碼也就是能夠?qū)α慵M(jìn)行批量化編碼。目前,在整個(gè)船舶行業(yè) 的船體結(jié)構(gòu)零件編碼方式上,還是以傳統(tǒng)的手工單個(gè)編碼方式為主。這種方式要求用戶自 行判斷零件的裝配方案和零件類型,自行分析零件編號(hào)。這種編碼方式效率低下,在分段零 件較多的情況下,錯(cuò)誤率較高。在三維建模軟件應(yīng)用后,零件成為仿真對(duì)象,有了屬性值,相 互間也有了關(guān)聯(lián)性,因此批量編碼的實(shí)現(xiàn)也就有了可行性,并提出設(shè)計(jì)自動(dòng)編碼方法。
要實(shí)現(xiàn)自動(dòng)編碼,程序必須具備裝配方案的自動(dòng)分析能力和零件異同的判斷能 力。目前,各行業(yè)尤其機(jī)械制造行業(yè)已存在的零件異同判斷方法以形狀分析為主,雖然各研 究單位都在努力提高各自算法的效率,但以形狀分析為主的算法先天不足,難以適應(yīng)大規(guī) 模的三維零件的異同比較,尤其是船舶行業(yè)所要求的幾秒內(nèi)結(jié)束異同判斷。而本發(fā)明所涉 及的程序具備完全的零件異同判斷能力,能夠滿足船舶行業(yè)的速度要求,并且具備一定的 裝配方案分析能力,能夠在一定的零件范圍內(nèi)實(shí)現(xiàn)裝配方案的自動(dòng)分析(注不同的建模 軟件和不同的編碼標(biāo)準(zhǔn)會(huì)導(dǎo)致不同的方案分析方法)。 根據(jù)《船體生產(chǎn)設(shè)計(jì)編碼》標(biāo)準(zhǔn)(Q/GW J 72-2005,船體生產(chǎn)設(shè)計(jì)編碼[S].廣州 廣州文沖船廠有限責(zé)任公司,2005)對(duì)船體各級(jí)別裝配單位的定義如下
零件是船體結(jié)構(gòu)中最基本的元件。 小組是由兩個(gè)或兩個(gè)以上零件一次裝焊而成的結(jié)構(gòu)。如肋板、縱桁、T型強(qiáng)橫 梁、T型強(qiáng)縱桁和T型肋板等。 中組是片狀結(jié)構(gòu)的平面或曲面分段,由若干小組和零件裝焊而成的船體結(jié)構(gòu)。 如分段中的甲板、平臺(tái)、艙壁和舷側(cè)片體等。
分段是由若干中組、小組和零件構(gòu)成的獨(dú)立、結(jié)構(gòu)完整的船體單元。
根據(jù)該《船體生產(chǎn)設(shè)計(jì)編碼》標(biāo)準(zhǔn),對(duì)船體零件的編碼原則和方法有以下規(guī)定 a)以分段為單位編碼; b)每個(gè)零件都要有個(gè)編碼; c)在同一分段內(nèi),材料、形狀、尺寸和安裝順序完全相同的零件用同一個(gè)編碼;
d)按從尾到首、從舯到舷和從上到下的順序進(jìn)行編碼;
j)左右對(duì)稱的零件、小組和中組用同一個(gè)編碼; k)組件基面零件僅一件時(shí)用WO表示無需拼板;W1, W2……表示有拼板縫; 1)需帶在基面材上但不拼板的零件不要用W,建議用El, E2……。 從編碼原則"c"可知,分段內(nèi)部存在相同編碼的零件。但無論是從CATIA數(shù)據(jù)管
理的角度出發(fā)還是從應(yīng)用程序開發(fā)的角度出發(fā),需要的都是不重復(fù)的零件編碼。而且從信
息化建設(shè)的角度出發(fā),零件編碼也是要唯一化的。因此必須采用一個(gè)新的編碼標(biāo)準(zhǔn)和方法。
考慮到零件數(shù)據(jù)在不同的CATIA模塊和不同的軟件平臺(tái)下的信息交流問題,在進(jìn)行唯一化
編碼時(shí),添加了工藝信息和零件異常信息等方面的附加信息。 要把兩個(gè)相同的編碼區(qū)分開來,最為簡單的方法就是在原編碼的基礎(chǔ)上添 加一個(gè)后綴。CATIA的初始零件名采用的就是"."號(hào)加數(shù)字的方式。例如甲板零件 "Deck_11202. l",其目錄名稱為"Deckjl202",當(dāng)在該零件上加上一個(gè)板縫,使其分割為兩 個(gè)零件時(shí),新增加的零件名為"Deckjl202.2"。這是一種簡單實(shí)用的唯一化標(biāo)準(zhǔn)。但是,這 種標(biāo)準(zhǔn)對(duì)于零件 的生成沒有幫助,這種標(biāo)準(zhǔn)也沒有表達(dá)出零件之間的關(guān)系。為了表達(dá)出零件之間的原始關(guān)系,以這種唯一化方式為基礎(chǔ),設(shè)計(jì)了一種新的編碼唯一化方式。
編碼唯一化方案. 一級(jí)目錄號(hào).二級(jí)目錄號(hào).三級(jí)目錄號(hào).四級(jí)目錄號(hào)
—級(jí)目錄號(hào)是該零件所在的一級(jí)目錄在整個(gè)分段中的序號(hào),也可以是在唯一化過程中零件目錄被選中的順序號(hào)。如目錄"SM33P-B-F13A"在CATIA總目錄樹中的順序位置是217,其目錄號(hào)就是217。 二級(jí)目錄號(hào)零件所屬上級(jí)目錄在一級(jí)目錄中的序號(hào)。如目錄"PlatesSet",屬于目錄"SM33P-B-F13A"下第一個(gè)子目錄,故零件"SM33P-B-F13A-W1. 217. 1. 01"的二級(jí)目錄號(hào)是l。 三級(jí)目錄號(hào)零件在二級(jí)目錄下的序號(hào)。如零件"SM33P-B-F13A-BP4. 217. 2. 04. 1",其在二級(jí)目錄"SuperStiffenersSet"下的目錄序號(hào)為四,故三級(jí)目錄號(hào)取4。三級(jí)目錄的數(shù)量較大,經(jīng)常會(huì)達(dá)到兩位數(shù)。為了對(duì)齊字段,把所有三級(jí)目錄格式化為兩位長度,故數(shù)字4會(huì)格式化為04。對(duì)齊字段的目的是為了在數(shù)據(jù)分析時(shí)能夠把零件記錄正確排序。 四級(jí)目錄號(hào)零件在直接目錄下的序號(hào),其含義是零件號(hào)。如零件"SM33P-B-F13A-BP4. 217. 2. 04. 1",其直接目錄"StiffenersSet"下只有一個(gè)零件,故四級(jí)目錄號(hào)取l。 零件之間的最主要的相互關(guān)系就是目錄關(guān)系。目錄號(hào)的表達(dá)方式使得零件在轉(zhuǎn)模
后仍然可以描述其原有目錄關(guān)系,起到了重要的信息傳遞作用。同時(shí),按此方案開發(fā)的程序
只需一個(gè)單循環(huán)即可完成唯一化,降低了開發(fā)的難度,提高了運(yùn)行速度。該方案的編碼結(jié)構(gòu)
如圖l所示。標(biāo)準(zhǔn)的唯一化編碼大致可以分為四個(gè)部分,分別是船號(hào)、標(biāo)準(zhǔn)船體編碼、數(shù)字
唯一化碼和信息添加碼。舉例說明如下 GWS379_SM33P-A_K5. 3. 1. 01@G81G99@Delete G81G99柳elete為信息添加碼簡稱信息碼 3. 1. 01為數(shù)字唯一化碼簡稱數(shù)字碼 SM33P-A-K5為標(biāo)準(zhǔn)船體編碼簡稱標(biāo)準(zhǔn)碼 GWS379為船號(hào) 由于這四個(gè)部分都用不同的符號(hào)來連接,故可以輕易的提取出所需的字段來分析。 在同一組件內(nèi),當(dāng)零件類型相同時(shí),需要對(duì)零件進(jìn)行異同判斷才能確定零件的編號(hào)。這正是零件自動(dòng)編碼的難點(diǎn)所在。 所謂零件異同判斷就是指在同一組件下,對(duì)零件的類型、規(guī)格和形狀是否都相同的一種判別。異同判別的目的是分析零件的編號(hào),這是由上述編碼原則c決定的。傳統(tǒng)的對(duì)象異同判斷算法以形狀分析為主。由于現(xiàn)有的形狀判別算法都需在零件形體上抽取大量的特征數(shù)據(jù)才能進(jìn)行數(shù)據(jù)分析,故形狀分析的效率與數(shù)據(jù)提取的速度密切相關(guān)。在三維零件上提取一個(gè)簡單的邊界點(diǎn)一般平均需要3秒(測試機(jī)配置為HP xw6400Workstation,Intel (R)Xeon 5130CP弱2. 0GHz, 8G內(nèi)存,NVIDIA QFX 3500顯卡,WindowsXP系統(tǒng),CATIAV5R19建模軟件)。由于特征數(shù)據(jù)由對(duì)象點(diǎn)分析生成,而且精確的形狀判斷算法需要大量的特征數(shù)據(jù)和經(jīng)過復(fù)雜的數(shù)據(jù)比較運(yùn)算才能得出準(zhǔn)確的結(jié)論。因此僅一個(gè)零件的特征數(shù)據(jù)的提取就需1分鐘以上時(shí)間,大批量零件的特征數(shù)據(jù)的提取和比較分析使得這個(gè)時(shí)間需要翻幾倍,從而導(dǎo)致編碼程序的運(yùn)行速度緩慢。為了保證程序編碼的速度遠(yuǎn)高于手工編碼的速度,必需研究一種快速的形狀判斷算法。
發(fā)明內(nèi)容
為了提供一種快速地用于唯一化的零件自動(dòng)編碼過程中的零件異同判斷的方法,本發(fā)明提供了一種用于三維船舶建模零件自動(dòng)編碼的簡化屬性分析方法,其特征在于包括如下步驟 步驟一,搜索零件報(bào)表庫,獲取需要唯一化自動(dòng)編碼的零件屬性數(shù)據(jù); 步驟二,確定所述零件屬性數(shù)據(jù)中與各個(gè)零件對(duì)應(yīng)的不影響零件的形狀判斷的N
個(gè)非形狀屬性和與零件形狀判斷相關(guān)的M個(gè)形狀屬性; 步驟三,依次比較兩個(gè)零件的N個(gè)非形狀屬性,當(dāng)有一個(gè)非形狀屬性不同時(shí),中止
比較并判定兩個(gè)零件的編號(hào)不同,進(jìn)入步驟五,當(dāng)N個(gè)非形狀屬性均相同時(shí)進(jìn)入步驟四; 步驟四,依次比較兩個(gè)零件的M個(gè)形狀屬性,當(dāng)有一個(gè)形狀屬性不同時(shí),中止比較
并判定兩個(gè)零件的編號(hào)不同,當(dāng)M個(gè)形狀屬性均相同時(shí)判定兩個(gè)零件的編號(hào)相同; 步驟五,對(duì)進(jìn)行比較的零件按序號(hào)自動(dòng)遞增的方式進(jìn)行自動(dòng)編碼,其中被判定編
號(hào)不同的兩個(gè)零件的編碼不同,被判定編號(hào)相同的兩個(gè)零件的編碼相同; 步驟六,遍歷零件報(bào)表庫,通過重復(fù)步驟三至五對(duì)庫中所有零件的進(jìn)行編碼。 在上述技術(shù)方案中,所述步驟一中的零件屬性數(shù)據(jù)包括零件的初始名稱、零件的
父目錄名稱、零件的支持面名稱、零件的重量、零件的重心及零件的體積。 在上述技術(shù)方案中,所述步驟二中將所述零件生成數(shù)據(jù)轉(zhuǎn)化為2個(gè)非形狀屬性和
4個(gè)形狀屬性;所述2個(gè)非形狀屬性為材質(zhì)和焊接邊長度;所述4個(gè)形狀屬性為零件類型、
體信息、面信息和邊界類型。 在上述技術(shù)方案中,所述步驟二中將所述零件生成數(shù)據(jù)轉(zhuǎn)化為2個(gè)非形狀屬性和8個(gè)形狀屬性;所述2個(gè)非形狀屬性為材質(zhì)和焊接邊長度;所述8個(gè)形狀屬性為零件類型、主尺度、規(guī)格、體信息、面信息、模型庫、開孔信息和邊界類型。 在上述技術(shù)方案中,所述零件類型通過所述零件的初始名稱、零件的父目錄名稱和零件的支持面名稱來確定;所述邊界類型通過所述零件的支持面名稱來確定;所述面信息通過所述零件的支持面名稱來確定;所述體信息通過所述零件的重量、重心及體積來確定。 其中,N和M為大于等于1的正整數(shù)。
本發(fā)明取得了以下技術(shù)效果 該方法以零件的屬性數(shù)據(jù)為分析依據(jù),通過特定屬性數(shù)據(jù)的分析比較來確定零件的異同。該方法的原理簡單,數(shù)據(jù)提取方便,比較過程迅速,能夠適應(yīng)自動(dòng)編碼程序的速度要求,也完全滿足編碼準(zhǔn)確率的需要。該方法不僅適用于自動(dòng)編碼程序,也不僅適用于船體零件的異同判斷,對(duì)其他行業(yè)、專業(yè)的零件異同判斷也具有重要的參考價(jià)值,是一種非常重要和新穎的零件異同判斷方法,也是一種新的零件分析的思路。
圖1為編碼唯一化方案 圖2為零件異同標(biāo)準(zhǔn)判別方法流程圖; 圖3為CATIA模型及其目錄樹結(jié)構(gòu)圖; 圖4為純屬性比較的零件異同判別算法流程圖; 圖5為自動(dòng)編碼軟件流程圖; 圖6為自動(dòng)編碼軟件初始設(shè)置界面圖; 圖7為組件編碼界面圖; 圖8為組件方案修訂界面圖; 圖9為組件編碼算法流程圖。
具體實(shí)施例方式
為了便于本領(lǐng)域普通技術(shù)人員理解和實(shí)施本發(fā)明,下面結(jié)合附圖及具體實(shí)施方式
對(duì)本發(fā)明作進(jìn)一步的詳細(xì)描述。 由自動(dòng)編碼中零件異同判斷的定義可知,當(dāng)要確定兩個(gè)零件完全相同時(shí),需要知
道兩個(gè)零件的精確形狀,但要確定其不相同時(shí),只需找到一個(gè)不相同的特征值即可。也就是
說,要判斷零件的異同其實(shí)并不一定需要知道零件的準(zhǔn)確形狀。所以異同判斷的一個(gè)新思
路就是在一個(gè)組件內(nèi)部,先找出那些與其他零件明顯不同的零件,給與編碼,再對(duì)那些難
以判斷的零件進(jìn)行形狀比較,簡單來說,就是"先找不同點(diǎn),再找相同點(diǎn)",其流程如圖2所
示。即首先比較兩個(gè)零件的類型,類型不同則零件編號(hào)不同,相同則進(jìn)一步比較材質(zhì);材質(zhì)
不同則零件編號(hào)不同,相同則進(jìn)一步比較規(guī)格;規(guī)格不同則零件編號(hào)不同,相同則進(jìn)一步比
較第1屬性;第1屬性不同則零件編號(hào)不同,相同則進(jìn)一步比較第2屬性;第2屬性不同則
零件編號(hào)不同,相同則進(jìn)一步比較第3屬性;依次類推,比較到第N屬性;第N屬性不同則零
件編號(hào)不同,相同則進(jìn)一步比較形狀;形狀不同則零件編號(hào)不同,相同則零件編號(hào)相同。 在船體分段的同一組件內(nèi)部,屬性數(shù)據(jù)不一致的零件還是很多的。因此,使用屬性
數(shù)據(jù)來區(qū)分零件,能夠有效減少形狀比較的次數(shù),明顯加快程序運(yùn)行的速度。 上述方法雖然加快了程序運(yùn)行的速度,但仍需對(duì)某些零件進(jìn)行形狀的精確判斷,
從而使得運(yùn)行速度仍然無法滿足自動(dòng)編碼的需求。為此,需要研究一種不調(diào)用形狀分析的
異同判斷方法。 進(jìn)一步深化思路既然零件的某些屬性值能夠用來區(qū)分兩個(gè)不同的零件,那么,零件的某些屬性值也應(yīng)該能夠從某一方面反映零件的形狀,即能夠通過比較屬性值來取代形狀分析。 顯然,有些屬性不會(huì)影響零件的形狀判斷,但是會(huì)影響零件的異同判斷,則將這些屬性定義為非形狀屬性①。這些屬性需要首先找出來,并作為異同比較中最先分析的屬性值。例如零件的材質(zhì)就屬于這種屬性,雖然材質(zhì)不會(huì)影響零件的形狀,但材質(zhì)不同時(shí)零件顯然也不相同。零件的加工方式(如圓弧加工、刨邊、水火彎板、折邊等)和施工工藝(如單邊焊、焊腳高度等)也會(huì)影響零件的編碼,但由于在編碼之初往往還沒有這些數(shù)據(jù),暫時(shí)能夠取得的只是零件的焊接邊長度。除了零件的材質(zhì)和焊接邊長度,其他的與零件異同判斷有關(guān)的屬性都是與零件的形狀判斷相關(guān),定義為形狀屬性。零件的形狀屬性主要可以分為八個(gè)類型,分別是零件類型②、主尺度③(板材的長度和寬度,型材的長度)、規(guī)格④(板材的厚度、型材的截面形式)、體信息⑤、面信息⑥、模型庫⑦(肘板庫、補(bǔ)板庫、端部形式等)、開孔信息⑧和邊界類型⑨(圓弧、直線)。這些屬性值反映的都是零件形狀的關(guān)鍵信息,雖然都只能從輪廓上描述一下零件的大致形狀,并不能反映零件的精確形狀,但只要這些屬性數(shù)據(jù)中有任何一個(gè)不相同,零件編碼就會(huì)不同。 編碼標(biāo)準(zhǔn)根據(jù)不同類型的零件定義不同的類型編碼,所以類型不同的零件,其編碼必然是不同的。零件類型的內(nèi)涵豐富,并且在某些程度上能夠反映零件的形狀——如板材和型材就是不同的兩種零件,板材可以細(xì)分為普通板、肘板、補(bǔ)板等,型材也可以細(xì)分為球扁鋼、扁鋼、角鋼等,這些都是形狀不同的兩種零件。要確定準(zhǔn)確的零件類型需要綜合多方面的零件屬性。在零件的各種屬性數(shù)據(jù)中,零件的初始名稱是零件最基本的屬性,并且能夠用來確定零件的類型。如圖3所示,編碼1的名稱"Deckj1202. l"表示該零件是一個(gè)水平放置的板材,編碼2的名稱"Deck—LStf—4513. l"表示該零件是一個(gè)甲板下縱向放置的型材。零件的父目錄名稱(Owner)可以用來確定零件的大致類型(板材、扶強(qiáng)材或面板)。零件的支持面名稱(SupportName)可以在某一方面反映零件的類型。分析零件的類型時(shí),可以結(jié)合零件的安裝因素等信息來判斷零件編碼的異同,只要其安裝方向不同,也可以強(qiáng)行賦予其不同的編碼。 邊界類型(包括板材周邊和形材的焊接邊)是指零件邊界的形狀,形狀判斷上主要是分析邊界是直線還是曲線。型材的邊界類型是可以獲取的,如圖3所示的,型材是放置在板材目錄下的,可以通過判斷板材的支持面是平面還是曲面來判斷型材的邊界是直線還是曲線。板材的支持面類型的判斷屬于面信息獲取的范疇。 面信息只將面類型區(qū)分為平面和曲面兩種,只要分析支持面的名稱就可以得知支持面的類型,從而避免復(fù)雜的形狀判斷。 體信息主要指零件的重量、重心及體積。零件的重量和重心是非常重要的形狀判斷參數(shù)。其中對(duì)形狀判斷起作用的重心是指相對(duì)重心(如相對(duì)邊界或相對(duì)支持面)。
由以上分析可知,零件的屬性值可以在某個(gè)方面反映零件的形狀的。為了能夠通過比較屬性值來取代形狀分析,采用如圖4所示的方法。即首先比較兩個(gè)零件的第1非形狀屬性,第1非形狀屬性不同則零件編號(hào)不同,相同則進(jìn)一步比較第2非形狀屬性;第2非形狀屬性不同則零件編號(hào)不同,相同則進(jìn)一步比較第3非形狀屬性;依次類推,比較到第N非形狀屬性;第N非形狀屬性不同則零件編號(hào)不同,相同則進(jìn)一步比較第1形狀屬性;第1形狀屬性不同則零件編號(hào)不同,相同則進(jìn)一步比較第2形狀屬性;第2形狀屬性不同則零件編號(hào)不同,相同則進(jìn)一步比較第3形狀屬性;依次類推,比較到第M形狀屬性;第M屬性不同
則零件編號(hào)不同,相同則零件編號(hào)相同。 其中,非形狀屬性選取為材質(zhì)、焊接邊長度;形狀屬性為選取零件類型、主尺度、規(guī)格、體信息、面信息、模型庫、開孔信息和邊界類型。 對(duì)于某些建模軟件,零件的某些屬性值的獲取存在暫時(shí)的困難或速度過慢等問題,可暫不作考慮,例如CATIA軟件中零件開孔的定位判斷、非標(biāo)準(zhǔn)庫的開孔形狀的判斷等。采用該編碼方法共對(duì)547個(gè)零件進(jìn)行了異同判斷,沒有出現(xiàn)一例錯(cuò)誤。準(zhǔn)確率較高的原因首先是因?yàn)榱慵姆纸M把零件判斷的范圍縮窄了,使得普通板材在各種屬性值都相同的情況下所得編碼一般都是相同的。其次是因?yàn)榫幋a相同的零件主要是型材、肘板和補(bǔ)板,而型材中容易出錯(cuò)的情況主要出現(xiàn)在開孔時(shí),而這個(gè)段恰好沒有型材開孔。實(shí)驗(yàn)結(jié)果證明,
這是一個(gè)有效的方法,將此方法稱為屬性分析法。
8
在研究屬性分析法的過程中,由于某些屬性值的獲取存在困難或速度慢等問題, 放棄了某些屬性值的分析處理。因此,屬性分析法在理論上并不完善,還存在錯(cuò)判的可能 (雖然測試所采用的GWS379-SM33P分段547個(gè)零件沒有出錯(cuò)),必需進(jìn)一步的完善。
經(jīng)研究發(fā)現(xiàn),在所有的零件當(dāng)中,最容易發(fā)生異同判斷錯(cuò)誤的是大板材(或者說 是組件的基面材)。而大板材在一個(gè)組件內(nèi)部出現(xiàn)完全相同的兩塊板材的幾率是非常小的 (測試所采用的GWS379-SM33P分段的試驗(yàn)結(jié)果是零),即使出現(xiàn)了完全相同的兩塊板材,也 有可能在其他專業(yè)提出的開孔需求后變得不一致。因此,可以認(rèn)為同一個(gè)組件下的大板材 是不相同的,可以不進(jìn)行零件異同判斷,編碼序號(hào)采用遞增的方式生成。這個(gè)方案不僅簡化 了屬性分析法,提高了算法的速度,還提高算法的準(zhǔn)確度。同時(shí),該方法也非常符合船體生 產(chǎn)設(shè)計(jì)的特點(diǎn),對(duì)編碼記錄(此為零件表概念相同的編碼占一個(gè)編碼記錄)的增加也不 大。這個(gè)新的判斷方法稱為簡化屬性分析法。 簡化屬性分析法所用到的零件屬性值是通過CATIA的報(bào)表功能搜索CATIA零件數(shù) 據(jù)生成的。通過讀取報(bào)表數(shù)據(jù)來分析零件,使用報(bào)表來分析零件的好處是運(yùn)算速度快。
其優(yōu)選的實(shí)施方式為,用于唯一化的零件自動(dòng)編碼過程中的零件異同判斷的簡化 屬性分析方法包括如下步驟 步驟一,搜索零件報(bào)表庫,獲取需要唯一化自動(dòng)編碼的零件生成數(shù)據(jù),零件生成數(shù) 據(jù)包括零件的初始名稱、零件的父目錄名稱、零件的支持面名稱、零件的重量、零件的重心 及零件的體積; 步驟二,將所述零件生成數(shù)據(jù)轉(zhuǎn)化為與各個(gè)零件對(duì)應(yīng)的2個(gè)非形狀屬性和8個(gè)形 狀屬性,非形狀屬性為材質(zhì)和焊接邊長度,形狀屬性為零件類型、主尺度、規(guī)格、體信息、面 信息、模型庫、開孔信息和邊界類型,零件類型通過零件的初始名稱、父目錄名稱和支持面 名稱來確定;邊界類型通過零件的支持面名稱來確定;面信息通過零件的支持面名稱來確 定;體信息通過零件的重量、重心及體積來確定; 步驟三,依次比較兩個(gè)零件的2個(gè)非形狀屬性,當(dāng)有一個(gè)非形狀屬性不同時(shí),中止 比較并判定兩個(gè)零件的編號(hào)不同,進(jìn)入步驟五,當(dāng)2個(gè)非形狀屬性均相同時(shí)進(jìn)入步驟四;
步驟四,依次比較兩個(gè)零件的8個(gè)形狀屬性,當(dāng)有一個(gè)形狀屬性不同時(shí),中止比較 并判定兩個(gè)零件的編號(hào)不同,當(dāng)M個(gè)形狀屬性均相同時(shí)判定兩個(gè)零件的編號(hào)相同;
步驟五,對(duì)進(jìn)行比較的零件按序號(hào)自動(dòng)遞增的方式進(jìn)行自動(dòng)編碼,其中被判定編 號(hào)不同的兩個(gè)零件的編碼不同,被判定編號(hào)相同的兩個(gè)零件的編碼相同;
步驟六,遍歷零件報(bào)表庫,通過重復(fù)步驟三至五對(duì)庫中所有零件的進(jìn)行編碼。
根據(jù)上述簡化屬性分析法設(shè)計(jì)了自動(dòng)編碼程序,應(yīng)用于CATIA的船體結(jié)構(gòu)設(shè)計(jì)的 結(jié)構(gòu)詳細(xì)設(shè)計(jì)功能模塊(Structure Detail Design, SDD)。 一般是在SDD建模完成后使 用,其目的首先是為了提高生成設(shè)計(jì)編碼的速度,其次是提供一個(gè)組件方案的設(shè)計(jì)平臺(tái),最 后是為了零件的工藝信息提供一個(gè)輸入平臺(tái)。 編碼的目的是指導(dǎo)船舶的零件裝配。組件編碼方式是船舶行業(yè)中普遍采用的一種 零件裝配方式,其主要流程是先把零件組裝成小組件,再把小組合并成中組件,然后裝配成 分段,最后合攏成一艘完整的船。 該自動(dòng)編碼程序不僅能夠加快編碼的進(jìn)程,同時(shí)也是一個(gè)很好的組件方案的設(shè)計(jì) 平臺(tái)。軟件的使用流程如圖5所示。
第一步,初始設(shè)置。該程序啟動(dòng)時(shí)會(huì)自動(dòng)進(jìn)行一定的內(nèi)部初始化設(shè)置,但仍需進(jìn)行 一定的手動(dòng)設(shè)置才能開始編碼。初始設(shè)置界面如圖6所示,分段名稱、零件數(shù)據(jù)報(bào)表文件和 定位報(bào)表文件是必需手動(dòng)設(shè)置的三個(gè)項(xiàng)目,其余的設(shè)置值用默認(rèn)值即可。
第二步,組件編碼。按照組件編碼的原理,應(yīng)先確定小組編碼方案(對(duì)直屬同一 個(gè)小組的零件進(jìn)行編碼,見圖7),然后把這些小組裝配到中組中(給小組零件添加中組名 稱,見圖8)。準(zhǔn)確的說,是先對(duì)同一級(jí)別的組件——如同一中組下的零件(不含下級(jí)小組零 件)——進(jìn)行編碼,再考慮更改其組件級(jí)別。要求在同一級(jí)別下進(jìn)行編碼,是因?yàn)榱慵┘?jí) 名稱的確定需要在同一組件下進(jìn)行分析比較。零件末級(jí)名稱的確定是一個(gè)規(guī)律性很強(qiáng)的工 作,也是編碼中最為繁重的工作,適合交給電腦自動(dòng)編碼。組件方案的確定(尤其是中組方 案的確定)是一個(gè)主觀能動(dòng)性很強(qiáng)的工作,電腦難以勝任。因此,可以先由程序生成初始編 碼,再進(jìn)行中組方案的修正,以加快編碼的進(jìn)程。 如圖7所示,界面存在3個(gè)編碼按鈕,對(duì)應(yīng)三種編碼方式(具體用法見圖7),其中
按鈕l "一目錄組件"和按鈕3 "限數(shù)組件"可以一次編碼多個(gè)組件,按鈕2 "跨目錄組件"
每次只能編碼一個(gè)組件。不同的組件會(huì)有不同的編碼方式。對(duì)于大多數(shù)的組件,使用界面
上的默認(rèn)設(shè)置就可以進(jìn)行編碼,特殊組件需要修改設(shè)置值才能正確編碼。 編碼末字段雖然具有一定的規(guī)律,但其快速自動(dòng)生成確是一項(xiàng)困難的工作,簡化
屬性分析法是解決這個(gè)困難的鑰匙。 組件編碼算法流程圖如圖9所示。 第三步,組件方案修改。組件名稱在編碼中以字段的形式出現(xiàn),因此,修改組件方 案就是修改或添加相應(yīng)的字段名稱,如圖8所示。該界面同樣可以以來修改編碼的末段名 稱,也可以一次修改多個(gè)組件的編碼方案(但方案中添加、修改或刪除的字段必需是相同 的)。 第四步,添加工藝信息。工藝信息是指導(dǎo)工人處理零件的重要信息,傳統(tǒng)的做法是 在零件表中注明。但有了三維建模軟件并且開發(fā)出編碼程序后,在初始完整模塊(SDD模 塊)中添加,會(huì)使得后續(xù)的處理程序更加清晰統(tǒng)一,并有利于信息在不同模塊的交流,有利 于信息來源的唯一化。 第五步,編碼修改。零件編碼后,因?yàn)楦鞣N原因,可能還需要對(duì)其進(jìn)行修改,實(shí)現(xiàn)手 工輸入編碼和批量編碼的修改。 第六步,編碼校對(duì)。編碼校對(duì)過程可以用來判斷分段內(nèi)的零件是否都已編碼,起到 查漏作用。也可以對(duì)已編碼的零件和目錄進(jìn)行一定程度的校對(duì)(簡單規(guī)則、常見錯(cuò)誤)。
第七步,編碼唯一化。 第八步,輔助編碼過程。在以自動(dòng)編碼程序?yàn)榛A(chǔ)的編碼過程中,零件的選擇占據(jù) 了一定的工作量(20% 40%),尤其是肘板和補(bǔ)板這種小零件。因此,通過輔助程序快速 選中這些零件,并進(jìn)行批量編碼,有助于提高編碼的速度。輔助程序在界面設(shè)置結(jié)束后可 用,并可在各種編碼按鈕前使用。 圖9中,板材名稱和型材名稱的確定主要依靠本發(fā)明所涉及的簡化屬性分析法來 分析生成。 總體而言,本發(fā)明所涉及的用于三維船舶建模零件自動(dòng)編碼的簡化屬性分析方法 主要應(yīng)用于造船總流程中的新船生產(chǎn)設(shè)計(jì)部分,根據(jù)船舶生產(chǎn)設(shè)計(jì)專業(yè)來劃分,主要涉及船體結(jié)構(gòu)生產(chǎn)設(shè)計(jì)流程中的船體建模流程部分的SDD詳細(xì)建模。 以上實(shí)施例僅為本發(fā)明的一種實(shí)施方式,其描述較為具體和詳細(xì),但不能因此而 理解為對(duì)本發(fā)明專利范圍的限制。其具體實(shí)現(xiàn)可根據(jù)實(shí)際需要進(jìn)行相應(yīng)的調(diào)整。應(yīng)當(dāng)指出 的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變 形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。
權(quán)利要求
一種用于三維船舶建模零件自動(dòng)編碼的簡化屬性分析方法,用于零件自動(dòng)編碼過程中的零件異同判斷,其特征在于包括如下步驟步驟一,搜索零件報(bào)表庫,獲取需要編碼的零件屬性數(shù)據(jù);步驟二,確定所述零件屬性數(shù)據(jù)中與各個(gè)零件對(duì)應(yīng)的不影響零件的形狀判斷的N個(gè)非形狀屬性和與零件形狀判斷相關(guān)的M個(gè)形狀屬性;步驟三,依次比較兩個(gè)零件的N個(gè)非形狀屬性,當(dāng)有一個(gè)非形狀屬性不同時(shí),中止比較并判定兩個(gè)零件的編號(hào)不同,進(jìn)入步驟五,當(dāng)N個(gè)非形狀屬性均相同時(shí)進(jìn)入步驟四;步驟四,依次比較兩個(gè)零件的M個(gè)形狀屬性,當(dāng)有一個(gè)形狀屬性不同時(shí),中止比較并判定兩個(gè)零件的編號(hào)不同,當(dāng)M個(gè)形狀屬性均相同時(shí)判定兩個(gè)零件的編號(hào)相同;步驟五,對(duì)進(jìn)行比較的零件按序號(hào)自動(dòng)遞增的方式進(jìn)行自動(dòng)編碼,其中被判定編號(hào)不同的兩個(gè)零件的編碼不同,被判定編號(hào)相同的兩個(gè)零件的編碼相同;步驟六,遍歷零件報(bào)表庫,通過重復(fù)步驟三至五對(duì)庫中所有零件的進(jìn)行編碼。
2. 根據(jù)權(quán)利要求1所述的用于三維船舶建模零件自動(dòng)編碼的簡化屬性分析方法,其特征在于所述步驟一中的零件生成數(shù)據(jù)包括零件的初始名稱、零件的父目錄名稱、零件的支持面名稱、零件的重量、零件的重心及零件的體積。
3. 根據(jù)權(quán)利要求2所述的用于三維船舶建模零件自動(dòng)編碼的簡化屬性分析方法,其特征在于所述步驟二中將所述零件生成數(shù)據(jù)轉(zhuǎn)化為2個(gè)非形狀屬性和4個(gè)形狀屬性;所述2個(gè)非形狀屬性為材質(zhì)和焊接邊長度;所述4個(gè)形狀屬性為零件類型、體信息、面信息和邊界類型。
4. 根據(jù)權(quán)利要求2所述的用于三維船舶建模零件自動(dòng)編碼的簡化屬性分析方法,其特征在于所述步驟二中將所述零件生成數(shù)據(jù)轉(zhuǎn)化為2個(gè)非形狀屬性和8個(gè)形狀屬性;所述2個(gè)非形狀屬性為材質(zhì)和焊接邊長度;所述8個(gè)形狀屬性為零件類型、主尺度、規(guī)格、體信息、面信息、模型庫、開孔信息和邊界類型。
5. 根據(jù)權(quán)利要求3-4中任意一項(xiàng)所述的用于三維船舶建模零件自動(dòng)編碼的簡化屬性分析方法,其特征在于所述零件類型通過所述零件的初始名稱、零件的父目錄名稱和零件的支持面名稱來確定;所述邊界類型通過所述零件的支持面名稱來確定;所述面信息通過所述零件的支持面名稱來確定;所述體信息通過所述零件的重量、重心及體積來確定。
全文摘要
本發(fā)明涉及一種用于三維船舶建模零件自動(dòng)編碼的簡化屬性分析方法,用于零件自動(dòng)編碼過程中的零件異同判斷。其通過搜索零件報(bào)表庫,獲取需要編碼的零件生成數(shù)據(jù);然后將所述零件生成數(shù)據(jù)轉(zhuǎn)化為與各個(gè)零件對(duì)應(yīng)的不影響零件的形狀判斷的多個(gè)非形狀屬性和與零件形狀判斷相關(guān)的多個(gè)形狀屬性;通過依次比較兩個(gè)零件的多個(gè)非形狀屬性和多個(gè)形狀屬性,當(dāng)所有屬性均相同時(shí)判定兩個(gè)零件的編號(hào)相同,否則判定兩個(gè)零件的編號(hào)不同。該方法以零件的屬性數(shù)據(jù)為分析依據(jù),通過特定屬性數(shù)據(jù)的分析比較來確定零件的異同。該方法的原理簡單,數(shù)據(jù)提取方便,比較過程迅速,能夠適應(yīng)自動(dòng)編碼程序的速度要求,也完全滿足編碼準(zhǔn)確率的需要。
文檔編號(hào)G06F17/50GK101727521SQ200910214509
公開日2010年6月9日 申請日期2009年12月31日 優(yōu)先權(quán)日2009年12月31日
發(fā)明者黃曉 申請人:廣州文沖船廠有限責(zé)任公司