KBE技術在UG中的應用

分類  >  UGNX >
tags:    時間:2014-03-07 00:13:06
KBE技術在UG中的應用簡介
作者:河南科技大學 李春梅 崔鳳奎   一、引言   CAD技術的發展經歷了以下幾個階段:20世紀70年代,利用CAD技術生成數字化圖紙提高了繪製工程圖紙的效率,但並沒有真正起到輔助設……
KBE技術在UG中的應用正文

作者:河南科技大學 李春梅 崔鳳奎

一、引言

CAD技術的發展經歷了以下幾個階段:20世紀70年代,利用CAD技術生成數字化圖紙提高了繪製工程圖紙的效率,但並沒有真正起到輔助設計的作用。80年代,參數化建模技術利用基於特徵的CAD技術建立全參數化驅動的三維模型,並以此為基礎,對整體設計和部件進行有限元分析、運動分析、裝配的干涉檢查和NC自動編程等,以保證設計符合實際工程需要。但這時的CAD技術只是面向產品開發過程中的某一環節。90年代以來,基於過程的CAD技術使 此處亂碼刪去一部分 系統無法將領域設計原理和知識、同類設計以及專家經驗等融入到幾何模型中去,因此無法實現知識型資源的重用,設計者仍然需要進行大量的重複性設計工作。在產品設計初期,這種情況影響了設計者的創新性工作。

為了使設計者集中精力進行創新性工作,CAD系統應幫助設計者從重複性的工作中解脫出來,因此下一代的機械CAD系統應該利用計算機延伸以創造性思維為核心的人類專家的設計能力,儘可能地實現設計過程的自動化。這才是真正意義上的設計工具。人類專家進行設計的過程取決於專家對知識的掌握、處理和應用,沒有知識就無法進行分析、判斷和決策,因此設計自動化就是對知識的自動化處理。目前,KBE(Knowledge Based Engineering ,基於知識工程)技術是解決這一問題最有前途的方案。

KBE系統為解決傳統CAD系統存在的問題提出了方案,如設計原理的體現、約束是否衝突、如何在設計階段進行產品估價、設計製造是否可行以及設計的最終產品是否符合外觀要求等,同時提供優化方案。KBE系統所要達到的目的是使產品信息在整個生命周期中都可得到應用,從而獲得最優化方案。

二、KBE的概念

KBE是通過知識的驅動和繁衍對工程問題和任務提供最佳解決方案的計算機集成處理技術。由於KBE技術的開放性,到目前為止,尚未有一種公認的完整定義。英國Coventry大學的KBE中心認為KBE系統是一種存儲並處理與產品模型有關的知識,並基於產品模型的計算機系統;美國Washington大學認為KBE是一種設計方法學,將與下一代CAD技術緊密結合。它使用啟髮式的設計規則,將涵蓋構件、裝配和系統的開發。KBE系統存儲產品模型包含幾何、非幾何信息以及描述產品如何設計、分析和製造的工程準則。
綜上所述,KBE的內涵可以概括為:KBE是領域專家知識的繼承、集成、創新和管理,是CAx技術與AI技術的集成。KBE系統框架如圖1所示。

要使KBE系統成為工程過程的中心,必須使之適用於產品各個階段的相關設計原則。要想從設計分析到製造都有效地利用KBE系統,就要求KBE系統具有柔性、開放性、可重用性並可用戶化。KBE系統是深層內嵌於CAx系統之中的,而不是簡單地添加到一個已存在的系統中,因此,KBE系統應具有下面的基本功能。

(1) 知識的利用——方便地訪問知識資料庫
知識資料庫以多種形式存在,可以是持續性存在的資料庫或電子表格。KBE系統能夠方便地訪問這些知識資料庫,因此,KBE系統的開放性非常重要。

(2) 知識的表示——創建和應用知識規則
知識規則是知識

 

的一種表示法。知識表示就是描述世界的一組約定,是知識的符號化,這種方法方便地把人類知識表示成計算機能接收並處理的知識結構。知識表示法既要考慮知識的存儲,又要考慮知識的使用。知識表示分為規則、謂詞邏輯和框架等。規則是指一種行為的文本描述,這種行為對應於一定的輸入,可以引用各種形式的知識庫,並按照對應的邏輯條件產生一定的結果,如特徵造型、參數計算、指定種類的選擇或是違反約束時產生警告等。

