Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Block Auswahl Attributbezeichnung

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:   Block Auswahl Attributbezeichnung (83 mal gelesen)
Bernd P
Ehrenmitglied V.I.P. h.c.
cook-general



Sehen Sie sich das Profil von Bernd P an!   Senden Sie eine Private Message an Bernd P  Schreiben Sie einen Gästebucheintrag für Bernd P

Beiträge: 3218
Registriert: 07.06.2001

AMD A8-3870, W7-64bit, 16GB RAM, HP DJ T2300mfp, HP DJ 500, Maus:G700s, Sub:Infrastructure Design Suite, Excel 2013,

erstellt am: 13. Jan. 2021 11:11    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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




Sehen Sie sich das Profil von CADwiesel an!   Senden Sie eine Private Message an CADwiesel  Schreiben Sie einen Gästebucheintrag für CADwiesel

Beiträge: 1936
Registriert: 05.09.2000

AutoCAD, Bricscad
Wir machen das Mögliche unmöglich

erstellt am: 13. Jan. 2021 11:26    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Bernd P 10 Unities + Antwort hilfreich

Du musst diese Zeile (/= n (strcase (cdr (assoc 2 x)))) mit einer wcmatch antselle von =/ anpassen

------------------
Gruß
CADwiesel
Besucht uns im CHAT

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Bernd P
Ehrenmitglied V.I.P. h.c.
cook-general



Sehen Sie sich das Profil von Bernd P an!   Senden Sie eine Private Message an Bernd P  Schreiben Sie einen Gästebucheintrag für Bernd P

Beiträge: 3218
Registriert: 07.06.2001

AMD A8-3870, W7-64bit, 16GB RAM, HP DJ T2300mfp, HP DJ 500, Maus:G700s, Sub:Infrastructure Design Suite, Excel 2013,

erstellt am: 13. Jan. 2021 12:37    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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 >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2021 CAD.de | Impressum | Datenschutz