關於使用 ActiveX Automation 開發應用程式

ActiveX Automation 是由 Microsoft® 開發的一種技術,並以 COM (元件物件模型) 架構為基礎。您可以使用它延伸 AutoCAD 系列產品的功能、與其他應用程式共用圖面資料,以及讓作業自動化。

您可以從任何用作 Automation 控制器的應用程式中建立並操控圖面物件。因此,Automation 可以跨應用程式啟用巨集程式設計,此項功能是 AutoLISP 所沒有的。

註: 不支援搭配 AutoCAD LT 或在 Mac OS 上使用 ActiveX。

為程式實施 ActiveX 介面具有下列兩項優點:

例如,您可能需要提示輸入、設定偏好、建立選集或擷取圖面資料。您可以依照操控類型決定所要使用的控制器。

這些被顯示出來的物件稱為 Automation 物件。Automation 物件可使方法、性質與事件可用。方法是指在物件上執行某項動作的函數。性質是指設定或傳回有關物件狀態資訊的函數。事件是使用者啟動的動作或事件,程式會對其做出反應。

實際上,任何類型的應用程式都可以存取 AutoCAD 內展示的 Automation 物件。這些應用程式可以是獨立的可執行檔和動態連結資源庫 (DLL) 檔,也可以是應用程式 (如 Microsoft Word 或 Microsoft Excel) 中的巨集,其中最常見的可能就是獨立的可執行檔。如果您所使用的應用程式是由協力廠商開發人員開發的,請遵循他們的指示來安裝和使用他們的產品。

定義啟動應用程式的外部指令

您可以使用 acad.pgp 檔案來定義一個指令,該指令可執行外部指令以啟動單機版應用程式;這類似於可用來啟動指令的指令別名。

以下範例定義 RUNAPP1 指令,該指令可執行位於 c:\vbapps\ 目錄的 app1.exe。(將該程式碼加入 acad.pgp 檔外部指令區段)。

RUNAPP1, start c:\vbapps\app1, 0

如果您的應用程式需要指令行參數,請使用下列這段程式碼:

RUNAPP2, start c:\vbapps\app2, 0, *Parameters: ,

本範例定義 RUNAPP2 指令,該指令可提示您輸入參數,然後將它們傳送至您的應用程式。

您也可以使用 AutoLISP 的 startapp 函數,來啟動利用 Automation 的應用程式。在 AutoLISP 啟動外部應用程式之後,它便無法再控制該程式的動作。不過,您可以使用 AutoLISP 來尋找並執行以某些參數為基礎的各種應用程式。

從使用者介面啟動應用程式

在定義外部指令以啟動單機版應用程式之後,您可以使用該指令做為使用者介面元素指令巨集的一部分。

如果只是使用一個或兩個應用程式,您可以將其加入其中一個標準功能區面板或快速存取工具列。如果您有一組應用程式,則可以定義您自己的功能區面板,以專供這些應用程式使用。