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. |