1 引言
盡管無(wú)紙化生產(chǎn)已經(jīng)出現(xiàn)在一些發(fā)達(dá)國(guó)家的某些工業(yè)領(lǐng)域,但由于經(jīng)濟(jì)與技術(shù)水平以及協(xié)作需要等方面的原因,二維工程圖對(duì)于機(jī)械行業(yè)仍然至關(guān)重要。在設(shè)計(jì)生產(chǎn)制造的不同階段,工程圖都具有指導(dǎo)性作用。一幅合格的工程圖應(yīng)該包括零件的圖形化表示、尺寸標(biāo)注、物料說(shuō)明、注釋等詳細(xì)表達(dá)設(shè)計(jì)意圖與技術(shù)要求等信息,且布局美觀。其中,尺寸與公差標(biāo)注等不僅是一項(xiàng)耗時(shí)易錯(cuò)的工作,而且對(duì)同一個(gè)零件,不同的工程人員可能會(huì)選擇不同的標(biāo)注方案,圖紙標(biāo)注的規(guī)范性與質(zhì)量完全取決于工程人員的經(jīng)驗(yàn)和技術(shù)能力。標(biāo)注的質(zhì)量會(huì)影響生產(chǎn)制造的質(zhì)量和效率,因此如何借助計(jì)算機(jī)輔助設(shè)計(jì)技術(shù)實(shí)現(xiàn)工程圖的智能化與自動(dòng)化標(biāo)注.讓工程技術(shù)人員從枯燥的標(biāo)注工作中解脫出來(lái),一直是機(jī)械制造行業(yè)的一個(gè)重要課題。
LI等提出了一種根據(jù)用戶(hù)選擇的標(biāo)準(zhǔn)來(lái)優(yōu)化坐標(biāo)標(biāo)注位置排布的方法,并在NX上實(shí)現(xiàn)了該功能。該方法對(duì)于多孔的零件(例如多孔的注射模模架板)具有較好的效果。CHEN等研究了以CSG樹(shù)結(jié)構(gòu)與B-Rep數(shù)據(jù)結(jié)構(gòu)表示的實(shí)體模型的自動(dòng)標(biāo)注,其方法是首先將實(shí)體上的面分為平面、圓柱面及其他類(lèi)型面,然后通過(guò)特征提取、幾何推理、人工智能的方法分別標(biāo)注平面、圓柱面。袁波等提出了一種基于尺寸子集劃分的自動(dòng)布局算法,在尋找最佳尺寸布局時(shí)采用了模擬退火算法。張聞雷等提出了基于零件拓?fù)浣Y(jié)構(gòu)與特征形狀等形體分析的自動(dòng)標(biāo)注以及基于特征包圍盒的尺寸布局方法。黃學(xué)良等,采用網(wǎng)格化的方法,將標(biāo)注布局問(wèn)題簡(jiǎn)化為在狀態(tài)矩陣中尋找符合某種條件的小塊矩陣問(wèn)題。盧遠(yuǎn)志等先后將排樣思想、級(jí)域搜索的思想引入到標(biāo)注的布局中,達(dá)到了防止尺寸干涉的目的,后來(lái)又研究了基于零件孔特征識(shí)別的自動(dòng)標(biāo)注方法。成彬等提出了基于無(wú)向圖表示的兒何約束系統(tǒng)上的圖結(jié)構(gòu)描述尺寸標(biāo)注模型的方法。陸國(guó)棟等提出了從三維特征模型出發(fā)基于分治思想的自動(dòng)標(biāo)注方法。上述研究方法對(duì)實(shí)現(xiàn)工程圖的自動(dòng)標(biāo)注與布局,構(gòu)建智能化的工程圖標(biāo)注系統(tǒng)做出了積極的探索和研究。但這些方法大多只對(duì)某些特定形狀的零件有較好的結(jié)果,或者還需要一定的人工干預(yù),離完全的自動(dòng)標(biāo)注還有一定的距離。
以下提出了一種針對(duì)三維參數(shù)化模型的工程圖尺寸標(biāo)注自動(dòng)生成方法,首先自動(dòng)生成二維視圖,通過(guò)獲取三維模型中豐富的幾何形狀、尺寸、公差、裝配等信息,并根據(jù)標(biāo)注實(shí)例庫(kù)及標(biāo)注規(guī)則自動(dòng)產(chǎn)生尺寸標(biāo)注,然后通過(guò)網(wǎng)格劃分與包圍盒的混合算法對(duì)尺寸進(jìn)行自動(dòng)布局,避免尺寸與尺寸、尺寸與圖元之間的干涉,以滿(mǎn)足工程上的實(shí)際應(yīng)用。
2 尺寸自動(dòng)標(biāo)注與布局
2.1 尺寸自動(dòng)標(biāo)注與布局系統(tǒng)框架
圖1描述了尺寸自動(dòng)標(biāo)注與布局的系統(tǒng)框架,按照標(biāo)注準(zhǔn)備、尺寸標(biāo)注、尺寸布局的順序?qū)崿F(xiàn)尺寸的自動(dòng)生成。
圖1 尺寸自動(dòng)標(biāo)注與布局系統(tǒng)框架
2.2 標(biāo)注準(zhǔn)備
標(biāo)注準(zhǔn)備主要包括兩方面的工作。
第1項(xiàng)工作是為尺寸標(biāo)注創(chuàng)建圖紙、標(biāo)題欄以及所依附的視圖等。這些視圖主要包括前視圖、左視圖、俯視圖、剖視圖、局部視圖、正等軸測(cè)圖等等,視圖的選擇主要是依據(jù)零件的幾何形狀及一定的制圖標(biāo)準(zhǔn)等。當(dāng)前主流的商品化三維CAD軟件,如NX、Pro/E、Solidworks等都提供了自動(dòng)生成這些視圖的API接口,開(kāi)發(fā)人員只需根據(jù)自己的需要設(shè)定一些相關(guān)的視圖參數(shù),就可以通過(guò)程序自動(dòng)生成這些視圖,然后將這些視圖按一定的參數(shù)化距離進(jìn)行排布,使視圖與視圖之間的間距合理。
第2項(xiàng)工作是構(gòu)建基于知識(shí)及實(shí)際生產(chǎn)經(jīng)驗(yàn)的標(biāo)注實(shí)例庫(kù)與規(guī)則庫(kù)。參考企業(yè)生產(chǎn)實(shí)際中的工程圖經(jīng)驗(yàn)、標(biāo)準(zhǔn)及機(jī)械制圖手冊(cè)中的規(guī)范或者國(guó)家標(biāo)準(zhǔn),構(gòu)建工程圖標(biāo)注基本實(shí)例庫(kù),通過(guò)這個(gè)實(shí)例庫(kù)來(lái)確定需要標(biāo)注的尺寸、標(biāo)注樣式以及大致的標(biāo)注區(qū)域等,以便CAD系統(tǒng)作出自動(dòng)標(biāo)注。同時(shí),明確標(biāo)注的規(guī)則庫(kù),便于系統(tǒng)能夠根據(jù)規(guī)則庫(kù)中的規(guī)則做出合理的標(biāo)注。如尺寸在各視圖間的分配應(yīng)遵守以下基本原則:
(1)尺寸不標(biāo)注在不可見(jiàn)輪廓線(xiàn)上。
(2)主要定位尺寸應(yīng)盡量布置在主要視圖上。
(3)局部形狀要素盡量集中標(biāo)注。
(4)同一定形尺寸在剖視圖中的標(biāo)注優(yōu)先于向視圖。
2.3 工程圖尺寸的自動(dòng)標(biāo)注
在尺寸標(biāo)注過(guò)程中,標(biāo)注對(duì)象的關(guān)聯(lián)是一個(gè)很重要的過(guò)程。手工標(biāo)注時(shí),一般需要用戶(hù)手動(dòng)選中要標(biāo)注的圖元以使尺寸與圖元關(guān)聯(lián)。但自動(dòng)標(biāo)注沒(méi)有這樣的人工交互過(guò)程,而需要程序去實(shí)現(xiàn)該關(guān)聯(lián)過(guò)程。通過(guò)下面2種關(guān)聯(lián)方法的混合使用,快速有效地解決了自動(dòng)標(biāo)注過(guò)程中的對(duì)象關(guān)聯(lián)問(wèn)題。
2.3.1 二維圖元的識(shí)別與標(biāo)注
為避開(kāi)三維特征識(shí)別、幾何推理等技術(shù)瓶頸,確保尺寸標(biāo)注的準(zhǔn)確性、可靠性與完整性,可以將實(shí)體上的面(Face)、棱邊(Edge)之間的尺寸標(biāo)注全部轉(zhuǎn)換為二維圖上可見(jiàn)直線(xiàn)段(Line)或者圓弧(Arc)的標(biāo)注。這樣三維模型上面、棱邊的標(biāo)注問(wèn)題轉(zhuǎn)換為二維工程圖上圖元的識(shí)別問(wèn)題。在工程圖中,常見(jiàn)的圖元有直線(xiàn)段、圓弧及其他曲線(xiàn)等。相對(duì)于三維模型的特征識(shí)別,二維圖元的識(shí)別顯得相對(duì)容易。經(jīng)過(guò)二維圖元的識(shí)別、分類(lèi)后,二維圖元主要分成直線(xiàn)段類(lèi)、圓弧類(lèi)和其他曲線(xiàn)。由于工程圖一般只需要標(biāo)注直線(xiàn)和圓弧類(lèi)對(duì)象,只要把每個(gè)直線(xiàn)段和圓弧的標(biāo)識(shí)符分別記錄下來(lái),存儲(chǔ)到2組動(dòng)態(tài)數(shù)組中,后續(xù)程序通過(guò)這些標(biāo)識(shí)符就能直接訪(fǎng)問(wèn)到這些直線(xiàn)段、圓弧。
自動(dòng)標(biāo)注時(shí),首先根據(jù)標(biāo)注實(shí)例庫(kù),確定要標(biāo)注的對(duì)象及標(biāo)注樣式。然后通過(guò)三維模型中的尺寸參數(shù)、裝配定位參數(shù)計(jì)算出待標(biāo)注對(duì)象上的某一點(diǎn)三維坐標(biāo)。如果標(biāo)注樣式是水平或豎直的尺寸標(biāo)注樣式,則需要有2個(gè)標(biāo)注對(duì)象,此時(shí)需要獲取在2個(gè)標(biāo)注對(duì)象上各一點(diǎn)的三維坐標(biāo)。如果標(biāo)注樣式是直徑或半徑的標(biāo)注樣式,則需要獲取該圓弧類(lèi)標(biāo)注對(duì)象圓心的三維坐標(biāo)。獲取三維坐標(biāo)后,將三維坐標(biāo)映射到二維視圖上,得到該點(diǎn)的二維坐標(biāo)。最后通過(guò)二維坐標(biāo)在關(guān)聯(lián)直線(xiàn)段動(dòng)態(tài)數(shù)組(AssocLineVector)或關(guān)聯(lián)圓弧動(dòng)態(tài)數(shù)組(AssocArcVector)查找由二維坐標(biāo)創(chuàng)建的二維點(diǎn)(2D-Point)距離最近的直線(xiàn)段或者離某圓弧圓心最近的圓弧,就可以在二維工程圖上找到對(duì)應(yīng)的關(guān)聯(lián)對(duì)象,實(shí)現(xiàn)自動(dòng)標(biāo)注。圖2詳細(xì)地描述了水平或豎直的尺寸自動(dòng)標(biāo)注流程,圓弧尺寸的自動(dòng)標(biāo)注與此類(lèi)似,不再贅述,F(xiàn)用一個(gè)具體實(shí)例說(shuō)明尺寸的自動(dòng)標(biāo)注過(guò)程。
圖2 二維圖元識(shí)別的自動(dòng)標(biāo)注算法流程
例如要標(biāo)注一塊長(zhǎng)方體的長(zhǎng)度,在投影視圖上,長(zhǎng)方體投影成長(zhǎng)方形,只需要找到長(zhǎng)方形相對(duì)的兩條邊,便可以完成長(zhǎng)度的標(biāo)注。此時(shí)只需要告訴系統(tǒng)這兩條直線(xiàn)段在二維視圖中的位置即可。為得到這兩條直線(xiàn)段的位置,可以通過(guò)獲取參數(shù)化模型中長(zhǎng)方體的裝配定位坐標(biāo)及該長(zhǎng)方體板的長(zhǎng)度,分別計(jì)算出該邊上某一點(diǎn)的三維坐標(biāo),再將三維坐標(biāo)點(diǎn)投影到二維視圖上,尋找離該點(diǎn)距離為零(即小于一個(gè)誤差精度值)的直線(xiàn)段,這樣就可以標(biāo)注一個(gè)長(zhǎng)度尺寸。整個(gè)過(guò)程可以看成是模擬人工標(biāo)注時(shí)鼠標(biāo)選中兩條直線(xiàn)段進(jìn)行標(biāo)注的過(guò)程,程序所做的只是幫助系統(tǒng)確定應(yīng)該點(diǎn)擊哪兩個(gè)“點(diǎn)”,便可以選中這兩條要標(biāo)注的直線(xiàn)段。
這樣的標(biāo)注方法,對(duì)于參數(shù)化模型來(lái)說(shuō),程序只需做一次這樣的標(biāo)注,就能覆蓋該參數(shù)化模型的一系列大小的尺寸標(biāo)注,因?yàn)樵撍惴ǖ臉?biāo)注也是參數(shù)化的。該算法的優(yōu)點(diǎn)是實(shí)現(xiàn)真正的關(guān)聯(lián),三維模型修改時(shí),2D工程圖自動(dòng)更新,缺點(diǎn)則是標(biāo)注對(duì)象的匹配計(jì)算量較大。
2.3.2 直接在三維模型中插入點(diǎn)(3D-Point)
二維圖元的識(shí)別算法能實(shí)現(xiàn)尺寸與視圖的真正關(guān)聯(lián),但識(shí)別起來(lái)速度較慢。當(dāng)三維模型特征越復(fù)雜、越多時(shí),二維圖上投影出來(lái)的圖元越多,標(biāo)注起來(lái)就越耗時(shí)。為提高自動(dòng)標(biāo)注的速度,可采用直接在三維模型中插入三維點(diǎn)(3D-Point)的方法。將標(biāo)注的對(duì)象全部用點(diǎn)代替,這樣就減少了二維圖元的遍歷、識(shí)別。當(dāng)由相關(guān)參數(shù)計(jì)算出待標(biāo)注對(duì)象上的某一點(diǎn)三維坐標(biāo)后,直接建立三維點(diǎn),用這個(gè)三維點(diǎn)代替原來(lái)的標(biāo)注對(duì)象,就省去了識(shí)別圖元的過(guò)程,標(biāo)注速度明顯加快。但對(duì)于圓弧的標(biāo)注,需插入3個(gè)點(diǎn)來(lái)表示這段圓弧,這就需要分別計(jì)算出這3個(gè)點(diǎn)的位置,在實(shí)際編寫(xiě)程序中較為麻煩。因此對(duì)于圓弧的標(biāo)注,仍采用二維圖元的識(shí)別方法,只是在識(shí)別過(guò)程中只篩選出圓弧,不考慮直線(xiàn)段,這樣圓弧圖元的識(shí)別速度較快。
上述2種方法的混合使用,很好地解決了圖元關(guān)聯(lián)的問(wèn)題,同時(shí)有利于快速編寫(xiě)程序,最終實(shí)現(xiàn)快速自動(dòng)標(biāo)注。
2.4 工程圖尺寸的自動(dòng)布局
在工程圖尺寸自動(dòng)標(biāo)注完成后,最容易出現(xiàn)的問(wèn)題是標(biāo)注內(nèi)容相互重疊或干涉,如圖3所示,包括:①標(biāo)注文本與標(biāo)注文本;②標(biāo)注文本與標(biāo)注線(xiàn);③標(biāo)注文本與圖元等。
圖3 干涉類(lèi)型
為合理布局,盡量避免干涉,需要充分合理地運(yùn)用二維視圖中無(wú)標(biāo)注文本、標(biāo)注線(xiàn)和圖元的空白區(qū)域,并參考以下尺寸布局規(guī)則:
規(guī)則1(尺寸標(biāo)注的就近原則):優(yōu)先將尺寸標(biāo)注在標(biāo)注對(duì)象的周?chē),便于讀圖人員快速鎖定標(biāo)注內(nèi)容。
規(guī)則2:在規(guī)則1較難滿(mǎn)足的情況下,考慮把標(biāo)注內(nèi)容的位置移動(dòng)到三維參數(shù)化模型的包圍盒投影圖外。
采用對(duì)視圖區(qū)域進(jìn)行網(wǎng)格劃分的算法搜索空白區(qū)域。首先根據(jù)三維模型的包圍盒投影出的二維視圖區(qū)域進(jìn)行網(wǎng)格劃分,得到m行n列的單元格。自動(dòng)布局主要處理的是與標(biāo)注文本相關(guān)的干涉,因此網(wǎng)格劃分的間距應(yīng)該與標(biāo)注文本字體的大小相關(guān)。一般在CAD系統(tǒng)中,可以修改標(biāo)注文本字體的高度,而字體的寬度與高度成一定比例,因此只修改字體的高度即可控制字體的大小。為充分利用空白區(qū)域,網(wǎng)格劃分的間距要較小,同時(shí)要考慮算法執(zhí)行的效率,因此當(dāng)前算法的網(wǎng)格間距取字體高度的1/3。
在劃分的網(wǎng)格中,每一個(gè)單元格用以下數(shù)據(jù)結(jié)構(gòu)表示:
其中,item_tag可以唯一地標(biāo)識(shí)出單元格,通過(guò)這個(gè)標(biāo)識(shí)符就能直接獲取到該單元格的狀態(tài);Item—status為占用狀態(tài),如果被占用則為真,不被占用為假。
尺寸自動(dòng)布局算法的關(guān)鍵步驟如下:
步驟1:劃分網(wǎng)格并進(jìn)行預(yù)處理。網(wǎng)格間距相對(duì)于圖元(直線(xiàn)段、圓弧)很小,因此通過(guò)判斷圖元與單元格的邊界有無(wú)交點(diǎn)來(lái)確定圖元在單元格的占用狀態(tài),最終獲得所有網(wǎng)格當(dāng)前的占用狀態(tài)并用結(jié)構(gòu)體sGridltem記錄下來(lái),存儲(chǔ)到動(dòng)態(tài)數(shù)組中。
步驟2:遍歷其中一個(gè)尺寸標(biāo)注,檢查該尺寸的標(biāo)注文本與其他標(biāo)注文本、其他標(biāo)注線(xiàn)是否有干涉,即判斷該尺寸標(biāo)注文本的包圍盒與其他標(biāo)注文本的包圍盒、其他標(biāo)注線(xiàn)的包圍盒是否有交集。如果沒(méi)有這2種干涉,執(zhí)行下一步。如果存在干涉,直接跳至步驟4。
步驟3:檢測(cè)該尺寸的標(biāo)注文本與圖元是否有干涉,即檢查當(dāng)前標(biāo)注文本的包圍盒所占的網(wǎng)格是否存在被圖元占用的單元格。如果存在干涉,執(zhí)行下一步。如果沒(méi)有干涉,轉(zhuǎn)至步驟7。
步驟4:確定該尺寸的局部就近標(biāo)注區(qū)域,獲取該區(qū)域的單元格占用情況,并執(zhí)行下一步。局部就近標(biāo)注區(qū)域的大小如圖4虛線(xiàn)矩形所示,矩形區(qū)域長(zhǎng)度為該標(biāo)注尺寸的長(zhǎng)度A加上2倍的標(biāo)注文本高度h,寬度為標(biāo)注文本高度h的4倍(標(biāo)注文本高度h參數(shù)可以在界面中修改)。該就近標(biāo)注區(qū)域關(guān)于這個(gè)尺寸的標(biāo)注線(xiàn)對(duì)稱(chēng),圖4所示的虛線(xiàn)箭頭為標(biāo)注線(xiàn)可移動(dòng)方向。根據(jù)這樣確定的就近標(biāo)注區(qū)域,再獲取這個(gè)區(qū)域所有單元格的標(biāo)識(shí)符及占用情況。
圖4 豎直尺寸與水平尺寸的就近標(biāo)注區(qū)域
步驟5:在局部就近標(biāo)注區(qū)域搜索該標(biāo)注文本包圍盒所占網(wǎng)格大小的空白網(wǎng)格。一旦找到這樣的空白網(wǎng)格區(qū)域后,立即移動(dòng)標(biāo)注文本到此區(qū)域,并轉(zhuǎn)至步驟7。如未找到,則執(zhí)行下一步。
步驟6:把尺寸標(biāo)注放置在三維模型的包圍盒投影視圖邊界外,對(duì)三維模型的包圍盒投影視圖外的尺寸按數(shù)值大小順序、一定間隙有序排布,執(zhí)行下一步。
步驟7:遍歷下一個(gè)標(biāo)注。如果標(biāo)注遍歷完,則執(zhí)行下一步;如果未遍歷完,則返回至步驟2。
步驟8:標(biāo)注自動(dòng)布局結(jié)束。
3 算法實(shí)現(xiàn)與標(biāo)注實(shí)例
基于Siemens NX Open和Microsoft Visual Studio 2008開(kāi)發(fā)了注射模智能設(shè)計(jì)系統(tǒng),用以實(shí)現(xiàn)模架及其標(biāo)準(zhǔn)件的參數(shù)化設(shè)計(jì)、智能裝配和輔助生成工程圖、BOM表等設(shè)計(jì)文檔。系統(tǒng)能夠自動(dòng)生成二維圖,并且運(yùn)用上述提出的尺寸自動(dòng)標(biāo)注及自動(dòng)布局方法,取得了較好的輔助制圖效果,不僅能夠自動(dòng)生成所需標(biāo)注的模架尺寸,后期人工干預(yù)少,而且用戶(hù)操作簡(jiǎn)單,算法執(zhí)行效率高,獲得了在生產(chǎn)實(shí)際中的推廣應(yīng)用。
系統(tǒng)實(shí)現(xiàn)中注意將具體算法獨(dú)立出來(lái),并利用Siemens NX Open提供的如下API函數(shù),讀取三維參數(shù)化模型中的相關(guān)參數(shù),添加尺寸,移動(dòng)尺寸等,使得尺寸自動(dòng)標(biāo)注算法易于實(shí)現(xiàn):
采用以上算法對(duì)模架進(jìn)行尺寸自動(dòng)標(biāo)注,操作界面與結(jié)果如圖5所示(為使尺寸更清晰,圖5中未標(biāo)注的尺寸在該圖紙的其他視圖中已作出標(biāo)注)。
圖5 注射模模架自動(dòng)標(biāo)注與布局實(shí)例
4 結(jié)束語(yǔ)
(1)提出的工程圖尺寸自動(dòng)標(biāo)注算法能夠有效地解決三維參數(shù)化模型的尺寸標(biāo)注問(wèn)題,根據(jù)實(shí)例庫(kù)的范例與標(biāo)注規(guī)則,實(shí)現(xiàn)尺寸的自動(dòng)標(biāo)注。
(2)提出的工程圖尺寸自動(dòng)布局算法能夠很好地解決標(biāo)注中的干涉問(wèn)題,達(dá)到后期人干預(yù)少、布局清晰、美觀的要求。
(3)系統(tǒng)實(shí)現(xiàn)中注意將具體算法獨(dú)立出來(lái),從而只需要在相應(yīng)的CAD系統(tǒng)(如Pro/E等)中替換API接口,就可以實(shí)現(xiàn)在CAD環(huán)境下尺寸自動(dòng)標(biāo)注與自動(dòng)布局算法的集成。
核心關(guān)注:拓步ERP系統(tǒng)平臺(tái)是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴(lài)品牌。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:基于三維參數(shù)化模型的工程圖尺寸自動(dòng)標(biāo)注與布局
本文網(wǎng)址:http://www.ezxoed.cn/html/solutions/14019313602.html