LISP-Tools für AutoCAD und BricsCAD - AutoCAD-Magzin - LISP-Tools für AutoCAD und BricsCAD

Direkt zum Seiteninhalt

AutoCAD Magazin - 2015




Ziemlich regelmäßig werden im AutoCAD-Magazin LISP-Programme von Bosse-engineering veröffentlicht. Die Themen sind vielfältig, auch wenn der Schwerpunkt des Öfteren hin zum Vermessungswesen tendiert. Viele dieser Tools können die tagtägliche Arbeit mit AutoCAD ein wenig erleichtern.
Sollten Sie Interesse an einem solchen Tool haben, dann senden Sie eine Anfrage per Email an

bosse@bosse-engineering.com.
Kostenlos können Sie max. 3 Tools erhalten. Weitere Tools gibt es nur für nachweisliche Abonnenten des AutoCAD-Magazins.
Sollten Sie bereits AutoCAD-Magazin-Tools von Bosse-engineering haben, dann können Sie sich natürlich mit Fragen, Änderungs- oder Weiterentwicklungswünschen direkt an Jörn Bosse wenden.
9/15: SetByLayerAddition - Zusatz zum AutoCAD-Befehl „In VonLayer ändern“
8/15: FassadenTransformation
7/15: BlockCenter
6/15: SysvarManager
5/15: Pfeilspitzen
4/15: GebueschLinie
3/15: AttSyncOption
2/15: BlockAllExplode
1/15: HoehenPunktInFlaeche
9/15: SetByLayerAddition - Zusatz zum AutoCAD-Befehl „In VonLayer ändern“
Von AutoCAD gibt es den Befehl "In VonLayer ändern". Damit ist es ein Einfaches, alle Eigenschaften auf „VonLayer“ zu setzen um dann die Einstellungen (Farben, Linientypen, Strichstärken) komplett und übersichtlich über den Layereigenschaften-Manager durchzuführen.

Aber bei der Befehl gibt es ein Manko: bei MTexten werden Farben, die separat über den MText-Editor zugewiesen worden sind, beibehalten. Das ist in den meisten Fällen sicherlich auch so gewünscht, aber wenn eine komplette Zeichnung mit einer einheitlichen Farbe versehen werden soll, um diese z.B. als Hintergrunddatei zu verwenden, dann ist das mit viel Nacharbeit verbunden. Ebenso verhält es sich bei Bemassungen, die Bemassungs-Texte und -Linien können über eine separat zugewiesene Farbe verfügen, deren Zuordnung durch die Funktion „In VonLayer ändern“ ebenfalls nicht geändert wird.

Mit Hilfe des Programms "SetByLayerAddition" (In VonLayer ändern, Zusatz für Mtexte und Bemassungen) können die oben genannten Farbzuweisungen für Mtexte und Bemassungen aufgehoben werden, es wird dann grundsätzlich die Farbe „vonLayer“ verwendet.

Weil dieses Programm als Ergänzung zum AutoCAD-Befehl "In VonLayer ändern" zu verstehen ist kann es optional mit Hilfe eines Reaktors gestartet werden, d.h., nachdem der AutoCAD-Befehl "In VonLayer ändern" ausgeführt worden ist wird sofort im Anschluss das Programm "SetByLayerAddition" für dieselben Objekte (nur Mtexte und / oder Bemassungs-Objekte) ausgeführt.

Vor Programmablauf:



Nach "SetByLayer" durch AutoCAD:

Nach "SetByLayerAddition":

8/15: FassadenTransformation
Im Vermessungswesen ist es oftmals der Fall, dass z.B. beim tachymetrischen Aufmaß einer Gebäudefassade 3D-Koordinaten erzeugt werden. Zur Darstellung werden diese Koordinaten in AutoCAD mit einem entsprechenden Programm eingelesen, die Koordinaten werden dann mit Punktblöcken dargestellt.

Mit Hilfe von 3D-Linien können diese Punkte verbunden werden, so dass die Fassade im 3D-Raum konstruiert ist. Wenn jetzt aber eine Aussage getroffen werden soll, wie weit die einzelnen Fassadenpunkte von einer 2D-Grenze oder 2D-Bezugslinie entfernt sind, dann ist es notwendig alle Punkte lotrecht auf diese Linie anzurechnen.

Ziel: die jeweils resultierenden Abstände sollen in einer Fassadenansicht dargestellt werden. Das wird durch das Programm "FassadenTransformation" mit Hilfe von neuen 3D-Punktblöcken erreicht, die an das BKS der Fassadenansicht ausgerichtet werden, ein Attribut wird für den Anschrieb des lotrechten Abstandes verwendet.
7/15: BlockCenter
In AutoCAD gibt es den Befehl "EINFÜGE" zum Blöcke einfügen. Es können Blockdefinitionen aus der aktuellen Zeichnung oder externe DWG/DXF-Zeichnungsdateien in die aktuelle Zeichnung eingefügt werden.

