(defun c:mbl ( / index)
  (prompt "**** Block mit Properties bilden *******")
  (prompt "")
  (setq auswahl-satz nil)
  (setq auswahl-satz (ssget))
  (setq PT0 (getpoint "\nUrsprung antippen: "))
  (bl-name PT0) ; block-kennung ermitteln (in SSTBASE)
  (setq index 0.0)
  (while (< index (sslength auswahl-satz))          ; Anfang WHILE
    (setq E (ssname auswahl-satz index))            ; Entity-Name setzen
    (setq blockname (cdr (assoc 2 (entget e))))     ; BLOCKNAME ermitteln
    (print blockname)                               ; Blockname drucken
    (print E)                                       ; und auf SCRREN anzeigen
    (setq TYP (cdr (assoc 0 (entget E))))           ; Objekt-ART 
    (if
      (and
        (equal typ "INSERT")                        ; wenn BLOCK
        (equal (cdr (assoc 66 (entget e))) 1)       ; und ATTRIBUTE vorhanden
      )
      (progn                                        ; dann
        (einzel-attr-aendern "C" block-kennung 0)   ; oberen Block „ndern
        (setq OBJ1   (tblsearch "BLOCK" blockname)) ; in der Blocktabelle suchen
        (setq OBJEKT (cdr (assoc -2 OBJ1)))         ; n„chstes Objekt
        (princ OBJ1)
        (while OBJEKT                               ; fr alle Objekte des Blockes
;          (einzel-attr-aendern "C" block-kennung 0)  
;          (setq typ1 (cdr (assoc 0 (entget OBJEKT))))
          (setq typ2 (cdr (assoc 2 (entget OBJEKT))))
          (if (equal typ2 "C")
            (entmod (subst (cons 1 block-kennung) (assoc 1 (entget OBJEKT)) (entget OBJEKT)))
          )  
          (setq OBJEKT (entnext OBJEKT))           ; n„chstes Objekt
        )                                          ; ende WHILE fr alle Objekte des Blockes
      )
    )
    (setq index (1+ index))
  )                                                 ; ende WHILE
  (princ)
  (mach-block PT0 "0" auswahl-satz)
  (attribute-aendern "0" "2" "1" "" "" block-kennung "" "" "" "")  ; in SSTBASE.LSP
  (setq auswahl-satz nil)
)






;(defun c:blockliste (/ datei block objekt)
;  (setq datei (open (strcat (getvar "DWGNAME") ".BLK") "w"))
;  (setq block (tblnext "BLOCK" t))
;  (while block
;    (print block datei)
;    (setq objekt (cdr (assoc -2 block)))
;    (while objekt
;      (print (entget objekt) datei)
;      (setq objekt (entnext objekt))
;    )
;    (setq block (tblnext "BLOCK"))
;  )
;  (close datei)
;  (princ)
;)
