![]() |
【转帖】做单个圆径修改
做单个圆径修改
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 学习了 |
| 所有的时间均为北京时间。 现在的时间是 07:25 PM. |