用LISP 得到线的中间点
求问大佬一个问题 如何得到一条线的中间点(defun c:xxx()
(setq ss(SSGET'((0 . "line")))) 选择一条线
(setq n 0)
(repeat (sslength ss)
(setq ent(ssname ss n))
(setq en(entget ent))
(setq p1 (cdr (assoc 10 en))) 得到起点
(setq p2 (cdr (assoc 11 en))) 得到终点
(setq p3 怎么得到中间点)
自学的比较乱 求明白的同学告知一下
;p1 p2的中点
(mapcar '(lambda(x y)(* 0.5 (+ x y))) p1 p2) Andyhon 发表于 2018-5-8 19:36
弃 中点捕捉 而另行运算!?所为何来???
想学习一下 如何找到中心点
自学的比较杂 想到那了 就研究一下
感谢论坛的各位大佬 学到很多 lijiao 发表于 2018-5-8 16:25
(mapcar '* (mapcar '+ p1 p2) '(0.5 0.5 0.5))
感谢 我没用过mapcar这个函数 先感谢一下 我会找资料学习一下的 (setq p3(polar p1 (angle p1 p2) (/ (distance p1 p2) 2)))
試試這個 (mapcar '* (mapcar '+ p1 p2) '(0.5 0.5 0.5)) bssurvey 发表于 2018-5-8 16:22
(setq p3(polar p1 (angle p1 p2) (/ (distance p1 p2) 2)))
試試這個
超级感谢 您已经第二次帮助我了
弃 中点捕捉 而另行运算!?所为何来???
edata 发表于 2018-5-8 21:13
一个问题 有很多解决办法 学到 新人报道,向大家学习,受教了
页:
[1]
2