Hallo an alle die hier fleißig anderen Leuten helfen,
habe hier auch schon eine Menge nützlicher Tipps und Tricks gefunden, die mir auch schon sehr weitergeholfen haben.... Danke hierfür...
Nun zu meiner Frage ich habe folgenden Code gefunden. (und eingebaut)
(defun c:layer01 ()
(if(and(setq Objekt_1 (entget (car (entsel))))
(tblobjname "LAYER" "01-KNT")
)
(entmod (subst (cons 8 "01-KNT")(assoc 8 Objekt_1) Objekt_1))
)
)
Dadurch soll 1 Objekt das sich auf der Zeichnung befindet in Layer 01-KNT den ich definiert habe umgewandelt werden incl. Farbe und Linientyp. Das klappt auch sehr gut nun wollte ich aber nicht nur 1 Objekt wählen sondern mit "kreuzen" oder Fenster mehrere Objekte gleichzeitig. Ich habe Versucht die Funktion SSGET einzubauen aber leider bekomme ich es nicht hin das die Objekte die dann in der Variablen gespeichert sind auch geändert werden. Wie kann ich den ENTGET Befehl so formulieren das ich auch ein Fenster wählen kann bzw. mehrere Objekte bevor der Befehl ausgeführt wird? Ich habe es so versucht:
(defun c:layer01 ()
(setq A (ssget))
(if(and(setq Objekt_1 (entget (car (entsel))))
(tblobjname "LAYER" "01-KNT")
)
(entmod (subst (cons 8 "01-KNT")(assoc 8 A) A))
)
)
Hierbei muss ich die Objekte "doppelt" markieren aber der gewünschte Effekt tritt nicht ein! würde gerne das entget so abwandeln das ich auf ssget verzichten könnte aber ich bekomme das nicht hin... Habe auch schon im Tutorial bei Mapcar geschaut aber irgendwie wende ich dieses wissen falsch an....
Schon mal rechtherzlichen Dank für eure Vorschläge.
Thomas aus Saarbrücken
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP