Sie sind auf Seite 1von 37

Christian-AlbrechtsUniversitt zu Kiel

AutoCAD und AutoLISP

Institut fr Ur- und Frhgeschichte

Einfhrung in
AutoCAD und einfache
Programmierung mit AutoLISP

Diskussionsvorlage fr die AG Archoinformatik


am 03.12.2008
Christoph Rinne

Christian-AlbrechtsUniversitt zu Kiel

AutoCAD und AutoLISP

Institut fr Ur- und Frhgeschichte

Inhalt
Warum AutoCAD?, Herkunft, Strken
Kurze Einfhrung grundlegender Elemente
Blcke mit Attribut
Erstellen
Einfgepunkte exportieren

Kartieren von Blcken mit Attribut mit


AutoLISP
AutoLISP
Erste Schritte
Funktionen fr Archologen (viel Potential!)

Christian-AlbrechtsUniversitt zu Kiel

AutoCAD und AutoLISP

Institut fr Ur- und Frhgeschichte

Forenteilnehmer
der grten und einiger ausgewhlter Gruppen auf www.cad.de
n=42003

AutoCAD
ArcView GIS

AutoLisp

Adobe IIIustrator

BeckerCAD

3D Studio MAX

CADdy

Solid

CATIA

SketchUp

Pro

Nemetschek
MicroStation
MegaCAD

Inventor

Christian-AlbrechtsUniversitt zu Kiel

AutoCAD und AutoLISP

Institut fr Ur- und Frhgeschichte

AutoCAD - Menelemente

Modellbereich und Layoutbereiche (!)

Christian-AlbrechtsUniversitt zu Kiel

AutoCAD und AutoLISP

Institut fr Ur- und Frhgeschichte

AutoCAD - Menelemente

Modellbereich und Layoutbereiche (!)


Layersteuerung

Christian-AlbrechtsUniversitt zu Kiel

AutoCAD und AutoLISP

Institut fr Ur- und Frhgeschichte

AutoCAD - Menelemente

Modellbereich und Layoutbereiche (!)


Layersteuerung
Werkzeugleisten (frei positionierbar)

Christian-AlbrechtsUniversitt zu Kiel

AutoCAD und AutoLISP

Institut fr Ur- und Frhgeschichte

AutoCAD - Menelemente

Modellbereich und Layoutbereiche (!)


Layersteuerung
Werkzeugleisten (frei positionierbar)
Befehlszeile (Protokoll und Direkteingabe)
Tastaturbefehle sind seit AutoCAD 12
(1989) unverndert!

Christian-AlbrechtsUniversitt zu Kiel

AutoCAD und AutoLISP

Institut fr Ur- und Frhgeschichte

AutoCAD - Menelemente

Systemabsturz beim ffnen des Layer-Mens?


Problem mit Mapskin
mit mapskinmap in der Befehlszeile ausschalten.

Christian-AlbrechtsUniversitt zu Kiel

AutoCAD und AutoLISP

Institut fr Ur- und Frhgeschichte

AutoCAD - Koordinatensystem

WKS (Welt-Koordinaten-System)
orthogonal, dreidimensional
fr x, y, z - 0
+
Einheit ist Zeicheneinheit, in der
Archologie blicherweise Meter
BKS (Benutzer-Koordinaten-System)
Ursprung und Rotation frei whlbar
mehrere BKS mglich
Koordinaten Anzeige/Eingabe im jeweils
aktuellen Koordinaten-System

Christian-AlbrechtsUniversitt zu Kiel

AutoCAD und AutoLISP

Institut fr Ur- und Frhgeschichte

AutoCAD - Zeichnen

Polylinie
Men
Werkzeugleiste
Befehlszeile pl

AutoCAD und AutoLISP

Christian-AlbrechtsUniversitt zu Kiel

Institut fr Ur- und Frhgeschichte

AutoCAD - Zeichnen

