Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  Auswahlsätze mit Hilfe von Attributeinträgen erstellen

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
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Auswahlsätze mit Hilfe von Attributeinträgen erstellen (233 mal gelesen)
Lars Geis
Mitglied
Architekt


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

Beiträge: 346
Registriert: 21.03.2003

ACAD 2002/ADT 3.3/Win2000 Pro/P4 1.7/512 MB/Elsa Synergy III/CAD-Support ABCOM GmbH Darmstadt

erstellt am: 03. Apr. 2003 09:36    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

Suche nach einer Möglichkeit, einen Auswahlsatz aus Attributsblöcken zu erstellen, bei denen ein Attribut einen bestimmten Eintrag enthält. Beispiel: Alle Blöcke, die im Attribut "RAUMBEZEICHNUNG" den Eintrag "Bad" enthalten. Dieser Auswahlsatz soll dann in eine andere Zeichnung kopiert werden ...
Hat da jemand eine Idee?

------------------
Grüße aus Darmstadt

Lars Geis
ABCOM GmbH

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

marc.scherer
Ehrenmitglied V.I.P. h.c.
CAD-Administrator



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

Beiträge: 2490
Registriert: 02.11.2001

Windows 10 64bit
AutoCAD Architecture 2018/2019 (deu/eng)
AEC-Collection 2019 (Revit und Zeugs)
Wenn sich's nicht vermeiden läßt:
D-A-CH Erweiterung (mies implementierter Schrott)

erstellt am: 03. Apr. 2003 10:13    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 Lars Geis 10 Unities + Antwort hilfreich

Hi,
mittels Programmierung kein Problem.
So ein Programm könnte aber je nach Art und Größe der Datei und/oder der Blöcke etwas Zeit brauchen um den Auswahlsatz zu erzeugen.
Grundsätzlich aber nicht so schwierig.
Mußt 'halt nur einen finden der's macht oder aber selbst ran.
Wenn ich Zeit find, mache ich mir mal Gedanken...

------------------
Ciao,
Marc

[Diese Nachricht wurde von marc.scherer am 03. April 2003 editiert.]

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

Brischke
Ehrenmitglied V.I.P. h.c.
CAD on demand GmbH



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

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools

erstellt am: 03. Apr. 2003 10:20    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 Lars Geis 10 Unities + Antwort hilfreich

Hallo Lars,

mit den Standard - AutoCAD-Befehlen ist da nichts zu machen. Mit LISP kann man da was basteln.
Dazu muß man zunächst mal herausbekommen, welche Blockdefinitionen das Attribut mit dieser Bezeicnung überhaupt haben, um dann die INSERTS dieser so ermittelten Blöcke zu durchlaufen, um die Attributwerte zu vergleichen. Ist doch einiges zu tun.

Bei Fragen ...

Grüße Holger

------------------
Holger Brischke
CADlon - Lisp over night!
Neue Tool's im Free-&Download
Zugang zum Download schon gesichert?

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

marc.scherer
Ehrenmitglied V.I.P. h.c.
CAD-Administrator



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

Beiträge: 2490
Registriert: 02.11.2001

Windows 10 64bit
AutoCAD Architecture 2018/2019 (deu/eng)
AEC-Collection 2019 (Revit und Zeugs)
Wenn sich's nicht vermeiden läßt:
D-A-CH Erweiterung (mies implementierter Schrott)

erstellt am: 03. Apr. 2003 14:36    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 Lars Geis 10 Unities + Antwort hilfreich

Hi,
bitteschön, meine Lösung in Lisp:
[mit schön 'n paar mapcar's für den Axel ;-)]
Code:

