AutoLISP: Die leistungsstarke Skriptsprache für CAD-Anwendungen

AutoLISP ist eine hochstufige Programmiersprache, die speziell für die Anpassung und Automatisierung von Arbeitsabläufen in CAD-Programmen wie AutoCAD, BricsCAD und ZWCAD entwickelt wurde. Mit AutoLISP können Benutzer benutzerdefinierte Befehle erstellen, um wiederkehrende Aufgaben zu vereinfachen und die Effizienz bei der Erstellung von Konstruktionszeichnungen zu steigern. Diese Skriptsprache ist ein unverzichtbares Werkzeug für Ingenieure, Architekten und Designer, die ihre Produktivität maximieren möchten.

Was ist AutoLISP?

AutoLISP ist eine interpretierte Programmiersprache, die auf der LISP-Dialektfamilie basiert. Sie wurde Mitte der 1980er Jahre von Autodesk eingeführt und ist seitdem ein fester Bestandteil von AutoCAD. Die Sprache zeichnet sich durch ihre einfache Syntax und die Fähigkeit aus, direkt mit der DWG-Datenbank von AutoCAD zu interagieren. Dies ermöglicht die Manipulation grafischer Objekte, das Abrufen von Entitätsdaten wie Punkten, Radien und Farben sowie die Erstellung komplexer benutzerdefinierter Funktionen.

Hauptmerkmale von AutoLISP:

  • Einfache Integration: AutoLISP ist in Vollversionen von AutoCAD vorinstalliert und kann direkt genutzt werden.
  • Automatisierung von Aufgaben: Komplexe oder sich wiederholende Aufgaben können durch LISP-Routinen automatisiert werden, was Zeit spart und Fehler reduziert.
  • Benutzerdefinierte Befehle: Benutzer können eigene Befehle erstellen, die exakt auf ihre spezifischen Arbeitsabläufe zugeschnitten sind.
  • Interaktion mit dem Benutzer: AutoLISP ermöglicht die Abfrage von Benutzereingaben, wie z.B. das Auswählen von Punkten oder Objekten auf dem Bildschirm, sowie die Eingabe von Zahlen und Text.
  • Dialog Control Language (DCL): AutoLISP verfügt über eine integrierte Dialog Control Language, mit der benutzerdefinierte Dialogfelder für eine verbesserte Benutzerinteraktion erstellt werden können.

Es ist wichtig zu beachten, dass AutoLISP nicht in AutoCAD LT unterstützt wird, einer abgespeckten Version von AutoCAD.

Kostenlose LISPs und Dienstprogramme: Eine umfassende Sammlung

Für Nutzer, die ihre CAD-Arbeiten erweitern und optimieren möchten, gibt es eine Fülle von kostenlosen AutoLISP-Routinen und Dienstprogrammen. Diese können dazu beitragen, spezifische Aufgaben zu vereinfachen und die Genauigkeit von Konstruktionen zu verbessern. Die folgende Auflistung bietet einen Überblick über verschiedene Kategorien von verfügbaren LISPs:

3D-Polyline-LISPs

Diese LISPs sind darauf ausgelegt, die Arbeit mit 3D-Polylinien zu erleichtern und zu erweitern:

  • Erstellen Sie ein 3-Punkte-Rechteck: Zeichnet ein Rechteck durch die Auswahl von drei Punkten.
  • Erstellen Sie Höhen aus 3D-Linien: Vereinfacht die Erstellung von Höhenprofilen aus 3D-Linien.
  • Aktualisieren Sie 3D-Vertex: Ermöglicht die Aktualisierung des Z-Wertes aller Scheitelpunkte einer 3D-Polylinie.
  • Text erhöhen: Hebt ausgewählte Texte gemäß den in den Texten angegebenen Höhen an.
  • Konvertieren Sie 3D-Flächen in 3D-STL: Wandelt 3D-Flächen in eine STL-Datei um, die dann in kostenlosen STL-Viewern betrachtet werden kann.
  • Markieren Sie den Z-Wert an jedem Scheitelpunkt einer 3D-Polylinie: Ein Programm zur Markierung des Z-Wertes an jedem Scheitelpunkt einer 3D-Polylinie.
  • Interpolieren Sie den 3D-Wert an jedem Scheitelpunkt einer Polylinie: Interpoliert den 3D-Wert an jedem Scheitelpunkt einer Polylinie.