知識規則在工程生命周期內的任何時候都可建立。規則的形式具有柔性,可適用於多種學科。因此,規則可在產品生命周期的各階段使用。

知識規則與其相關的對象一直保持相關性。例如,當應用知識規則建立一個幾何體后,在其存在過程中,規則與幾何體一直保持相關性。設計者可以利用這個規則編輯這個幾何體,也可再生成一個新的幾何體。如果沒有這種相關性,再次使用這個規則就只能重新生成另一個幾何體,而第一個幾何體的信息與這個規則完全無關,這樣整個生命周期就成為了一個嚴格串列的過程,不可能實現并行工程。

(3) 知識的獲取——具有知識的繁衍機制
KBE系統具有“自我生成”的知識繁衍機制。這是它與傳統的專家系統主要的不同之處。傳統的專家系統是依靠知識工程師手工獲取專家知識,效率較低。主要原因是專業領域內的專家對系統缺乏了解,不知如何提供全面的知識;而系統工程師對專家知識領域了解也不深,不能有效地深入到問題的實質,這種情況造成專家系統的應用價值不高。KBE系統提供了繁衍知識的手段,拓寬了獲取知識的途徑,允許用戶利用KBE提供的工具添加自己的獨特知識,從而對系統進行擴展。

KBE系統將重複的設計和工程任務自動化,縮短了產品開發時間,將設計、分析、製造集成起來實現并行工作。使用KBE建立模型可以將幾何造型與分析等結合起來,實現多學科優化,並確切地進行可行性評估,應用標準和實踐經驗來提高產品的質量,對設計實踐、過程經驗等知識信息進行數字化獲取和重用,從而提高自動化過程的效率。

三、UG的知識驅動自動化

UG作為一個CAD/CAM/CAE的集成軟體,致力於從概念設計到功能分析、工程圖紙生成、數控代碼生成及加工的整個產品開發過程。UG提供了知識驅動自動化(Knowledge Driven Automation)解決方案,將KBE 系統與CAx軟體系統完全集成。KDA是一個能夠記錄、重複使用工程知識並用來驅動、建立、選擇和裝配相應的幾何模型的系統。這套解決方案包括UG/KF(Knowledge Fusion,知識融合)和一系列過程嚮導。

過去的KBE系統往往是單獨使用的,不能內嵌到已存在的工程系統中,不能與已存在的應用程序相關。UG/KF解決了這個問題。由於UG/KF是完全內嵌的,用戶不需要了解什麼是KBE、什麼是UG/KF,只要使用他們熟悉的應用程序就可實現對各種知識的重用。因此,UG/KF是面向大多數工程師的。這意味著工程人員和設計人員可以致力於產品開發,而不用在KBE系統和產品開發系統之間轉換數據。
UG/KF語言是一種面向對象的語言,它建立在Intent語言基礎之上。Intent語言是一種業界公認的完全基於

 

規則的知識編程語言,主要用類來描述,其應用程序無需編譯即可執行。用戶可使用一般的文本編輯器來瀏覽和修改KBE程序,從而實現了程序的開放性,使工程知識隨時得到更新、補充和維護。

UG的KDA方案用“規則”(Rule)來表示產品的不同幾何參數和工程屬性之間的相互關係。用戶使用KF語言建立自己的規則,利用規則方便地添加知識。由於這種語言是聲明型的,而不是過程型的,因此規則不存在先後順序。UG/KF系統自動根據規則之間的關係來判斷執行順序。利用這些規則來計算工程參數對產品幾何參數的影響,從而驅動最終的幾何模型。另外,這種語言可以訪問外部知識源,如資料庫或電子表格,並提供了與分析和優化模塊等其他應用程序模塊的介面。同時,UG提供了豐富的KF類。KF類是指能實現某個任務的KF規則的集合。用戶也可以用KF語言來創建自己的類。

UG提供了一個可視化的工具——KF導航器(Knowledge Fusion Navigator)。用戶可利用導航器創建、獲取和重用知識規則,從而驅動幾何體的生成。用戶可通過可視化的界面直接添加子規則(建立類的實例)、編輯子規則(編輯實例中的參數)、添加屬性(為實例添加用戶定義屬性)和引用其他屬性等。
用戶自己創建的規則一定是可重用的,這是KBE系統的基本要求。KF技術將規則與UG對象連接起來,並且一直保持這種相關性,用戶利用規則來控制UG對象。這樣,在創建對象時就實現了其相關規則的重用。

