我想看一级黄色大片_久久亚洲国产精品一区二区_久久精品免视看国产明星_91久久青青青国产免费

您的位置:網站首頁 > 機械制圖 > 機械技巧

基于面向對象技術的特征表示法

時間:2011-06-16 09:59:56 來源:未知
一、用面向對象技術表達特征

  (一)特征表達有利于數據抽象和代碼抽象 

  在幾何造型中,最常用的表示形式是CSG和B-rep法。CSG和B-rep表示法能很好地表達形體的形狀,但是,它們不能夠表達零件的工藝信息和制造信息。特征表示從應用層來定義形體,可以較好地表達設計者的意圖,為編制工藝、制造和檢驗產品提供依據。基于特征的設計面向制造全過程,是CAD/CAPP/CAM集成的關鍵,因而具有高度抽象的對象化屬性,表述了對象的群體特征,這一點與面向對象的程序中的類(class)的功能是相同的。 

  用類(class)來表達特征,能很方便地實現數據抽象和代碼抽象。使CAPP運用決策樹、決策表進行推理時,不必把決策寫到源程序中,從而提高了程序重用性。特征類可一般地表示為如圖1的形式。

圖1 特征類的一般表示形式

  特征類中protected成員有兩個:存儲幾何索引數據的結構指針和存儲幾何參數的結構指針,將幾何信息分別存儲于兩個結構中,目的是讓經常使用的項存放到內存中,而一般數據項存放到硬盤上,可以節省程序運行時占用的內存空間。private成員是非幾何特征參數,它們以屬性的方式掛靠到幾何信息上。Public的成員有很多,比如文件存儲函數,構造函數和析構函數等等。我們最關心是的幾何參數和非幾何參數操作函數,設計得好的操作函數可以方便地實現特征的代碼抽象。

  (二)特征具有封閉性 

  特征具有封閉性。特征是在設計、加工、裝配過程中進行推理所需的關于零件形狀和其它屬性的信息集合。我們提到的某一個特征或某一類特征,是指特定的信息內容。比如圓孔,它就是指用中心線、長度、直徑來表達的一個空的圓柱,從而使之與槽等其它特征區別開來。同時,我們知道孔和槽之間交流數據的行為是很難發生的。即孔特征具有封閉性。對象的一個最大特點就是封裝,它將數據抽象和代碼抽象結合在一起,增加了軟件的模塊化程度,增強代碼的重用性。面向回轉體零件,仿照VC++的MFC類庫,我們為CAPP系統建立一個特征類庫(Feature class Library),它包括形狀特征類以及非形狀特征的各種特征類定義,供實例化特征時使用,每個特征類封裝了一些有關操作特征屬性的操作方法。

  (三)特征具有層次性 

  孔與槽之間很難發生數據交換,但是孔與螺紋孔之間就發生了數據交流。因為,螺紋孔是孔的派生。從此可知特征具有層次性,特征的層次從設計、工藝和加工等不同的角度有不同的劃分。生產條件、加工設備、加工用刀具的不同,特征層次的劃分也是不同的。比如階梯軸,在普通車床上加工,階梯軸是光軸的派生;而在仿形車床上加工,階梯軸就無需經過光軸來派生,而是經過成型加工得到。為了方便特征層次的劃分,本文以幾何形體的加工要求為例,將特征分為孔、槽、軸肩、階梯、型腔、圓角。其中對孔作了重點分析,運用面向對象的技術作出了如圖2的劃分。面向對象的技術提供了類的繼承性,通過繼承和參數化賦值可以方便地實現動態特征定義和擴充。

圖2 加工特征的動態層次結構

  特征在性質上與面向對象技術有許多溝通點,用面向對象技術表達特征是很自然的事。引入面向對象類的概念,使得特征很方便地實現數據與代碼的抽象和封裝。許多不必要的具體數據能從源程序中剔除,增強了代碼重用性。特征與特征之間的區別有了明確的界線,不會產生混亂現象,給程序員提供了有效的編程工具。引入面向對象的技術,可以使特征方便地被擴充,實現特征類庫的動態管理。在程序編制過程中只需補充代碼派生新類,無需對整個程序做大的改動。從而使得程序設計具有清晰的信息流和數據結構。#p#分頁標題#e#

  二、約束條件下的特征表示

  約束條件下的特征表示是特征造型的重要內容,目前對特征之間的約束的研究尚無統一的方法。要研究它的表示,必須擬清約束的種類及其性質。從整個產品生命周期看,特征之間的約束可以分為設計階段的約束,工藝準備階段的約束,加工階段的約束,檢驗階段的約束,裝配階段的約束。有些約束貫穿整個產品生命周期,始終發揮作用,有些約束則是為了分析和操作方便而暫時設置的(例如工件熱處理用的工藝凸臺,在熱處理后一般要切除)。從并行設計的角度來看,所有這些約束在CAD/CAPP/CAM設計中都應當考慮到,并給出合理表達。

