CAD点变成圆函数

发布网友

我来回答

2个回答

热心网友

要想把点变圆,需要输入圆半径。

autolisp代码如下:

;;点变圆
(defun c:tes ( / &k1 &kw1 r1 ss1 ss2 x)
 (vl-load-com)
 (initget 6)
 (if (not (setq r1 (getdist "\n请输入圆半径默认:<10>"))) (setq r1 10.0))
 (princ "\n请选择点")
 (if (setq &kw1 (ssget '((0 . "POINT"))))
  (progn
   (setq ss1 '())
   (while (setq &k1 (ssname &kw1 0))
    (setq &kw1 (ssdel &k1 &kw1) ss1 (cons (vlax-ename->vla-object &k1) ss1))
   );while
   (setq ss2 (mapcar '(lambda (x) (vlax-get x 'Coordinates)) ss1))
   (mapcar '(lambda (x) (entmake (list '(0 . "CIRCLE") (cons 10 x) (cons 40 r1)))) ss2)
   (mapcar 'vla-delete ss1)
  )
 )
 (princ)
)

来自:求助得到的回答

热心网友

我会编写LSP程序,可以把CAD里的点批量转换成圆

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com