^C^C_osnapz;1;vs;2;-v;t;qsave;
(defun c:KopieerBlokSel ( / ent entname oldName newName ss)
(prompt "\nSelecteer een blok om te kopiëren: ")
(setq ent (car (entsel)))
(if (and ent (= (cdr (assoc 0 (entget ent))) "INSERT"))
(progn
(setq entname (cdr (assoc 2 (entget ent))))
(setq oldName entname)
(setq newName (strcat oldName "_01"))
;; Controleer of de nieuwe bloknaam al bestaat
(if (tblsearch "block" newName)
(princ (strcat "\nBlok '" newName "' bestaat al."))
(progn
;; Verzamel alle entiteiten in originele blok
(setq ss (ssadd))
(vlax-for obj (vla-item (vla-get-blocks (vla-get-activedocument (vlax-get-acad-object))) oldName)
(ssadd (vlax-vla-object->ename obj) ss)
)
;; Maak nieuwe blokdefinitie met nieuwe naam
(command "_-BLOCK" newName '(0 0 0) ss "")
(princ (strcat "\nBlok '" oldName "' gekopieerd als '" newName "'."))
)
)
)
(princ "\nSelectie is geen blok.")
)
(princ)
)