start

  download
tipps
  impressum
  datenschutz

 

 

 

 

 

 

 

 

 

 

Tipps


Jetzt haben Sie die ganzen Lisp-, ARX-, VLX-, DCL-, SLD- und DVB-Dateien aus dem Internet geladen - und was nun? Wie macht man die ganzen Dateien mit ihren Routinen in AutoCAD nutzbar? Hier eine kleine Anleitung über die vielfältigen Möglichkeiten von AutoCAD, externe Routinen zu laden:

AutoCAD vs. AutoCAD LT

Es gibt einen großen Unterschied zwischen den beiden AutoCAD-Varianten der Vollversion und der LT-Version. Nur die Vollversion unterstützt sämtliche in diesem Artikel genannten Erweiterungsroutinen. Die Lightversion kann von Haus aus keine DVB, Lisp-, VLisp oder VLX-Dateien laden, dieses ist der Vollversion vorbehalten.
Seit 1999 hat Autodesk neben AutoCAD noch viele branchenspezifischen Lösungen wie ACA, C3D, ADT, MDT, LDDT u.a. im Angebot. Alle diese Produkte haben AutoCAD als Unterbau und unterstützen somit die hier vorgestellten Möglichkeiten zum Laden von Routinen.

Drag 'n Drop
Am schnellsten ist eine Routine per drag 'n drop geladen. Hierzu nimmt man im Explorer die entsprechende Datei und zieht sie mit der Maus auf den Zeichenbereich (!) von AutoCAD. Schon ist die Datei geladen und stellt ihre Funktionen zur Verfügung.

Aufruf per Tastaturbefehl
Für die verschiedenen Routinedateien gibt es verschiedene Ladebefehle die im folgenden aufgelistet werden:

lsp/vlx/fas Dateien

Befehl: (load "dateiname.lsp")


LOAD lädt die Datei 'dateiname.lsp' in AutoCAD. Die Routinen stehen dabei allerdings nur der aktuellen Zeichnung zur Verfügung. Wird in eine andere Zeichnung gewechselt oder wird eine neue Zeichnung erstellt, so sind dort die Routinen nicht verfügbar.

Befehl: (vl-load-all "dateiname.lsp")


Dieser Befehl funktioniert erst ab AutoCAD2000 und lädt die Datei 'dateiname.lsp'. Nach dem Ladevorgang stehen die Befehle der geladenen Routinen in allen Zeichnungen zur Verfügung. Die Verfügbarkeit der Routinen unterscheidet sich zu der LOAD-Funktion also erheblich.
Gelegentlich schlägt der Befehl fehl. Das liegt daran, dass der Befehl zu der ab AutoCAD2000 eingeführten VisualLisp-Erweiterung gehört, die unter Umständen noch nicht geladen ist. Abhilfe schafft hier die einmalige Eingabe des Befehls (vl-load-com).