Befehl: pl (Befehlskrzel)
PLINIE (echo)
Startpunkt angeben: 100.1,100.1,0 (Eingabeaufforderung: Koordinaten)
Aktuelle Linienbreite betrgt 0.0000 (echo mit Information)
Nchsten Punkt angeben oder [Kreisbogen/Schlieen/Halbbreite/
sehnenLnge/Zurck/Breite]: @100<45 (Befehlsoptionen: K, S, H, L, Z, B:

oder Eingabe des nchsten Punktes alternativ ber Strecke und Winkel)

Christian-AlbrechtsUniversitt zu Kiel

AutoCAD und AutoLISP

Institut fr Ur- und Frhgeschichte

Layersteuerung

inhaltliche Gliederung der Zeichnung


(Grabungsgrenze, Befundelinie, Befund-Nr.
Farbe, Linientyp und Linienbreite auf Layerebene
definieren
Layer an- und ausschalten
aktive Layer zuweisen
a priori keine Trennung nach Punkt, Linie, Flche

AutoCAD und AutoLISP

Christian-AlbrechtsUniversitt zu Kiel

Institut fr Ur- und Frhgeschichte

AutoCAD - Eigenschaftenfenster

Christian-AlbrechtsUniversitt zu Kiel

AutoCAD und AutoLISP

Institut fr Ur- und Frhgeschichte

AutoCAD - Eigenschaftenfenster

Beispiel: Externe Referenz


hierarchisch verschachtelt
absolute oder relative Pfade
Projekt zerfllt in Teilprojekte
Etagen des Hauses, Gewerke
Schnitt, Flchen, Gesamtprojekt

Christian-AlbrechtsUniversitt zu Kiel

AutoCAD und AutoLISP

Institut fr Ur- und Frhgeschichte

Objekte auswhlen Schellauswahl / Filter

Objekte lassen sich


filtern:
aus der aktuellen
Auswahl/gesamten
Zeichnung
nach Objekttyp
(Linie, Punkt, )
nach Eigenschaften

AutoCAD und AutoLISP

Christian-AlbrechtsUniversitt zu Kiel

Institut fr Ur- und Frhgeschichte

Objekte auswhlen Markieren

Rahmen von links nach rechts markiert vollstndig umschlossene Objekte


Rahmen von recht nach links markiert alle berhrten Objekte

Christian-AlbrechtsUniversitt zu Kiel

AutoCAD und AutoLISP

Institut fr Ur- und Frhgeschichte

Zeichnen Befunde und Profile

stereotype Aufgaben
eintragen eine Benud-Nr.
ziehen einer Profillinie zwischen
Nagelpunkten
Beschriften der Profilngel
Beschriftung oft mit
fortlaufenden Nummern
die Koordinaten der
Einfgepunkte sind wichtig
Exportieren

Christian-AlbrechtsUniversitt zu Kiel

AutoCAD und AutoLISP

Institut fr Ur- und Frhgeschichte

Blockreferenz Block mit Attribut

Einfgepunkt

Name des
Blockes
Wo ist das Attribut?

AutoCAD und AutoLISP

Christian-AlbrechtsUniversitt zu Kiel

Institut fr Ur- und Frhgeschichte

Blockreferenz Attribute bearbeiten

AutoCAD und AutoLISP

Christian-AlbrechtsUniversitt zu Kiel

Institut fr Ur- und Frhgeschichte

Blockreferenz Attribute sichtbar / unsichtbar

Christian-AlbrechtsUniversitt zu Kiel

AutoCAD und AutoLISP

Institut fr Ur- und Frhgeschichte

Blockreferenz Attribute sichtbar / unsichtbar

Textelement

Attribut zum Block

AutoCAD und AutoLISP

Christian-AlbrechtsUniversitt zu Kiel

Institut fr Ur- und Frhgeschichte

Block einfgen
Men: [Einfgen]
[Block]
Befehl: ddinsert
mit Durchsuchen knnen neue
Blcke (AutoCAD-Zeichnungen)
hinzugefgt werden.

Christian-AlbrechtsUniversitt zu Kiel

AutoCAD und AutoLISP

Institut fr Ur- und Frhgeschichte

Extraktion der Attribute von Blcken


attext (auscchlielich Befehlszeile!)
Exportformate:
CDF-Format (Comma-Delimited File)
SDF-Format (Space-Delimited File)
DXF-Format (Drawing Interchange File)

Exportschablone (definiert die zu exportierenden


Eigenschaften des Blockes und Attribute)
BL:NAME
Nummer
BL:X
BL:Y
BL:Z

C008000
C009000
N014002
N014002
N006002

(Blockname, 8 Zeichen)
(Befundnummer, 9 Zeichen)
(X-Koordinate, Format nnnnn.d)
(Y-Koordinate, Format nnnnn.d)
(Z-Koordinate, Format nnn.dd)

Christian-AlbrechtsUniversitt zu Kiel

AutoCAD und AutoLISP

Institut fr Ur- und Frhgeschichte

Extraktion der Attribute von Blcken - CDF


'ProfilNr','105/2',4476325.80,5777089.95
'ProfilNr','105/1',4476325.80,5777090.72
'ProfilNr','104/2',4476324.98,5777089.81
'ProfilNr','104/1',4476324.98,5777090.67
'ProfilNr','103/2',4476324.15,5777089.79
'ProfilNr','103/1',4476324.15,5777090.45
'ProfilNr','102/2',4476325.51,5777091.48
'ProfilNr','102/1',4476322.11,5777091.18
'ProfilNr','106/2',4476326.72,5777090.10
'ProfilNr','106/1',4476326.72,5777090.81
'BefNr','106',4476326.77,5777090.47
'BefNr','105',4476325.80,5777090.36
'BefNr','104',4476325.01,5777090.27
'BefNr','103',4476324.15,5777090.12
'BefNr','102',4476323.88,5777091.35
'BefNr','101',4476322.82,5777089.24

Christian-AlbrechtsUniversitt zu Kiel

AutoCAD und AutoLISP

Institut fr Ur- und Frhgeschichte

Der Weg zurck Blcke mit Attribut einfgen

AutoLISP ermglicht :
Stapelverarbeitung von Befehlen
Prozeduren in AutoCAD fr Routinen

Bsp.: Befehl zum Einfgen eines Blockes


mit Attribut:
(command "_insert" Blockname"
x-Koordinate, y-Koordinate,
z-Koordinate" x-Faktor" yFaktor" Drehung"
Attributtext")

Christian-AlbrechtsUniversitt zu Kiel

AutoCAD und AutoLISP

Institut fr Ur- und Frhgeschichte

Kartieren Blcke mit Attribut erstellen

ein Symbol mit angehngtem Attribut


Nummer
Symbolzentrum (0,0,0) wird der sptere
Einfgepunkt
die Gre des Symbols ist 1 (kann
beim Einfgen ber Faktor skaliert
werden)
Attribut-Bezeichnung NUMMER
Attribut-Hhe u. Breite: 0.8 Einheiten
(also etwas kleiner als das Symbol)
seit AutoCAD 2000 Blockeinheit mm

Christian-AlbrechtsUniversitt zu Kiel

AutoCAD und AutoLISP

Institut fr Ur- und Frhgeschichte

Kartieren LISP-Datei erstellen (MS Excel)

Christian-AlbrechtsUniversitt zu Kiel

AutoCAD und AutoLISP

Institut fr Ur- und Frhgeschichte

Kartieren LISP-Datei erstellen (MS Excel)

Christian-AlbrechtsUniversitt zu Kiel

AutoCAD und AutoLISP

Institut fr Ur- und Frhgeschichte

Kartieren LISP-Datei erstellen (MS Excel)

=VERKETTEN("(command ""_insert"" """&Daten!E3&"""


"""&ERSETZEN(Daten!B3;FINDEN(",";Daten!B3);1;".")&",
"&ERSETZEN(Daten!C3;FINDEN(",";Daten!C3);1;".")&",
"&ERSETZEN(Daten!D3;FINDEN(",";Daten!D3);1;".")&"""
"""&Daten!F3&""" """&Daten!G3&""" """&Daten!H3&"""
"""&Daten!A3&""")")

Christian-AlbrechtsUniversitt zu Kiel

AutoCAD und AutoLISP

Institut fr Ur- und Frhgeschichte

Kartieren copy `n paste in einen Editor


copy `n paste in einen Editor
speichern unter MeineKartierung.lsp
diese Syntax kann auf viele andere Wege erstellt
werden

AutoCAD und AutoLISP

Christian-AlbrechtsUniversitt zu Kiel

Institut fr Ur- und Frhgeschichte

Kartieren AutoLISP-Datei ausfhren

Christian-AlbrechtsUniversitt zu Kiel

AutoCAD und AutoLISP

Institut fr Ur- und Frhgeschichte

Kartieren AutoLISP-Datei ausfhren

Blcke einmalig einfgen (z.B.


Legende)
Kartier.lsp laden
Mgliche Probleme:
Block nicht vorhanden
(Legende)
Komma statt Punkt
Lisp-Datei heit nicht *.lsp
Die Blcke sind falsch
skaliert
seit ACAD 2000 gibt es die
Blockeinheit, standardmig in
Millimeter, also 0.001 Meter.

Christian-AlbrechtsUniversitt zu Kiel

AutoCAD und AutoLISP

Institut fr Ur- und Frhgeschichte

AutoLisp - Grundlagen

http://www.autolisp-tutorial.mapcar.net/
http://www.jefferypsanders.com/autolisp.html
http://www.cadwiesel.de/
http://www.afralisp.net/
http://www.autolisp.mapcar.net/
http://www.draftsperson.net/index.php?title=Categ
ory:AutoCAD_Articles

\\smbtux\data\Literatur\E_H\Fleming_2002_ADOLI
SP.pdf

Christian-AlbrechtsUniversitt zu Kiel

AutoCAD und AutoLISP

Institut fr Ur- und Frhgeschichte

AutoLISP - Grundlagen

F2 ffnet ein Befehlsfenster


Geben Sie auf der Befehlszeile mal folgendes ein:
(+ 4 5 6)
(+ 4 (- 5 6))
AutoLISP ist eine Prfix-Sprache
die Anweisung bezieht sich auf alle folgenden
Elemente

AutoLISP braucht Klammern


Lost In Stupid Parentheses
(defun C:h () (princ "Hallo Welt!") (princ))
Super, dass erste Programm

Christian-AlbrechtsUniversitt zu Kiel

AutoCAD und AutoLISP

Institut fr Ur- und Frhgeschichte

AutoLISP fr Archologen
Nachfolgend werden zwei AutLISP-Tools
prsentiert, sie dienen folgenden Zwecken:
1. ArchCAD.lsp
Beim Zeichnen von Befunden (im Feld oder beim Digitalisieren)
Bef.-Nr., Profil-Nr., Funde und Niv.-Werte als Block mit Attribut auf
dem spezifischen Layer eintragen. Dabei wird automatisch
aufwrts gezhlt, eine standardisierte Syntax vorgeschlagen und
automatisch die Profillinie zwischen den Profilngeln gezeichnet.
2. LayerPlanum.LSP
Fr eine einheitliche Struktur der AutoCAD-Dateien wird ein
standardisietes Layer-Paket mit allen Parametern je Planum
erstellt.

AutoCAD und AutoLISP

Christian-AlbrechtsUniversitt zu Kiel

Institut fr Ur- und Frhgeschichte

Beispiel.dwg mit ArchCAD.LISP

AutoCAD und AutoLISP

Christian-AlbrechtsUniversitt zu Kiel

Institut fr Ur- und Frhgeschichte

Beispiel.dwg mit LayerPlanum.LSP