|  |  | 
|  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte | 
|  |  | 
|  | PNY präsentiert die neue NVIDIA RTX A400 und die A1000 Grafikkarte, eine Pressemitteilung 
 | 
| Autor | Thema:  Layerliste bilden (1216 mal gelesen) | 
 | Waldemar Mitglied
 Applikationsingenieur
 
   
 
      Beiträge: 264Registriert: 06.09.2001
 |    erstellt am: 25. Nov. 2005 10:38  <-- editieren / zitieren -->    Unities abgeben:            
  Hallo liebes Forum, versuche mit Lisp ein Programm zu schreiben in dem ich nach Auswahl der Objekte alle anderen Layer ausschalte außer der auf denen die Objekte Liegen. So weit hab ich es schon geschafft, dass Objekte die gewählt werden ausgeschaltet werden. Beim Bilden einer Liste komme ich leider nicht weiter. Kann mir jemand einen "Schubser" geben wie ich es am besten erreiche. (defun C:LAYSELWP (/)
 ;(/ CM AU LA ZA)
 
 ;Systemvariablen werden gespeichert
 (Setq CM (Getvar "Cmdecho"))
   ;Systemvariablen werden gesetzt(Setvar "Cmdecho" 0)
 ;Auswahlsatz wird gebildet
 (Princ "\nSelektierte Layer anzeigen:")
 (If									;Wenn
 (Setq AU (ssget))							;Objektauswahl wird erstellt
 (Progn								;dann, Progn arbeite das ab
 (Setq ZA 0)							;Zähler setzen
 (Repeat (Sslength AU)						;wiederholt (Repeat) so oft wie Sslength aus AU bekommt
 (Setq LA (Cdr (Assoc 8 (Entget (Ssname AU ZA)))))		;gibt den letzten Layernamen aus dem ges. Auswahlsatz
 ;LISTE DER LAYER DIE NICHT AUSGESCHALTET WERDEN;(Setq LI )
 
 ;Prüfung ob Layer ausgeschaltet werden kann
 ;       (If 								;Wenn
 ;	  (= LA (Getvar "Clayer"))					;Objektauswahl = Aktueller Layer
 ;	  (Princ (Strcat "\nLayer '" LA "' ist aktuell. Kann daher nicht gefroren werden!"))	;dann Meldung
 ;	  (Progn							;sonnst
 ;	    (Command "_.LAYER" "_FREEZE" LA "")				;Layer ausschalten und
 ;           (Princ (Strcat "\nLayer '" LA "' wurde eingefroren!")) 	;Bildschirmmeldung
 ;	  ) ;Progn
 ;	) ;If
 (Command "_.LAYER" "_OFF" "*" "_YES" "_FREEZE" "*" "")	;Layer ausschalten und frieren
 (Command "_.LAYER" "_ON" LA "_THAW" LA "")			;Layer einschalten und tauen
 	(Setq ZA (+ ZA 1))						;Zähler um 1 erhöhen
 ) ;Repeat
 ) ;Progn
 
 (Alert "Es wurden keine Objekte ausgewählt.")
 );If
   ;Systemvariablen werden zurückgesetzt
 (Setvar "Cmdecho" CM)
   (princ)) ;Defun
 (prompt "\n\nProgramm starten mit LAYSELWP") ; ********** Ende ********** Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP | 
                        | Brischke Moderator
 CAD on demand GmbH
 
         
 
  
 
      Beiträge: 4201Registriert: 17.05.2001
 AutoCAD 20XX, defun-tools (d-tools.eu) |    erstellt am: 25. Nov. 2005 10:49  <-- editieren / zitieren -->    Unities abgeben:           Nur für Waldemar   | 
                        | CADchup Ehrenmitglied V.I.P. h.c.
 
 
 
  
 
      Beiträge: 3338Registriert: 14.03.2001
 Sicher ist, dass nichts sicher ist. Selbst das nicht.Joachim Ringelnatz
 |    erstellt am: 25. Nov. 2005 11:21  <-- editieren / zitieren -->    Unities abgeben:           Nur für Waldemar   | 
                        | Waldemar Mitglied
 Applikationsingenieur
 
   
 
      Beiträge: 264Registriert: 06.09.2001
 |    erstellt am: 25. Nov. 2005 11:31  <-- editieren / zitieren -->    Unities abgeben:            
  Hallo Holger, danke für den Tipp. Ich werde es versuchen. Hallo CADchup, die Befehle aus den ExpressTools haben mich darauf gebracht. Um meine Lisp Kenntnisse zu verbessern quelle ich mich mit den kleinen Makros durch.
 Schöne GrüßeWaldemar
   Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP | 
                        | mkl-cad Mitglied
 Technischer Zeichner
 
   
 
      Beiträge: 378Registriert: 23.07.2003
 ACAD 2002Express Tools 1-9
 Architektural Desktop
 Windows XP
 Server Windows 2003
 3 GHz Rechner
 1 GB RAM
 80 GB Festplatte
 ATI FireGL V3100
 2 17" Flachbildschirme
 |    erstellt am: 25. Nov. 2005 13:00  <-- editieren / zitieren -->    Unities abgeben:           Nur für Waldemar   | 
                        | Bernd P Ehrenmitglied V.I.P. h.c.
 cook-general
 
 
  
 
      Beiträge: 3467Registriert: 07.06.2001
 W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365 |    erstellt am: 01. Aug. 2006 10:44  <-- editieren / zitieren -->    Unities abgeben:           Nur für Waldemar   | 
                        | cadffm Moderator
 良い精神
 
         
 
  
 
      Beiträge: 22689Registriert: 03.06.2002
 Alles |    erstellt am: 01. Aug. 2006 10:51  <-- editieren / zitieren -->    Unities abgeben:           Nur für Waldemar   | 
                        | Bernd P Ehrenmitglied V.I.P. h.c.
 cook-general
 
 
  
 
      Beiträge: 3467Registriert: 07.06.2001
 W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365 |    erstellt am: 01. Aug. 2006 10:58  <-- editieren / zitieren -->    Unities abgeben:           Nur für Waldemar   
  Ooh hab mich verlessen, dachte er wollte ein LayerisoInvert Die Layer der Objekte die gewählt sind sollen ausgeschalten werden. ------------------"Warum Einfach es geht auch kompliziert". Schöne Grüsse aus der Steiermark  Bernd P.
 Bitte Supportangaben eintragen, warum siehst du hier
 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP | 
                       
 | cadffm Moderator
 良い精神
 
         
 
  
 
      Beiträge: 22689Registriert: 03.06.2002
 Alles |    erstellt am: 01. Aug. 2006 12:06  <-- editieren / zitieren -->    Unities abgeben:           Nur für Waldemar   |