Landvermessungs-LISPs (Infrastruktur-Engineering)

Diese Sammlung von LISPs unterstützt Vermessungsingenieure bei verschiedenen Aufgaben:

  • Fuß in Meter konvertieren: Konvertiert Distanzen von Fuß in Meter.
  • DXF in CSV-Datei konvertieren: Exportiert Ostwert, Nordwert, Höhe und Anmerkungen aus DXF-Dateien, konvertiert DXF-Dateien von Topcon-Instrumenten in CSV-Dateien.
  • Fläche anzeigen: Zeigt die Polygonfläche in verschiedenen Maßeinheiten an.
  • Gradient zeichnen: Ein Programm zum Zeichnen einer Bezugslinie in einem Längsschnittdiagramm bei einem bestimmten Gradienten.
  • Distanz messen: Misst die Distanz zwischen zwei beliebigen Punkten einer Polylinie.
  • Höhe interpolieren: Interpoliert Höhen an einer gegebenen Distanz.
  • Meeresspiegel: Konvertiert Höhen, um den Meeresspiegel darzustellen.
  • Setting Out: Nützliche LISP für die Umwandlung von Zeichnungspunkten in Setting-Out-Punkte.
  • Mehrere Höhen interpolieren: Ein Programm zur Interpolation mehrerer Höhen.
  • Mittelpunktinterpolation: Interpoliert Text am Mittelpunkt ausgewählter Texte.
  • Höhe aktualisieren: Fügt Z-Werte zu ausgewählten Punkten hinzu.
  • Stromleitung: Wandelt jede Polylinie in eine Linie um, die eine Stromleitung darstellt.
  • Text auf Gitterpunkt einrasten: Fasst Text am nächsten Gitterpunkt mit einem gegebenen Gitterabstand zusammen.
  • Gitter zeichnen: Zeichnet ein Gitter mit einem gegebenen Gitterintervall.
  • Mehrere Flächen: Ermittelt die Fläche mehrerer Polygone mit einem einzigen Befehl.
  • Leader zeichnen: Zeichnet Leader mit entsprechendem Ost- und Nordwert.
  • Meter in Fuß konvertieren: Konvertiert metrische Texte in Texte mit metrischem Wert und Fußwert.
  • Zufällige Höhen innerhalb eines ausgewählten Bereichs: Erzeugt zufällige Höhen um verfügbare Höhen innerhalb des angegebenen Limits.
  • Messbefehl wiederholen: Wiederholt den Messbefehl mit der Option zur Einfügung von Blöcken für mehrere Polylinien in einem einzigen Befehl.
  • Setting Out Punkte: Exportiert Zeichnungspunkte nach Excel für Setting Out.
Weiterlesen >>  Das Forum Bildung Digitalisierung: Wegbereiter für zukunftsweisende Bildung in Deutschland

Alignment-LISPs

Diese LISPs sind für die Bearbeitung von Achsen und Trassen im Straßen- und Tiefbau konzipiert:

  • Kilometrierung markieren: Markiert Kilometrierungen entlang ausgewählter Achsen in gegebenen Querprofilintervallen.
  • Kurvendetaillierung erstellen: Erstellt Kurvendetaillierung für jede Straßenachse.
  • Block entlang der Achse erstellen: Erstellt einen Attributblock auf einer ausgewählten Polylinie mit Blocknummer.
  • Scheitelpunkt entlang einer Achse einfügen: Fügt Scheitelpunkte entlang einer Achse (Polylinie) an der Textposition ein.
  • Apex-Punkte entlang einer Achse markieren: Fügt an jedem Scheitelpunkt der ausgewählten Polylinie einen Apex ein.
  • Achse zwischen alternativen Kilometrierungen schneiden: Markiert die Kilometrierung in einem bestimmten Intervall und schneidet die Achse zwischen jeder Kilometrierung.

Polyline-LISPs

