• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      產(chǎn)品MBD數(shù)據(jù)集三維標(biāo)注的自動(dòng)校驗(yàn)與實(shí)現(xiàn)

      2021-05-10 06:09:24王洪申王道俊
      關(guān)鍵詞:數(shù)據(jù)結(jié)構(gòu)公差粗糙度

      王洪申,王道俊

      (蘭州理工大學(xué) 機(jī)電工程學(xué)院,甘肅 蘭州 730050)

      基于模型定義(model based definition,MBD)的技術(shù)是全三維制造的基礎(chǔ),自波音公司成功地將MBD技術(shù)應(yīng)用于波音787制造取得巨大成功后,該項(xiàng)技術(shù)得到了充分重視和廣泛應(yīng)用[1].MBD技術(shù)通過將產(chǎn)品的尺寸、公差、制造要求等相關(guān)工程語(yǔ)義信息直接集成到三維模型上,從而拋棄了二維工程圖的束縛,真正實(shí)現(xiàn)了全三維制造,進(jìn)而實(shí)現(xiàn)了制造過程的無(wú)紙化[2-3].產(chǎn)品的MBD在產(chǎn)品生命周期各階段的仿真中扮演著重要的角色[4].

      目前,國(guó)內(nèi)大多數(shù)研究在采用國(guó)外主流CAD軟件系統(tǒng)的二次開發(fā)來(lái)擴(kuò)展其MBD功能的基礎(chǔ)上開發(fā)自己的系統(tǒng).如楊萍等[5]采用Pro/E軟件為平臺(tái),建立符合國(guó)家標(biāo)準(zhǔn)的三維標(biāo)注特征庫(kù).盧一帆等結(jié)合MBD技術(shù)和NX軟件環(huán)境,研究了復(fù)雜產(chǎn)品信息定義情況下的標(biāo)注顯示問題[6].杜福州等[7]基于MBD技術(shù)和CATIA環(huán)境,實(shí)現(xiàn)航空產(chǎn)品首件檢驗(yàn)過程的信息化、數(shù)字化.自MBD技術(shù)提出,國(guó)際上各CAD軟件公司都在自己的主打軟件產(chǎn)品中增加了該項(xiàng)功能,如NXUG、CREO、SOLIDWORKS等.

      在標(biāo)注二維零件圖尺寸時(shí),應(yīng)力求做到正確、完整、清晰、合理地標(biāo)注零件在制造和檢驗(yàn)時(shí)所需要的全部尺寸[8].對(duì)于MBD三維標(biāo)注也應(yīng)該做到以上要求.三維標(biāo)注數(shù)據(jù)的要素應(yīng)完整且符合產(chǎn)品幾何技術(shù)規(guī)范(GPS)要求[9].而目前主流商用三維CAD系統(tǒng)軟件中,MBD功能普遍缺乏標(biāo)注正確性與合理性檢驗(yàn)(如表1所示).隨著三維模型上標(biāo)注內(nèi)容的增加,很容易出現(xiàn)重復(fù)標(biāo)注、錯(cuò)誤標(biāo)注、不符合工程應(yīng)用背景等問題,給后繼加工規(guī)劃、制造等工作帶來(lái)嚴(yán)重的阻礙.

      表1 商用CAD軟件三維標(biāo)準(zhǔn)中的問題

      本文基于尺寸標(biāo)注規(guī)范,依據(jù)標(biāo)注準(zhǔn)則,基于開源幾何造型庫(kù)OpenCASCADE編寫了自己的MBD數(shù)據(jù)的三維尺寸標(biāo)注系統(tǒng).該系統(tǒng)可以實(shí)現(xiàn)三維標(biāo)注功能,并能對(duì)用戶標(biāo)注的正確性、合理性做出智能判斷,對(duì)錯(cuò)誤的標(biāo)注給用戶實(shí)時(shí)提示.

      1 基于OpenCASCADE的三維標(biāo)注結(jié)構(gòu)模型

      1.1 三維標(biāo)注與實(shí)體對(duì)應(yīng)的關(guān)系

      OpenCASCADE是一個(gè)三維幾何造型開源庫(kù),是基于OpenGL由C++開發(fā)設(shè)計(jì)類庫(kù)[10].在三維標(biāo)注方面,OCC只能實(shí)現(xiàn)三維模型上線性尺寸和角度尺寸標(biāo)注,但是無(wú)法標(biāo)注上下偏差、形位公差和粗糙度.需要使用者自己從OCC相關(guān)基礎(chǔ)類繼承.

      基于OCC已有的尺寸標(biāo)注功能,結(jié)合OCC中描述三維模型的特征、數(shù)據(jù)結(jié)構(gòu)以及尺寸標(biāo)注信息自身的特點(diǎn)[11],本文設(shè)計(jì)了一種基于OCC構(gòu)建三維標(biāo)注的框架和實(shí)現(xiàn)方法.

      實(shí)體的特征面具有粗糙度、基準(zhǔn)、形狀公差和位置公差等基本屬性,如圖1所示,在標(biāo)注中應(yīng)對(duì)正確性進(jìn)行校驗(yàn)并給出提示.例如一個(gè)面被標(biāo)注上了粗糙度,再標(biāo)注就會(huì)產(chǎn)生沖突提示,不會(huì)產(chǎn)生過定義的狀態(tài).基準(zhǔn)屬性也是如此,對(duì)于已經(jīng)產(chǎn)生的基準(zhǔn)或者面上已經(jīng)附帶的基準(zhǔn),在軟件讀取時(shí)也能準(zhǔn)確了解.形狀公差和位置公差的各個(gè)類型也將對(duì)應(yīng)成相關(guān)屬性,方便檢測(cè)不匹配的屬性或者是過定義的狀態(tài).

      圖1 三維標(biāo)注與實(shí)體的對(duì)應(yīng)關(guān)系Fig.1 The correspondence between 3D annotation and solid

      1.2 三維標(biāo)注的數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)

      按照三維標(biāo)注數(shù)據(jù)特點(diǎn)并結(jié)合OCC相關(guān)內(nèi)容,設(shè)計(jì)三維標(biāo)注的總體數(shù)據(jù)結(jié)構(gòu),如圖2所示.一個(gè)文件只有一個(gè)根標(biāo)簽,代表文件本身,一個(gè)文件下有n個(gè)體標(biāo)簽,為便于將來(lái)擴(kuò)展成裝配體,故設(shè)多個(gè)體標(biāo)簽.每個(gè)體標(biāo)簽儲(chǔ)存有該零件的三維模型,在體標(biāo)簽下存在一個(gè)尺寸根標(biāo)簽和面根標(biāo)簽.

      尺寸根標(biāo)簽下面的k個(gè)尺寸標(biāo)簽分別儲(chǔ)存了引用的對(duì)象和各自尺寸的相關(guān)屬性.將尺寸標(biāo)注信息作為圖元的屬性,與相應(yīng)的圖元綁定.尺寸標(biāo)注中,有的尺寸僅涉及單個(gè)對(duì)象,如圓柱面直徑或半徑、球面直徑或半徑、圓錐面的角度等.但有的尺寸涉及兩個(gè)對(duì)象,如兩平行平面間的距離、兩相交平面之間的角度等,此時(shí)可將該標(biāo)注內(nèi)容歸屬為用戶選擇的第一個(gè)圖元,當(dāng)該圖元消失,對(duì)應(yīng)的尺寸消失,而尺寸的另一個(gè)圖元消失時(shí),提示尺寸出錯(cuò).

      圖2 三維尺寸標(biāo)注總體數(shù)據(jù)結(jié)構(gòu)Fig.2 Data structure of 3D annotation

      面的根標(biāo)簽下面的m個(gè)面標(biāo)簽儲(chǔ)存了自身幾何對(duì)象的引用和各個(gè)標(biāo)注數(shù)據(jù)子標(biāo)簽,有粗糙度標(biāo)簽、基準(zhǔn)標(biāo)簽、形狀公差標(biāo)簽、位置公差標(biāo)簽.面是制造中主要加工對(duì)象,而且包含了線和點(diǎn)的信息,所以本文以面作為標(biāo)注對(duì)象,標(biāo)注內(nèi)容與面對(duì)象綁定.

      粗糙度和基準(zhǔn)對(duì)于每一個(gè)面是唯一的,用單個(gè)標(biāo)簽儲(chǔ)存數(shù)據(jù).形狀公差和位置公差下存在各種公差類型,設(shè)立相應(yīng)的根標(biāo)簽管理.各個(gè)標(biāo)注數(shù)據(jù)標(biāo)簽只是各個(gè)標(biāo)注中存在的數(shù)據(jù),加以整理分別對(duì)應(yīng)地映射到數(shù)據(jù)結(jié)構(gòu)中.其中復(fù)雜的是位置公差,除了自身的基本數(shù)據(jù)之外,還涉及到基準(zhǔn)面的引用問題.以位置公差的數(shù)據(jù)為例展開分析,其數(shù)據(jù)結(jié)構(gòu)如圖3所示.

      位置公差根標(biāo)簽之下有n個(gè)位置公差標(biāo)簽,在每個(gè)位置公差標(biāo)簽中儲(chǔ)存著相應(yīng)的基本數(shù)據(jù),如位置公差類型等.關(guān)于基準(zhǔn)的引用,由于不同位置公差的類型對(duì)應(yīng)不同基準(zhǔn)的數(shù)目和類型,因此建立一個(gè)根標(biāo)簽管理不同數(shù)目的基準(zhǔn).

      1.3 三維標(biāo)注校驗(yàn)

      保證三維標(biāo)注信息的正確性涉及到四個(gè)方面:已有的三維標(biāo)注數(shù)據(jù)信息、已綁定三維標(biāo)注數(shù)據(jù)信息的對(duì)象、待添加的三維標(biāo)注數(shù)據(jù)信息和待綁定三維標(biāo)注數(shù)據(jù)信息的對(duì)象.對(duì)于整個(gè)保證三維標(biāo)注數(shù)據(jù)的準(zhǔn)確、唯一和完整的過程分為五個(gè)步驟,如圖4所示.

      圖3 位置公差的數(shù)據(jù)結(jié)構(gòu)

      圖4 三維標(biāo)注的校驗(yàn)過程

      1) 數(shù)據(jù)的基本校驗(yàn).目的是保證數(shù)據(jù)元素完整和數(shù)據(jù)準(zhǔn)確,涉及自身的一些基本原則的校驗(yàn),例如極限值上限大于下限,不該小于零的極限值不能小于零等.

      2) 檢查已有的數(shù)據(jù)中引用數(shù)據(jù)是否存在.例如位置公差用到該基準(zhǔn)對(duì)象時(shí)需要生成引用關(guān)系,當(dāng)刪除基準(zhǔn)時(shí),對(duì)應(yīng)的位置公差對(duì)象也應(yīng)該進(jìn)行提示和銷毀,以保證數(shù)據(jù)準(zhǔn)確.

      3) 檢查待標(biāo)注數(shù)據(jù)的類型在已有數(shù)據(jù)中該類型是否存在.例如在同一個(gè)對(duì)象上有時(shí)可以標(biāo)注多個(gè)形位公差,但是同一形位公差不能無(wú)限制的標(biāo)注,因此在標(biāo)注之前應(yīng)先檢查其類型的數(shù)據(jù)是否已經(jīng)存在.

      4) 檢查待標(biāo)注對(duì)象和已有對(duì)象是否存在沖突.例如當(dāng)使用已經(jīng)使用過的基準(zhǔn)代號(hào)時(shí)應(yīng)該出現(xiàn)提示,或者只提供給操作者“剩余”選擇,以控制基準(zhǔn)代號(hào)不沖突.為某一個(gè)面添加基準(zhǔn),需要先知道該面是否被標(biāo)注基準(zhǔn),具體做法是先在數(shù)據(jù)中找到該面的數(shù)據(jù)節(jié)點(diǎn),查找其基準(zhǔn)是否存在.不存在則說(shuō)明沒定義,可添加;存在則表示已定義,提示沖突.同樣在創(chuàng)建形位公差以及粗糙度時(shí)也應(yīng)該進(jìn)行類似的檢驗(yàn).

      5) 確定對(duì)象類型是否匹配.例如當(dāng)我們對(duì)一個(gè)圓柱面標(biāo)注平面度、或者對(duì)一個(gè)平面標(biāo)注圓柱度時(shí),應(yīng)該檢測(cè)對(duì)象類型是否匹配該數(shù)據(jù),不符合時(shí)系統(tǒng)應(yīng)做出相應(yīng)的提示.

      2 基于OpenCASCADE三維標(biāo)注及校驗(yàn)的實(shí)現(xiàn)

      2.1 軟件框架的設(shè)計(jì)

      軟件采用面向?qū)ο笤O(shè)計(jì)的技術(shù)進(jìn)行設(shè)計(jì),主要包括四個(gè)模塊:CAD模型數(shù)據(jù)交換模塊、文檔存儲(chǔ)取模塊、顯示模塊和人機(jī)交互模塊,如圖5所示.

      圖5 三維標(biāo)注系統(tǒng)框架Fig.5 The framework of 3D annotation system

      CAD數(shù)據(jù)交換模塊支持其他三維軟件CAD零件導(dǎo)入,解析成OCC基本數(shù)據(jù)結(jié)構(gòu)后供其他模塊使用.CAD數(shù)據(jù)交換模塊被設(shè)計(jì)成了一個(gè)簡(jiǎn)單的工具類,支持STEP和IGES表達(dá)的三維模型文件的導(dǎo)入和導(dǎo)出.

      文檔存儲(chǔ)取模塊實(shí)現(xiàn)標(biāo)注信息的數(shù)據(jù)結(jié)構(gòu)并記錄所標(biāo)記的三維標(biāo)注信息,可實(shí)現(xiàn)標(biāo)注信息校驗(yàn).文檔存儲(chǔ)取模塊的類都是定義在一個(gè)“MBD”抽象類的基礎(chǔ)上,MBD_DOC為根節(jié)點(diǎn),管理所有三維標(biāo)注信息的存取,同時(shí)給顯示提供遍歷接口.該類能夠?yàn)閷?dǎo)入文檔的所有三維零件添加本文設(shè)計(jì)的實(shí)體標(biāo)注類(MBD_Solid)節(jié)點(diǎn),儲(chǔ)存在自身鏈表里,通過鏈表管理所有的MBD_Solid節(jié)點(diǎn).MBD_Face節(jié)點(diǎn)是描述著零件面特征的二級(jí)子節(jié)點(diǎn),其下面管理著關(guān)于特征面的所有MBD屬性信息,這里包括粗糙度、基準(zhǔn)信息、形狀公差信息和位置公差信息.

      顯示模塊主要包括零件三維模型、三維標(biāo)注圖形的顯示和管理[12],并添加接口使得交互模塊能夠通過鼠標(biāo)點(diǎn)擊界面對(duì)三維模型的標(biāo)注進(jìn)行查詢、修改操作.

      人機(jī)交互模塊是一個(gè)綜合的模塊,通過在MFC的相關(guān)交互代碼中添加能夠操作三維模型和標(biāo)注的部分,以對(duì)話框的形式交換標(biāo)注信息等.

      2.2 運(yùn)用OCAF對(duì)三維標(biāo)注文檔的存儲(chǔ)和讀取

      三維標(biāo)注文檔數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)是建立在OCC應(yīng)用程序框架(Open CASCADE Application Framework,OCAF)基礎(chǔ)之上的,其存儲(chǔ)結(jié)構(gòu)按照三維標(biāo)注數(shù)據(jù)模型進(jìn)行設(shè)計(jì).OCC的OCAF數(shù)據(jù)結(jié)構(gòu)是以樹狀結(jié)構(gòu)為基礎(chǔ),為其提供了單一環(huán)境,支持二進(jìn)制和XML兩種儲(chǔ)存格式.XML便于傳輸?shù)奶攸c(diǎn)為相關(guān)信息在互聯(lián)網(wǎng)上傳遞提供了有利的條件.

      OCAF的MBD信息通過MFC對(duì)話框錄入,標(biāo)注成功的信息先儲(chǔ)存在臨時(shí)結(jié)構(gòu)中,最后通過OCC中OCAF的保存儲(chǔ)存在二進(jìn)制文件或者XML中.

      2.3 OCC三維標(biāo)注數(shù)據(jù)顯示和交互

      系統(tǒng)基于MFC,為實(shí)現(xiàn)程序創(chuàng)建不同的對(duì)話框和工具欄,以滿足程序的各種功能需求.主要的工具欄有拓?fù)溥x擇工具欄、MBD信息標(biāo)注工具欄.拓?fù)溥x擇工具欄用來(lái)選擇操作的點(diǎn)、線、面和體,MBD信息標(biāo)注工具欄用來(lái)標(biāo)注,如圖6所示.

      圖6 系統(tǒng)主要工具欄

      3 效果檢驗(yàn)

      在構(gòu)建好的標(biāo)注信息層次模型的基礎(chǔ)上,針對(duì)目前商用的缺點(diǎn),基于 MFC和OCC編寫了相應(yīng)的三維標(biāo)注軟件系統(tǒng),實(shí)現(xiàn)了標(biāo)注校驗(yàn)和錯(cuò)誤提示功能.

      3.1 粗糙度的標(biāo)注

      標(biāo)注步驟,點(diǎn)擊相應(yīng)的工具欄圖標(biāo),對(duì)話框填好標(biāo)注參數(shù),然后打開拓?fù)溥x擇工具中的面選擇,點(diǎn)擊面上的標(biāo)注位置,實(shí)現(xiàn)如圖7所示的標(biāo)注.如果再次點(diǎn)同一個(gè)面的同一個(gè)區(qū)域就會(huì)提示“已標(biāo)注”,防止對(duì)該面的粗糙度重復(fù)定義.

      圖7 粗糙度標(biāo)注Fig.7 Roughness annotation

      3.2 形狀公差的標(biāo)注

      如圖8所示,在標(biāo)注過程中如果對(duì)同一個(gè)面標(biāo)注圓柱度,則提示該面已經(jīng)標(biāo)注過圓柱度,值是多少.其次,對(duì)不是圓柱面的面標(biāo)注圓柱度時(shí),提示“該面不是圓柱面”.

      圖8 形狀公差標(biāo)注

      3.3 基準(zhǔn)的標(biāo)注

      如圖9所示,為保證基準(zhǔn)代號(hào)的使用是唯一的,系統(tǒng)在創(chuàng)建新的基準(zhǔn)時(shí),會(huì)檢索已經(jīng)用掉的基準(zhǔn)代號(hào),只提供剩下的基準(zhǔn)代號(hào),這樣保證同一個(gè)基準(zhǔn)代號(hào)不會(huì)出現(xiàn)第二次.其次是對(duì)已有基準(zhǔn)的對(duì)象添加基準(zhǔn)時(shí)會(huì)提示該對(duì)象已有的基準(zhǔn).

      圖9 基準(zhǔn)標(biāo)注Fig.9 Datum annotation

      3.4 位置公差的標(biāo)注

      位置公差標(biāo)注關(guān)鍵是基準(zhǔn)引用問題,根據(jù)已有的基準(zhǔn)供用戶選擇.對(duì)于不同的公差類型,引用的基準(zhǔn)類型要匹配,只有對(duì)象和基準(zhǔn)的特征匹配才能標(biāo)注成功,否則標(biāo)注失敗,并提示,如圖10所示.操作1是在平面標(biāo)注同軸度,會(huì)提示“該面沒有回轉(zhuǎn)軸”.操作2是以基準(zhǔn)B為基準(zhǔn)標(biāo)注同軸度,操作中系統(tǒng)發(fā)現(xiàn),雖然是在圓柱面標(biāo)注同軸度,但是檢測(cè)到基準(zhǔn)B不是一個(gè)具有回轉(zhuǎn)軸的對(duì)象,因此給出錯(cuò)誤提示.對(duì)于位置公差的標(biāo)注也同樣存在唯一性檢測(cè),對(duì)已有類型位置公差進(jìn)行標(biāo)注會(huì)提示該對(duì)象已有位置公差.

      圖10 位置公差標(biāo)注

      4 結(jié)論

      本文針對(duì)現(xiàn)在主流商用CAD軟件功能中三維標(biāo)注模塊在使用過程中表現(xiàn)出的缺點(diǎn),基于OCC的原有尺寸標(biāo)注模塊,通過繼承和派生面向?qū)ο蟮姆椒?,增加了基于?biāo)注的形位公差、基準(zhǔn)和粗糙度標(biāo)注功能模塊.并且設(shè)計(jì)了內(nèi)部數(shù)據(jù)的關(guān)聯(lián)性,初步實(shí)現(xiàn)了標(biāo)注數(shù)據(jù)的準(zhǔn)確性、唯一性、元素完整性的智能校驗(yàn),保證了標(biāo)注的預(yù)警,提高了標(biāo)注系統(tǒng)的智能性.同時(shí)能將標(biāo)注信息以XML格式存取,為進(jìn)一步研究產(chǎn)品智能數(shù)字化裝配打下了良好的基礎(chǔ).

      猜你喜歡
      數(shù)據(jù)結(jié)構(gòu)公差粗糙度
      基于無(wú)人機(jī)影像的巖體結(jié)構(gòu)面粗糙度獲取
      甘肅科技(2020年20期)2020-04-13 00:30:18
      冷沖模磨削表面粗糙度的加工試驗(yàn)與應(yīng)用
      模具制造(2019年4期)2019-06-24 03:36:48
      基于BP神經(jīng)網(wǎng)絡(luò)的面齒輪齒面粗糙度研究
      帶有中心值的百分?jǐn)?shù)的公差表示方式
      鋼材銹蝕率與表面三維粗糙度參數(shù)的關(guān)系
      公差里的“五朵金花”
      “翻轉(zhuǎn)課堂”教學(xué)模式的探討——以《數(shù)據(jù)結(jié)構(gòu)》課程教學(xué)為例
      高職高專數(shù)據(jù)結(jié)構(gòu)教學(xué)改革探討
      帶有中心值的百分?jǐn)?shù)的公差表示方式
      公差原則的分析和形位公差的計(jì)算
      高陵县| 新蔡县| 五峰| 梓潼县| 石嘴山市| 龙胜| 阿瓦提县| 娱乐| 民勤县| 和田市| 南宁市| 盐源县| 石阡县| 广宁县| 茶陵县| 红安县| 娄底市| 会昌县| 金平| 文昌市| 蒙城县| 静海县| 普兰县| 珠海市| 东台市| 咸阳市| 平南县| 建宁县| 彩票| 远安县| 准格尔旗| 共和县| 明水县| 大石桥市| 武定县| 宁河县| 玉环县| 锡林浩特市| 栾川县| 金川县| 科尔|