CAD LISP程序,求高手帮忙。写个小程序 20

有高手,帮忙能在AutoCAD编个小程序吗?程序的结果是:比如,用一个大圆,直接替换小圆,(再比如:图中有10个直径8大的小圆,我现在在边上画了一个直径10的圆,想用一个... 有高手,帮忙能在AutoCAD 编个小程序吗?程序的结果是:比如,用一个大圆,直接替换小圆,(再比如:图中 有10个直径8大的小圆,我现在在边上画了一个直径10的圆,想用一个命令直接替换图中直径8的圆,把图中的圆全部一次替换为直径10的圆,位置不变,只是变了大小)。谢谢。帮忙的必有重谢。我的邮箱:ziwen921@qq.com 展开
 我来答
朱06CAD
2015-05-31 · 知道合伙人软件行家
朱06CAD
知道合伙人软件行家
采纳数:4172 获赞数:18070
高中,熟悉AutoCAD。会autolisp及VBA程序。

向TA提问 私信TA
展开全部
(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】
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式