Diese LISPs erweitern die Funktionalität von Polylinien in CAD-Zeichnungen:

  • Polyline-Scheitelpunkt reduzieren: Reduziert das Gewicht von Polylinien.
  • Scheitelpunkt entlang einer Polylinie einfügen: Fügt Scheitelpunkte entlang einer Polylinie unter Verwendung der Textposition ein.
  • Polygonqualitätsprüfung: Findet geschlossene Polygone – eine Qualitätsprüfung Ihrer Zeichnung vor dem Export in ein GIS-System.
  • Textobjekte verschieben: Exportiert Blockdistanzen von der Achsen-Polylinien-Linie als CSV.
  • Koordinatentabelle erstellen: Erstellt eine Koordiantentabelle von 3D- und 2D-Polylinien.
  • Polyline-Scheitelpunkt exportieren: Exportiert Scheitelpunktdaten zusammen mit automatischer Nummerierung.
  • Schnittpunkte finden: Findet die Layer von Linien, die sich mit der ausgewählten Polylinie überschneiden.
  • Offenes Polygon finden: Markiert offene Polygone unter den ausgewählten Polylinien.
  • Glatte Polylinie konvertieren: Konvertiert glatte Polylinien in reguläre Polylinien.
  • Querprofil-Linie glätten: Glättet die Querprofil-Linie, um sie als natürliche Oberfläche darzustellen.
  • Fläche in Polylinie konvertieren: Konvertiert 3D-Flächen in 3D-Polylinien.
  • Mittellinie erstellen: Erstellt Mittellinien aus Kanten.
  • Schnittpunkte finden: Findet Schnittpunkte zwischen ausgewählten Polylinien.
  • Linie messen: Misst jedes Segment der ausgewählten Polylinie.
  • Alle schneidenden Polylinien unterbrechen: Unterbricht Polylinien an Schnittpunkten.
  • Polygon in Uhrzeigerrichtung neu erstellen: Ändert die Richtung eines Polygons im Uhrzeigersinn.
  • Polylinie beidseitig versetzen: Versetzt eine Polylinie auf beiden Seiten.
  • Polylinien nach Länge sortieren: Sortiert Polylinien nach ihrer Länge.
  • Polyline-Koordinaten exportieren: Exportiert die Koordinaten jedes Scheitelpunkts der Polylinie.
  • Polylinie entkrümmen: Entfernt Bögen aus einer Polylinie.
  • Scheitelpunkte einfügen: Fügt Scheitelpunkte für jedes Segment einer Polylinie ein.
  • Länge berechnen: Berechnet die Länge aller ausgewählten Polylinien.
  • Inneren und äußeren Winkel markieren: Markiert den inneren und äußeren Winkel für jeden Scheitelpunkt einer Polylinie.
  • Polylinie erstellen: Erstellt eine Polylinie durch Verbindung des ersten und letzten Punktes.
  • Offene Polylinien auswählen: Wählt alle offenen Polylinien in den Zeichnungen aus.
Weiterlesen >>  Bildung der Zukunft: Wie wir unsere Kinder auf die Welt von morgen vorbereiten

Block-LISPs

Diese LISPs vereinfachen die Handhabung von Blöcken in CAD-Zeichnungen:

  • Block am Segmentmittelpunkt einfügen: Fügt Blöcke in die Mitte jedes Segments ein.
  • Text aus ausgewähltem Attribut: Erstellt Text aus dem ausgewählten Attribut.
  • Block an Polylinie einfügen: Fügt Blöcke am Schnittpunkt oder an Endpunkten ein oder eine Kombination davon.
  • Block am Scheitelpunkt einfügen: Eine Routine zum Einfügen von Blöcken an jedem Scheitelpunkt der ausgewählten Polylinie.
  • Block erhöhen: Hebt Blöcke mithilfe der nächstgelegenen Höhentext an.
  • Block auf Text einfügen: Fügt Blöcke ein, indem der angegebene Text in der gesamten Zeichnung gesucht wird.
  • Mehrere Blöcke drehen: Dreht mehrere Blöcke basierend auf einem angegebenen Winkel.

Text-LISPs

