| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Block Auswahl Attributbezeichnung (600 / mal gelesen)
|
Bernd P Ehrenmitglied V.I.P. h.c. cook-general
Beiträge: 3358 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: 13. Jan. 2021 11:11 <-- editieren / zitieren --> Unities abgeben:
Servus, Ziel soll sein alle Vermessungsblöcke zu selektieren. hab dazu das LSP gefunden.... https://www.cadtutor.net/forum/topic/64787-select-blocks-by-attribute-tag/ Diese LSP selektiert die Blöcke wenn ein Attribut mit der Bezeichnung HOEHE enthalten ist. Jetzt haben die Vermesser ja die Angewohnheit alle mögliche als Bezeichnung für die Höhe zu verwenden. "H,HOEHE,HÖHE,HOE" Die Frage: "H,HOEHE,HÖHE,HOE" und Platzhalter "*H*" funktioniert nicht. Wie kann ich es am einfachsten erweitern? Code: (defun c:selbytag ( / a e i n s x ) (setq n "HOEHE") (if (setq s (ssget "_X" '((0 . "INSERT") (66 . 1)))) (repeat (setq i (sslength s)) (setq i (1- i) e (ssname s i) a (entnext e) x (entget a) ) (while (and (= "ATTRIB" (cdr (assoc 0 x))) (/= n (strcase (cdr (assoc 2 x))))) (setq a (entnext a) x (entget a) ) ) (or (= "ATTRIB" (cdr (assoc 0 x))) (ssdel e s)) ) ) (sssetfirst nil s) (princ) )
Hintergrund: ich will Vermessungen GIS tauglich machen. Dazu will nur die Vermessungspunkte als Punkte und den Rest als normale Geometrie raus schreiben. ------------------ <----- 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 |
CADwiesel Moderator CAD4FM UG
Beiträge: 1968 Registriert: 05.09.2000 AutoCAD, Bricscad Wir machen das Mögliche unmöglich
|
erstellt am: 13. Jan. 2021 11:26 <-- editieren / zitieren --> Unities abgeben: Nur für Bernd P
|
Bernd P Ehrenmitglied V.I.P. h.c. cook-general
Beiträge: 3358 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: 13. Jan. 2021 12:37 <-- editieren / zitieren --> Unities abgeben:
thx.... (while (and (= "ATTRIB" (cdr (assoc 0 x))) (not(wcmatch (strcase (cdr (assoc 2 x))) "H,HOEHE,HÖHE,HOE" ))) ------------------ <----- 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 |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|