htlaser 发表于 2023-12-27 12:55:55

htlaser 发表于 2023-12-26 19:41
批量圆变多边形TEST


批量多边形变圆   不好弄如果是常规的四边形五边形等等获取中心 插入圆应该问题不大   

htlaser 发表于 2023-12-27 13:32:03

htlaser 发表于 2023-12-26 19:41
批量圆变多边形TEST


[*]闭合曲线质心

zilong136 发表于 2023-12-28 00:50:59

htlaser 发表于 2023-12-27 13:32
[*]闭合曲线质心

这个可以,但希望在输入直径的时候除了直接手动输入尺寸外,还可以去图中量取。

htlaser 发表于 2023-12-28 09:50:48

zilong136 发表于 2023-12-28 00:50
这个可以,但希望在输入直径的时候除了直接手动输入尺寸外,还可以去图中量取。
把 (setq r (getreal (strcat "\n 请输入圆的直径:")))
改为(setq r (getdist (strcat "\n 请输入或获取圆的直径:")))

maiko 发表于 2023-12-28 11:20:41

(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)
)

paulpipi 发表于 2023-12-28 11:33:06

很好用,感谢分享!

zilong136 发表于 2023-12-28 14:19:03

htlaser 发表于 2023-12-28 09:50
把 (setq r (getreal (strcat "\n 请输入圆的直径:")))
改为(setq r (getdist (strcat "\n 请输入或获取 ...

这个可以。

zilong136 发表于 2023-12-28 14:33:27

htlaser 发表于 2023-12-28 09:50
把 (setq r (getreal (strcat "\n 请输入圆的直径:")))
改为(setq r (getdist (strcat "\n 请输入或获取 ...

如何把直径改为半径?我认为量取的话,半径更好。

htlaser 发表于 2023-12-28 14:37:40

你获取或输入的是半径   
就把(setq r (/ r 2)) 这行代码删除就行.

zilong136 发表于 2023-12-28 15:03:43

htlaser 发表于 2023-12-28 14:37
你获取或输入的是半径   
就把(setq r (/ r 2))这行代码删除就行.

ok,这个很好用,谢谢。
页: 1 [2]
查看完整版本: 求批量圆变多边形及图形格式刷?