求帮助,点变圆程序修改一下。
求各位大师帮下忙帮助,点变圆程序修改一下。应为我们厂里是做加工的 ,平时圆的大小都是说直径,半径很别扭。
下面的程序是输入半径 要求改成点变圆输入直径
;;; 起割点 点变圆 ;;;;;;;;;;
(defun c:2Y ( / &k1 &kw1 r1 ss1 ss2 x)
(vl-load-com)
(initget 6)
(if (not (setq r1 (getdist "\n请输入圆半径默认:<0.4>"))) (setq r1 0.4))
(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))
(defun c:2Y( / &k1 &kw1 r1 ss1 ss2 x)
(vl-load-com)
(initget 6)
(if (not (setq r1 (getdist "\n请输入圆直径默认:<0.4>"))) (setq r1 0.4))
(setq r1 (/ r1 2))
(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)) ww5w 发表于 2021-7-10 09:44
(defun c:2Y( / &k1 &kw1 r1 ss1 ss2 x)
(vl-load-com)
(initget 6)
谢谢 已经在使用中了,谢谢帮助 这个有点用啊! 好像网孔可以用到这个程序
页:
[1]