UG中採用創成(Generative)和吸納機制(Adoption)將知識與CAx系統融合。特別是吸納機制解決了從現有的成熟產品與實踐中總結和反求知識的問題。使用Adoption可以為一個已存在的UG對象建立規則,使這個UG對象與規則相關。因為用KF語言建立複雜造型過於繁瑣,所以可以用交互方式進行幾何建模。對象建立后,使用Adoption,系統自動生成相應的規則,這個對象的參數定義為規則的屬性。規則通過屬性來控制對象。因此,通過利用Adoption ,UG/KF可將CAD系統高效建模的優點與KBE集成為一體。用戶可更為快速、方便地建立與應用規則。

下面就利用上述工具建立一個塊特徵並為它生成相應的規則。

用創成機制建立一個UG對象的步驟如下:

(1) 首先用KF語言建立一個文本文件boss.dfa,實現塊特徵的幾何建模。

 #! UG/KBE 17.0

 DefClass: MyBox (ug_base_part);

(number parameter) my_height: 84;

(number parameter) my_width: 36;

(number parameter) my_length: my_width:/12;

(child) block1:

{

class, ug_block;

length, my_length:;

width, my_width:;

height, my_height:;

color, 3;

};

(2) 然後打開UG ,在預設置中指定boss.dfa文件的路徑。

(3) 在VIEW菜單下選擇Knowledge Fusion Navigation。KF導航器顯示了一個對象樹,每一個對象節點都代表了一個類的實例和一個類實例的屬性。現在從右鍵菜單選擇Add child rules,彈出Add child rules對話框。在name 欄中加入my_block,在類名的下拉列表框中選擇 MyBox。這時生成一個長方體

 

。在KF導航器中,打開my_block節點,可以看到生成了子節點block1。Attribute節點是由系統根據相應規則自動生成的,有時可以把Attribute看作規則。
 用吸納法建立規則的步驟如下:首先直接用Modeling完成幾何造型,然後打開Tools→Knowledge Fusion→Adopt Existing Object,在彈出的類選擇器中選擇要生成規則的對象。這時在導航器中同樣可以看到系統自動為特徵生成了Attribute 節點。

UG中許多應用程序模塊都與UG/KF集成。用戶利用UG/KF提供的相關類為類實例創建規則。除了上述利用規則建立幾何模型、表達式和UDF對象外,還可以建立裝配體、訪問電子表格、訪問外部資料庫與進行優化設計等。

UG/KF可訪問存儲在零件文件中的電子表格。用戶可對電子表格中的數據進行讀寫。UG/KF提供了類ug_spreadsheet。首先為這個類創建一個實例,然後使用其中的方法進行讀寫。
用戶可以在KF規則的控制下建立裝配件。每一個UG零件文件都有一個KF環境,這個環境將規則與UG對象相聯繫。KF導航樹直觀地反映了零件的KF環境,用戶可以從中看到工作零件的規則和屬性。對於裝配件來說,不存在超越單個零件的KF環境。KF 利用函數ug_evaluateInpart在不同零件文件的KF環境中傳遞信息,這個函數可以用於裝配件中的所有部件。
UG/KF有一個內嵌的ODBC介面,允許在Windows NT平台上訪問ODBC資料庫。當資料庫改變時,用戶必須將UG/KF模型進行更新。對資料庫的操作是通過類ug_odbc_base 和ug_odbc_recordset來實現的,這兩個類提供了對ODBC資料庫進行讀寫的機制。
UG /OPEN API中提供了對UG/KF創建的規則和數據進行訪問的介面。但不允許直接對UG/KF語言編寫的代碼進行調用。UG/KF API 提供了兩類函數:一類可以創建調用UG/KF函數的用戶程序;另一類可以創建自己的KF函數。利用這些函數在UG/KF中調用其他應用程序。

四、結論
UG提供的知識驅動自動化模糊了設計、工程、幾何建模與編程之間的界限,為KBE和CAx系統的融合開發出一套簡單的知識解決方案。利用UG/KF可以將設計獨特的知識融入系統,而過程嚮導則使領域內的用戶充分利用行業內的專家經驗。以往要解決的知識重用和過程標準化問題不再需要專業的編程人員耗費大量的資金和時間來解決,只需利用知識融合的方法,就可以儘可能地實現自動化。

 

Bookmark the permalink ,來源:
One thought on “KBE技術在UG中的應用