查看单个帖子
旧 2009-04-26, 04:56 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 做单个圆径修改

做单个圆径修改
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

学习了
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)