200853006 发表于 2019-5-9 13:42:13

两点之间等分多个圆

本帖最后由 200853006 于 2019-5-9 13:53 编辑

求助各位大佬,帮我写个小代码,

非常感谢了。



200853006 发表于 2019-5-9 13:53:37

我想设置悬赏,第一次发帖,不知道在哪里,

200853006 发表于 2019-5-9 16:09:13

(defun c:tt123 ()
(setvar "CMDECHO" 0)
(setqp1 (getpoint "\n第一点:")
p2 (getpoint p1 "\n第二点:")
)
;;;两点距离
(princ
    (strcat "\n****两点距离:" (rtos (distance p1 p2) 2 3))
)
;;;等分数量:
(setq n (getint "\n等分数量:"))
;;;等分子函数,根据两点点及等分数量得出等分点列表
(defun tt-df (p1 p2 n)
    (if(> (1- n) 0)
      (cons (polar p1 (angle p1 p2) (/ (distance p1 p2) n 1.0))
      (tt-df (polar p1 (angle p1 p2) (/ (distance p1 p2) n 1.0))
       p2
       (1- n)
      )
      )
    )
)
;;;等分点列表
(setq lst (tt-df p1 p2 n))
;;; 起点、终点、等分点处画园
(mapcar '(lambda (x) (vl-cmdf "CIRCLE" x 2.15))
    (append (list p1) lst (list p2))
)
(prin1)
)
大佬们,OB孔怎么设置啊

东升铮 发表于 2019-5-10 23:20:16

换个想法!做成块去分!

200853006 发表于 2019-5-12 01:30:17

东升铮 发表于 2019-5-10 23:20
换个想法!做成块去分!

谢谢,已解决了。

happy336 发表于 2019-12-2 22:42:11

谢谢分享,支持

e2002 发表于 2020-4-19 12:13:35

copy就可以做到哦,不是很有必要去写这样的专门工具。
页: [1]
查看完整版本: 两点之间等分多个圆