flyfox1047 发表于 2022-7-5 23:49:12

help me change to multi-choice

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-nameblockObj) )(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*ublockobjent )      (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))

ReMark 发表于 2022-7-6 00:25:43

What exactly does the lisp routine do?Does it explode the block first so you can then copy some part of it?

flyfox1047 发表于 2022-7-6 00:52:43

 
Hi !ReMark , thank you Reply ,Don't discuss "explode" right now!
页: [1]
查看完整版本: help me change to multi-choice