Cbyte Logo

Objektzugriff in AutoCAD


    AutoLISP und Visual LISP

    LISP: List Processor oder List Processing (Programmiersprache, die am MIT in den 50er Jahren entwickelt wurde)

    AutoLISP, Visual LISP: in AutoCAD integrierte Programmiersprache

    wird erst beim Programmaufruf interpretiert (nicht compiliert)

    nicht Basis des AutoCAD-Kernsystems  

    Vorteile
    • besonders geeignet für Umgang mit Zeichnungselementen (Koordinaten, Zahlen, Primitive…)

    • fast uneingeschränkter Zugriff zur Zeichnungsdatenbank

    Nachteile

    • keine Definition willkürlicher, anwendungsdefinierter Objekte

    • nur innerhalb von AutoCAD verfügbar, nur Zugriff auf geladene Zeichnungen

     

    COM und ActiveX Automation

    Microsoft-Begriff für standardisierte Kommunikation zwischen Prozessen (früher OLE Automation, heute COM Automation)

    ActiveX ist ein „benutzerfreundlich“ verpackter Ausschnitt des DCOM (Distributed Component Object Model)

    verschiedene, gleichzeitig unter Windows laufende Programme können Daten und Funktionalität austauschen bzw. zur Verfügung stellen

    AutoCAD bietet den Großteil des Dokumenteninhalts (Zeichnungsinhalt) via ActiveX Automation an:  AutoCAD wird zum Automation-Server; das die Schnittstelle benutzende Programm wird zum Automation-Client

    Client kann Objekte abfragen, erzeugen und ändern

    wird erst beim Programmaufruf interpretiert (nicht compiliert) _ einfaches Debuggen/Ändern des Codes während der Laufzeit

     

    Vorteile

    • standardisierte Schnittstelle erlaubt die Wahl verschiedener Programmiersprachen zur Entwicklung von Clients (häufig: Delphi, Visual Basic, Visual Basic for Applications)

    • schnelle Entwicklung von Prototypen (besonders VB, VBA)

    Nachteile

    • Eingeschränkter Objektzugriff und Möglichkeiten der Objekterstellung

    • AutoCAD und Automation Anwendung laufen im gleichen Adressbereich _ AutoCAD muss im Hintergrund arbeiten und mit seiner eigenen Datenbank kommunizieren, da der Client kein Wissen über die Zeichnungsinhalte hat

     

    ObjectARX

    Grundlage, auf der auch AutoCAD aufgebaut ist

    Satz von C++ Bibliotheken (dll‘s), die im selben Adressraum wie AutoCAD laufen und auf den Datenstrukturen von AutoCAD mit den Methoden des Kernsystems operieren

    Datenzugriff mit AcDb-Bibliothek (AutoCad Database) _ Anlegen, Auswerten und Manipulieren von Objekten möglich

     

    Vorteile

    • alle Zeichnungsinhalte sind erreichbar

    • gleichzeitiges Arbeiten mit mehreren Zeichnungen, die nicht einmal geöffnet sein müssen

    • Definition neuer Objektklassen möglich

    Nachteile

    • Beschränkung auf AutoCAD-Umgebung

    • Programmieraufwand (C++)

     

    ObjectDBX

     

    Satz von C++-Bibliotheken (direkt von Autodesk) zum Lesen und Schreiben von AutoCAD-Zeichnungen mit einer eigenen Anwendung

     

    Vorteile

    • auch außerhalb von AutoCAD lauffähig

    • alle Zeichnungsinhalte sind erreichbar

     

    Nachteile

    • Beschränkung auf C++ als Entwicklungsumgebung und Microsoft Windows