感谢szx025的信任,你在1楼的代码WHILE循环少了一个括号,其他运行正常啊?!
完整代码如下:

- (defun C:LTP (/ pt1 pt2 l p1 p2 P3 P4 P5 P6 K K1 P10 P20)
- ;;保存系统变量设置
- (setq old_OS (getvar "OSMODE")
- old_CMD (getvar "CMDECHO")
- )
- (setvar "CMDECHO" 0)
- (command "-osnap" "INT")
- (setq pt1 (getpoint "\n左下角点:"))
- (setq pt2 (getpoint pt1 "\n右下角点:"))
- ;;6
- (setvar "OSMODE" 0)
- (setq p1 (polar pt1 (/ pi 2.0) 400))
- (setq p2 (polar pt2 (/ pi 2.0) 400))
- (setq p3 (polar pt1 (/ pi 2.0) 800))
- (setq p4 (polar pt2 (/ pi 2.0) 800))
- (setq p5 (polar pt1 (/ pi 2.0) 1200))
- (setq p6 (polar pt2 (/ pi 2.0) 1200))
- (command "line" p1 p2 "")
- (command "line" p3 p4 "")
- (command "line" p5 p6 "")
- (command "line" pt2 p6 "")
- (command "line" pt1 p5 "")
- (setq k (angle pt1 pt2))
- ;;; (setq k1 0)
- ;;; (if (> k (/ Pi 2))
- ;;; (setq k1 Pi)
- ;;; )
- (setq
- xx (* 100 (/ (cos k) (sin k)))
- p10 (polar pt1 0 xx)
- )
- (setq p20 (polar pt2 (* pi 1.5) 100))
- (command "line" pt1 pt2 "")
- (command "line" p10 p20 "")
- (setq L (distance pt1 pt2))
- (setq N (/ L 1200))
- (setq I 1)
- (setq P0 Pt1)
- (while (<= i N)
- (setq P1 (polar p0 (/ pi 2.0) 1200))
- ;;27
- (command "line" p0 p1 "")
- (setq p0 (polar p0 k 1200))
- (setq I (+ i 1))
- )
- ;;恢复系统变量设置
- (setvar "CMDECHO" old_CMD)
- (setvar "OSMODE" old_OS)
- (setq *error* olderr)
- (princ)
- )
[PHP]
[PHP]
你的代码
[/PHP]
[/PHP] |