| |
| 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: ssget für Texte mit Farbe nicht VONLAYER (1518 / mal gelesen)
|
cadking Mitglied CAD-Zeichendiensleistung
Beiträge: 242 Registriert: 26.10.2004 Intel Quadcore i7,W7-64bit, Quadro FX 3800 MEP/ACA2018; MEP/ACA2018; MEP/ACA2021; MEP/ACA2021
|
erstellt am: 11. Jan. 2017 10:51 <-- editieren / zitieren --> Unities abgeben:
Hallo Lispler, ich möchte einen Auswahlsatz aller Texte und Mtexte erstellen, die nicht die Farbe VONLAYER haben: Die Farbe ist mit (cons 62 *) beschrieben, Bei Farbe VONLAYER fehlt (cons 62 ). Wie definiere ich das mit ssget? (setq txtcol (ssget "_X" (list '(-4 . "<and")'(0 . "*Text")(cons 8 "E-IT-T")'(-4 . "<not")(cons 62 *)'(-4 . "not>")'(-4 . "and>")))); Auswahl aller Texte und Mtexte mit Farbe "nicht vonlayer" funktioniert nicht. Weiterhin möchte ich, wenn ein (cons 62) vorhanden ist, den Text auf Farbe VONLAYER ändern, also das (cons 62) aus der Liste löschen und mit (entmod neulist) updaten. Kann mir da jemand weiterhelfen? ------------------ Danke Stefan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernd P Ehrenmitglied V.I.P. h.c. cook-general
Beiträge: 3424 Registriert: 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: 11. Jan. 2017 11:01 <-- editieren / zitieren --> Unities abgeben: Nur für cadking
Servus, ich weiß nicht deine Frage, aber wäre es nicht simpler gleich alle Texte und Mtexte auf Vonlayer zu ändern? ------------------ <----- Bitte Systeminfo eintragen, warum siehst du hier. Schöne Grüsse aus der Steiermark Bernd P. 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: 11. Jan. 2017 11:08 <-- editieren / zitieren --> Unities abgeben: Nur für cadking
Hallo Stefan, ich hatte mir vor Jahren mal dazu was gebastelt :-). Nicht umbedingt elegant, aber funktioniert. Code:
(defun c:fl() (princ "Elemente wählen") (setq tl (ssget)) (setq anz (sslength tl)) (setq x 0) (while (< x anz) (setq ct (ssname tl x)) (setq ctl (entget ct)) ; farbe setzen auf vonlayer (setq ctl (subst (cons 62 256) (assoc 62 ctl) ctl)) (entmod ctl) (entupd ct) (setq x (1+ x)) ) )
HTH Gruß Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 Alles
|
erstellt am: 11. Jan. 2017 11:25 <-- editieren / zitieren --> Unities abgeben: Nur für cadking
|
cadking Mitglied CAD-Zeichendiensleistung
Beiträge: 242 Registriert: 26.10.2004 Intel Quadcore i7,W7-64bit, Quadro FX 3800 MEP/ACA2018; MEP/ACA2018; MEP/ACA2021; MEP/ACA2021
|
erstellt am: 11. Jan. 2017 12:14 <-- editieren / zitieren --> Unities abgeben:
|
cadking Mitglied CAD-Zeichendiensleistung
Beiträge: 242 Registriert: 26.10.2004 Intel Quadcore i7,W7-64bit, Quadro FX 3800 MEP/ACA2018; MEP/ACA2018; MEP/ACA2021; MEP/ACA2021
|
erstellt am: 11. Jan. 2017 12:55 <-- editieren / zitieren --> Unities abgeben:
Hallo Thomas, das funktioniert prima für Indexfarben, aber nicht bei Truecolor- und Farbbuchfarben. Da muss man noch die assoc (420 .) bei Truecolor bzw. die assoc (420 .) und assoc (430 .) bei Farbbuchfarben aus der Liste löschen. ------------------ Danke Stefan 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: 11. Jan. 2017 13:20 <-- editieren / zitieren --> Unities abgeben: Nur für cadking
Zitat: Original erstellt von cadking: Hallo Thomas, das funktioniert prima für Indexfarben, aber nicht bei Truecolor- und Farbbuchfarben. Da muss man noch die assoc (420 .) bei Truecolor bzw. die assoc (420 .) und assoc (430 .) bei Farbbuchfarben aus der Liste löschen.
Davon war ja auch bisher noch nicht die Rede ... Gruß Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joern bosse Ehrenmitglied Dipl.-Ing. Vermessung
Beiträge: 1763 Registriert: 11.10.2004 Window 11 ACAD 2021 CIVIL 2021 BricsCAD ab V14 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz 2.80 GHz 32.0GB RAM NVIDIA GeForce MX450<P>
|
erstellt am: 11. Jan. 2017 14:38 <-- editieren / zitieren --> Unities abgeben: Nur für cadking
Hallo Stefan, um die Farbe von allen Objekten auf VonLayer umzustellen (auch RGB und Farbbücher) sollte folgender Code funktionieren: Code:
(defun c:TEST ( / AWS N VLA-TRUECOLOR) (if (setq aws (ssget "_X" '((0 . "*TEXT")(-4 . "/=")(62 . 256)))) (progn (setq n 0) (repeat (sslength aws) (setq vla-TrueColor (vla-get-TrueColor (vlax-ename->vla-object (ssname aws n)))) (vla-put-ColorMethod vla-TrueColor 192) (vla-put-TrueColor (vlax-ename->vla-object (ssname aws n)) vla-TrueColor) (setq n (+ n 1))) ) ) )
------------------ viele Grüße Jörn http://www.bosse-engineering.com Liniensignaturen Youtube Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Meldin Mitglied
Beiträge: 398 Registriert: 15.07.2011 ACA2020 Windows10
|
erstellt am: 11. Jan. 2017 16:42 <-- editieren / zitieren --> Unities abgeben: Nur für cadking
|
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 Alles
|
erstellt am: 11. Jan. 2017 16:48 <-- editieren / zitieren --> Unities abgeben: Nur für cadking
Für den aktuellen Bereich, natürlich. (ssget "_X") erfasst zwar Objekte über alle Bereiche hinweg, aber der Befehl Ändern filtert diese für sich raus. SetByLayer/siehe auch SetByLayermode könnte sogar verschachtelte Objekte handeln. Es gibt ja Befehle, man muß Sie nur nutzen. ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Meldin Mitglied
Beiträge: 398 Registriert: 15.07.2011 ACA2020 Windows10
|
erstellt am: 11. Jan. 2017 17:18 <-- editieren / zitieren --> Unities abgeben: Nur für cadking
Ich falle da jedes mal drauf rein mit_X so würde es natürlich auch gehen ähnlich Jörn Code: (if (setq aws (ssget "_X" '((0 . "*TEXT")(-4 . "/=")(62 . 256)))) (progn (foreach teil (mapcar 'cadr(ssnamex AWS)) (setpropertyvalue teil "Color" "256") ) ) )
------------------ Gruß Wolfgang Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |