求助,1指定圆弧起点,2输入A到B之间距离(或鼠标指定第二端点),3输入圆弧拱高,画圆的LISP代码。

网友答: 本帖最后由 夏生生 于 2025-10-29 16:43 编辑

瞎写的,试试
  1. (defun c:tt  (/ en1 en2 h pt1 pt2 pt3 pt4 x y)
  2. (command "undo""be")

  3. (setq pt1 (getpoint "\n拱起点:")
  4.        pt2 (getpoint pt1 "\n拱终点:")
  5.        pt3 (mapcar '(lambda (x y) (* 0.5 (+ x y))) pt1 pt2)
  6.        pt4 (polar pt3 (* 0.5 pi) (* 0.5 (distance pt1 pt2))))
  7. (command "line" "none" pt1 "none" pt2 "")
  8. (setq en1 (entlast))
  9. (command "line" "none" pt3 "none" pt4 "")
  10. (setq en2 (entlast))
  11. (setq h   (getreal "\n矢高:")
  12.        pt3 (polar pt3
  13.                   (* 0.5 pi)
  14.                   h))
  15. (command "arc" "none" pt1 "none" pt3 "none" pt2)
  16. (entdel en1)
  17. (entdel en2)
  18. (command "undo" "e")
  19. (princ))



网友答: 这不就是3点画圆弧。几行代码的事,让AI写一个。

网友答:
夏生生 发表于 2025-10-29 12:51
瞎写的,试试

输入拱高后,后面出现红框里的内容。麻烦你看一下可以去掉这个提示吗


网友答:
hbxymx 发表于 2025-10-29 16:27
输入拱高后,后面出现红框里的内容。麻烦你看一下可以去掉这个提示吗

板凳改了下,加个princ即可

网友答:
夏生生 发表于 2025-10-29 16:36
板凳改了下,加个princ即可

谢谢!
  • 上一篇:求提取块内图元的思路
  • 下一篇:没有了