批量圆变多边形TEST
批量多边形变圆 不好弄如果是常规的四边形五边形等等获取中心 插入圆应该问题不大 htlaser 发表于 2023-12-26 19:41
批量圆变多边形TEST
[*]闭合曲线质心
htlaser 发表于 2023-12-27 13:32
[*]闭合曲线质心
这个可以,但希望在输入直径的时候除了直接手动输入尺寸外,还可以去图中量取。 zilong136 发表于 2023-12-28 00:50
这个可以,但希望在输入直径的时候除了直接手动输入尺寸外,还可以去图中量取。
把 (setq r (getreal (strcat "\n 请输入圆的直径:")))
改为(setq r (getdist (strcat "\n 请输入或获取圆的直径:"))) (defun c:tt ( / n a ss i s1 en_data cen r )
(setq n (getint "\n请输入正多边形的边数:"))
(initget "I C")
(setq a (getkword "\n输入选项 [内接于圆(I)/外切于圆(C)] <C>:"))
(if (setq ss (ssget '((0 . "circle"))))
(repeat (setq i (sslength ss))
(setq s1 (ssname ss (setq i (1- i))))
(setq en_data (entget s1))
(setq cen (cdr (assoc 10 en_data)))
(setq r (cdr (assoc 40 en_data)))
(if (= a "I")
(command "polygon" n cen "i" r)
(command "polygon" n cen "c" r)
)
)
)
(command "ERASE" ss "")
(princ)
) 很好用,感谢分享! htlaser 发表于 2023-12-28 09:50
把 (setq r (getreal (strcat "\n 请输入圆的直径:")))
改为(setq r (getdist (strcat "\n 请输入或获取 ...
这个可以。 htlaser 发表于 2023-12-28 09:50
把 (setq r (getreal (strcat "\n 请输入圆的直径:")))
改为(setq r (getdist (strcat "\n 请输入或获取 ...
如何把直径改为半径?我认为量取的话,半径更好。 你获取或输入的是半径
就把(setq r (/ r 2)) 这行代码删除就行. htlaser 发表于 2023-12-28 14:37
你获取或输入的是半径
就把(setq r (/ r 2))这行代码删除就行.
ok,这个很好用,谢谢。
页:
1
[2]