| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Layer vorher in Autocad LT (1522 mal gelesen)
|
Skalar Mitglied
Beiträge: 65 Registriert: 26.01.2007 Win XP SP2 / AutoCad 2007 lt SP2
|
erstellt am: 26. Jan. 2007 23:05 <-- editieren / zitieren --> Unities abgeben:
Hallo Ihr Experten, in ACAD gibt es den Befehl LAYERP um den vorhergehenden layer wieder zu aktivieren. Diesen Befehl vermisse ich in ACAD LT sehr. Insbesondere bei der Ausführung kleiner Makros, die Objekte auf einem anderen Layer erstellen wäre es wichtig wieder auf dem ursprünglichen Layer zu landen. Der Gedanke: - mittels SETENV und M$=$(getvar,clayer) speichere ich den aktuellen Layer -FUNKTIONIERT - Ausführung der Makro-Befehle auf einem anderen Layer -FUNKTIONIERT - mittels -LAYER;SETZEN und $M=$(getenv,variable) wieder zurück auf den vorherigen Layer -FUNKTIONIERT NICHT Leider funktioniert es nicht, da scheinbar der Zugriff nur auf die Variablen vor Beginn des Makros möglich ist. Das Speichern des aktuellen Layers in einer Variablen geht. Inneralb des Makros scheinen nur die Variablen vor Beginn des Makros zu erreichen. Gibt es eine Lösung für dieses Problem oder ist ein "LAYER VORHER" in Autocad LT einfach nicht möglich? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Grebe Mitglied
Beiträge: 536 Registriert: 16.12.2002
|
erstellt am: 29. Jan. 2007 09:21 <-- editieren / zitieren --> Unities abgeben: Nur für Skalar
Doch geht schon - Du musst nur die Auswertung der Wiederherstellung durch quoten mit " verzögern: M$=$(getvar,clayer) .... -LAYER;SETZEN und "$M=$(getenv,variable)" Sobald das erste M$ angetroffen wird, wird nämlich ALLES evaluiert, durch Einfassen mit "" wird das Wiederauslesen der Variablen "bis zum Makroende verzögert". Mathias Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Skalar Mitglied
Beiträge: 65 Registriert: 26.01.2007 Win XP SP2 / AutoCad 2007 lt SP2
|
erstellt am: 29. Jan. 2007 11:44 <-- editieren / zitieren --> Unities abgeben:
Danke für die Antwort, es hat funktioniert. Nur das "bis zum Makroende verzögert" - habe ich absolut nicht verstanden. Dass beim ersten Aufruf vom $M= alles ALLES evaluiert wird hatte ich vermutet. Nur was bedeutet: -Wiederauslesen der Variablen "bis zum Makroende verzögert"- Ich kann mir darunter nichts vorstellen. Zur Info, das Makro sieht so aus:
Code:
^C^Csetenv;CurLay;$M=$(eval,$(GETVAR,CLAYER));-layer;se;~~~LAYERNAMEN~~~;;~~~Befehle~~~-layer;se;"$M=$(getenv,CurLay)";;
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Grebe Mitglied
Beiträge: 536 Registriert: 16.12.2002
|
erstellt am: 29. Jan. 2007 12:37 <-- editieren / zitieren --> Unities abgeben: Nur für Skalar
|
Skalar Mitglied
Beiträge: 65 Registriert: 26.01.2007 Win XP SP2 / AutoCad 2007 lt SP2
|
erstellt am: 01. Feb. 2007 11:17 <-- editieren / zitieren --> Unities abgeben:
Den Sinn/ Unsinn der Sache an sich habe ich nicht so richtig verstanden. Es scheint aber so zu sein, dass wenn man voneinaber abhänige M$'s hat diese entsprechend ihrer Reihenfolge in zunehmende "" setzen muss. also: Code: 1. M$.. 2. "M$.." 3. ""M$.."" 4."""M$..""" usw.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Produktentwickler / Konstrukteur Kunststofftechnik (m/w/d) | Die GESA ist ein deutscher mittelständischer, familiengeführter Hidden Champion der Point-of-Sale Industrie mit internationalen Kunden aus der Branche der dekorativen Kosmetik. Langjährige Kundenbeziehungen spiegeln das Vertrauen der Kunden in unser Team wider. Als innovativer Partner für Permanentmöbel mit langjähriger Erfahrung in der Kosmetikbranche stellt die GESA ihre Expertise in der Zusammenarbeit mit führenden Kosmetikherstellern unter Beweis.... | Anzeige ansehen | Entwicklung |
|
Grebe Mitglied
Beiträge: 536 Registriert: 16.12.2002
|
erstellt am: 02. Feb. 2007 09:51 <-- editieren / zitieren --> Unities abgeben: Nur für Skalar
... so in etwa. Die Website wo das mal gut erklärt war gibt's anscheinend nicht mehr. Es ist aber so, dass man nicht direkt sagen kann A=5 B=2*A und es kommt 10 heraus A=5 "B=2*A" ergibt dagegen schon 10 Im oberen Fall hängt das Ergebnis vom Wert der Variablen A zum Begin des Makros ab. Man könnte also sagen, ohne ".." erfolgt das Auslesen der Variablenwerte vor dem Setzen. Mathias Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |