做单个圆径修改
www.dimcax.com
做单个圆径修改
做单个圆径修改
(defun c:as ();修改圆的直径(于原来的图层颜色匹配)
(setq a (entget (car (entsel))))
(setq cc (ssget))
(setq b (assoc 10 a))
(setq d (assoc 62 a))
(setq dd (cdr d))
(setq x (cadr b))
(setq y (caddr b))
(command "color" dd "")
(command "circle" (list x y) "d" (getreal "\n输入直径[d]:"))
(command "erase" cc "")
(command "color" "bylayer")
(princ)
)
这是一个修改圆径的笨办法,
聪明的方法:直接修改图元数据表后用entmod 做。同理可推多个圆径的修改
你可用下面的程序
(defun c:as ()
(setq a (entget (car (entsel))))
(setq dd (* (cdr (assoc 40 a)) 2))
(prompt (strcat "原直径为" (rtos dd 2 4)))(terpri)
(setq d (getreal "输入要改成的直径:") r ( / d 2))
(setq a (subst (cons 40 r) (assoc 40 a) a))
(entmod a)
(princ)
)
gbg
学习了