Diese LISPs helfen bei der Verwaltung und Bearbeitung von Textentitäten:

  • Fehlende Zahlen in Sequenz prüfen: Findet die fehlende Zahl in einer Sequenz, beginnend von der kleinsten bis zur höchsten Zahl unter den ausgewählten Texten.
  • Genauigkeit ändern: Ändert die Genauigkeit von ausgewählten Texten in CAD.
  • MText in Text in CAD konvertieren: Konvertiert MText in normale Textentitäten in AutoCAD.
  • Unterschiede in überlappendem Text finden: Findet Unterschiede zwischen überlappenden Texten.
  • Texte austauschen: Tauscht Texte aus.
  • Text drehen: Dreht Text relativ zum Winkel der ausgewählten Punkte.
  • Gleichen Text kopieren: Kopiert den Text eines Referenztextes auf alle anderen ausgewählten Texte.
  • Texte auswählen, die enthalten: Wählt Texte aus, die bestimmten Text unter den ausgewählten Texten enthalten.
  • Überlappungen finden: Stellt fest, ob Text über einem anderen Text oder einer Entität liegt.
  • Werte runden: Rundet Werte auf die nächste 0,005.
  • Box um Text legen: Platziert Boxen um ausgewählte Texte.
  • Kreis um Text legen: Platziert Kreise um ausgewählte Texte.
  • Mindest- und Höchstzahl unter ausgewähltem Text finden: Findet die kleinste und größte Zahl unter dem ausgewählten Text.
  • Punktdaten exportieren: Exportiert Punktinformationen aus der Zeichnung als CSV-Datei.
  • Punktdaten importieren: Importiert Punktinformationen aus einer CSV-Datei als AutoCAD-Zeichnung.
  • Text ausrichten: Richtet Text parallel/senkrecht zu einem Liniensegment aus.
  • Präfix, Suffix anhängen: Fügt Präfixe und Suffixe zu ausgewählten Texten hinzu.
  • Text drehen (Layout): Dreht Texte im Layout, gleicht den Winkel des Modellbereichs an.
  • Text auswählen (Wertebereich): Wählt Texte aus, die in einen bestimmten Wertebereich fallen.
  • Text aufteilen: Teilt Text in einzelne Wörter auf.
  • Text einrasten: Rastet Textentitäten am Endpunkt einer Polylinie ein.

Dienstprogramm-LISPs (Utility Lisps)

Diese LISPs bieten allgemeine Werkzeuge zur Verbesserung des Arbeitsablaufs:

  • Cloud-Objekt: Erstellt ein Callout (wolkenähnliches Objekt) um wichtigen Text in der Zeichnung.
  • Makros: Eine Sammlung von Makros zur Beschleunigung der Zeichenbearbeitung.
  • DXF-Details auflisten: Listet alle DXF-Details der ausgewählten Entität auf.
  • Multiplizieren: Multipliziert ausgewählte Entitäten mit einem gegebenen Faktor.
  • Layer auf aktuell ändern: Ändert den Layer ausgewählter Entitäten auf den aktuellen Layer.
  • Layer schnell erstellen: Erstellt schnell einen neuen Layer.
  • Layer löschen: Löscht alle Entitäten eines Layers, der durch die ausgewählte Entität bestimmt wird.
  • Normales UCS festlegen: Setzt das normale Koordinatensystem (UCS) für alle ausgewählten Entitäten. Nützlich, wenn versehentlich ein Extrusionswinkel für Zeichenentitäten festgelegt wurde.
  • Linie skalieren: Skaliert ausgewählte Linien vom Mittelpunkt mit einem gegebenen Skalierungsfaktor.
  • Bogen in Linie konvertieren: Konvertiert Bogen oder Kreise in eine Reihe von Liniensegmenten.
  • Entitäten innerhalb einer Polylinie löschen: Löscht alle Entitäten innerhalb einer geschlossenen Polylinie.
  • Entitäten kopieren: Kopiert ausgewählte Entitäten in ein Layout.
  • Mehrere Zeichnungen einfügen: Fügt mehrere Zeichnungen in eine einzelne Zeichnung ein.
  • Imaginären Scheitelpunkt zeichnen: Zeichnet eine imaginäre Scheitelpunktlinie für den ausgewählten Bogen.
  • Entitäten verschieben: Verschiebt Entitäten, ohne einen Basispunkt auszuwählen.
  • Standardwert aktualisieren: Aktualisiert den Standardwert einer Bemaßung als Bemaßungstext.
  • Entitäten außerhalb einer Polylinie löschen: Löscht alle Entitäten außerhalb einer geschlossenen Polylinie.
Weiterlesen >>  AWO Bildung und Lernen: Stärkung der Gemeinschaft durch vielfältige Erlebnisse

