Entwickeln von Anwendungen mit ActiveX-Automatisierung

ActiveX-Automatisierung ist eine von Microsoft® entwickelte Technologie und basiert auf der COM-Architektur (Component Object Model). Sie können sie zur Erweiterung von AutoCAD-basierten Produkten, zur gemeinsamen Verwendung Ihrer Zeichnungsdaten mit anderen Anwendungen und zum Automatisieren von Aufgaben verwenden.

Sie können Zeichnungsobjekte mithilfe jeder Anwendung erstellen und bearbeiten, die als Automatisierungs-Controller dient. Die Automatisierung ermöglicht daher die Makro-Programmierung über mehrere Anwendungen hinweg, eine Funktion, die normalerweise nicht für die Verwendung mit AutoLISP verfügbar ist. Sie möchten beispielsweise eine Benutzereingabe erzwingen, Benutzereinstellungen festlegen, einen Auswahlsatz erstellen oder Zeichnungsdaten abrufen.

Die angezeigten Objekte werden als Automatisierungs-Objekte bezeichnet. Automatisierungs-Objekte machen Methoden, Eigenschaften und Ereignisse verfügbar. Methoden sind Funktionen, die eine Aktion an einem Objekt ausführen. Eigenschaften sind Funktionen, die Informationen über den Status eines Objekts festlegen oder zurückgeben. Ereignisse sind von Benutzern initiierte Aktionen oder Gegebenheiten, auf die ein Programm reagiert.

Anmerkung:
  • Die ActiveX-Automatisierung in AutoCAD LT for Windows ist auf die AutoCAD-ActiveX-Bibliothek und die AutoLISP-Programmiersprache beschränkt. AutoCAD LT unterstützt keine ActiveX-Automatisierung mit VBA oder anderen Programmiersprachen. Ebenso werden keine ActiveX-Bibliotheken von Drittanbietern, z. B. für den Zugriff auf Microsoft Word und Microsoft Excel unterstützt. Sie müssen AutoCAD oder ein AutoCAD-basiertes Produkt besitzen, um die ActiveX-Automatisierung voll nutzen zu können.
  • Die ActiveX-Automatisierung wird unter Mac OS oder im Web nicht unterstützt.

Zugriff auf externe Anwendungen mit ActiveX (nur AutoCAD for Windows)

Die Implementierung einer ActiveX-Schnittstelle für das Programm bietet die folgenden Vorteile:

So gut wie jede Art von Anwendung kann auf die angezeigten Automatisierungs-Objekte in AutoCAD zugreifen. Bei diesen Anwendungen kann es sich um unabhängig ausführbare Anwendungen, Dynamic Link Library (DLL)-Dateien und Makros in einer Anwendung wie Microsoft Word oder Microsoft Excel handeln. Die gängigsten Dateien sind wahrscheinlich eigenständige ausführbare Dateien. Wenn Sie Anwendungen von Dritten verwenden, befolgen Sie die Anweisungen dieser Drittanbieter zur Installation und Verwendung des Produkts.

Definieren eines externen Befehls zum Starten der Anwendung (nur AutoCAD for Windows)

Verwenden Sie die Datei acad.pgp zum Definieren eines Befehls, der einen externen Befehl ausführt, um eine eigenständige Anwendung zu starten; ähnlich wie bei Befehlsaliasnamen, die zum Starten eines Befehls verwendet werden können.

Im folgenden Beispiel wird der Befehl RUNAPP1 definiert, der die Datei app1.exe aus dem Verzeichnis c:\vbapps\ ausführt. (Fügen Sie dem Abschnitt mit den externen Befehlen in der Datei acad.pgp diesen Code hinzu.)

RUNAPP1, start c:\vbapps\app1, 0

Wenn Ihre Anwendung Befehlszeilenparameter erfordert, verwenden Sie folgenden Code:

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

In diesem Beispiel wird der Befehl RUNAPP2 definiert, der Sie zur Eingabe von Parametern auffordert und diese an die Anwendung weiterleitet.

Tipp: Sie können auch die AutoLISP-Funktion startapp verwenden, um eine Anwendung zu starten, die die Automatisierung verwendet. Sobald AutoLISP die externe Anwendung startet, kann es deren Aktionen nicht mehr steuern. Sie können AutoLISP jedoch verwenden, um verschiedene, auf bestimmten Parametern basierende Anwendungen zu suchen und auszuführen.

Starten einer Anwendung über die Benutzeroberfläche (nur AutoCAD for Windows)

Nach dem Definieren eines externen Befehls, um eine eigenständige Anwendung zu starten, können Sie diesen Befehl über ein Benutzeroberflächenelement als Teil eines Befehlsmakros verwenden.

Wenn Sie nur eine oder zwei Anwendungen verwenden, können Sie diese einer der Standard-Multifunktionsleisten-Gruppen oder dem Schnellzugriffs-Werkzeugkasten hinzufügen. Wenn Sie eine Gruppe von Anwendungen verwenden, können Sie eigene Multifunktionsleisten-Gruppen definieren, die speziell für diese Anwendungen gelten.