白雪飛,胡延平
(大連理工大學 機械工程學院,遼寧 大連 116033)
計算機輔助設計軟件的廣泛應用,使得CAD模型已經成為當前機械設計、制造和分析的核心。CAD模型作為一種重要的設計資源,若能夠對其有效重用,對于避免設計資源浪費、加快新產品的開發(fā)具有重要意義。相關研究顯示,當前產品設計的絕大部分是對原有設計實例的直接使用或者是在原有實例的基礎上進行適應性修改,即基于實例設計(Case-Based Design,CBD)[1]。而模型重用是基于實例設計的一個重要研究方向。
基于實例設計可分為兩個階段:實例檢索和適應性修改。當前模型重用的研究主要集中在模型實例的檢索階段,例如You CF等將基于局部特征匹配開發(fā)的模型實例檢索應用到產品數據管理中[2]。白曉亮等針對現有CAD模型檢索算法對局部細節(jié)特征描述不足的現狀,提出基于最大公共子圖的三維CAD模型檢索算法,實現CAD模型設計和制造知識的重用[3]。
上述模型檢索算法能根據設計需求有效地檢索出相關模型實例,但檢索出的模型實例往往無法直接應用到當前設計環(huán)境中,原因在于同一個設計領域中,沒有兩個設計問題或者需求能夠完全相同,故針對已檢索出的模型實例進行適應性修改是必不可少的。文獻[1]提出一種在查詢模型和候選模型(根據查詢模型檢索出的實例模型)之間建立設計元素的對應關系,并根據對應關系將查詢模型所包含的設計需求轉換到候選模型中,實現候選模型的自動形狀適應。
本文以機械行業(yè)中常見的軸類零件模型為例,研究在基于實例設計的適應性修改階段如何輔助用戶對軸類零件模型進行快速形狀適應性修改。通過VC++2019對Creo平臺進行二次開發(fā),構建軸類零件實體模型重用原型系統,以加快軸類零件的建模和設計速度。
適應性修改處于基于實例設計的第二個階段,也就是對檢索出的原有實例根據新的設計需求進行變型設計。以軸類模型為例,其變型可以分為以下兩種:
(1)結構變型,即對模型所包含的如軸段、鍵槽等圖形單元及其拓撲結構進行更改。
(2)尺寸變型,即保持模型拓撲結構不變的前提下應用參數化技術完成尺寸更新。
尺寸變型設計的主要方法是通過參數化技術來完成模型尺寸參數的修改[4-6]。參數化技術本質上是一種數據驅動機制,基于對二維或者三維圖形數據的操作,完成圖形幾何數據的參數化修改。目前,主流CAD平臺,例如Creo,都已實現了參數化設計。由于使用參數化技術來實現尺寸變型的解決方案已經十分成熟,本文著重于軸類模型的結構變型,也就是對模型中所包含的與設計需求不符合的圖形單元,例如軸段、鍵槽、倒角和圓角等進行增加、刪除和替換等操作,從而實現一種半自動的、計算機輔助的軸類模型適應性結構變型,從而將一個被檢索出的與新設計需求相類似但不完全相同的模型實例變型成一個能夠在形狀上完全符合新設計需求的軸類零件模型,例如二級圓柱齒輪減速器的Ⅱ軸到Ⅲ軸的轉換。
對軸類模型進行結構變型,首先需要分析組成軸類模型的圖形單元,如圖1所示[7]。
圖1 軸類模型包含的圖形單元
軸段在CAD系統中的表示是由圓形截面拉伸或者矩形截面旋轉所形成的伸出特征,是軸類模型的基礎單元。以圖2所示的二級減速器的Ⅲ軸為例,其包含7個軸段。
從圖2可以看出,軸段作為軸的基礎部分存在,而倒角、鍵槽等單元的存在需要依托于軸段。對軸類零件模型進行變型設計需要涉及到軸段單元的添加操作,根據新軸段的添加位置可以分為以下兩種情況:
圖2 軸類零件模型
(1)邊緣軸段的添加:例如在軸段7的右側添加一個新的軸段。
(2)中間軸段的添加:例如在軸段6、7之間添加一個新軸段。
對邊緣軸段的添加,只涉及到新軸段的添加;而對于中間軸段的添加,還需要涉及到受影響單元的判斷、單元重建以及重建前后模型項對應關系的確定。
基于特征建模的CAD系統以父子關系表示圖形單元間的關聯,例如軸段6、7之間,先創(chuàng)建的軸段6作為父單元,而軸段7依賴于軸段6提供的端面進行草繪,故軸段7以軸段6的子單元存在,在兩個軸段之間添加新軸段,需要對軸段6的相關子單元重建,否則會出現如圖3所示的單元間干涉情況。
圖3 中間軸段添加所引起的干涉問題
干涉問題的出現主要是受影響單元未能將其草繪參考平面調整至新軸段上所致。故在創(chuàng)建完新軸段后,需要對受影響的單元進行參考模型項的調整和重建,以獲得正確的添加結果。
Creo以父子關系表示單元間的關聯關系,單元之間是一種多對多的關聯關系。通過建立軸類零件模型的圖形單元關系圖,搜索受影響單元所構成的子圖,并對其進行拓撲排序,獲取單元重建的順序。
圖形單元關系圖表示為G=(V,E),其中,頂點集V是模型中包含的所有可見單元,邊集E由不同單元之間的父子關系構成。通過Creo提供的相關接口,從模型中提取這兩種關聯關系,建立圖形單元關系圖。以圖2所示的二級減速器的Ⅲ軸為例,相應的圖形單元關系如圖4所示。
圖4中框選出的子圖表示在軸段6、7之間添加新軸段后的受影響單元。通過對該子圖進行拓撲排序,可以獲取單元重建的順序,如表1所示。
表1 圖形單元重建順序
圖4 圖形單元關系圖
Creo中的模型項指的是模型中所包含的用來描述模型外形、大小等屬性的數據項,常用的模型項有表面、邊和尺寸等。在Creo中進行建模常以模型項作為參考,例如草繪平面、尺寸標注等。當中間軸段繪制完畢后,在重建受影響單元的過程中,由于圖形單元被重繪,相關模型項消失,需要重新設定參考。例如,在圖2的軸段6、7之間添加新軸段后,軸段7的草繪參考平面便不再是軸段6的可見端平面,而是新軸段的可見端平面,此外,對于倒角1來說,由于軸段7被重繪,倒角特征所參考的邊消失,需要重新設定參考,定位到新的軸段7對應邊上。
因為Creo中包含的模型項多種多樣,而特征建模的過程中,用于參考的模型項主要是面和邊兩種,故確定軸段模型項的對應關系也就是確定軸段表面和邊的對應關系。
對于兩個圖形單元表面間對應關系的確定,可以通過建立單元有序面集的描述符,并判斷兩個有序面集是否相等,若相等,則按照有序面集的順序建立表面之間的對應關系。對于邊對應關系的確定,基于邊是由兩個面相鄰接所形成的原理,通過判斷面的對應關系以及邊的兩個相鄰面便可以獲取邊的對應關系。單元面集描述符如下:
描述符矩陣是組成軸段的4個表面相關信息的集合,不同列對應不同的表面,不同行對應不同的表面屬性。T1~T4表示的是表面類型,有平面Plane和圓柱面Cylinder兩種;RP1~RP4表示平面相對坐標系的位置,有-1和1兩種;RC1~RC4表示圓柱面的相對位置,有-1和1兩種合法值。通過描述符判斷兩個軸段單元表面間對應關系的過程如圖5所示。
圖5 面對應關系的確定過程
在獲取完受影響單元的重建順序以及新軸段與父軸段模型項對應關系后,便可以完成中間軸段添加后的受影響圖形單元重建操作,并在重建過程中對重建前后圖形單元模型項對應關系進行確定,相關過程如圖6所示。
圖6 中間軸段添加及受影響單元的重繪過程
通常軸類零件中除軸段等基本圖形單元外,還會包含其余一些常見的輔助圖形單元,例如鍵槽和倒角、圓角等。由于Creo對倒角和圓角提供了方便、快捷的添加方式,故本文只考慮倒角和圓角的重建,而不考慮它們的添加操作。對于鍵槽,它的具體形狀依賴于與之配合的鍵,以平鍵為例,鍵的相關形狀由國家標準規(guī)定,通過與之配合的軸段軸徑,選取鍵的截面尺寸,并從可用的長度尺寸序列選取平鍵的長度;而鍵槽的位置則由其余參考面之間的距離確定。鍵槽的相關圖示如圖7所示。
圖7 鍵槽特征
從圖7中可以看出,確定一個鍵槽的相關參數如表2所示。
表2 鍵槽單元的參數
對于鍵槽的添加,可以分為兩步:首先,由用戶選擇鍵槽所在軸段與參考平面,查詢標準,獲取參數B、t1以及L的可用系列;然后將L的可用值顯示給用戶,從用戶處獲取L的選擇值以及距離x,完成鍵槽特征的創(chuàng)建。
本文基于VC++2019和Creo平臺提供的Object Toolkit C++二次開發(fā)接口,構建軸類零件實體模型重用原型系統,對軸類零件模型結構的適應性修改提供計算機輔助支持,使設計人員能夠快速完成軸類模型的結構變型。下面以二級齒輪減速器的Ⅱ軸到Ⅲ軸的結構適應性修改為例,說明原型系統的效果。
適應性修改的源模型為減速器的Ⅱ軸,目標模型為Ⅲ軸,如圖8所示。
圖8 適應性修改的源模型和目標模型
通過重新建模、手動適應和計算機輔助適應三種建模手段的對比,可以看出通過使用原型系統對已有軸類零件模型進行適應性修改,建模時間明顯縮短,如圖9所示。
圖9 實驗結果
通過將軸類零件實體模型的適應性結構變型轉化為對軸段、鍵槽等圖形單元的添加、刪除和替換操作,實現一種以用戶為主導、計算機輔助的軸類零件模型結構快速適應性修改。實驗結果顯示,通過對已有軸類零件模型提供計算機輔助的快速適應性修改,新模型的建模時間縮短,效率得到明顯提升。