T ip s und Tr ic ks

Auf dieser Seite gebe ich Anregungungen zu Fragen und Problemstellungen von Kurs- teilnehmern und Lesern meiner Hefte.

Haben Sie eine Frage zum Heft oder suchen eine Problem- lösung, schreiben Sie eine E-Mail an Werner Maahs.
Sie erhalten dann eine Antwort als E-Mail und, wenn ich es auch für andere als wichtig erachte, wird hier eine nachvollziebare Lösung mit einem einfachen Beispiel publiziert.
Als Beispiel gebe ich hier eine Frage von Teilnehmern aus meinem Unterricht.

Stand: 20. März 2011

Skript lesen

Frage:

Bei meinen Vorführungen sieht man häufig solche Eingaben:
  1. KOpieren
  2. Letztes
  3.  
  4. 10<30
  5.  
Was bedeuten diese Eingaben?

Antwort:

Wenn Sie an meinem Unter- richt teilgenommen oder meine Hefte gelesen haben, wissen Sie, was die Zeilennummern, Groß-/Kleinschreibung und Fett-Darstellung zu bedeuten haben. Im Zweifelsfall lesen Sie nochmals den Abschnitt 'Auf- bau und Anleitung zum Lesen'.
Zunächst der Befehl hier als Beispiel Kopieren, dann die Objektwahl, hier Letztes und eine Leereingabe, um die Objektwahl zu beenden; dann der Wert der Verschiebung. Die letzte Leereingabe beendet den Befehl Kopieren.
Die Eingabe L, für das zuLetzt gezeichnete Objekt, ist eine Objektwahloption. Die Objekt- wahloptionen werden normal- erweise nicht angeboten:
Bild Objektwahl 1 Will ich aber die Objektwahl- möglichkeiten angezeigt be- kommen, tippe ich ein ungültiges Zeichen, z.B. die Raute (#), ein. AutoCAD ant- wortet mit der Meldung *ungültige Auswahl* und zeigt



im Anschluß die möglichen Auswahleingaben an:
Bild Objektwahl 2
Habe ich die Objektwahl be- endet, fragt AutoCAD nach dem Basispunkt oder der Verschiebung. Wird die Frage nach dem Basispunkt vom CAD-Einsteiger noch relativ leicht verstanden, wird über die Verschiebung meist gar nicht erst nachgedacht. Dabei ist dies doch wesentlich lo- gischer.
In meinem Beispiel will ich ein Objekt von der aktuellen Posi- tion um den Wert 10 in die Richtung 30° (= AutoCAD- Winkel) verschieben:
Bild Objektwahl 3
Ich benötige hierfür keinen Basispunkt! Die Verschiebung ist relativ! Der Klammeraffe wird für diese Relativeingabe nicht benötigt!
Bild Objektwahl 3
Ich muß jedoch irgendwie dem Programm mitteilen, dass es sich bei dieser Aktion um eine Verschiebung handelt. Dies mache ich dadurch, dass ich die Frage nach dem 2. Punkt der Verschiebung mit einer Leer- eingabe bestätige.

Zeichnungsname und Zeichnungspfad

Frage:

Ich möchte in meiner Zeich- nung den Zeichnungsnamen und Verzeichnispfad meiner Zeichnung einfügen.
Gibt es in AutoCAD ein Befehl oder eine Möglichkeit diese Informationen automatisch einzufügen?

Antwort:

Soweit mir bekannt kenne ich bis einschließlich der Version 2005 keinen derartigen Befehl, der so etwas bewerkstelligt. Das bedeutet aber nicht, dass es keine Möglichkeit gibt dies mit mehr oder weniger großen Aufwand zu erledigen.
Nachfolgend werde ich ein paar Möglichkeiten aufzeichnen, wie ich diese Arbeit erledigen würde!

Zunächst die Basis:
Grundlage für alle Möglich- keiten sind die AutoCAD- Variablen, DWGName und DWGPrefix.

Ist der DWGName (Datei- name) in der Regel einfach einzutippen, so ist der Ver- zeichnisname (DWGPrefix) häufig recht lang.
Kurzgefaßt ist der einfachste Weg die AutoCAD-Variablen als gleichnamigen Befehl auf- zurufen, per Windowsbefehl (z.B. Strg+C oder rechte Maustaste) zu kopieren und dannach in den Zeichenbereich (z.B. Strg+V) einzufügen.

Etwas ausführlicher heißt dies, ich gebe den Befehl dwgprefix ein und erhalte als Antwort die unten abgebildete Information:
Bild dwgprefix



Jetzt markiere ich den ge- wünschten Text, z.B. indem ich bei gedrückter linken Maus- taste den Curser über diesen Text ziehe, die Maustaste loslasse und die Maus in den Zeichenbereich bewege. Hier kann ich mit dem Windows- Befehl Einfügen (z.B.: Strg+V oder rechte Maustaste) den soeben kopierten Text ein- fügen. Ich muss nur noch den Einfügepunkt bestimmen.
Eleganter wird es, wenn ich mich mit LISP-Ausdrücken be- schäftige.
Aber keine Panik, so schlimm wird es nicht!
Der Hintergrund ist, ich muss die Informationen der Auto- CAD-Variablen in einer ei- genen Variablen zwischen- speichern und dann einfügen.

Machen wir den ersten Schritt:
Ich muss mit LISP-Aus- drücken arbeiten! LISP-Aus- drücke werden immer in Klam- mern und gegebenenfalls auch
geschachtelten Klammern ge- schrieben.
Ich beginne also mit einer öff- nenden Klammer (.   Nun will ich eine Varibable definieren.
In LISP geht dieses mit der Funktion SETQ. Hierfür benötige ich einem Namen der Variaben. Namen sind Schall und Rauch. Ich kann mir den Namen ausdenken, darf nur keine reservierten Namen verwenden. Ich denke darüber nicht weiter nach, denn schlimmstenfalls funktioniert die Routine nicht. Ich ver- wende hier den Namen Pfad.
Als nächstes muss ich die AutoCAD-Variable auslesen. Hierzu benutze ich wieder eine LISP-Funktion, die ich mit einer weiteren öffnenden Klammer beginne ( und dem Funtionsnamen GETVAR gefolgt von einem Leerzeichen.
Der Befehl 'GETVAR' steht für erhalten/auslesen einer Var- iablen. Der Variablenname muss   nun   in   Anführungszei-



chen "DWGPrefix" geschrie- ben werden. Damit sind beide LISP-Funktionen vollständig, müssen nur noch mit den ab- schliessenden Klammern )) geschlossen werden.
Zusammenfassend sehen die Eingaben wie folgt aus:
Syntax Die Groß-/Kleinschreibung ist in AutoCAD nur bei der Eingabe von Texten wichtig, die in der Zeichnung dar- gestellt werden sollen.
Damit haben wir die Variable ausgelesen, können aber herzlich wenig damit an- fangen. Wir benötigen noch etwas LISP, um die Werte zum Beispiel an den unteren Rand unserer Zeichnung zu schreiben.
Ich beginne wieder mit einer öffnenden KLammer ( und dem Funktionsnamen command. Nun schreibe ich jeweils in Anführungszeichen die Befehle, die ich in AutoCAD
an der Befehlszeile eingeben würde, um den Text zu schreiben. Es können nur Befehle verwendet werden, die keine Dialogbox benutzen.
Der geeignete Befehl heißt "Text". Damit auch Sie wissen, was einzugeben ist, sollten Sie selbst mal den Befehl an der Tastatur eingeben.
Ich setze meine Eingaben in einem Zug fort:
"0,-4" "3.5" "0" pfad)
Die Zahlen-Eingaben, hier 3.5 und 0, müssen nicht, können aber in Anführungszeichen ge- setzt werden. Wurde zunächst der Startpunkt des Textes ab- gefragt, folgt dann die Text- höhe und die Richtung. Bei der Abfrage 'Text eingeben:' kommt unsere Variable ins Spiel. Die Variable darf nicht in Anführungsstrichen geschrie- ben werden.
Jetzt wird der Zeichnungspfad an die Stelle geschrieben, die ich   mit   Startpunkt  definiert



habe. Ich habe die Koordina- ten 0,-4 verwendet. Dies habe ich gemacht weil mein Form- blatt typischerweise im Lay- outbereich eingefügt wird. Der linke untere Rand befindet sich an den Koordinaten 0,0. Damit wird sich der Text zwischen Rahmen und Schnittkante be- finden.
Die zuvor erstellte Variable bleibt solange gespeichert bis ich die Datei schließe oder die Variable lösche bzw. über- schreibe.
Um nicht jedes Mal die Zeilen tippen zu müssen, schreibe ich diese als Makro in eine Schaltfläche!
Ich kann mir aber auch eine Skriptdatei einrichten und die entsprechenden Zeilen dort hinterlegen.

Ich achte in beiden Fällen darauf, dass zwischen den Ausdrücken für die Varablen-Bestimmung und der  Command-Eingaben ein Leer- zeichen ist.
Syntax

Mit einer etwas umfangrei- cheren LISP-Routine kann man noch Aktualisierungen, Textstile, Layer usw. hin- zufügen.
Meine Kursteilnehmer haben auf der Teilnehmer Diskette /CD eine Reihe von Routinen erhalten. In der Routine Form- blätter befindet sich unter anderem auch diese Routine. Durch den Befehl DWGN wird die Routine ausgeführt. Der Text wird im aktuellen oder im zu- letzt verwendeten Layout ein- getragen. Es werden Textstil und Layer verwendet, eventu- ell vorhandene Eintragungen werden entfernt.
Es ist mir völlig klar, dass ich
hier nur die Informationen ge- geben habe, die ich für den Einsteiger als wichtig erachte. Ich will bewußt keinen Leser mit zuviel Infomationen ver- graulen.

Ab AutoCAD 2005 wird es etwas einfacher:
Im Menü Einfügen gibt es den Befehl Schriftfeld. Hierauf werde ich in einem weiteren Tip zu sprechen kommen.
Weitergehende Informationen finde ich in meinen Heften (für Einsteiger) und in der Lite- ratur, z.B. AutoCAD-Intern oder AutoCAD-Objekte (für Fortgeschrittene Automati- sierer).

Blöcke entfernen

Das Original der Frage:

Frage aus Forum www.cad.de

Zum Verständnis:

Ich interpretiere die Frage so, dass der Fragesteller die fremde Zeichnung in seiner Zeichnung eingefügt hat. Damit hat er einen referenzierten Block in seiner Zeichnung. Befanden  sich in der fremden Zeichnung Blockdefintitionen, die diese 5 Layer benutzten, können die Layer in seiner Zeichnung nicht gelöscht werden.

Waren die Blockdefinitionen referenziert (eingefügt) können auch die Blockdefinitionen nicht bereinigt werden.
Die Suche auf der Festplatte läßt vermuten, dass der Frage- steller sich noch nicht aus- reichend mit AutoCAD-Blöcken auskennt. Bei dem Begriff 'nmen' handelt es sich wohl um den Namen des unbekannten Blockes.

Antwort:

Will er Layer löschen, erhält er die Fehlermeldung: die folgen- den Layer können nicht gelö- scht werden: 
Nun vermutet der Fragesteller, dass die vom Ihm nicht ge- kannten Blöcke die Layer benutzen.
Wenn meine o.g. Vermutungen



zutreffen, hat der Fragesteller einen verschachtelten Block — die eingefügte Zeichnung und die darin befindlichen Blöcke.

Einen verschachtelten Block kann ich editieren (z.B. Teile löschen ...), wenn ich den übergeordneten Block auflöse (URsprung). Jetzt kann ich diese Blöcke auswählen — einzeln oder z.B. mit der Schnellaus- wahl alle.
Teilnehmer meiner Kurse haben die Schnellauswahl nicht kennengelernt, konnten also nur anders auswählen. Um hier weitere Unterstützung zu bieten, werde ich das Thema Schnellauswahl als weiteren Tip auf meiner Homepage in Kürze beschreiben.
Hier nun eine Möglichkeit herauszufinden wo sich diese Blöcke befinden. Ich zeichne einen Punkt, setze die System-
variable z.B. auf 35 (). Nun gebe ich den Befehl BLock und suche mir in der Dialogbox:
aus der Namensliste den Namen des nicht bekannten Blockes. Möglicherweise erkenne ich schon jetzt die Geometrie des gesuchten Blockes anhand der Symboldarstellung und kann entscheiden, ob ich diesen Block beibehalten will.

Kann ich noch immer keine Zuordnung finden, gehe ich weiter, setze den Basispunkt des Blockes auf den Punkt und wähle den Punkt als Objekt aus. Nach dem Schließen der



Dialogbox mit OK, werde ich gefragt , was ich mit Ja beantworte.
Nun sollte überall dort, wo sich der Block befindet der Punkt sichtbar sein.
Anmerkung! Ist die System- Variable PSIZE auf 0 gestellt,
sollte die Punktgröße etwa 5% der Höhe des Zeichnungsbe- reiches einnehmen (eventuell muss regenert werden).
Mit dem Befehl Z, um den letzten Befehl zurückzu- nehmen, kann ich Schritt für Schritt zum Ausgangspunkt zurückkehren.

Schnellauswahl
Hier reflecktiere ich auf eine Frage aus dem Anwender- Forum Rund um AutoCAD:

Zur Lösungsfindung in einem Problemfall hat ein Forums- Teilnehmer vorgeschlagen die Schnellauswahl zu verwenden. Diese Möglichkeit habe ich, wenn überhaupt in einem 240h-Kurs erst am Ende vor- gestellt. In den Wochenkursen war keine Zeit hierfür.
Ich möchte die obige Frage- stellung nutzen um auch allgemein die Schnellauswahl zu behandeln. Diesen Befehl er- reiche ich am Einfachsten über das Kontextmenü (rechte Maustaste oder an der Tastatur) oder innerhalb von Dialogboxen, die eine Objekt- wahl anbieten über die Schalt- fläche .
Habe ich den Befehl einge geben öffnet sich die folgende Dialogbox:
Basis für die Nutzung der Schnellauswahl ist, dass ich einen Befehl verwenden will, der zu 'Objekte wählen:' auffordert.



Will ich — wie im Fragebeispiel — dem Namen nach bekannte Blöcke löschen, rufe ich den Befehl SAUSWAHL (Schnell- auswahl) auf und wähle bei Ob- jekttyp: . Würde ich nun auf OK klicken, würden alle Block-Objekte markiert werden. Sind dies mehr Objekte als ich auswählen wollte, kann ich die Auswahl- kriterien verfeinern oder aber Objekte aus dem Auswahlsatz entfernen.
Ich kann Eigenschaften aus- wählen die ich von den ge- wünschten Objekten kenne.
Bei den gesuchten Blöcken kenne ich den Namen.

Baustelle:
Dieses Thema ist noch nicht beendet!

Um die Grunzüge zu erkennen, sollte es aber schon reichen.

Eine Fortsetzung wird folgten!

Stand: 20. März 2011

Schriftfeld — Textfelder
selbstaktualisierende Informa- tionen für Textfelder.

Frage:

Die ursprüngliche Frage galt, wie man den Verzeichnispfad in das Schriftfeld bekommt.
Hier möchte ich auf neuere Möglichkeiten, ab der Version 2005 hinweisen.

Die Möglichkeiten:

Mit dem Befehl Schriftfeld — auch Menü Einfügen/ Schrift- feld bietet AutoCAD erstmals die Möglichkeit sich selbst aktualisierende Textinforma- tionen der Zeichnung zuzu- führen.
Baustelle:
An dieser Stelle geht es demnächst weiter.

Verdeckte Objektkanten

Stand: 23. Juli 2006

Drahtmodell Beim Erstellen oder Bearbeiten einer Zeichnung arbeiten Sie an der Drahtmodell-Darstellung eines Objekts oder einer Oberfläche. Sie blenden das Objekt nur bei Überprüfung der aktuellen Positionen dieser Oberflächen aus.
Wenn komplexe Zeichnungen als Drahtmodelle betrachtet oder geplottet werden, er- scheinen sie oft zu unüber- sichtlich, um die notwendigen Informationen zu vermitteln. Das Ausblenden von im Hinter- grund befindlichen Objekten bzw. Objektkanten, die in Wirklichkeit von Objekten im Vordergrund verdeckt wären,
vereinfacht die Anzeige und vermittelt einen deutlicheren Eindruck von der Konstruktion.
Die Anzeige wird wesentlich übersichtlicher, wenn die Linien im Hintergrund nicht eingeblendet werden.
Verdeck-Modus Mit Hilfe der Systemvariablen OBSCUREDCOLOR und OBSCUREDLTYPE können Sie die Farbe und den Linientyp der verdeckten Linien bestimmen.
Verdeck-Modus	mit OBSCUREDLTYPE 2



Sie können die Systemvariable HALOGAP verwenden, um die Lücke von Halo-Linien zu ändern.
Die obigen Ausführungen sind
Auszüge aus dem Kurs: 3D-Konstruktion Neuere AutoCAD-Versionen stellen für diese Einstellungen eine Dialogbox zur Verfügung.
Bemaßungstexte anpassen

Stand: 23. Juli 2007

Gehört die Bemassung im Allgemeinen zum festen Bestandteil in meinen Heften, beschreibe ich hier einige Besonderheiten — die z.Bsp. für den Hochbauer und den Maschinenbauer fast schon zum täglichen Bedarf gehören — in AutoCAD, der AutoCAD-Hilfe und zu einem großen Teil auch in der Literatur zu AutoCAD, dies aber nur spärlich beschrieben wird.
Für den Hochbauer meine ich die hochgestellten Millimeter-
angaben und die Texte für Fensterhöhen, die sich unter der Maßlinie befinden.
Für den Maschinenbauer meine ich Angaben für Toleranzen, hoch- und tief- gestellte Angaben (Passungen). AutoCAD-Bemassung

Hier ein Auszug aus der AutoCAD-Hilfe:


Bem-Text

Weitere Infos finden Sie im Bereich:
        'WM-Tools' --> Architekturbemaßung
geomKal: ILL

Stand: 23. Juli 2007

Aufgabe Das linke Bild beschreibt eine Aufgabe aus dem Heft 'Gehäuse' des Malteser- kreuzrad- getriebes.
Hier soll eine geschlossene Polylinie ge- zeichnet werden, die oben rechts beginnen soll.
Im Anhang des Heftes habe ich beschrieben, wie ich diese Polylinie ohne Hilfs-Linien in einem Zug zeichnen kann bzw. würde.
Genau hier beginnt ein Problem. Habe ich, vor AutoCAD 2006, mit dem transparenten Aufruf des Befehls KAL arbeiten können, funktioniert dies ab der Version 2006 nicht mehr.
Ich will an dieser Stelle nicht den Befehl beschreiben, sondern nur auf die neue Schreibweise eingehen, um auch ab der 2006er Version den Kal-Befehl nutzen zu können.

Im Heft habe ich u.a. diese Möglichkeit beschrieben:
1) PLinie
2) 0,0
3) 'KAL
4) ILL([P1],[P2],[P3],[P4])
5) @3.5>225
6) usw. ...
Dies war bis einschließlich AutoCAD 2005 machbar!
Ab AutoCAD 2006 muss ich diese Form eingeben:
0) (arxload "geomcal")
1) PLinie
2) 0,0
3) (CAL ILL([P1],[P2],
   [P3],[P4])
4) @3.5>225
5) usw. ...



