(vl-load-com)
(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)
(vla-AddPoint
(vla-get-modelspace
(vla-get-activedocument (vlax-get-acad-object))
)
(vlax-3d-point x)
)
)
(append (list p1) lst (list p2))
)
(prin1)
)
我这里没有问题的: cie0588 发表于 2013-5-22 15:56 static/image/common/back.gif
问题已解决,谢谢 我不懂,
为啥不用CAD的 divide 定数等分命令?这个命令甚至可以在等分处插入块,很强大的。 yxp 发表于 2013-5-23 01:44 static/image/common/back.gif
我不懂,
为啥不用CAD的 divide 定数等分命令?这个命令甚至可以在等分处插入块,很强大的。
如果单纯的等分,插入块,我会用这个命令
但是得出点的列表还有其他的用途的话,我会用程序来计算。
用等分的命令得出的点,虽说可以加入选择集,再进行处理,只不过我个人不喜欢这样而已。 好思路,,, 好用,学习了,谢谢。 能变xl线么,点不好删 能变xl线吗?或者长度是二点等距的直线
页:
1
[2]