| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte | | | | PNY wird von NVIDIA zum Händler des Jahres gewählt – zum dritten Mal in Folge, eine Pressemitteilung
|
Autor
|
Thema: Layer in bestimmten Layouts schalten (1569 / mal gelesen)
|
C4DP4P57 Mitglied Technischer Zeichner
Beiträge: 153 Registriert: 06.05.2009 Win 10 Windows 10 Enterprise 64Bit Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz 32 GB RAM NVIDIA Quadro P1000 AutoCAD 2019.1.2 64Bit
|
erstellt am: 01. Mrz. 2018 09:50 <-- editieren / zitieren --> Unities abgeben:
Hallo Zusammen, ich stehe gerade etwas auf dem Schlauch und bin mir auch nicht ganz sicher ob man es mit AutoCAD Boardmitteln hinbekommt. Ich habe Zeichnungen die immer nach dem selben Schema aufgebaut sind. In jeder Zeichnung gibt es H_..., K_..., L_..., S_... Layouts (teils auch mehrere z.B. H_1, H_2 usw.) und H_..., K_..., L_..., S_... Layer. Mein vorhaben wäre, in einem H_... Layout nur H_... Layer, in einem K_... Layout nur K_... Layer usw. per z.B. Makro anzuschalten. Also so als one Button Lösung, DWG öffnen, Knopp drücke, fertisch. Was ich schon probiert habe. -Mit CTAB ins Layout wechseln und mit AFLAYER alle nicht gebrauchten Layer ausschalten. Leider unbrauchbar, da CTAB keine Platzhalter zulässt und bei mehreren mit z.B. H_ anfangenden Layouts es selbst wenn Platzhalter gingen nicht funktionieren würde. Vielleicht hat ja einer eine Idee oder einen Ansatz wie man sowas bewerkstelligen könnte. Vielen Dank im Voraus. Gruß Jörg ------------------ Wer immer tut, was er schon kann, bleibt immer das, was er schon ist. Menschen mit einer neuen Idee gelten so lange als Spinner, bis sich die Sache durchgesetzt hat. Das schöne an AutoCAD ist ja, dass einem jede Möglichkeit bietet damit zu machen was man will und wie man es will. Was jeder unglücklicherweise auch tut ;-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8086 Registriert: 09.03.2006 Kinder, kauft Kämme! Es kommen lausige Zeiten.
|
erstellt am: 01. Mrz. 2018 11:29 <-- editieren / zitieren --> Unities abgeben: Nur für C4DP4P57
Moin, Idee/Ansatz: Code: -layer;_off;(strcat(substr (getvar "ctab") 1 2) "*");;bzw. AFlayer;_f;(strcat(substr (getvar "ctab") 1 2) "*");_al;;
Da ich mich im Klammerwald nicht sonderlich gut auskenne und das VBA-Modul kaum noch wer installiert hat, hab ich die Schleife
Code: For each LAYOUT in (layoutlist)
nicht parat, aber mit der Suchmaschine Deiner Wahl sollte sich da was finden lassen. [rredit] könnte dann so in etwa aussehen:
Code: (defun c:R-AUS () (foreach layout (layoutlist) (setvar "ctab" layout) (command "AFlayer" "_f" (strcat(substr (getvar "ctab") 1 5) "*") "akt" "") );foreach )
Hab Spaß damit [/rredit] Mit LayerFILTERN hast Du es bereits versucht und ist Dir nicht komfortabel genug? ------------------ Gruß, runkelruebe Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadwomen Ehrenmitglied V.I.P. h.c. Mädchen für fast alles
Beiträge: 3067 Registriert: 26.08.2002 ACAD R11 - 2022 (Plant3D) AVIS ACAD LT 2013- 2021 ZWCAD 2015 Versuch "nun ja" [s]History P3D 2012/(13) SP und Hotfix([/s]<P> Windows 10 / 64 Bit Xeon CPU 3.5GHz 16GB Ram NVIDIA Quadro P2000 3x Dell TV100 88P Monitore
|
erstellt am: 01. Mrz. 2018 11:34 <-- editieren / zitieren --> Unities abgeben: Nur für C4DP4P57
Guten Tag mit Lisp und so bequem kann ich nicht dienen -layer frieren Objekte alle Tauen Layername t__* Plankopf und Layout müssen dazu auf eigenen und gesperrten Layern liegen oder wieder mit eingeschaltet werden , das ganze für jedes auf die WZP .. cu cw ------------------ Also ich finde Unities gut ... und andere sicher auch ------------------------------------------------ cadwomen™ Plant ist nur die Spitze des Berges der da treibt ? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
C4DP4P57 Mitglied Technischer Zeichner
Beiträge: 153 Registriert: 06.05.2009 Win 10 Windows 10 Enterprise 64Bit Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz 32 GB RAM NVIDIA Quadro P1000 AutoCAD 2019.1.2 64Bit
|
erstellt am: 01. Mrz. 2018 12:57 <-- editieren / zitieren --> Unities abgeben:
Vielen Dank euch zwei für eure Ansätze/Ideen @Runkelruebe Interessant, versuche mal deinen Code mit meinen bescheidenen Lisp-Kenntnissen zu verstehen und evtl. etwas anzupassen, aber vllt habe ich mich mal wieder etwas unglücklich ausgedrückt. Die Layouts fangen alle mit H_ an (was danach steht sollte uninteressant sein), darin sollten alle Layer die mit K_, L_, S_ anfangen ausgeschaltet werden. Im K_ Layout dementsprechend die mit H_, L_, S_ beginnen. Die Idee war einfach, dass ich alle Pläne später mit ScriptPro durchlaufen lassen kann und die Layouts bzgl der Layer richtig geschaltet werden. LayerFilter wären mir zu aufwendig. Im Moment nutze ich 4 Scriptdateien, die mir bei aktiviertem Layout die Layer entsprechend schalten. Gruß Jörg
------------------ Wer immer tut, was er schon kann, bleibt immer das, was er schon ist. Menschen mit einer neuen Idee gelten so lange als Spinner, bis sich die Sache durchgesetzt hat. Das schöne an AutoCAD ist ja, dass einem jede Möglichkeit bietet damit zu machen was man will und wie man es will. Was jeder unglücklicherweise auch tut ;-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8086 Registriert: 09.03.2006 Kinder, kauft Kämme! Es kommen lausige Zeiten.
|
erstellt am: 01. Mrz. 2018 13:05 <-- editieren / zitieren --> Unities abgeben: Nur für C4DP4P57
Jo, ist mir im Nachgang aufgefallen, dass ich's Dir rumgedreht hab. Sorry. Dann schalt halt erst alle layer aus und danach nur die, deren Name so beginnt, wie der Layoutname [(strcat(substr (getvar "ctab") 1 2) "*")], wieder ein. Sollte ja auch nur ein Ansatz sein ------------------ Gruß, runkelruebe Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
C4DP4P57 Mitglied Technischer Zeichner
Beiträge: 153 Registriert: 06.05.2009 Win 10 Windows 10 Enterprise 64Bit Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz 32 GB RAM NVIDIA Quadro P1000 AutoCAD 2019.1.2 64Bit
|
erstellt am: 01. Mrz. 2018 13:11 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von runkelruebe: Jo, ist mir im Nachgang aufgefallen, dass ich's Dir rumgedreht hab. Sorry.
Kein Ding, bin dir trotzdem sehr Dankbar für den Ansatz. Darauf lässt sich aufbauen ;-) Gruß Jörg ------------------ Wer immer tut, was er schon kann, bleibt immer das, was er schon ist. Menschen mit einer neuen Idee gelten so lange als Spinner, bis sich die Sache durchgesetzt hat. Das schöne an AutoCAD ist ja, dass einem jede Möglichkeit bietet damit zu machen was man will und wie man es will. Was jeder unglücklicherweise auch tut ;-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
C4DP4P57 Mitglied Technischer Zeichner
Beiträge: 153 Registriert: 06.05.2009 Win 10 Windows 10 Enterprise 64Bit Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz 32 GB RAM NVIDIA Quadro P1000 AutoCAD 2019.1.2 64Bit
|
erstellt am: 01. Mrz. 2018 14:40 <-- editieren / zitieren --> Unities abgeben:
So, habe den Code mal etwas auf meine Bedürfnisse angepasst. Den Erfahrenen LISPlern dürften jetzt die Haare zu Berge stehen, ich Poste ihn aber Trotzdem :-P So Chaotisch er aussehen mag, er tut genau das was er soll. Schaltet bei gleichen Anfangsbuchstaben der Layouts und Layer in dem jeweiligen Layouts die relevanten Layer ein. Zwischenstand des kompletten Code´s sieht jetzt so aus: (setvar "CTAB"(car(layoutlist))) (command "aflayer" "f" "H_*,K_*,L_*,S_*" "al" "") (foreach layout (layoutlist) (setvar "ctab" layout) (command "_.mspace") );foreach (foreach layout (layoutlist) (setvar "ctab" layout) (command "AFlayer" "_t" (strcat(substr (getvar "ctab") 1 2) "*") "akt" "") );foreach (foreach layout (layoutlist) (setvar "ctab" layout) (command "_.pspace") );foreach (command "CTAB" "Modell")
Bestimmt keine schöne Lösung, aber sie tuts :-)
Gruß Jörg ------------------ Wer immer tut, was er schon kann, bleibt immer das, was er schon ist. Menschen mit einer neuen Idee gelten so lange als Spinner, bis sich die Sache durchgesetzt hat. Das schöne an AutoCAD ist ja, dass einem jede Möglichkeit bietet damit zu machen was man will und wie man es will. Was jeder unglücklicherweise auch tut ;-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
spider_dd Mitglied
Beiträge: 1144 Registriert: 27.11.2003 Win 10Pro Intel(R) Core(TM) i7-7700 NVIDIA Quadro P1000 ACAD, Civil-3D 2018
|
erstellt am: 01. Mrz. 2018 17:01 <-- editieren / zitieren --> Unities abgeben: Nur für C4DP4P57
Wenn es läuft ist es doch OK. Aber: Warum rennst Du 3 x durch alle Layouts? Packe doch die drei (command ...) Zeilen hintereinander in eine (foreach ...) Schleife. Das macht das Ganze schon mal deutlich übersichtlicher. Gruß Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
C4DP4P57 Mitglied Technischer Zeichner
Beiträge: 153 Registriert: 06.05.2009 Win 10 Windows 10 Enterprise 64Bit Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz 32 GB RAM NVIDIA Quadro P1000 AutoCAD 2019.1.2 64Bit
|
erstellt am: 02. Mrz. 2018 17:59 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von spider_dd: Aber: Warum rennst Du 3 x durch alle Layouts?
Na irgendwie muss man sich ja Fit halten Hast natürlich recht, macht wenig Sinn! Danke für den Wink ;) Code:
(setvar "CTAB"(car(layoutlist))) (command "aflayer" "f" "H_*,K_*,L_*,S_*" "al" "") (foreach layout (layoutlist) (setvar "ctab" layout) (command "_.mspace") (command "AFlayer" "_t" (strcat(substr (getvar "ctab") 1 2) "*") "akt" "") (command "_.pspace") );foreach (command "CTAB" "Modell")
Schönes WE Jörg ------------------ Wer immer tut, was er schon kann, bleibt immer das, was er schon ist. Menschen mit einer neuen Idee gelten so lange als Spinner, bis sich die Sache durchgesetzt hat. Das schöne an AutoCAD ist ja, dass einem jede Möglichkeit bietet damit zu machen was man will und wie man es will. Was jeder unglücklicherweise auch tut ;-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|