陳進富,宋忠輝,董玉德*,張方亮,劉彥超,白蘇誠
[1.合肥工業大學 機械與汽車工程學院,安徽 合肥 230009;2.佳通輪胎(中國)研發中心,安徽 合肥 230601]
輪胎花紋作為車輛與地面直接接觸的部位,其形狀直接影響輪胎與地面的牽引力[1]、側滑力、排水性和噪聲等,同時汽車行駛過程中的操縱穩定性和乘坐舒適性也與輪胎花紋有密切關系。輪胎花紋造型是由三維CAD軟件設計,其中CATIA軟件應用最廣,鑒于輪胎花紋表面的復雜性,在利用CATIA軟件設計輪胎3D花紋時,通常先設計胎面2D花紋,然后利用develop命令將2D花紋纏繞到輪胎胎面上[2],利用一系列命令生成單節距花紋,最后對不同節距花紋進行裝配形成整條輪胎。
胎面2D花紋的設計尤為重要,快速高效地獲取2D花紋的幾何參數并實現參數與模型的共享對提高胎面2D花紋的設計效率具有重要的作用。陳理君等[3]提出通過將掃描輪胎花紋圖案處理成[0-1]矩陣的算法識別出了輪胎花紋的周期與節距的排列規律,劉雨青等[4]提出利用輪廓提取和種子填充算法計算出花紋塊和花紋溝槽的面積,但該算法是基于AutoCAD二維軟件平臺下完成的,所測的數據也主要用于噪聲的分析并不能重構出模型。
本工作提出基于特征遍歷算法用于2D花紋參數的自動測量,并結合數據庫技術和面向組件技術開發出的綜合系統。
系統以CATIA軟件為平臺,利用CAA組件應用架構進行二次開發,該方式提供了大量的API接口以便擴展系統功能,具體是通過將RADE模塊以及API接口相結合來實現對CATIA的深層次開發,其中RADE模塊集成在VC++開發環境中。同時采用SQLServer數據庫[5]對獲取的參數信息進行管理,訪問數據庫方式采用的是ADO技術[6],該技術不僅具有OLE DB技術的優點而且使用方便。系統原理如圖1所示。