Befehl: (autoload "dateiname.lsp" '("Befehl1" "Befehl2" "Befehl3"))

Dieser Befehl ist etwas für Fortgeschrittene und stellt mit den weiter unten vorgestellten Möglichkeiten zum automatischen Laden von Routinen (acad.lsp und acaddoc.lsp) eine interessante Variante der Bereitstellung von Routinen dar. Die Idee hinter diesem Befehl ist, dass man verschiedene Routinen hat, die nicht immer, sondern nur manchmal benötigt werden. Man will nicht auf sie verzichten, aber auch nicht den Speicherplatz (RAM) unnötig belegen, falls man die Routinen doch nicht benötigt.

Bei dieser Aufgabenstellung greift der Befehl AUTOLOAD. Anzugeben ist die Lisp-/VisualLisp-Datei und die darin beinhalteten öffentlichen Befehle (Routinen). Bei obigem Beispiel existiert also eine Datei "dateiname.lsp" mit den drei Befehlen "Befehl1" bis "Befehl3". Durch die Verwendung des Befehls weiß AutoCAD, dass beim ersten Aufruf einer der drei genannten Befehle die Datei "dateiname.lsp" geladen werden soll.

arx Dateien

Befehl: (arxload "dateiname.arx")


Für ARX-Dateien gibt es nur einen Befehl: ARXLOAD.
Dieser lädt die Routine und stellt sie - wie (vl-load-all) - im gesamten AutoCAD zur Verfügung.

dvb Dateien

Befehl: (vl-vbaload "dateiname.dvb")


Dieser Befehl funktioniert wie ARXLOAD und lädt die DVB-Datei für alle Zeichnungen zugänglich in AutoCAD. Sollte eine Fehlermeldung erscheinen, so liegt es eventuell daran, dass zuerst die VisualLisp-Erweiterung durch einmalige Eingabe von (vl-load-com) geladen werden muß.

Für AutoCAD ab Version 2010 muss vor der Verwendung von dvb-Dateien das sogenannte "Microsoft Visual Basic for Applications Module" installiert werden. Dieses ist kostenlos bei Autodesk in der Rubrik "Support" erhältlich. Bei der Installation ist darauf zu achten, dass das Modul sowohl für die korrekte AutoCAD-Version (2010, 2011, 2012) wie auch in der korrekten Windows-Version (32-/64-Bit) installiert wird.

Wo liegen meine Routinen

Festplatten sind heutzutage sehr groß. Woher soll also AutoCAD wissen, wo die Dateien liegen, die man laden will. Dieses kann man AutoCAD auf zwei möglichen Wegen sagen:

Den Pfadnamen immer mit angeben
Sie können die Pfadangabe beim Laden von Dateien mit angeben. Wenn also eine Datei durch den oben beschriebenen LOAD-Befehl geladen werden soll und "x:\lisp\erweiterung.lsp" heißt, so sieht der Befehl folgendermaßen aus:

(load "x:/lisp/erweiterung.lsp")

Haben Sie den Unterschied zwischen Slash (/) und Backslash(\) bemerkt? In AutoCAD hat der Backslash eine besondere Bedeutung und kann nicht ohne weiteres wie im Explorer verwendet werden. Entweder verwendet man stattdessen also den einfachen Slash oder nutzt folgende Schreibweise, wenn man unbedingt den Backslash verwenden will. Beide Varianten funktionieren:
(load "x:\\lisp\\erweiterung.lsp")

Support-Pfad voreinstellen
Die Methode, den Pfadnamen immer vollständig anzugeben, funktioniert allerdings nicht immer. Beispielsweise kann ein Ihnen unbekannter Programmierer nicht wissen, wie Ihre Daten auf der Festplatte oder Ihrem Netzwerk strukturiert sind. Wenn also eine Datei - z.B. eine DVB-Datei names "ldl.dvb" - nachgeladen werden soll, kann kein Pfadname mit angegeben werden, denn woher sollte ein Programmierer wissen, wo Sie diese abgelegt haben. In diesem Fall muß AutoCAD spezielle Pfade kennen, in denen es nachzusehen hat.
Diese besonderen Pfade heißen "Support-Pfade" und lassen sich im AutoCAD-Menü unter Extras->Optionen einstellen. Im dortigen Dialog gibt es unter dem Reiter "Dateien" den Eintrag "Suchpfad für Support-Dateien". Alle dort hinterlegten Pfade werden durch AutoCAD durchsucht, wenn man bei Laden einer Datei keinen Pfad angibt.
Wenn Sie also ein Verzeichnis besitzen, in dem alle aus dem Internet geladenen Routinen liegen sollen (beispielsweise "x:\Lisp Routinen") und dieser Pfad in AutoCAD unter den "Support-Pfaden" benannt ist, reicht ein einfacher Aufruf von (vl-vbaload "ldl.dvb") anstelle von (vl-vbaload "x:/lisp routinen/ldl.dvb").
 

Dialogbox mit Optionen


Lieber per Dialog
Sie arbeiten lieber mit Dialogen und der Maus? Dann können alle o.g. Routinen auch über die Eingabe des folgenden Befehls dialoggesteuert geladen werden:

Befehl: appload
 

Dialogbox "Anwendung laden"


Laden von Hand oder automatisch
Wenn Sie mit den bisher vorgestellten Varianten Routinen laden, können Sie diese so lange verwenden, bis Sie AutoCAD beenden und wieder neu starten. Nach dem Neustart stehen Ihnen die Routinen nicht mehr zur Verfügung und müssen neu geladen werden. Dieses ist sehr umständlich, will man doch manche Erweiterungen dauerhaft einsetzen. Auch hier bietet AutoCAD wieder eine Fülle verschiedener Möglichkeiten, die Dateien bereits beim Start automatisch zu laden:

appload
Im oben vorgestellten Dialog von APPLOAD gibt es eine Sektion "Startgruppe", in der Sie Dateien eintragen können, die beim Start von AutoCAD automatisch geladen werden sollen. Alle dort eingetragenen Dateien werden fortan bei jedem Start von AutoCAD neu geladen.

acad.lsp
Im Support-Verzeichnis unterhalb des AutoCAD-Programmpfades (z.B. "c:\programme\autocad 2004\support") können Sie eine Datei namens "acad.lsp" anlegen. Das Format der Datei entspricht einer Lisp-/VisualLisp-Datei und ist mit einem normalen Editor (z.B. Windows Notepad) im ANSI-Format zu erstellen. Hierin können Sie verschiedene Lisp-Befehle hinterlegen, die beim Start von AutoCAD ausgeführt werden sollen. Die Funktionalität der Datei kann über die Systemvariable ACADLSPASDOC verändert werden.

acaddoc.lsp
Wie schon die Datei acad.lsp kann auch die Datei acaddoc.lsp im Support-Verzeichnis angelegt werden. Der Aufbau und die Funktionsweise entsprechen der von acad.lsp. Im Unterschied zu acad.lsp wird die Datei aber bei jedem Öffnen oder Erstellen einer Zeichnung neu geladen.

Beispiel für eine acad.lsp/acaddoc.lsp

;Beispiel für eine acaddoc.lsp
;Zeichen ab einem SemiKolon sind Hinweistexte, die nicht berücksichtigt werden

; Laden von 2 Standardroutinen
  ; Standardroutinen laden
  (load "standard.lsp")
  ;Textroutinen vom Server \\firmenserver\lisp laden
  (load "//Firmenserver/Lisp/textRoutine.lsp")

; Laden von 3 optionalen Routinen
  ;optionales Laden von "attribut.lsp" mit dem Befehle "att_export"
  (autoload "attribut.lsp" '("att_export"))
  ;optionales Laden von "blocktool.lsp" mit den Befehlen "tausch" und "loesch"
  (autoload "blocktool.lsp" '("tausch" "loesch")
   ;optionales Laden von "x:\lisp\rnd.lsp" mit dem Befehle "rnd"
  (autoload "x:/Lisp/rnd.lsp '("rnd"))

; Laden einer DVB-Datei
  ;"x:\lisp\vba\layerliste.dvb" laden
  (vl-vbaload "x:/lisp/vba/layerliste.dvb")

; Laden einer ARX-Datei
  (arxload "bem.arx")

; Erfolgsmeldung an den Benutzer ausgeben
  (princ "\nAlle Routinen wurden geladen")
  (print)


Was für Dateitypen gibt es
Wie bereits gesehen, können Erweiterungsroutinen mit verschiedenen Programmen erstellt und in verschiedenen Dateiformaten bereitsgestellt werden. Folgende Extensions werden Ihnen dabei begegnen:
arx
dvb
dll
dcl
lsp
fas
sld
vlx
kompilierte Anwendung für AutoCAD (geschrieben in C++).
Anwendung (binär) im Format VBA (Visual Basic for Application)
kompilierte Anwendung mit Routinen, die durch andere Applikationen verwendet werden
Datei mit Definitionen zu Dialogen, die durch eine lsp- oder fas-Datei verwendet wird
Lisp- oder VisualLisp-Datei in ANSI-Format
kompilierte (binäre) Version einer einzelnen lsp-Datei
Datei mit Grafiksymbolen (sogenannte Diabibliothek)
kompilierte (binäre) Zusammenstellung mehrerer lsp- und dcl-Dateien

 

Die auf dieser Homepage genannten Markennamen, Produktnamen oder Warenzeichen werden ohne Gewährleistung auf ihre freie Verwendbarkeit benutzt und sind Eigentum des jeweiligen Inhabers.