| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: XRef-Layer isolieren? (820 mal gelesen)
|
fips Mitglied Lehrer
Beiträge: 544 Registriert: 22.05.2001
|
erstellt am: 11. Jun. 2007 19:01 <-- editieren / zitieren --> Unities abgeben:
Hallo, Layer von XRefs Tauen und Frieren klappt (WK Layer2), Layer isolieren geht leider nicht, es . Kennt jemand eine Möglichkeit mit der geht? Ich muss in vielen AFenstern immer wieder alle Layer bis auf einen frieren/ausschalten. Fips Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Carsten1210 Mitglied staatl. geprüfter Holztechniker
Beiträge: 1357 Registriert: 24.07.2002 AutoCAD ACA 2018 Solidworks 2016 Sp5 Enterprise PDM 2016 Sp5 Pascam Woodworks Visual Studio 2017 Pro Windows 10 64Bit Dell T3620 Intel Core i7-7700K 16 GB Arbeitsspeicher 2x Samsung S24C650 Dell M4800
|
erstellt am: 11. Jun. 2007 19:05 <-- editieren / zitieren --> Unities abgeben: Nur für fips
|
wronzky Ehrenmitglied V.I.P. h.c. CAD-Dienstleistungen für Architekten
Beiträge: 2154 Registriert: 02.05.2005 CAD: AutoCAD 2.6 bis 2014 ADT 2005 bis ACA 2013 Arcibem System: Windows Internet-Startseite: http://www.archi.de
|
erstellt am: 11. Jun. 2007 19:20 <-- editieren / zitieren --> Unities abgeben: Nur für fips
Hi Fips, versuchs mal damit: Code: ;Isoliere Layer (defun c:il ( / b) (setvar "cmdecho" 0) (prompt "Funktion Isoliere Layer\n") (setq b (entsel)) (if b (progn (command "_layer" "_set" b "_off" "*" "_no" "") (prompt (strcat "\nLayer " b " isoliert.")) ) (prompt "\nNichts gewählt!") ) (setvar "cmdecho" 1) (prin1) )
Grüsse, Henning ------------------ VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fips Mitglied Lehrer
Beiträge: 544 Registriert: 22.05.2001
|
erstellt am: 11. Jun. 2007 21:00 <-- editieren / zitieren --> Unities abgeben:
@ henning: Vielen Dank für die schnelle Reaktion, das Programm sagt mir nachdem es alle Layer außer dem Aktuellen auschaltet folgendes: ------------------- Befehl: il Funktion Isoliere Layer Objekt wählen: ; Fehler: Fehlerhafter Argumenttyp: stringp (<Objektname: 7efa7c50> (-623.963 176.478 0.0)) ----------------------------------- @ Carsten: Erstens wird die Layerliste durch XRefs sehr lang, zweitens erkenne ich in meinem Fall eher das Bauteil, das ich haben will. Wie kann ich eigentlich in einem eingefügten XRef rauskriegen, auf welchem Layer ein Objekt liegt? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wronzky Ehrenmitglied V.I.P. h.c. CAD-Dienstleistungen für Architekten
Beiträge: 2154 Registriert: 02.05.2005 CAD: AutoCAD 2.6 bis 2014 ADT 2005 bis ACA 2013 Arcibem System: Windows Internet-Startseite: http://www.archi.de
|
erstellt am: 11. Jun. 2007 21:18 <-- editieren / zitieren --> Unities abgeben: Nur für fips
Hi Fips, war ein Auszug aus einer komplexeren Funktion. Hab' wohl zuviel gelöscht. Korrekt lautet der Code: Code: (defun c:il ( / b) (setvar "cmdecho" 0) (prompt "Funktion Isoliere Layer\n") (setq b (entsel)) (if b (progn (setq b (cdr (assoc 8 (entget (car b))))) (command "_layer" "_set" b "_off" "*" "_no" "") (prompt (strcat "\nLayer " b " isoliert.")) ) (prompt "\nNichts gewählt!") ) (setvar "cmdecho" 1) (prin1) )
Aber das würde in Deinem Fall (x-ref) ja wenig nützen, wenn das Programm den Layer, auf dem die X-ref liegt isoliert... Also noch mal eine weitere "erweiterte" Funktion IL: WILCode: (defun c:wil( / a b c d ant) (setvar "cmdecho" 0) (prompt "Funktion erWeitertes Isoliere Layer\n") (setq a (entsel)) (if a (progn (setq c (entget (car a))) (if (= (cdr (assoc 0 c)) "INSERT") (progn (setq d (cdr (assoc 8 (entget (car (nentselp "dummy" (cadr a))))))) (if (= d "0") (setq d nil)) ) ) (setq a (cdr (assoc 8 (entget (car a))))) (if d (progn (initget 128 (strcat "Ja Nein")) (setq ant (getkword (strcat "\nBlock/Xref-Layer <" d "> isolieren? (Nein isoliert Layer <" a ">.) <J>"))) (if (or (not ant) (= ant "Ja")) (setq a d)) (command "_layer" "_off" "*" "_yes" "_on" a "") (if (/= (getvar "clayer") a) (prompt (strcat "\nAchtung! AKTUELLER Layer " (getvar "clayer") " mit ausgeschaltet!"))) ) (command "_layer" "_set" a "_off" "*" "_no" "") ) (prompt (strcat "\nLayer " a " isoliert.")) ) (prompt "\nNichts gewählt!") ) (setvar "cmdecho" 1) (prin1) )
HTHGrüsse, Henning ------------------ VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de [Diese Nachricht wurde von wronzky am 11. Jun. 2007 editiert.] [Diese Nachricht wurde von wronzky am 11. Jun. 2007 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fips Mitglied Lehrer
Beiträge: 544 Registriert: 22.05.2001
|
erstellt am: 12. Jun. 2007 00:01 <-- editieren / zitieren --> Unities abgeben:
Hallo Henning, vielen Dank, funktioniert im Modellbereich super. Ich habe versucht fürs Layout es auf den Befehl aflayer abzuändern, klappte aber nicht. Also wenn du irgendwann noch mal noch dazukommst ... Hintergrund: In einer Projektarbeit sollen mehrere Schüler an einem Möbelprojekt arbeiten. Einer pflegt das 3D-Modell - das immer wieder geändert wird. Die anderen haben diese Datei als XRef in ihrer jeweils eigenen Datei und leiten davon Einzelteilzeichnungen, Schnitte und Explosionszeichnungen ab (>Layout/Ansichtsfenster) Fips
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cad4fun Ehrenmitglied
Beiträge: 1846 Registriert: 06.12.2004 privat ACAD 2013 und 2017 deutsch, Windows 7 64Bit HP Elite 7500 Series MT,Intel Cote i5-3470 CPU 3,20Ghz,16GB RAM ATI FirePro V (FireGL V) Graphics Adapter Treiberversion: 15.201.1151.1008
|
erstellt am: 12. Jun. 2007 07:31 <-- editieren / zitieren --> Unities abgeben: Nur für fips
Zitat: Original erstellt von fips: Wie kann ich eigentlich in einem eingefügten XRef rauskriegen, auf welchem Layer ein Objekt liegt?
xlist aus den ExpressTools [Diese Nachricht wurde von cad4fun am 12. Jun. 2007 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 12. Jun. 2007 08:06 <-- editieren / zitieren --> Unities abgeben: Nur für fips
Zitat: Original erstellt von fips: Wie kann ich eigentlich in einem eingefügten XRef rauskriegen, auf welchem Layer ein Objekt liegt?
oder (cdr(assoc 8(entget(Car(nentsel"\nObjekt wählen:"))))) ------------------ - Thomas - "Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wronzky Ehrenmitglied V.I.P. h.c. CAD-Dienstleistungen für Architekten
Beiträge: 2154 Registriert: 02.05.2005 CAD: AutoCAD 2.6 bis 2014 ADT 2005 bis ACA 2013 Arcibem System: Windows Internet-Startseite: http://www.archi.de
|
erstellt am: 12. Jun. 2007 09:42 <-- editieren / zitieren --> Unities abgeben: Nur für fips
Hi Fips, einfach die Command-Zeilen ersetzen durch: (command "_vplayer" "_f" "*" "_c" "_t" a "" "")Dazu muss natürlich ein Afenster im Layout aktiv sein, sonst geht aflayer ja nicht. Grüsse, Henning ------------------ VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 12. Jun. 2007 12:16 <-- editieren / zitieren -->
Steuert die Sichtbarkeit der Layer,... von X-Ref-abhängigen Layern. "visretain" Mfg Patrick Südtirol |
fips Mitglied Lehrer
Beiträge: 544 Registriert: 22.05.2001
|
erstellt am: 12. Jun. 2007 12:47 <-- editieren / zitieren --> Unities abgeben: Nur für fips
|
fips Mitglied Lehrer
Beiträge: 544 Registriert: 22.05.2001 AutoCAD 2010, imos, Win XP im Novellnetz, Fachschule für Holztechnik
|
erstellt am: 13. Jun. 2007 14:28 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich bins nochmal @ Henning: jetzt wird allerdings der Layer auf dem die XREF liegt auch mit gefroren. Ich habe die command-Zeile ausgatauscht, in deinem Programm gibts aber 2 ... Kannst du bite noch mal draufschauen? Fips Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cad4fun Ehrenmitglied
Beiträge: 1846 Registriert: 06.12.2004 privat ACAD 2013 und 2017 deutsch, Windows 7 64Bit HP Elite 7500 Series MT,Intel Cote i5-3470 CPU 3,20Ghz,16GB RAM ATI FirePro V (FireGL V) Graphics Adapter Treiberversion: 15.201.1151.1008
|
erstellt am: 13. Jun. 2007 14:54 <-- editieren / zitieren --> Unities abgeben: Nur für fips
|
wronzky Ehrenmitglied V.I.P. h.c. CAD-Dienstleistungen für Architekten
Beiträge: 2154 Registriert: 02.05.2005 CAD: AutoCAD 2.6 bis 2014 ADT 2005 bis ACA 2013 Arcibem System: Windows Internet-Startseite: http://www.archi.de
|
erstellt am: 13. Jun. 2007 15:00 <-- editieren / zitieren --> Unities abgeben: Nur für fips
|
fips Mitglied Lehrer
Beiträge: 544 Registriert: 22.05.2001
|
erstellt am: 14. Jun. 2007 23:44 <-- editieren / zitieren --> Unities abgeben:
Jetzt bin ichs nochmal ... Ich lade folgendes: --------------- (defun c:wil( / a b c d ant) (setvar "cmdecho" 0) (prompt "Funktion erWeitertes Isoliere Layer\n") (setq a (entsel)) (if a (progn (setq c (entget (car a))) (if (= (cdr (assoc 0 c)) "INSERT") (progn (setq d (cdr (assoc 8 (entget (car (nentselp "dummy" (cadr a))))))) (if (= d "0") (setq d nil)) ) ) (setq a (cdr (assoc 8 (entget (car a))))) (if d (progn (initget 128 (strcat "Ja Nein")) (setq ant (getkword (strcat "\nBlock/Xref-Layer <" d "> isolieren? (Nein isoliert Layer <" a ">.) <J>"))) (if (or (not ant) (= ant "Ja")) (setq a d)) (command "_vplayer" "_f" "*" "_c" "_t" a "" "") (if (/= (getvar "clayer") a) (prompt (strcat "\nAchtung! AKTUELLER Layer " (getvar "clayer") " mit ausgeschaltet!"))) ) (command "_vplayer" "_f" "*" "_c" "_t" a "" "") ) (prompt (strcat "\nLayer " a " isoliert.")) ) (prompt "\nNichts gewählt!") ) (setvar "cmdecho" 1) (prin1) ) ---------------------- habe jetzt beide Zeilen komplett ausgetauscht und er schaltet immer noch alle aus incl. den Layer auf dem die XREF liegt. Wähle ich einen nicht-XREF-Layer klappts. Bin ich zu blöd? Fips Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wronzky Ehrenmitglied V.I.P. h.c. CAD-Dienstleistungen für Architekten
Beiträge: 2154 Registriert: 02.05.2005 CAD: AutoCAD 2.6 bis 2014 ADT 2005 bis ACA 2013 Arcibem System: Windows Internet-Startseite: http://www.archi.de
|
erstellt am: 15. Jun. 2007 21:18 <-- editieren / zitieren --> Unities abgeben: Nur für fips
Hi Fips, Zitat: Original erstellt von fips:
Bin ich zu blöd?
nein, ich hab' nur zu schnell gelesen... Zitat: Original erstellt von fips:
jetzt wird allerdings der Layer auf dem die XREF liegt auch mit gefroren.
hab' ich doch glatt überlesen... es muss also noch der Einfügelayer mit getaut werden: Code: (defun c:wil ( / a b c d ant) (setvar "cmdecho" 0) (prompt "Funktion eWeitertes Isoliere Layer im Ansichtfenster\n") (setq a (entsel)) (if a (progn (setq c (entget (car a))) (if (= (cdr (assoc 0 c)) "INSERT") (progn (setq d (cdr (assoc 8 (entget (car (nentselp "dummy" (cadr a))))))) (if (= d "0") (setq d nil)) ) ) (setq a (cdr (assoc 8 (entget (car a))))) (if d (progn (initget 128 (strcat "Ja Nein")) (setq ant (getkword (strcat "\nBlock/Xref-Layer <" d "> isolieren? (Nein isoliert Layer <" a ">.) <J>"))) (if (or (not ant) (= ant "Ja")) (command "_vplayer" "_f" "*" "_c" "_t" a "" "_t" d "" "") (command "_vplayer" "_f" "*" "_c" "_t" a"" "") ) (if (/= (getvar "clayer") a) (prompt (strcat "\nAchtung! AKTUELLER Layer " (getvar "clayer") " mit ausgeschaltet!"))) ) (command "_vplayer" "_f" "*" "_c" "_t" a "" "") ) (prompt (strcat "\nLayer " a " isoliert.")) ) (prompt "\nNichts gewählt!") ) (setvar "cmdecho" 1) (prin1) )
Grüsse, Henning ------------------ VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fips Mitglied Lehrer
Beiträge: 544 Registriert: 22.05.2001
|
erstellt am: 15. Jun. 2007 21:26 <-- editieren / zitieren --> Unities abgeben:
|