把你的程序改了一下,你的程序本身没什么问题,估计还是捕捉点的问题,我改后的程序和你的是几乎完全一样的,就是if中计算cd值的步骤去掉了,因为它没有任何左右,因为它的值永远是10(你用polar函数得出p2,其距p1为10,p1、p2的距离肯定就是10了)- (defun C:sss (/ d1 d2 ang cd n)
- (setq d1 (getpoint "\n点取点:"))
- (setq d2 (getpoint "\n点取下一点:"))
- (while d2
- (setq cd (distance d1 d2))
- (setq ang (angle d1 d2))
- (if (> cd 10.0)
- (setq d2 (polar d1 ang 10.0))
- )
- (command "line" d1 d2 "")
- (setq d1 d2)
- (setq d2 (getpoint "\n点取下一点:"))
- )
- )
|