圖3 精度約束

  精度約束是加工階段約束中最明顯的一類,主要是位置精度的約束。圖3中,由于孔A和孔B要求較高的同軸度(0.010),因此兩孔必須同時加工。否則,兩孔很難滿足同軸度要求。孔特征在CAD 中以第一節論述的方法可以方便的表達。同軸度這一約束條件在CAPP 設計階段就必須清楚地表達,這是開發CAPP的一個重要環節。它通過指針將特征A和特征B聯系起來,同軸度約束是兩者相互作用的結果。但是作為一個父類的孔,卻不具有該指針,精度約束是在約束類或函數中給出的。一方面簡化了父類的設計工作量;另一方面增加了約束表達的靈活性,每一類型的約束均可用函數或子類表達。圖3中同軸度約束就可以表示如圖4。

圖4 同軸度約束的表示形式

  特征孔A和B的相互作用可以表示為這里約束Constrain是父類(CHole)的子類,它除了繼承父類(CHole)的特征外,還增加了一個操作同軸度約束的函數,其中pholeA和pholeB分別是指向孔A和孔B的指針,通過成員函數發生相互作用。這個類看似簡單,實際上它不僅表達了同軸度信息,也有助于選擇加工方法(加工方法作為屬性依附于特征和約束特征二叉樹之上)。該方法可以推廣以表達其它約束關系,滿足CAPP設計的需要。 

  三、面向對象技術表達零件工藝特征

  (一)裝載零件信息 

  本文的工作是從設計CAPP系統的過程中提出來的。CAPP的零件信息是通過數據接口與微機網絡從CAD信息庫中獲取的。零件信息在內存中的表達方式基于特征二叉樹的數據結構。每個主特征類根據制造要求從基本形狀特征類派生或給其對象賦值而得;輔特征類是主特征類的繼承和擴展。 

圖5 一個示例零件

  如圖5所示,如果圓柱Ø60K6與圓柱Ø50f6之間沒有同軸度約束,可以按一般要求一般加工,機床的選擇和工序工步的排列滿足經濟要求即可。如果兩圓柱之間要求較高的同軸度約束,那它們必須在較高精度機床上一次安裝加工成型。從程序設計的角度來看,兩臺階同軸度約束類是兩主特征(Ø60K6圓柱面和Ø50f6圓柱面)類的公有派生,同軸度是通過指向這兩個主特征類的指針實現的。各主、輔特征類和約束派生類的對象是CAPP系統執行的實例,它們是CAPP系統進行工藝決策的依據和基礎。

  (二)選擇加工方法 

  系統以特征的類型和加工要求為依據,從加工方法知識庫中自動搜索到與某一特征相匹配的加工方法,并以規則形式給出,其結論鏈表就是該特征的加工方法鏈,將結論鏈表靠掛在零件特征二叉樹的每個結點上就完成了該特征加工方法鏈的選擇。若某特征是一全新的特征或其加工要求特殊,在加工方法知識庫中找不到相應的加工方法鏈規則時,系統將彈出對話框供用戶方便選擇或輸入該特征的加工方法,經確認后,系統自動將所補充的加工方法鏈存入加工方法知識庫中供下次決策選用。#p#分頁標題#e#

  四、結束語

  本文分析了特征有利用于面向對象技術表達的三個特性,即抽象性、封閉性和層次性,并以孔為例提出了特征的動態層次結構。對特征之間的約束關系作出了分析,提出約束的分類,并對其中最引人注目的精度約束作出進一步的研究,以同軸度要求為例給出了約束類的設計模型。最后以面向對象技術成功地表達零件工藝特征,實現了加工方法選擇。