修改后调试是通过的,没有出现致命错误,另外dim和dim1的区别就是前者是连续标注最后要用“EXIT”退出,后者只标注一次即自动退出。还有程序运行前应将捕捉关闭。

- (defun c:T4 ()
- (setq a (getreal "顶边长度="))
- (setq b (getreal "底边长度="))
- (setq d (sqrt (+ (* 5000 5000) (* (/ (- b a) 2) (/ (- b a) 2)))))
- (setq c (sqrt (+ (* d d) (* (/ (- b a) 2) (/ (- b a) 2)))))
- (setq p0 (getpoint "enter start point:"))
- (setq x0 (car p0)
- y0 (cadr p0)
- )
- (setq p1 (list (+ x0 b) y0))
- (setq p2 (list (+ x0 (/ (- b a) 2)) (+ y0 d)))
- (setq p3 (list (+ x0 (/ (+ a b) 2)) (+ y0 d)))
- (setq ang1 (angle p0 p2))
- (setq ang2 (angle p1 p3))
- (setq p4 (polar p0 ang1 (* c 0.34)))
- (setq p5 (polar p0 ang1 (* 2 (* c 0.34))))
- (setq p6 (polar p1 ang2 (* c 0.34)))
- (setq p7 (polar p1 ang2 (* 2 (* c 0.34))))
- (setq p8 (inters p0 p6 p1 p4))
- (setq p9 (inters p4 p7 p5 p6))
- (setq p10 (inters p2 p7 p5 p3))
- (setq p11 (list (/ (+ x0 b) 2) y0))
- (command "line" p8 p11 "")
- (command "line" p1 p3 p2 p0 p6 p5 p3 "")
- (command "line" p1 p4 p7 p2 "")
- (setq x (list x0 (- y0 600)))
- (command "dim" "hor" p0 p1 x "")
- (setq x (list (car p2) (+ (cadr p2) 600)))
- (command "dim" "hor" p2 p3 x "")
- (setq x (list (+ (car p1) 600) (cadr p1)))
- (command "dim" "ver" p1 p6 x 1700 "con" p7 1700 "con" p3 1600 "")
- (setq x (list (+ (car x) 600) (cadr x)))
- (command "dim" "ver" p1 p3 x "5000(垂高)" "")
- (setq d (- (cadr p2) (cadr p0)))
- (setq d (fix d))
- (setq x (list (- (car p0) 600) (cadr p0)))
- (command "dim" "ver" p0 p2 x d "")
- (setq x (list (- (car p0) 600) (cadr p0)))
- (command "dim" "ver" p0 p2 x " (面高)" "")
- (setq d (distance p0 p8))
- (setq d (fix d))
- (setq x (list (+ (car p0) 400) (cadr p0)))
- (command "dim" "al" p0 p8 x d "")
- (setq d (distance p4 p8))
- (setq d (fix d))
- (command "dim" "al" p4 p8 x d "")
- (setq d (distance p4 p9))
- (setq d (fix d))
- (command "dim" "al" p4 p9 x d "")
- (setq d (distance p5 p9))
- (setq d (fix d))
- (command "dim" "al" p5 p9 x d "")
- (setq d (distance p5 p10))
- (setq d (fix d))
- (command "dim" "al" p5 p10 x d "")
- (setq d (distance p2 p10))
- (setq d (fix d))
- (command "dim" "al" p2 p10 x d "")
- (setq d (distance p8 p11))
- (setq d (fix d))
- (command "dim" "al" p8 p11 x d "")
- (setq d1 (distance p0 p4))
- (setq d2 (distance p4 p5))
- (setq d3 (distance p5 p2))
- (setq d1 (fix d1))
- (setq d2 (fix d2))
- (setq d3 (fix d3))
- (command "dim" "al" p0 p4 p0 d1 "con" p5 d2 "con" p2 d3 "" "exit")
- )
只是将缺少的右括号加了上去,其它的没有改动。 |