CAD LISP程序,求高手帮忙。写个小程序 20
有高手,帮忙能在AutoCAD编个小程序吗?程序的结果是:比如,用一个大圆,直接替换小圆,(再比如:图中有10个直径8大的小圆,我现在在边上画了一个直径10的圆,想用一个...
有高手,帮忙能在AutoCAD 编个小程序吗?程序的结果是:比如,用一个大圆,直接替换小圆,(再比如:图中 有10个直径8大的小圆,我现在在边上画了一个直径10的圆,想用一个命令直接替换图中直径8的圆,把图中的圆全部一次替换为直径10的圆,位置不变,只是变了大小)。谢谢。帮忙的必有重谢。我的邮箱:ziwen921@qq.com
展开
2015-05-31 · 知道合伙人软件行家
关注
展开全部
(defun c:tes ( / #k1 %k1 %k2 &k1 &kw1)
(if (setq &k1 (entsel "\n请选择参考圆"))
(progn
(setq #k1 (entget (car &k1)) &k1 (cdr (assoc 0 #k1)));取得图元名
(if (= &k1 "CIRCLE");如果是圆
(progn;那么
(setq %k1 (assoc 40 #k1));取得圆半径
(if (setq &kw1 (ssget '((0 . "CIRCLE"))));框选圆
(progn
(setq &k1 (ssname &kw1 0))
(while &k1
(setq &kw1 (ssdel &k1 &kw1)
#k1 (entget &k1)
%k2 (assoc 40 #k1)
#k1 (subst %k1 %k2 #k1);圆半径替换为参考圆半径
)
(entmod #k1)
(setq &k1 (ssname &kw1 0))
);while
)
);if3
)
);if2
)
);if1
(princ)
);复制到记事本,以【.lsp】为后缀命名。autoLISP加载了,命令:【tes】
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询