Ich muss den GeomKal ab der Version 2006 erst laden und dann über einen LISP-Aus- druck eingeben!
Das laden kann ich grund- sätzlich vor Beginn meiner Arbeiten machen.

ILL_228.jpg Seit einiger Zeit benutze ich für derartige Arbeiten meine eigene Routine, die ich allen Kursteilnehmern und Heftleser gern auch nachträglich - und natürlich kostenlos - zur Ver- fügung stelle.
Die Routine ILL ist getestet auf Versionen bis einschließlich AutoCAD 2011.

Mit einem Klick auf die fol- gende Grafik, erhalte ich einen Auszug aus dem 2011er Heft 'Aufbaukurs'.

ILL-Bild.jpg



< Heftinhaber bzw. Kursteil- nehmer haben dies Rotine mit den Unterlagen erhalten bzw. können diese von mir auch nachträglich noch bekommen.
3D-Bogen

Stand: 23. Juli 2007

Wie wir gelernt haben, ist der Bogenbefehl ein reiner 2D-Be- fehl!
Dies bedeutet, dass wir unser BKS entsprechend der ge- wünschten Position des Bogens im 3D-Raum ausrichten müs- sen, bevor wir den Bogen zu zeichnen beginnen.
Im Kurs hatten wir dazu unser 3D-Häuschen. Es sollte eine Tür mit Bogen an der Frontseite gezeichnet werden.
Aus heutiger Sicht ganz einfach! Wir hatten das BKS auf Vorn ausgerichtet und konten den Bogen problemlos zeich- nen.
Jetzt aber soll der Bogen frei im Raum gezeichnet werden. Was bedeutet, das wir zunächst das BKS, z.B. mit 3 Punkten, auf der entsprechenden Ebene definieren müssen.
Wenn 3 Punkte des Bogens bekannt sind, bietet sich dieser Lösungsweg auch an. Habe ich zudem mehrmals derartige Bögen zu erstellen bietet sich eine kleine LISP-Routine an.
Diesen Lösungsweg will ich hier beschreiben:
Ich nehme dazu wieder An- leitung an eine Übung aus dem Abschnitt Automatisierungs- techniken, die leider noch nicht in einer druckfähigen Heft- vorlage abgegeben werden kann.

