@khirunath wrote:
I have a blocks named DA_LE3 in the drawing and I want to place a circles around them in a single shot. Is anyone
(Circle radius should be 24 & color blue)
Center of block | Radius 24
(Defun c:BlueCirle (/ Bc i)
(if (setq Bc (ssget "_X" '((0 . "INSERT") (2 . "DA_LE3,`*U*"))))
(repeat (setq i (sslength bc))
(if (eq (strcase
(getpropertyvalue
(setq e (ssname Bc (setq i (1- i))))
"BlockTableRecord/Name"
)
)
"DA_LE3"
)
(progn
(vla-getboundingbox (vlax-ename->vla-object e) 'll 'ur)
(Setq pdata (mapcar '(lambda (p)
(vlax-safearray->list p)
) (list ll ur)))
(Setq mdpt (mapcar (function (lambda (a b) (/ (+ a b) 2.)))
(CAr pdata)(cadr pdata)))
(entmakex (list (cons 0 "CIRCLE")
(Cons 10 mdpt)
(cons 62 5)
(cons 40 24)
)
)
)
)
)
)
(princ)
)
Center of block | Radius size of block
(Defun c:BlueCirle (/ Bc i pdata mdpt rad)
(if (setq Bc (ssget "_X" '((0 . "INSERT") (2 . "DA_LE3,`*U*"))))
(repeat (setq i (sslength bc))
(if (eq (strcase
(getpropertyvalue
(setq e (ssname Bc (setq i (1- i))))
"BlockTableRecord/Name"
)
)
"DA_LE3"
)
(progn
(vla-getboundingbox (vlax-ename->vla-object e) 'll 'ur)
(Setq pdata (mapcar '(lambda (p)
(vlax-safearray->list p)
) (list ll ur)))
(Setq mdpt (mapcar (function (lambda (a b) (/ (+ a b) 2.)))
(CAr pdata)(cadr pdata)))
(setq rad (distance mdpt (cadr pdata)))
(entmakex (list (cons 0 "CIRCLE")
(Cons 10 mdpt)
(cons 62 5)
(cons 40 rad)
)
)
)
)
)
)
(princ)
)
HTH