Was sofort auffällt ist, ob in einer alten Version von AutoCAD oder in der neuen Version 2016: der zuletzt verwendete Skalierfaktor wird nicht gespeichert. Mit jedem neuen Block, der einfügt wird, ist die Vorgabeskalierung wieder auf 1.0 gesetzt. Wenn viele Blöcke mit einem Faktor ungleich 1.0 eingefügt werden sollen, dann wird das schnell zum Ärgernis.

Wenn im Nachgang mit Hilfe der Eigenschaften-Palette der Faktor von Blöcken geändert werden soll, dann muss der Wert für x, y, z jedes Mal separat eingegeben werden. (im Vermessungswesen werden selten ungleiche Skalierungen in x, y, z verwendet).

Mit dem Programm "BlockCenter" können, wie in AutoCAD, interne Blöcke aus der aktuellen Zeichnung oder externe Zeichnungsdateien als Block eingefügt werden. Es können die Skalierung für x, y, z gemeinsam und die Blockdrehung vorgeben werden, als Einfügelayer wird der aktuelle Layer verwendet. Bei einem erneuten Aufruf des Programms wird der Vorteil zum „EINFÜGE“-Befehl von AutoCAD deutlich: der zuletzt verwendete Block, die Drehung und die Skalierung brauchen nicht neu bestimmt zu werden.

Mit dem Programm "BlockCenter" können außerdem bei Blöcken die Eigenschaften Drehung und Skalierung in einem Arbeitsgang für bereits vorhandene Blöcke in der Zeichnung angepasst werden.

6/15: SysvarManager
In AutoCAD gibt es eine Vielzahl von Systemvariablen. Mit diesen Variablen werden Programm- und Zeichnungseinstellungen verwaltet.

Je erfahrener ein AutoCAD-Benutzer ist, umso mehr Systemvariablen sind ihm in der Regel geläufig. Sobald es ein Problem gibt, z.B. das Datei-Öffnen-Fenster erscheint nicht, dann sagt uns die Google-Suche, die Systemvariable FILEDIA steht auf 0 und muss wieder auf 1 gestellt werden. Warum hat sich die Variable verstellt? Das ist oftmals nicht nachzuvollziehen, tlw. durch unsaubere Programmierungen, tlw. aber auch durch „wildes“ Zeichen.

In der AutoCAD-Hilfe sind eigentlich die meisten Systemvariablen dokumentiert und es ist nachzulesen, welchem Zweck eine Variable dient, ob die Variable in der Zeichnung oder global auf dem Rechner gespeichert wird.

Mit Hilfe des Programms "SysvarManager" können Systemvariablen und Ihre Soll-Einstellungen in einer Textdatei gespeichert werden und jederzeit in der aktuellen Zeichnung wieder hergestellt werden. Im Prinzip kann man diese Einstellungen über die acaddoc.lsp automatisiert vornehmen. Das hat dann aber einen eher statischen Charakter. Wenn für verschiedene Projekte verschiedene Systemvariablen-Einstellungen benötigt werden, dann ist man mit diesem Programm ein wenig flexibler.

Anmerkung: dieses Programm ersetzt in keinster Weise die Dokumentation von Systemvariablen. Der Benutzer muss um die Funktionalität der zu verwendenden Variablen Bescheid wissen, die mit Hilfe dieses Programm automatisch gesetzt werden.

5/15: Pfeilspitzen
In AutoCAD gibt es für Beschriftungen mit Texten die Multi-Führungen als Werkzeug. Wenn der zugehörige Bemaßungssstil und die notwendigen Optionen alle eingestellt sind, dann lassen sich damit sehr gute Ergebnisse erzielen.

Das Programm "Pfeilspitzen" soll aber nicht die Multi-Führungen von AutoCAD ersetzen, sondern eine Alternative für Anwender bieten, die „mal eben schnell“ eine Skizze beschriften müssen, ohne vorher in die Funktionsweise der Multiführungen einzusteigen.
Der Programmablauf ist recht simpel: Eingeben der notwendigen Maßangaben (Zeichnungseinheiten) für die Pfeilspitzen, auswählen der Darstellungsart und dann werden Linienelemente gepickt, die eine Pfeilspitze erhalten sollen.
4/15: GebueschLinie
Um in einem Lageplan Bäume darzustellen werden oftmals Kreise oder Blöcke verwendet. Diese sehen dann immer gleich aus, der Unterschied ist der Radius des Kreises oder der Faktor des Blockes, damit der Baum auch mit dem richtigen Kronendurchmesser dargestellt wird. Bei Hecken und Gebüschlinien werden oftmals Linientypen mit Signaturen verwendet.

