Code:
(defun c:ske (/)
(vl-load-com)
(setq acadDocument (vla-get-activedocument (vlax-get-acad-object)))
(setq ssets (vla-get-selectionsets acadDocument))
(if (vl-catch-all-error-p (vl-catch-all-apply 'vla-item (list ssets "$Set")))
(setq newsset (vla-add ssets "$Set"))
(progn
(vla-delete (vla-item ssets "$Set"))
(setq newsset (vla-add ssets "$Set"))
)
)
(setq filter_code (vlax-make-safearray vlax-vbinteger '(0 . 0)))
(setq filter_value (vlax-make-safearray vlax-vbvariant '(0 . 0)))
(vlax-safearray-fill filter_code '(2))
(vlax-safearray-fill filter_value '("SK_NEU"))
(vla-select newsset acSelectionSetAll nil nil filter_code filter_value)
(if (>= (vla-get-count newsset) 1)
(sk)
;if the block is not found
(alert
"\Kein Schriftkopf im aktuellen Layout gefunden!
\nBitte einen Schriftkopf einfügen!"
)
)
(princ)
)
(defun sk (/)
(vl-load-com)
(setq item (vla-item newsset 0))
(setq theatts (vla-getattributes item))
(setq attlist (vlax-safearray->list (variant-value theatts)))
(mapcar 'set '(theattribute1 theattribute2 theattribute3 theattribute4 theattribute5 theattribute6 theattribute7) attlist)
(setq eb3 (vla-get-textstring theattribute1)
eb7 (vla-get-textstring theattribute2)
eb9 (vla-get-textstring theattribute3)
eb10 (vla-get-textstring theattribute4)
Fertigungsprozess (vla-get-textstring theattribute5)
Produktionsanlage (vla-get-textstring theattribute6)
Zeichnungstyp (vla-get-textstring theattribute7)
)