Kostenlose Dienstprogramme (Utility Programs)

Zusätzlich zu LISPs gibt es auch eigenständige Dienstprogramme, die die Funktionalität erweitern:

  • Excel Makro: Plotten von Punktwerten in verschiedenen Farben in Ihrem CAD-Paket mithilfe dieses Makros.
  • Excel zu CAD: Erstellt Tabellendaten als native CAD-Entitäten aus Excel.
  • ESurvey Shape: Konvertiert AutoCAD DXF oder AutoCAD DWG in ESRI Shape-Dateien.
  • UTM-Konverter: Konvertiert Längen-/Breitengrade (Lat/Long) in UTM und umgekehrt.
  • CAD Batch Runner: Führt Skripte und LISPs auf mehreren Zeichnungen aus.
  • Einheitenumrechnung: Dienstprogramm zur Umrechnung der gängigsten Vermessungseinheiten – Länge, Fläche und Volumen.

Was ist eine LSP-Datei?

LSP-Dateien (Dateien mit der Endung .LSP) enthalten Quellcode für AutoLISP in Form von reinem Text. Diese Dateien werden von einem LSP-Interpreter ausgeführt und können mit jedem Texteditor geöffnet werden. Sie sind für gängige CAD-Programme wie AutoCAD, BricsCAD und ZWCAD unerlässlich.

Erstellung und Öffnung von LISP-Dateien in AutoCAD

Die Erstellung von LISP-Programmen in AutoCAD erfolgt über den Visual LISP Editor (VLISP). Dieser kann über das Menü “Extras” -> “AutoLISP” -> “Visual LISP Editor” aufgerufen werden. Im VLISP-Fenster können Sie direkt Code eingeben oder eine neue Datei erstellen, um vollständige LISP-Routinen zu schreiben und zu speichern.

Um eine AutoLISP-Datei zu laden und auszuführen, muss sie zuerst in AutoCAD geladen werden. Dies geschieht über den Befehl APPLOAD. Nach dem Laden können die erstellten Befehle oder Funktionen direkt in der AutoCAD-Befehlszeile oder im VLISP-Konsolenfenster aufgerufen werden.

AutoLISP vs. Visual LISP

AutoLISP wurde Mitte der 1980er Jahre als erste Programmierschnittstelle (API) für AutoCAD eingeführt. Es eignet sich besonders gut für den oft unstrukturierten Entwurfsprozess in AutoCAD.

Visual LISP (VLISP) ist eine integrierte Entwicklungsumgebung (IDE), die speziell zur Beschleunigung der AutoLISP-Entwicklung entwickelt wurde. VLISP bietet Werkzeuge zur Code-Erstellung, -Bearbeitung, -Testung und -Debuggung und erleichtert somit die Entwicklung robuster LISP-Anwendungen.

CAD-Software und unterstützte Dateierweiterungen

AutoLISP und Visual LISP werden von einer Reihe von CAD-Programmen unterstützt, darunter:

  • AutoCAD
  • BricsCAD
  • GStarCAD
  • ZWCAD

Je nach CAD-Paket werden unterschiedliche Dateierweiterungen für LISP-Dateien benötigt:

  • .LSP: Standard Lisp-Datei (funktioniert mit AutoCAD, BricsCAD, GStarCAD, ZWCAD)
  • .FAS: Kompilierte, schnell ladende AutoLISP-Datei (funktioniert mit AutoCAD, GStarCAD)
  • .DES: BricsCAD kompilierte Lisp-Datei (funktioniert mit BricsCAD)
  • .ZEL: ZWCAD kompilierte Lisp-Datei (funktioniert mit ZWCAD)

Beim Herunterladen von LISP-Dateien ist es wichtig, die korrekte Erweiterung für Ihre spezifische CAD-Software auszuwählen.

Zusammenfassung

AutoLISP ist ein mächtiges Werkzeug zur Automatisierung und Anpassung von CAD-Workflows. Mit einer breiten Palette von kostenlosen Routinen und Dienstprogrammen können Benutzer ihre Produktivität steigern und komplexere Aufgaben effizienter bewältigen. Die Möglichkeit, benutzerdefinierte Befehle zu erstellen, macht AutoLISP zu einer unverzichtbaren Ergänzung für jeden professionellen CAD-Anwender.