• 沒有找到結果。

UG 二次開發工具簡介

在文檔中 中 華 大 學 碩 士 論 文 (頁 36-40)

第三章 系統的理論與知識建模

4.1 UG 二次開發工具簡介

隨著CAD 技術與人工智能的發展,知識工程與 CAD 的結合已成為 CAD 技 術發展的重點方向之一。UG/OPEN 是 UG 軟體為使用者與第三方開發人員所提 供的二次開發工具,利用該工具使用者可以對UG 系統建立專用程式的編輯和開 發,以滿足使用者廣泛的需求。UG/OPEN 主要是由以下幾部分所組成:

(1) UG/OPEN GRIP

UG/OPEN GRIP 是一種專用的圖形交互編輯語言,此種語言與 UG 系統整 合,實現UG 系統下絕大多數的其它通用語言程序相互調用的接口。

(2) UG/OPEN API

UG/OPEN API 又稱為 User Function,是一個允許程式訪問並改變 UG 對象 模型的程式集。UG/OPEN API 封裝了近 2000 個 UG 操作的函數,可以對 UG 圖 形終端、文件管理系統和數據庫進行操作,幾乎所有能在UG 介面上的操作都可 以用UG/OPEN API 函數實現。

(3) UG/OPEN MenuScript

使用 UG/OPEN MenuScript 此一開發工具,可以方便的編輯使用者選單,透 過此選單調用使用者自行開發的對話框或UG 本身的對話框,實現滿足使用者要 求的交互式操作。

(4) UG/OPEN UIstyler

UIstyler 是開發 UG 對話框的可視化工具,產生的對話框能與 UG 整合,讓 使用者更方便、更有效率的和UG 進行交互操作。利用此工具可以避免複雜的圖 形用戶接口 GUI 的編輯,直接將對話框中的基本控件組合產生功能不同的對話 框。

另外,UG 軟體還提供了知識溶接(Knowledge Fusion,KF)此一知識工程言,

讓設計人員可以運用KF 語言在產品模型中以符合工程規則及其相互關係的形式 增加工程知識,從而實現由知識和規則驅動的產品設計過程。

根據模組化設計的思維,將系統分成功能相對獨立的模組,並以動態連結檔 (Dll)等方式與 UG 系統整合,方便系統的並行開發與後期的維護。產生的文件依 據類別分別存放在Application、Dfa、Startup 等文件目錄下,如圖 4-1 所示。

圖4-1 二次開發目錄結構

4.1.1 Knowledge Fusion 知識溶接

UG/KF 知識溶接是整合於 UG 系統的知識工程技術,是介於 CAD 技術與知 識工程之間所開發的新技術,它提供了一種以知識驅動的解決方法,實現了工程 設計規則與CAD 的結合。利用 KF 語言,設計人員可以藉助幾何模型以外的工 程知識庫與工程演算規則來開發應用和控制UG 的對象,使 CAD 設計超越了單 純的幾何模型,讓設計人員能夠創造可重用的產品設計知識庫,以輔助新的設計 任務實現。UG/KF 是物件導向(Object oriented methods)的解釋性(Interpreted)語 言,使用者可以方便的在產品模型中以規則(Rule)的形式增加工程知識,而此規 則為知識溶接語言的基本單元。同時,知識溶接語言還可存取UG 系統以外的知 識資源,如資料庫及電子試算表格等,並將其與UG/KF 規則集相連結[19]。

UG/KF為一種智能化語言,與其它高階語言相比,有以下特點:

(1) 解譯性語言

KF 是一種解譯性語言,亦即其規則定義的順序是不具任何意義的,其程式 執行的順序完全由內部的依附性關係所決定。例如當某公式被引用而需要求解 時,系統會依照其依附關係自動解算此公式。因此,UG 是一個基於歷史過程的 建模工具,建模時除考量各定義幾何間的依附關係外,並會考量時間順序的依附 關係,而KF 的解譯性功能特有的追蹤機制會按照上述兩種關係來決定執行順序。

(2) 物件導向語言

如同現今 C++程式語言,KF 語言亦是物件導向的語言。因此,在知識溶接 語言中有類(Class)及物件(Object)能夠進行多重繼承性(Inherent)。類是物件的共 同特徵的抽象描述。例如,Block 類是一個立方體,由長、寬、高等屬性所描述 的幾何物件,而一個物件是某個類的特定實例(Instance)。基於 Block 類可以定義 出 Block1、Block2、Block3 等多個物件,雖然他們的尺寸有所不同,但皆源於 同一類,是由同一類中衍生出來的實例。而從一個類中創建一個物體的過程稱為 創建實例。

(3) 層次化

KF 語言具備有如同一般設計師於產品設計過程所理解的一般,KF 有一定程 度的層次化能力,即在創建一組合件時,個別工件構成子裝配,子裝配構成產品 完整的組合件,其語言可在所有層次中有一致的處理方法。

(4) 應用 KF 語言描述的實體模型

在創建一新的物件模型或是KF 語言的模型時,一個類就是一系列由公式或 規則所定義屬性的集合,而這些屬性可以分為兩大類,其一是公式或規則,亦可 稱為表達式;另一則為UG 基本物件的實例。

4.1.2 UG/KF 程式語法說明

KF 語言中最大的組成元素為類,是定義物件規則的集合體,其格式如圖 4-2 所示。一個類的程式主要是由類名稱(Class Name)和子規則(Child Rule)所構成,

且定義一個類必須要有一個名稱,並須說明由哪一個類所衍生(Mix-Ins)出來,它 包括從父類(Parent Class)繼承的規則及本身的規則定義,而每一規則定義皆為此 類的屬性(Attribute)。圖 4-3 則為此一定義新類本身專有的子規則格式細部定義說 明。

圖4-2 類程式格式定義

圖4-3 子規則程式格式定義

在類的定義中,DefClass:此一指令用於宣告定義一個新的類,接著是新類 的名稱(Class Name)-Door,並指定此類所基於衍生的基本類(Basic Class)-

ug_base_part。其後即可定義屬於此類的參數屬性(Parameter Attribute)及子規則,

子規則可以有很多個,且皆基於前述所定義的類所衍生,一直到程式中再出現宣 告定義另一個新的類或程式結束為止。

在文檔中 中 華 大 學 碩 士 論 文 (頁 36-40)

相關文件