Um in der Darstellung der Natur ein bisschen näher zu kommen können mit dem Programm "GebueschLinie" aus Linienelementen (Polylinien, Linien, Bögen, Kreise) neue Polylinien erzeugt werden. Die grundsätzliche Linienführung wird beibehalten. Es werden, je nach Einstellung, weitere Stützpunkte verwendet, die wiederum in einem festgelegten Toleranzbereich links und rechts von der Linienführung angeordnet werden. Die Abstände der Stützpunkte auf der Linienführung werden ebenso mit einem Toleranzbereich versehen.

Die Toleranzbereiche sind dann jeweils die untere und obere Grenze für die Ermittlung eines Zufallswertes. Es werden also alle neuen Stützpunkte auf der Basis von 2 Zufallswerten ermittelt. Die Gestaltung kann anhand der einzustellenden Parameter völlig unterschiedlich aussehen.
3/15: AttSyncOption
Mit dem Befehl "attsync" von AutoCAD können Attribute mit den Attributdefinitionen aus der Blockdefinition synchronisiert werden, d.h., die Eigenschaften der Attributdefinitionen werden auf die vorhandenen Attribute angewendet, fehlende Attribute werden ergänzt.

Der vermeintliche Vorteil, dass bei einer solchen Synchronisierung der Attributwert erhalten bleibt, ist oftmals aber nicht ausreichend. Wenn z.B. bei Messpunkten die Höhen oder Punktnummern bereits freigestellt sind, dann werden diese Attributpositionen wieder an die Positionen der Attributdefinitionen angeglichen. Auch alle anderen Eigenschaften, z.B. Farben, Textstil usw. werden wieder zurückgesetzt.

Damit ist der Vorteil in Frage gestellt, dass Attribute innerhalb von Blöcken Eigenschaften unabhängig von der Blockdefinition haben können.

Mit dem Programm "AttSyncOption" können die typischen Eigenschaften der Attribute vor der Synchronisierung gespeichert werden, nach der Synchronisierung werden diese Eigenschaften wieder auf die Attribute angebracht.

2/15: BlockAllExplode
Bei unbekannten Zeichnungen können unüberschaubare Blockstrukturen den Zugriff auf einfache Geometrie-Objekte erschweren. Man kann sich behelfen, indem man die Blöcke in den Ursprung zerlegt. Wenn dadurch weitere, vorher eingeschachtelte Blöcke freigelegt werden, dann werden diese wiederum in den Ursprung zerlegt usw. Letztendlich liegen dann die Geometrie-Objekte aus den Blöcken auf der Zeichenebene und können auf einfache Art und Weise gehandhabt werden. Bei Attributen tritt dann aber die Problematik auf, dass die Attributwerte durch den Ursprung-Befehl verloren gehen, es liegen dann nur die Attributdefinition auf der Zeichenebene.

Mit dem Programm "BlockAllExplode" kann die oben beschriebene Vorgehensweise in einem Arbeitsschritt automatisiert werden. Blöcke werden solange in den Ursprung zerlegt, bis kein Block mehr vorhanden ist.
Die Attribute werden optional in Texte konvertiert, auf diese Art und Weise bleiben die Attributwerte in Form eines Textwertes erhalten.

1/15: HoehenPunktInFlaeche
Im Vermessungswesen werden bei Lageplänen die gemessenen Punkte i.d.R. durch 3D-Punktblöcke dargestellt. Anhand der gemessenen Punkte ist es hin und wieder notwendig, diese Punkte durch Interpolation zu verdichten.

Mit dem Programm "HoehenPunktInFlaeche" kann das über die Auswahl von 3 Punktblöcken oder 3 AutoCAD-Punkten erfolgen (der Vorteil bei Punktblöcken ist die Möglichkeit, Attribute zu nutzen, z.B. für den Höhenanschrieb). Über diese 3 Blöcke oder Punkte wird ein Dreieck aufgespannt, jetzt können innerhalb der Dreiecksfläche Punkte mit der Maus bestimmt werden, die auf die Höhe der Dreiecksfläche interpoliert werden sollen. Wenn bei dem zu interpolierenden Punkt direkt die Aussenkontur des Dreiecks benutzt wird, dann entspricht das der Interpolation zwischen 2 direkt benachbarten Punkten.

Zurück zum Seiteninhalt