圖1 系統原理示意
三維空間的2D花紋本質上是其二維圖形的三維表現,即將原有二維圖形中的點、直線和圓弧等擴展到三維空間,難點在于如何通過程序獲取模型信息。另外,在CATIA軟件界面中的模型其特征樹中都會有對應的信息,對于輪胎模型而言,為方便管理,通常會在模型樹中新建2D花紋幾何圖形集,因此只需獲取模型樹中的信息即可。而在零件文檔中,零件處于模型樹的根部,零件特征在所有特征中位于最高層,同樣在CAA開發模式中,零件也是Part文檔的最上層對象,該對象包含兩個對象:線框曲面對象(HybirdBodies)和實體對象(Bodies)。HybirdBodies對象在CATIA軟件交互界面中被稱為幾何圖形集,包含了類似零件設計中的其他對象如創建空間點、線條和平面等,因此在CATIA二次開發中具有非常重要的作用,Bodies對象與HybirdBodies對象類似。由上述分析可知,為實現參數的自動測量,可通過遍歷特征樹獲取所有幾何圖形集,然后通過用戶交互的方式獲取2D花紋幾何圖形集,進而針對獲取的幾何特征采用不同的函數進行測量。為了能夠將測得的參數自動存入數據庫且達到模型重構的要求,需要將其進行細分直到不可再分以滿足第1范式。由分析可知,圖形是由圖素構成,而每種圖素都有自己的特征數據,如直線的起點和終點坐標,因此可將2D花紋圖形元素所對應的特征數據存入數據庫中,使2D花紋與相應數據庫中的數據一一對應,實現2D花紋圖與數據表的關聯,不同用戶間可通過讀取數據庫中的圖形參數重構2D花紋。具體步驟如下。
(1)獲取當前根節點對象。首先通過文檔編輯器CATFrmEditor中的GetCurrentEditor()函數返回當前激活的編輯器,進而通過GetDocument()函數返回與該當前編輯器對應的文檔,其次通過IUnknown基接口中的接口查詢函數QueryInterface()獲取根路徑指針接CATInit,然后利用GetRootContainer()函數獲取根容器并將其轉化為Part容器,最后利用GetPart()函數獲取零件特征,也即根結點對象。
(2)遍歷2D花紋幾何圖形集。首先通過上一步獲取的零件特征QueryInterface檢索零件幾何特征集接口CATIPartRequest,然后通過該接口提供的GetSurfBodies()函數檢索所有幾何圖形集,根據GetPosition()函數確定2D花紋幾何圖形集在模型樹中的位置,進而獲取花紋特征對象CATBaseUnknown指針,隨后就可通過CATIDescendants接口所提供的GetAllChildren()函數檢索零件中的所有子集合(點集合、線集合、圓弧集合等),然后利用遞歸的方法遍歷所有子集合中的元素,便可實現遍歷2D花紋幾何圖形集的功能。需要指出的是所有的接口(包括CATIDescendants接口以及CATIPartRequest接口)都繼承于基接口(IUnknown),而基接口主要通過3個基本函數(QueryInterface,AddRef,Release)對所有接口指針進行管理。
(3)幾何參數的自動測量。首先利用Size()函數獲取不同子集合中元素的個數,然后利用遍歷的方法提取集合中的元素,針對不同集合中的元素利用CATIMeasurableIn-Context接口下的不同函數進行測量,具體功能的實現方法與其他接口一致,即通過用戶對象(Client Object)、接口(interface)、實現方法(Implementation)三部分實現對CATIA的開發,這三部分有各自不同的分工和聯系,用戶對象包含通常所說的對象成員(如點、線、面等),接口是由一組操作集即純虛函數組成,用戶對象與實現方法的連接通過接口實現,需要指出的是同一個實現方法可以同時為多個接口所共有。幾何參數的自動測量實現方法為:首先獲取CATIMeasurableInContext接口對應的指針,然后利用該接口下不同的函數對被測對象進行測量,從而實現獲取幾何參數的功能。
在輪胎花紋設計過程中,通常由于用戶操作習慣不同造成模型重構過程的不確定性,因此如何通過程序來組合操作步驟以達到模型重構的目的具有一定難度。由分析可知,不同圖元本身雖然是孤立的,但是他們之間通過頂點連接,因此模型重構可以先從數據庫中讀取圖形參數,然后利用CAA函數庫中的不同函數將構成模型所需的所有基本線條繪制出來。由CAA提供的方式可知,基本線條的生成方式是多樣的,如生成一段直線,既可以通過直線的長度、方向和起始點的坐標實現,也可以只通過起始點與終止點坐標的方式實現,結合參數的自動測量過程,本工作采用第2種方式,這種方式雖然在建模過程中并不能體現線段之間的關系,但是當模型建成之后通過依附于線段之間的頂點即可將整個模型聯系起來。
首先通過查詢輪胎的基本信息查找需要進行重構的輪胎花紋,然后可讀取數據庫中對應的2D花紋參數信息。為方便查詢,系統提供了2種方式可供選擇:(1)精確查詢,直接在編輯框中輸入輪胎花紋的ID信息,即可查詢該輪胎花紋的基本信息;(2)模糊查詢,采用的是下拉菜單的方式,該方式結合了層次結構的設計以便減少下拉選項中的內容。另外系統還提供了可視化預覽功能,首先在多選框中單擊輪胎花紋基本信息,然后通過ftp站點[7]將對應的花紋圖片從服務器下載到本地,再利用CAA加載圖片功能[8]將對應模型的圖片顯示在界面中。
輪胎2D花紋的重構及顯示步驟如下。
(1)創建幾何圖形集。首先利用編輯文檔類CATFrmEditor中 的GetCurrentEditor()函 數返回當前已激活編輯器,進而通過GetDocument()函數獲取當前文檔,然后利用Part容器實現CATIMechanicalRootFactory接口,該接口主要用于創建幾何圖形集、有序幾何圖形集和幾何體,因此可利用該接口中的CreateGeometricalSet()函數創建輪胎2D花紋幾何圖形集以便模型的管理。
(2)線框模型的重構。利用該文檔容器CATIContainerOfDocument中的GetSpecContainer()函數獲得規格容器,進而將其轉化為幾何工廠CATIGSMFactory接口,該接口模塊提供的函數可以實現絕大多數創建底層幾何對象的操作,如點、線、面、圓弧、多段線、球體、旋轉體、拉伸體和填充面等,因此可以先通過其提供的CreatePoint()函數創建圓弧以及直線的起始點與終止點,然后利用CreateLine()函數和CreateCircle()函數創建直線與圓弧,當利用for循環將所有的直線和圓弧都創建出來之后,即整個線框模型重構完成。
(3)線框模型的顯示。通過CATIGSMProceduralView接口將創建的CATISpecObject類型的幾何特征對象添加到幾何集中,然后利用InsertInProceduralView()函數將其顯示在窗體中。
為方便用戶察看與分析研究,本系統提供2種數據顯示方式。
(1)界面顯示。該方式主要通過選擇器列表類CATDlgSelectorList中的SetLine()函數將需要輸出的數據顯示在多選框中,同時為了只顯示當前數據,需要用ClearLine()函數對之前的數據進行清空。
(2)文件導出。首先利用SetVisibility()函數將選擇路徑窗體顯示出來,并利用GetSelection()函數獲取用戶選擇的文件路徑,然后就可以利用fopen()函數打開該文件,進而利用fputs()函數按指定的數據格式寫入文件中,最后利用fclose()函數關閉文件。
當用戶完成單節距花紋后,首先利用系統提供的交互界面輸入該輪胎花紋的基本信息,然后選擇模型樹中的2D花紋幾何圖形集即可,界面如圖2所示,系統會自動測量模型的幾何參數將其存入到數據庫中,并與其基本信息一一對應。

圖2 選擇胎面2D花紋幾何圖形集界面
當其他用戶設計輪胎花紋時即可利用服務器中已有的模型及其參數,具體方法為:先通過系統提供的檢索界面(如圖3所示)篩選出需要的輪胎花紋,然后系統會利用數據庫中的幾何參數將對應的模型重構出來,同時將其幾何參數顯示在界面中,如圖4所示。如果需要對數據進行分析,也可將其幾何參數導出。

圖3 輪胎花紋基本信息檢索界面

圖4 胎面2D花紋模型及其對應參數顯示界面
由此可見,通過本系統不僅大大提高了測量效率,而且可以實現模型與數據的共享。
針對輪胎2D花紋自動測量的關鍵技術提出相應算法,該算法不僅可以用于輪胎花紋的測量,而且對于其他線框模型也有很好的適用性,同時自動測量所生成的基本參數信息可自動導入到數據庫中并相互關聯。對于不同的輪胎可以通過檢索輪胎花紋的基本信息重構出對應的輪胎2D花紋(包括但不限于單節距花紋),從而實現了數據與模型共享,并且開發出的系統能夠無縫嵌入到CATIA軟件中。