• 沒有找到結果。

Inventor 二次開發工具簡介

第三章 CAD 系統開發原理

3.4 Inventor 二次開發工具簡介

本研究中所使用的 CAD 二次開發環境為 Autodesk Inventor Professional 2011、

Microsoft Visual Studio 2008 中的 VB.NET 程式語言及 Microsoft Office 2007 中的 Excel 所建立的型錄庫。Autodesk Inventor 是美國 Autodesk 公司於 1999 年底推出的中階 3D 參數化建模模擬分析整合軟體。與其他同類型產品相比,Inventor 在操作介面上簡單 易懂,3D 運算速度與外觀著色功能方面有突破的發展。Inventor 不僅僅簡化了操作介 面和有效的縮短了軟體學習週期,而且大幅提升 3D 運算及著色速度,減少使用者在 工具軟體使用上時間的消耗,加速整體設計流程及工作效率。

3.4.1Inventor API 簡介

Inventor 具有良好的開發環境,它提供了充分的二次開發介面和開發方法,這樣 使用者可以在其環境中開發滿足設計者特定需求的產品。Inventor 擁有物件導向的 ActiveX 技術,透過此項技術可以方便有效地運用各種高級程式語言如 Visual C++、

C#、VB.NET 及 VBA 等對 Inventor 進行二次開發。透過二次開發可以使得 Inventor 增加新的功能,並能夠使得操作上的簡化,滿足特定使用者需求,亦可設計開發出一 套包含專家經驗及專業知識的設計系統。

29

API 是 Application Program Interface (應用程式介面)的簡稱,它是 Microsoft 公司 的一種自動化開發(COM 自動化)技術。API 主要的功能就是將應用軟體中的各個功能 建立出相對應的函數,可以供其他程式語言直接使用。API 技術廣泛的應用在 Windows 系統設計的應用軟體中,如 Microsoft 公司的 Office 軟體 Word 及 Excel,

Autodesk 的 AutoCAD、MDT、Inventor 等,讓使用者可以透過各種高階程式語言編 輯 API 中的各種物件中的功能和方法,進而設計出特定的專業功能。

在 Inventor 中,API 充分展現了其功能多樣性及自主性,這樣使用者可以運用多 種方式使用現成的 API 函數或者透過程式設計結合迴圈、矩陣、公式運算及設計者的 專業知識等,為 Inventor 增加更多應用功能。Inventor API 有幾種不同的開發方式,

如 VBA,或者是運用高階語言開發的 Add-In 等,將在 3.4.2 節做詳細說明。

API 開發技術有相當多的優點與技術上的優勢。首先,幾乎所有現在常用得程式 語言都可以用來進行編輯 API 程式設計,如 VC++、VB.NET、Delphi、Perl 及 Java 等,如下圖 3-3 所示。可以依自己對特定程式語言的熟悉度來選擇合適的程式語言,

大大降低學習的門檻。其次,API 具有標準的規則,具有一定的通用性。例如使用者 具有 Word API 程式設計經驗,那該使用者對於所有可以運用 API 技術進行二次開發 的應用軟體皆可以快速上手,有效地縮短學習週期,避免不同應用軟體所帶來的不便 及加速設計開發效率。

圖 3-3 程式語言與 Inventor API 關係圖

30

3.4.2Inventor API 的分類

Inventor 二次開發方式有很多種,大致上分為如下四種,本節將簡單介紹一下各 方式的差異。

(1)VBA

(2)Add-in(*.dll) (3)獨立執行檔(*.exe) (4)Apprentice Server

圖 3-4 Inventor 開發方式示意圖

(1)VBA

VBA 的全名為 Visual Basic for Application,意思是說專為特定應用軟體量身訂作 的 Visual Basic。VBA 並不是一個獨立的開發工具,也不為某一項產品獨有,它是 Microsoft 開發的一種程式語言,可以把它當成是 VB 的一個子功能,它包含了 VB 大 部分的常用的功能。但是兩者最大的差異就是 VBA 只能在某一特定應用軟體的內部 執行程式設計,而 VB 可以建置獨立的執行檔(*.exe),亦可在應用軟體外部執行。VBA 作為一種易學易用的程式語言,廣泛的應用在 100 多種軟體中,如 Microsoft 的 Office

31

軟體(包含 Word、Excel、Access 等)、Autodesk 的各種產品(如 Inventor、AutoCAD 等)。

在 Inventor 中,運用 VBA 所設計的程式一般稱為巨集,需要在 Inventor 內部才 可以執行,不能脫離 Inventor。Inventor VBA 可以說是使用 Inventor API 最便捷的開 發工具,它具有以下四個特點:

(a)VBA 具有 VB 大部分的功能,且具有類似的開發環境。

(b)VBA 隨 Inventor 一同發行,不需要單獨購買。VBA 附加於 Inventor 中,可以直接 在 Inventor 中啟動 VBA 並進行應用程式的開發設計。

(c)VBA 不能創建可以運行在所屬應用軟體外部的獨立的應用程式。它運行在 Inventor 相同的處裡空間,執行效率高。

(d)可以把 VBA 程式做成獨立的 IVB 文件,供其他使用者文件共享或編輯程式。

(2)Add-in(*.dll)

Add-in 是 Inventor 的一種動態連結檔的應用程式,能夠支持 API 的產品進行編輯。

本研究就是運用 VB.NET 程式語言依 Add-in 的方式進行 Inventor API 程式設計,而 Add-in 三個重要特點如下:

(a) Add-in 能夠隨著 Iventor 的啟動而自動加載。

(b) Add-in 能夠創建使用者自行設計的功能選單。

(c) Add-in 能夠創建獨立在 Inventor 外部的動態連結檔,對程式內容有保密的效果又 可以分享給其他人使用。

值得一提的是,Add-in 在 Inventor 運行時會自動加載的特性是一個非常實用的功 能。使用者可以在執行 Inventor 前選擇所需要加載的 Add-in,而沒有選擇的 Add-in 就不會因執行 Inventor 而自動加載,這樣依需求選擇軟體所附加的功能,可以大幅降 低電腦資源因加載太多功能的消耗,以增加應用軟體的執行效率。許多 Inventor 內部 的應用程式也都以 Add-in 的方式加載。

(3)獨立的執行檔(*.exe)

獨立的執行檔可以獨自運行,且與 Inventor 相關聯。這種程式具有自己的介面,

32

不需要使用者在 Inventor 中做任何的交互操作。例如一個用來創建草圖應用程式,當 執行程式時,它透過數據庫之間的交互作用添加新的數據,如果 Inventor 沒有啟動,

則由該程式啟動,並創建所需的檔案與相關的草圖。由於執行檔運作在 Inventor 的處 理空間之外,因此程式的執行效率會有所損失。

(4)Apprentice Server

Apprentice Server 是一個 ActiveX 伺服器,可以當作 Inventor 的一個子功能,運 行在 Inventor 的處裡空間內部。相較於外部的應用程式,執行效率較高。Apprentice Server 包含在 Design Tracking 中,主要是用來提供初階程式設計者練習使用,可由 Autodesk 公司網站免費下載使用。

33

相關文件