一種拓?fù)鋬?yōu)化結(jié)果的幾何重構(gòu)方法
【專利摘要】本發(fā)明提供了一種拓?fù)鋬?yōu)化結(jié)果的幾何重構(gòu)方法,首先獲取拓?fù)鋬?yōu)化結(jié)果的表面幾何結(jié)構(gòu)IGES文件及數(shù)據(jù)轉(zhuǎn)化,其次對輪廓線進(jìn)行規(guī)整,獲得由直線和圓弧擬合的參數(shù)化圖像,最后將由長折線和圓弧擬合而成的閉合輪廓線輸出至CAD軟件中得到相應(yīng)的修改后的幾何模型。本發(fā)明用簡單的分段直線和圓弧擬合復(fù)雜的輪廓圖像,通過控制多個(gè)可調(diào)參數(shù)實(shí)現(xiàn)不同復(fù)雜程度的擬合。交互性好、算法簡潔,有效銜接CAD與CAE軟件,快速實(shí)現(xiàn)CAD模型的重構(gòu)和修整。
【專利說明】一種拓?fù)鋬?yōu)化結(jié)果的幾何重構(gòu)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種拓?fù)鋬?yōu)化結(jié)果的幾何重構(gòu)方法。
【背景技術(shù)】
[0002]結(jié)構(gòu)拓?fù)鋬?yōu)化能在工程結(jié)構(gòu)設(shè)計(jì)的初始階段為設(shè)計(jì)者提供一個(gè)概念性設(shè)計(jì),使結(jié)構(gòu)在布局上采用最優(yōu)方案。但目前商用CAD與CAE軟件接口還不太完善,由于拓?fù)鋬?yōu)化使用有限元模型,優(yōu)化結(jié)果不能直接轉(zhuǎn)換成參數(shù)化CAD的模型,需要設(shè)計(jì)師重新創(chuàng)建一個(gè)接近拓?fù)鋬?yōu)化結(jié)果的參數(shù)化CAD模型,重復(fù)導(dǎo)入CAE軟件進(jìn)行驗(yàn)證和進(jìn)一步優(yōu)化,同時(shí),拓?fù)鋬?yōu)化的結(jié)果輪廓通常也較復(fù)雜,不便于加工制造。對拓?fù)鋬?yōu)化結(jié)果重構(gòu)和修整是很繁瑣而耗時(shí),在一定程度上增加了設(shè)計(jì)周期和設(shè)計(jì)成本。
[0003]國內(nèi)對如何實(shí)現(xiàn)自動(dòng)重構(gòu),研究并不深入。在國內(nèi)外一些初步研究中,提出了幾種轉(zhuǎn)化方法,其中一種是將拓?fù)鋬?yōu)化后結(jié)果的圖形通過識(shí)別圖形灰度創(chuàng)建B樣條曲面截面,通過多個(gè)B樣條截面形成3D的CAD模型;還有一種是對優(yōu)化結(jié)果的復(fù)雜點(diǎn)云文件通過減少網(wǎng)格節(jié)點(diǎn)的做法形成一個(gè)簡單的點(diǎn)云文件,保留其基本輪廓信息,利用點(diǎn)云文件構(gòu)成CAD模型,以上兩種方法在一定程度上獲得了成功,但很多簡單圖形并不需要用復(fù)雜的B樣條去描述,而且在細(xì)化模型結(jié)構(gòu)時(shí)缺乏邏輯功能操作,同時(shí)這兩種方法缺少與設(shè)計(jì)師的交互性,并不能保證結(jié)果就是設(shè)計(jì)者所需要的;Brigham Young大學(xué)的Shane Larsen andC.Greg Jensen提出了形狀模板法,將結(jié)構(gòu)的某些截面輪廓幾何坐標(biāo)轉(zhuǎn)化成極坐標(biāo)形式,并與模板的極坐標(biāo)對比,逼近結(jié)構(gòu)輪廓。此方法允許設(shè)計(jì)者定義模型擬合的復(fù)雜程度,更自由且更符合設(shè)計(jì)者的需求,但不足之處在于模板復(fù)雜繁多,運(yùn)行速度慢。
【發(fā)明內(nèi)容】
[0004]要解決的技術(shù)問題
[0005]為了克服現(xiàn)有技術(shù)的不足,本發(fā)明提供了一種拓?fù)鋬?yōu)化結(jié)果的幾何重構(gòu)方法。
[0006]技術(shù)方案
[0007]本發(fā)明的技術(shù)方案為:
[0008]所述一種拓?fù)鋬?yōu)化結(jié)果的幾何重構(gòu)方法,其特征在于:采用以下步驟:
[0009]步驟1:獲取拓?fù)鋬?yōu)化結(jié)果的表面幾何結(jié)構(gòu)IGES文件及數(shù)據(jù)轉(zhuǎn)化:
[0010]步驟1.1:通過CAE軟件生成拓?fù)鋬?yōu)化結(jié)果IGES文件;
[0011]步驟1.2:將IGES文件包含的元素幾何及位置信息轉(zhuǎn)化為MATLAB可識(shí)別的數(shù)據(jù)矩陣,從而獲取輪廓線幾何參數(shù);
[0012]步驟2:對輪廓線進(jìn)行規(guī)整,獲得由直線和圓弧擬合的參數(shù)化圖像:
[0013]步驟2.1:輪廓分段:對組成閉合輪廓線的任意一條輪廓曲線AB,采用以下方法進(jìn)行分段:連接輪廓曲線始末點(diǎn)A點(diǎn)和B點(diǎn),根據(jù)步驟I得到的A點(diǎn)和B點(diǎn)坐標(biāo),得到直線AB方程,以及輪廓曲線AB上各點(diǎn)到直線AB的距離,其中最遠(yuǎn)距離點(diǎn)為C,最遠(yuǎn)距離為CH;判斷CH/AB > α若成立,則表示輪廓曲線AB可分,將點(diǎn)C作為曲線AB的分段點(diǎn),輪廓曲線AB分為輪廓曲線AC和輪廓曲線CB兩段;再對輪廓曲線AC和輪廓曲線CB分段,直至輪廓曲線不可分,將不可分的輪廓曲線始末點(diǎn)直線相連形成折線;其中α為分段閾值;閉合輪廓線分段后得到有若干段折線收尾相連的新輪廓線;
[0014]步驟2.2:輪廓參數(shù)化擬合:根據(jù)步驟I中得到的輪廓線數(shù)據(jù),得到閉合輪廓線的總長為Ltl ;對折線進(jìn)行區(qū)分:其中第η段折線長度為Ln,若LnZltl < β,則第η段折線為短折線,反之則為長折線,β為修正閾值;
[0015]對于任意一條短折線PQ,擬合得到過短折線兩端點(diǎn)P點(diǎn)和Q點(diǎn)以及輪廓曲線PQ上一點(diǎn)M的圓弧PMQ,用圓弧PMQ代替短折線PQ ;若相鄰多條短折線的擬合圓弧的圓心距離小于誤差閾值,且相鄰多條短折線的擬合圓弧的半徑之差小于誤差閾值,則擬合得到過這相鄰多條短折線中的三個(gè)端點(diǎn)的圓弧,用該圓弧代替這相鄰多條短折線;將整個(gè)閉合輪廓線由長折線和圓弧擬合而成;
[0016]步驟3:將由長折線和圓弧擬合而成的閉合輪廓線輸出至CAD軟件中得到相應(yīng)的修改后的幾何模型。
[0017]有益效果
[0018]本發(fā)明用簡單的分段直線和圓弧擬合復(fù)雜的輪廓圖像,通過控制多個(gè)可調(diào)參數(shù)實(shí)現(xiàn)不同復(fù)雜程度的擬合。交互性好、算法簡潔,有效銜接CAD與CAE軟件,快速實(shí)現(xiàn)CAD模型的重構(gòu)和修整。
【專利附圖】
【附圖說明】
[0019]圖1.本發(fā)明提出的技術(shù)方案流程圖;
[0020]圖2.原始輪廓線曲線;
[0021]圖3.分段后的曲線;
[0022]圖4.三點(diǎn)圓弧擬合;
[0023]圖5.算例有限元網(wǎng)格圖;
[0024]圖6.通過有限元文件導(dǎo)出的平面圖;
[0025]圖7.不同閾值的重構(gòu)結(jié)果圖。
【具體實(shí)施方式】
[0026]下面結(jié)合附圖和實(shí)施例對本發(fā)明進(jìn)一步說明。
[0027]本實(shí)施例中某一平面零件的拓?fù)鋬?yōu)化結(jié)果的有限元網(wǎng)格文件如圖5,平面上開有多個(gè)不規(guī)則的孔,外形輪廓也比較復(fù)雜。通過拓?fù)鋬?yōu)化軟件導(dǎo)出IGES格式的平面圖形如圖6所示,共有八條封閉曲線,其中七條內(nèi)輪廓線,一條外輪廓線,每條輪廓線由多段B樣條曲線首位相接而成。
[0028]將拓?fù)鋬?yōu)化結(jié)果進(jìn)行幾何重構(gòu)方法的步驟為:
[0029]步驟1:獲取拓?fù)鋬?yōu)化結(jié)果的表面幾何結(jié)構(gòu)IGES文件及數(shù)據(jù)轉(zhuǎn)化:
[0030]步驟1.1:通過CAE軟件生成拓?fù)鋬?yōu)化結(jié)果IGES文件;
[0031]步驟1.2:將IGES文件包含的元素幾何及位置信息轉(zhuǎn)化為MATLAB可識(shí)別的數(shù)據(jù)矩陣,從而獲取輪廓線幾何參數(shù);如NURBS曲面中的B樣條曲線在MATLAB中以一個(gè)細(xì)胞數(shù)組數(shù)據(jù)形式存儲(chǔ),包含其曲線類型和各點(diǎn)坐標(biāo)等幾何參數(shù)信息。[0032]步驟2:對輪廓線進(jìn)行規(guī)整,獲得由直線和圓弧擬合的參數(shù)化圖像:
[0033]步驟2.1:輪廓分段:
[0034]閉合輪廓線由多條曲線首尾相連而成,對組成閉合輪廓線的任意一條輪廓曲線AB,如圖2所示,采用以下方法進(jìn)行分段:連接輪廓曲線始末點(diǎn)A點(diǎn)和B點(diǎn),根據(jù)步驟I得到的A點(diǎn)和B點(diǎn)坐標(biāo),得到直線AB方程,以及輪廓曲線AB上各點(diǎn)到直線AB的距離,其中最遠(yuǎn)距離點(diǎn)為C,最遠(yuǎn)距離為CH;判斷CH/AB> α若成立,則表示輪廓曲線AB可分,將點(diǎn)C作為曲線AB的分段點(diǎn),輪廓曲線AB分為輪廓曲線AC和輪廓曲線CB兩段;再對輪廓曲線AC和輪廓曲線CB分段,直至輪廓曲線不可分,如圖3所示,原輪廓曲線AB被分為曲線AC,⑶,DE,EF,F(xiàn)B。遍歷所有輪廓曲線,完成整個(gè)輪廓的分段。將不可分的輪廓曲線始末點(diǎn)直線相連形成折線;閉合輪廓線分段后得到有若干段折線收尾相連的新輪廓線。其中α為分段閾值,該值愈小,折線段越多,對輪廓的刻畫也愈精確。
[0035]步驟2.2:輪廓參數(shù)化擬合:
[0036]若僅以折線擬合曲線誤差較大,由此引入了輪廓線的圓弧擬合,在保證圖形精度的同時(shí)避免圖形過于復(fù)雜。
[0037]首先對已經(jīng)分段的輪廓線進(jìn)行篩選,根據(jù)步驟I中得到的輪廓線數(shù)據(jù),得到閉合輪廓線的總長為Ltl ;對折線進(jìn)行區(qū)分:其中第η段折線長度為Ln,若LnZltl < β,則第η段折線為短折線,反之,為長折線,β為修正閾值,是可根據(jù)實(shí)際幾何模型修改的值,該值愈大,被認(rèn)定為短折線的區(qū)域越多。
[0038]對于任意一條短折線PQ,如圖4,擬合得到過短折線兩端點(diǎn)P點(diǎn)和Q點(diǎn)以及輪廓曲線PQ上一點(diǎn)M的圓弧PMQ,用圓弧PMQ代替短折線PQ ;若相鄰多條短折線的擬合圓弧的圓心距離小于誤差閾值,且相鄰多條短折線的擬合圓弧的半徑之差小于誤差閾值,則擬合得到過這相鄰多條短折線中的三個(gè)端點(diǎn)的圓弧,用該圓弧代替這相鄰多條短折線;將整個(gè)閉合輪廓線由長折線和圓弧擬合而成;
[0039]對于長折線,則認(rèn)定該折線對應(yīng)的輪廓曲線可由直線段代替,此時(shí)該段輪廓曲線只需記錄起始點(diǎn)和終止點(diǎn)的幾何信息,生成直線方程。
[0040]經(jīng)過以上步驟處理,整個(gè)幾何輪廓由直線段和圓弧擬合而成,原始的輪廓B樣條曲線曲面信息轉(zhuǎn)化為直線和圓弧參數(shù)方程信息,大大降低了數(shù)據(jù)的復(fù)雜程度,為CAD模型的自動(dòng)重構(gòu)提供了信息基礎(chǔ)。
[0041]步驟3:將參數(shù)寫入CAD軟件可識(shí)別處理的數(shù)據(jù)格式文件:將由長折線和圓弧擬合而成的閉合輪廓線輸出至CAD軟件中得到相應(yīng)的修改后的幾何模型。
[0042]商用CAD軟件一般都有其對應(yīng)的可識(shí)別文件格式,參數(shù)化模型輸出時(shí),要按對應(yīng)格式將參數(shù)寫入??赏ㄟ^MATLAB的文件寫入語句按照相應(yīng)的語言格式,將直線和圓弧參數(shù)用命令寫入文本,通過對應(yīng)的輸入方法在商用CAD軟件中生成可修改的幾何模型。
[0043]本實(shí)施例中以商用軟件UG為例,通過MATLAB的寫入語句按照Grip語言格式,將擬合后的直線和圓弧參數(shù)用命令寫入文本,生成grs文件,該文件通過UG工具中的NX OpenGrip進(jìn)行編譯后,可直接導(dǎo)入U(xiǎn)G中生成可修改的CAD模型,如圖7所示。在輪廓分段及擬合的過程中,α、β是可以調(diào)整的值,α愈小,折線段越多,β愈大,被認(rèn)定為短折線的區(qū)域越多,對輪廓的擬合也愈精確,但加工性可能越差,設(shè)計(jì)者可以根據(jù)實(shí)際情況調(diào)節(jié)參數(shù)以獲得期望結(jié)果。圖7 (a)、(b)、(C)分別為不同α、β值對應(yīng)的幾何重構(gòu)模型。幾何重構(gòu)后, 設(shè)計(jì)者還可以按需要方便的繼續(xù)對CAD模型中的元素進(jìn)行調(diào)整。
【權(quán)利要求】
1.一種拓?fù)鋬?yōu)化結(jié)果的幾何重構(gòu)方法,其特征在于:采用以下步驟: 步驟1:獲取拓?fù)鋬?yōu)化結(jié)果的表面幾何結(jié)構(gòu)IGES文件及數(shù)據(jù)轉(zhuǎn)化: 步驟1.1:通過CAE軟件生成拓?fù)鋬?yōu)化結(jié)果IGES文件; 步驟1.2:將IGES文件包含的元素幾何及位置信息轉(zhuǎn)化為MATLAB可識(shí)別的數(shù)據(jù)矩陣,從而獲取輪廓線幾何參數(shù); 步驟2:對輪廓線進(jìn)行規(guī)整,獲得由直線和圓弧擬合的參數(shù)化圖像: 步驟2.1:輪廓分段:對組成閉合輪廓線的任意一條輪廓曲線AB,采用以下方法進(jìn)行分段:連接輪廓曲線始末點(diǎn)A點(diǎn)和B點(diǎn),根據(jù)步驟I得到的A點(diǎn)和B點(diǎn)坐標(biāo),得到直線AB方程,以及輪廓曲線AB上各點(diǎn)到直線AB的距離,其中最遠(yuǎn)距離點(diǎn)為C,最遠(yuǎn)距離為CH ;判斷CH/AB > α若成立,則表示輪廓曲線AB可分,將點(diǎn)C作為曲線AB的分段點(diǎn),輪廓曲線AB分為輪廓曲線AC和輪廓曲線CB兩段;再對輪廓曲線AC和輪廓曲線CB分段,直至輪廓曲線不可分,將不可分的輪廓曲線始末點(diǎn)直線相連形成折線;其中α為分段閾值;閉合輪廓線分段后得到有若干段折線收尾相連的新輪廓線; 步驟2.2:輪廓參數(shù)化擬合:根據(jù)步驟I中得到的輪廓線數(shù)據(jù),得到閉合輪廓線的總長為Ltl ;對折線進(jìn)行區(qū)分:其中第η段折線長度為Ln,若LnZltl < β,則第η段折線為短折線,反之則為長折線,β為修正閾值; 對于任意一條短折線PQ,擬合得到過短折線兩端點(diǎn)P點(diǎn)和Q點(diǎn)以及輪廓曲線PQ上一點(diǎn)M的圓弧PMQ,用圓弧PMQ代替短折線PQ ;若相鄰多條短折線的擬合圓弧的圓心距離小于誤差閾值,且相鄰多條短折線的擬合圓弧的半徑之差小于誤差閾值,則擬合得到過這相鄰多條短折線中的三個(gè)端點(diǎn)的圓弧,用該圓弧代替這相鄰多條短折線;將整個(gè)閉合輪廓線由長折線和圓弧擬合而成; 步驟3:將由長折線和圓弧擬合而成的閉合輪廓線輸出至CAD軟件中得到相應(yīng)的修改后的幾何模型。
【文檔編號】G06F17/50GK103455674SQ201310391023
【公開日】2013年12月18日 申請日期:2013年8月31日 優(yōu)先權(quán)日:2013年8月31日
【發(fā)明者】方宗德, 卞翔, 覃琨, 連禮婓, 高揚(yáng), 侯祥穎, 張寶玉 申請人:西北工業(yè)大學(xué)