Wie lege ich nun los?
Nach der Definition des Funk- tionsnamen
(defun c:3DB ()
sichere ich die 3 mir bekannten Punkte als Variablen:
(setq P1 (getpoint ...)
      P2 (getpoint ...)
      P3 (getpoint ...))




Jetzt verwende ich den Command-Ausdruck um mein BKS anzupassen.
(command "BKS" "3" P1 P2 P3)
Bei der Punktvergabe sollten wir berücksichtigen, dass jedes 2D-Objekt auch eine Z- Richtung besitzt, was z.B. wichtig wird, wenn der Bogen später mal Bestandteil einer Polyline werden soll.
Daher habe ich zunächst ge- danklich den Startpunkt des Bogens als P1, den Endpunkt als P2 und einen 2 Punkt auf dem Bogen als P3 definiert.
Folge ich der Eingabeauf- forderung an der Komman- dozeile, während des BKS- Befehles mit der Option für 3Punkte, ist der neue Ur- sprungspunkt gleich P1, der Punkt auf der positiven X-Achse P2 und der Punkt in der positiven XY-Ebene P3.
Durch diese Tat sind aber meine Punkte die ich im WKS definiert habe auf das neue BKS nicht mehr anwendbar. Ich muss diese Punktdefini- tionen in das neue BKS transportieren:
(setq P1 (trans P1 0 1)
      P2 (trans P2 0 1)
      P3 (trans P3 0 1))

Nun kann ich diese Punkt- variablen wieder einsetzen und den Bogen zeichnen:
(command "Bogen" P1 P3 P2)




Im Prinzip ist die neue Defi- nition besprochen.
Ich werde dies demnächst noch Weiterführen und auch Gra- fiken hinzufügen.

Hier die vollständige Lispdatei: 3DB.LSP


Mehrseitige Schaltpläne

Stand: 23. Januar 2013

Es kommt, speziell bei Schaltplänen, schon mal vor, dass mehr als eine Seite zur Darstellung benötigt wird.
In einem solchen Fall bieten sich 2 Möglichkeiten an.
1. Der Schaltplan wird komplett im Modellbereich gezeichnet und die Unterteilung samt Formblätter anschießend im Layout vorgenommen.
Diese Version birgt den Vorteil, dass beim Drucken alle Blätter zusammen mittels Plansatz gedruckt werden können: alle Layouts markieren und publizeren.
2. Speziell ältere Pläne sind vollständig (Schaltplan und Formblätter) im Modellbereich gezeichnet.
Oben nur eine symbolische Dargestellung!
Hier ist es nicht ganz so einfach! Ich habe, Anlaß war eine entsprechende Frage im Forum 'Rund um AutoCAD', hierfür ein kleines LISP-Tool geschrieben, das diese Druck- aufgabe übernehmen soll.
Ein Klick auf die folgende Grafik   öffnet  den  Quell-Code



der Lisp-Datei.
Im LISP habe ich als Drucker den PDF-Creator (Freeware) verwendet. Dort werden alle Seiten gesammelt und können dann zu einer PDF-Datei zusammengefügt werden.
Für den Ausdruck habe ich eine bei mir übliche Plotstil-Tabelle verwendet, die natürlich auch ausgetauscht werden kann.



Dieser Tipp wird gerade eingestellt und kann sich noch ändern!

Index © Mail@Werner-Maahs.de