Merry Christmas!
This code about "copy object from block " ,have a little small flawsnly single choice ,can you help me change to multi-choice? thank you!
- ;xshrimp 2009.3.13(defun c:nn ( / acaddocument acadobject blockobj blockrefobj i mspace n nent obj objent)(VL-LOAD-COM)(defun make*ublock(obj / blockobj) (setq blockObj (vla-add (vla-get-Blocks AcadDocument) (vlax-3d-point (list 0 0 0)) "*U" ) ) (vla-CopyObjects AcadDocument (vlax-safearray-fill (vlax-make-safearray vlax-vbObject (cons 0 0) ) (list obj) ) blockObj ) (vla-delete obj)(vla-get-name blockObj) )(setq AcadObject (vlax-get-acad-object) AcadDocument (vla-get-ActiveDocument Acadobject) mSpace (vla-get-ModelSpace Acaddocument))(if (= (length (setq nent (nentsel))) 4)(progn (entmake (entget (car nent))) (setq objent (vlax-ename->vla-object (entlast))i 0) (foreach n (last nent) (setq obj (vlax-ename->vla-object n)) (setq blockRefObj ( vla-InsertBlock mSpace (vla-get-InsertionPoint obj) (make*ublock objent ) (vla-get-xScaleFactor obj) (vla-get-yScaleFactor obj) (vla-get-zScaleFactor obj) (vla-get-Rotation obj) ) ) (setq i (1+ i)) (if(> i 1) (command "_.explode" (entlast)) ) (setq objent(vlax-ename->vla-object (entlast))) );end foreach (command "_.explode" (entlast))(sssetfirst nil (ssget "p")) ))(prin1))
|