(defun C:ATT-SEARCH
       (/ BLOCKLST BNAMES SEARCHATTNAME SEARCHWHAT SGET SSRETVAL X)
  (setq SEARCHATTNAME (getstring
                        "\nName des Attributs in dem der Text gesucht werden soll?: "
                      ) ;_ end getstring
        SEARCHWHAT    (getstring "\nZu suchender Text? (Wildcards-möglich): ")
  ) ;_ end setq
  (if (not (and SEARCHATTNAME SEARCHWHAT))
    (alert "Unzureichende Angaben..., Funktionsende !")
    (progn
      (setq SEARCHATTNAME (vl-string-trim " " (strcase SEARCHATTNAME))
            SEARCHWHAT    (vl-string-trim " " SEARCHWHAT)
      ) ;_ end setq
      (if (not
            (setq BLOCKLST (LISTBLOCKS-BYATTNAME SEARCHATTNAME))
          ) ;_ end not
        (alert (strcat "Ein Attribut mit dem Namen: \""
                       SEARCHATTNAME
                       "\" existiert in DIESER Zeichnung nicht !"
               ) ;_ end strcat
        ) ;_ end alert
        (progn
          (setq SGET
                 (ssget
                   "x"
                   (list
                     (cons
                       2
                       (setq BNAMES
                              (vl-string-right-trim
                                ","
                                (apply
                                  'strcat
                                  (mapcar '(lambda (X) (strcat X ",")) BLOCKLST)
                                ) ;_ end apply
                              ) ;_ end vl-string-right-trim
                       ) ;_ end setq
                     ) ;_ end cons
                     (cons 410 (getvar "ctab"))
                   ) ;_ end list
                 ) ;_ end ssget
          ) ;_ end setq
          (if (not SGET)
            (alert (strcat "Keine Blockeinfügungen für: \""
                           BNAMES
                           "\" gefunden !"
                   ) ;_ end strcat
            ) ;_ end alert
            (progn
              (setq SSRETVAL (ssadd)) ;_ leeren Auswahlsatz erzeugen
              (while (not (zerop (sslength SGET)))
                (if (HASATTSTRING?
                      (ssname SGET 0)
                      SEARCHATTNAME
                      SEARCHWHAT
                    ) ;_ end hasattstring?
                  (ssadd (ssname SGET 0) SSRETVAL)
                ) ;_ end if
                (ssdel (ssname SGET 0) SGET)
              ) ;_ end while
              (if (zerop (sslength SSRETVAL))
                (alert
                  (strcat
                    "Keine Blockeinfügungen für folgende Werte vorhanden: "
                    "\nAttribut:\t"
                    SEARCHATTNAME
                    "\nAtt.wert:\t"
                    SEARCHWHAT
                  ) ;_ end strcat
                ) ;_ end alert
                (progn
                  (sssetfirst SSRETVAL SSRETVAL)
                  (princ
                    "\nAuswahlsatz erzeugt und markiert. AutoCAD Kommando eingeben..."
                  ) ;_ end princ
                ) ;_ end progn
              ) ;_ end if
            ) ;_ end progn
          ) ;_ end if
        ) ;_ end progn
      ) ;_ end if
    ) ;_ end progn
  ) ;_ end if
  (princ)
) ;_ end defun


(defun HASATTSTRING? (ENAME ATTNAME ATTWRT / EDATA RETVAL)
  (setq EDATA (entget ENAME)) ;_ end setq
  (if (assoc 66 EDATA) ;_ GC 66 fehlt, wenn Block keine Attrib's hat
    (progn
      (while (/= (cdr (assoc 0 EDATA)) "SEQEND") ;_ Solange die Sequenz nicht endet...
        (setq EDATA (entget (entnext (cdr (assoc -1 EDATA)))))
        (if (= (cdr (assoc 0 EDATA)) "ATTRIB")
          (if (and (= (cdr (assoc 2 EDATA)) ATTNAME)
                   (wcmatch (cdr (assoc 1 EDATA)) ATTWRT)
              ) ;_ end and
            (setq RETVAL (list (cons 0 "SEQEND")))
          ) ;_ end if
        ) ;_ end if
      ) ;_ end while
    ) ;_ end progn
  ) ;_ end if
  RETVAL
) ;_ end defun

(defun LISTBLOCKS-BYATTNAME (ATTNAME / TBLIST TBWRT)
  (if (setq TBWRT (tblnext "Block" t)) ;_ ersten Eintrag der Blocktabelle finden
    (progn
      (setq TBLIST (list TBWRT))
      (while (setq TBWRT (tblnext "Block"))
        (setq TBLIST (cons TBWRT TBLIST))
      ) ;_ end while
      (if
        (setq
          TBLIST (vl-remove-if
                   '(lambda (X) (zerop (logand 2 (cdr (assoc 70 X)))))
                   TBLIST
                 ) ;_ end vl-remove-if
        ) ;_ end setq
         (vl-remove-if-not ;_ nil's entfernen !
           '(lambda (X) X)
           (mapcar '(lambda (X) (HASATTNAME? ATTNAME X)) TBLIST)
         ) ;_ end vl-remove-if-not
      ) ;_ end if
    ) ;_ end progn
  ) ;_ end if
) ;_ end defun

 
(defun HASATTNAME? (ATTNAME CHKLIST / OBJDATA OBJLIST)
  (setq OBJDATA (entget (cdr (assoc -2 CHKLIST)))
        OBJLIST (list OBJDATA)
  ) ;_ end setq
  (while (setq OBJDATA (entnext (cdr (assoc -1 OBJDATA))))
    (setq OBJLIST (cons (setq OBJDATA (entget OBJDATA)) OBJLIST))
  ) ;_ end while
  (if (vl-remove-if-not
        '(lambda (X)
           (and (= (cdr (assoc 0 X)) "ATTDEF")
                (= (cdr (assoc 2 X)) ATTNAME)
           ) ;_ end and
         ) ;_ end lambda
        OBJLIST
      ) ;_ end vl-remove-if-not
    (cdr (assoc 2 CHKLIST))
  ) ;_ end if
) ;_ end defun

(c:att-search) ;_ Autostart nach laden des Lisp !
(princ)


------------------
Ciao,
Marc

[Diese Nachricht wurde von marc.scherer am 03. April 2003 editiert.]

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

Lars Geis
Mitglied
Architekt


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

Beiträge: 346
Registriert: 21.03.2003

ACAD 2002/ADT 3.3/Win2000 Pro/P4 1.7/512 MB/Elsa Synergy III/CAD-Support ABCOM GmbH Darmstadt

erstellt am: 03. Apr. 2003 14:59    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

Hi Marc,

he, vielen dank, dafür gibt es ordentlich unities!!

------------------
Grüße aus Darmstadt

Lars Geis
ABCOM GmbH

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

marc.scherer
Ehrenmitglied V.I.P. h.c.
CAD-Administrator



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

Beiträge: 2490
Registriert: 02.11.2001

Windows 10 64bit
AutoCAD Architecture 2018/2019 (deu/eng)
AEC-Collection 2019 (Revit und Zeugs)
Wenn sich's nicht vermeiden läßt:
D-A-CH Erweiterung (mies implementierter Schrott)

erstellt am: 03. Apr. 2003 16:44    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 Lars Geis 10 Unities + Antwort hilfreich

Hi,
ich noch mal.
Für alle Dos_lib Benutzer nochmal 'ne überarbeitete Version.
Ist 'n bißchen komfortabler nutzbar.
Funktion startet jetzt nach dem laden nicht mehr automatisch.
Funktionsaufrufe: ATT-Search (funzt wie vorher), AATT-Search mit Dos_Lib Dialogfeldern und erweiterten Funktionen.
Code:

(if (not (member "doslib2k.arx" (arx))) ;_ ist doslib2K geladen?
  (progn
    (setq FND (findfile "doslib2k.arx")) ;_ nein? Dann finde es
    (if FND ;_ wenn gefunden, lade es
      (if (eq (arxload FND "err") "err") ;_ Fehler beim laden?
        (alert
          (strcat "\nKonnte \"doslib2k.arx\" finden, aber nicht laden."
                  "\nFunktionen nicht ausführbar."
          ) ;_ end of strcat
        ) ;_ end of alert
      ) ;_ end of if
      (alert
        (strcat
          "\nKonnte \"doslib2k.arx\" nicht finden.\nFunktionen nicht ausführbar."
          "\nDownload der \"doslib2k.arx\" von \"www.mcneel.com\""
          "\nKopiere bitte danach die \"DOS_LIB\" Daten in den Acad-Suchpfad."
        ) ;_ end of strcat
      ) ;_ end of alert
    ) ;_ end if
  ) ;_ end progn
  (princ)
)

(defun C:ATT-SEARCH
      (/ BLOCKLST BNAMES SEARCHATTNAME SEARCHWHAT SGET SSRETVAL X)
  (setq SEARCHATTNAME (getstring
                        "\nName des Attributs in dem der Text gesucht werden soll?: "
                      ) ;_ end getstring
        SEARCHWHAT    (getstring "\nZu suchender Text? (Wildcards-möglich): ")
  ) ;_ end setq
  (ATTSEARCH ATTNAMES SEARCHFOR)
  (princ)
) ;_ end defun

;;; Advanced Att-Search
(defun C:AATT-SEARCH (/ ATTNAMES SEARCHFOR)
  (initget "Manuell")
  (setq ATTNAMES
        (entsel
          "\nAttributnamen ermitteln, Block wählen oder [Manuell]: "
        ) ;_ end entsel
  ) ;_ end setq
  (if (not ATTNAMES)
    (alert "\nKein Block gewählt, Funktionsende !")
    (if (eq ATTNAMES "Manuell")
      (setq ATTNAMES
            (dos_getstring
              "Suche in Attribut-Feld..."
              "Attribut-Feld-Namen eingeben:"
              "Groß/Kleinschreibung ist egal!"
            ) ;_ end dos_getstring
      ) ;_ end getstring
      (if (not (setq ATTNAMES (ATTRIBUTES? (car ATTNAMES))))
        (alert
          "\nGewählter Block enthält keine Attribute, Funktionsende !"
        ) ;_ end alert
        (if (not (setq ATTNAMES
                        (dos_listbox
                          "Suche in welchem Attribut-Feld?"
                          "Einen Attributnamen wählen:"
                          (mapcar '(lambda (X) (car X)) ATTNAMES)
                        ) ;_ end dos_listbox
                ) ;_ end setq
            ) ;_ end not
          (alert "\nNichts gewählt oder Abbruch, Funktionsende !")
          (if (not (setq SEARCHFOR (dos_getstring
                                    "Zu suchender Text..."
                                    "Zu suchenden Text eingeben:"
                                    "(wcmatch)-Wildcards-möglich !"
                                  ) ;_ end dos_getstring
                  ) ;_ end setq
              ) ;_ end not
            (alert "Keine Eingabe für Suchtext, Funktionsende !")
          ) ;_ end if
        ) ;_ end if
      ) ;_ end if
    ) ;_ end if
  ) ;_ end if
  (if (and ATTNAMES SEARCHFOR)
    (ATTSEARCH ATTNAMES SEARCHFOR)
  ) ;_ end if
  (princ)
) ;_ end defun


(defun ATTSEARCH
      (SEARCHATTNAME SEARCHWHAT / BLOCKLST BNAMES SGET SSRETVAL X)
  (if (not (and SEARCHATTNAME SEARCHWHAT))
    (alert "Unzureichende Angaben..., Funktionsende !")
    (progn
      (setq SEARCHATTNAME (vl-string-trim " " (strcase SEARCHATTNAME))
            SEARCHWHAT    (vl-string-trim " " SEARCHWHAT)
      ) ;_ end setq
      (if (not
            (setq BLOCKLST (LISTBLOCKS-BYATTNAME SEARCHATTNAME))
          ) ;_ end not
        (alert (strcat "Ein Attribut mit dem Namen: \""
                      SEARCHATTNAME
                      "\" existiert in DIESER Zeichnung nicht !"
              ) ;_ end strcat
        ) ;_ end alert
        (progn
          (setq SGET
                (ssget
                  "x"
                  (list
                    (cons
                      2
                      (setq BNAMES
                              (vl-string-right-trim
                                ","
                                (apply
                                  'strcat
                                  (mapcar '(lambda (X) (strcat X ",")) BLOCKLST)
                                ) ;_ end apply
                              ) ;_ end vl-string-right-trim
                      ) ;_ end setq
                    ) ;_ end cons
                    (cons 410 (getvar "ctab"))
                  ) ;_ end list
                ) ;_ end ssget
          ) ;_ end setq
          (if (not SGET)
            (alert (strcat "Keine Blockeinfügungen für: \""
                          BNAMES
                          "\" gefunden !"
                  ) ;_ end strcat
            ) ;_ end alert
            (progn
              (setq SSRETVAL (ssadd)) ;_ leeren Auswahlsatz erzeugen
              (while (not (zerop (sslength SGET)))
                (if (HASATTSTRING?
                      (ssname SGET 0)
                      SEARCHATTNAME
                      SEARCHWHAT
                    ) ;_ end hasattstring?
                  (ssadd (ssname SGET 0) SSRETVAL)
                ) ;_ end if
                (ssdel (ssname SGET 0) SGET)
              ) ;_ end while
              (if (zerop (sslength SSRETVAL))
                (alert
                  (strcat
                    "Keine Blockeinfügungen für folgende Werte vorhanden: "
                    "\nAttribut:\t"
                    SEARCHATTNAME
                    "\nAtt.wert:\t"
                    SEARCHWHAT
                  ) ;_ end strcat
                ) ;_ end alert
                (progn
                  (sssetfirst SSRETVAL SSRETVAL)
                  (princ
                    "\nAuswahlsatz erzeugt und markiert. AutoCAD Kommando eingeben..."
                  ) ;_ end princ
                ) ;_ end progn
              ) ;_ end if
            ) ;_ end progn
          ) ;_ end if
        ) ;_ end progn
      ) ;_ end if
    ) ;_ end progn
  ) ;_ end if
  (princ)
) ;_ end defun

(defun attributes? (ENAME / EDATA RETVAL)
  (setq RETVAL '() ;_ Liste initialiseren
        EDATA  (entget ENAME)
  ) ;_ end setq
  (if (assoc 66 EDATA) ;_ GC 66 fehlt, wenn Block keine Attrib's hat
    (progn
      (while (/= (cdr (assoc 0 EDATA)) "SEQEND") ;_ Solange die Sequenz nicht endet...
        (setq EDATA (entget (entnext (cdr (assoc -1 EDATA)))))
        (if (= (cdr (assoc 0 EDATA)) "ATTRIB")
          (setq RETVAL
                (cons
                  (cons (cdr (assoc 2 EDATA)) (cdr (assoc 1 EDATA)))
                  RETVAL
                ) ;_ end cons
          ) ;_ end setq
        ) ;_ end if
      ) ;_ end while
      (setq RETVAL (reverse RETVAL))
    ) ;_ end progn
  ) ;_ end if
  RETVAL
)

(defun HASATTSTRING? (ENAME ATTNAME ATTWRT / EDATA RETVAL)
  (setq EDATA (entget ENAME)) ;_ end setq
  (if (assoc 66 EDATA) ;_ GC 66 fehlt, wenn Block keine Attrib's hat
    (progn
      (while (/= (cdr (assoc 0 EDATA)) "SEQEND") ;_ Solange die Sequenz nicht endet...
        (setq EDATA (entget (entnext (cdr (assoc -1 EDATA)))))
        (if (= (cdr (assoc 0 EDATA)) "ATTRIB")
          (if (and (= (cdr (assoc 2 EDATA)) ATTNAME)
                  (wcmatch (cdr (assoc 1 EDATA)) ATTWRT)
              ) ;_ end and
            (setq RETVAL (list (cons 0 "SEQEND")))
          ) ;_ end if
        ) ;_ end if
      ) ;_ end while
    ) ;_ end progn
  ) ;_ end if
  RETVAL
) ;_ end defun

(defun LISTBLOCKS-BYATTNAME (ATTNAME / TBLIST TBWRT)
  (if (setq TBWRT (tblnext "Block" t)) ;_ ersten Eintrag der Blocktabelle finden
    (progn
      (setq TBLIST (list TBWRT))
      (while (setq TBWRT (tblnext "Block"))
        (setq TBLIST (cons TBWRT TBLIST))
      ) ;_ end while
      (if
        (setq
          TBLIST (vl-remove-if
                  '(lambda (X) (zerop (logand 2 (cdr (assoc 70 X)))))
                  TBLIST
                ) ;_ end vl-remove-if
        ) ;_ end setq
        (vl-remove-if-not ;_ nil's entfernen !
          '(lambda (X) X)
          (mapcar '(lambda (X) (HASATTNAME? ATTNAME X)) TBLIST)
        ) ;_ end vl-remove-if-not
      ) ;_ end if
    ) ;_ end progn
  ) ;_ end if
) ;_ end defun

 
(defun HASATTNAME? (ATTNAME CHKLIST / OBJDATA OBJLIST)
  (setq OBJDATA (entget (cdr (assoc -2 CHKLIST)))
        OBJLIST (list OBJDATA)
  ) ;_ end setq
  (while (setq OBJDATA (entnext (cdr (assoc -1 OBJDATA))))
    (setq OBJLIST (cons (setq OBJDATA (entget OBJDATA)) OBJLIST))
  ) ;_ end while
  (if (vl-remove-if-not
        '(lambda (X)
          (and (= (cdr (assoc 0 X)) "ATTDEF")
                (= (cdr (assoc 2 X)) ATTNAME)
          ) ;_ end and
        ) ;_ end lambda
        OBJLIST
      ) ;_ end vl-remove-if-not
    (cdr (assoc 2 CHKLIST))
  ) ;_ end if
) ;_ end defun

;_ (c:att-search) ;_ Autostart nach laden des Lisp !
(princ "\nAuswahlsatz von Blöcken nach Kriterium: Attributname/-wert erzeugen. ATT-SEARCH und AATT-SEARCH")
(princ)


------------------
Ciao,
Marc

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)2023 CAD.de | Impressum | Datenschutz