• 沒有找到結果。

NX Open 介紹

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

第三章 系統理論根基及應用技術

3.6 NX Open 介紹

NX Open 是從 NX3 開始提供的 API 工具,並提供 NX 內部物件模型的直接

訪問即 NX Open API 與 UI 操作訪問的是統一的 NX 內部物件模型,且支援多種 語言如:C/C++、Java、.Net 等,無論使用者採用何種語言的 API 其最終調用的 都是同一個內核函數,並支援多種平臺如:Windows、Linux,基於以上特色從 而實現了平臺無關性及開發語言無關性。NX5 以後支援設計 UI 功能較 UI Style 更強的 Block UI Style。Journal 功能可錄製 NX 操作並生成使用者指定的語言代 碼,對於開發人員更減輕了查找函式庫的時間,相較於 UG Open 來說,NX Open 覆蓋的功能較多且除了維護並持續開發中。

3.6.1 NX Open API 物件模型

NX Open API 透過物件導向組織所有物件模型,物件結構分為若干層,每 一層又包括若干子物件,每個物件除了繼承父系的資料結構外,尚添加自己的屬 性。物件模型結構如 3-4 圖所示。

圖 3-4 NX Open 物件模型結構圖

以下為 NX Open API 物件種類之簡介:

(1) 標記物件(TaggedObject):NX Open API 中的最重要的基本類,是所有實體 類型的基類,所代表的物件在 Part 儲存的同時被存取。

(2) NX 物件(NXObject):繼承自標記物件(TaggedObject),提供了對實體物件名 稱及屬性等,編輯的基本操作。

(3) 對話框(UI ):UI 是獲取 NX 交互物件的基礎類。在每一個 Session 中只有一 個 UI 物件,通過靜態函數 GetUI 獲得。

(4) 暫存物件(TrainsientObject):相對於標記物件(TaggedObject),是一些臨時物 件的基類,這些物件在 Part 儲存時不會被存取。

(5) 標記物件集合體(TaggedObjectCollection):為 NX 物件集合的基類,透過這 些物件集合可以用來遍歷所有該集合之物件,同時也可以創建新物件。

(6) 應用程序(Session):類似於 NX 中的基本環境(Gateway),是應用 API 獲取所 有 NX 物件的基礎,在每個 NX 應用程序中只有一個 Session 物件。

(7) 工件(Part):繼承自 BasePart 的編輯屬性如:關閉、儲存等,另外還包含多 個標記物件集合體(TaggedObjectCollection),用於遍歷所有物件或創建新的

物件。

(8) 建構器(Bulider):繼承自暫存物件(TransientObject),用於操作實體物件的參 數,創建新的實體物件,編輯已有的實體物件或獲取物件的設置參數,創建 或編輯物件時,必須調用 Commit 方法完成物件的更新,完成操作後需調用 Destroy 方法銷毀 Bulider 物件。

3.6.2 NX Open API 常用物件及應用

由於在開發過程中,除了建模之外尚需對模型編輯、操控以滿足開發需求,

在 NX Open API 開發環境中,常需掌控之物件有:

(1) 工件(Part)即 NX 程序中工件的統稱,又分工作件(Work Part)、顯示工件 (Displayer Part)。

(2) 體(Body)即 NX 實體(Solid)一般擁有一個以上的特徵,是實體物件的最高層 次。

(3) 實體特徵(Feature)即使用者對 NX 實體所有操作過程都以此方式記錄,一個 實體往往擁有多個特徵,並按照建構時間順序保存。

(4) 面(Face)通常由多個邊(Edge)組成。

(5) 邊(Edge)通常由頂點(Vertices)界定。

獲取上述幾何物件通常透過遍歷的方法,即根據物件的層次關係透過迴圈的 循環訪問該層內含之目標物件。例如:得到工件中的實體訊息,再得到實體內的 特徵,特徵內的面及面內的邊。圖 3-5 為遍歷 Session 內所有 Part 程式碼之格式。

圖 3-5 遍歷 Session 內 Part 程式碼之格式

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

相關文件