|
|
各位大侠,小弟初学AutoCAD的二次开发lsp,发现我编好了一个lsp程序,但是在使用的过程之中,老是不稳定,有时候可以顺顺利利的画出来想要的图形,但又有时候却有问题,画的不正确,能画出来就说明程序本身没有问题的吧?但为何执行的时候不稳定呢?是不是还需要有什么其他编注的呀??以下是一个例子,供哪位大侠不吝指点一下,非非常常感谢不尽!!!!
( i8 t) \7 X* C2 S5 P* G- m: V: T7 s- ~8 m
(defun C:5test5()
+ E% T4 v, R: T @& y(setvar "cmdecho" 0)1 `9 }6 d7 M% y5 p
;;以下为用户输入值! f5 d1 b8 B; E: u1 n6 s
(setq pa (getpoint "输入阶梯的左下角点:"))8 X9 ~0 D, p! z$ ]: n! ?
(setq ww (getreal "\n输入阶梯的宽度:"))0 L" n4 V7 }7 Z: k& L: q5 ^5 q
(setq hh (getreal "\n输入阶梯的高度:"))- A: O/ n5 A' ]6 `9 D
(setq n (getint "\n输入阶梯的数目:"))
! a0 @1 I* O" ]. \5 ~( E( U;;以下为所求各值
' C/ O7 v3 o- Y! G(setq pb (polar pa 0 ww)). t: Y& S8 L, ?
(setq pc (polar pb (/ pi 2) hh))
0 R+ ^" \' @8 m% v. s& O& {(setq dw (/ ww n))% l- O. p# V' X% h" q9 z
(setq dh (/ hh n))
' i; j. j9 @7 f ^& y3 h(setq pp pa)
( O( L6 r$ D' t9 Q7 w' ^;;先画阶梯的底线
( w& _4 K; u0 V( Y% f3 C* Z4 \(command "line" pa pb pc "")
% k4 r9 z5 @8 |' M6 F5 U;;画台阶的阶梯
+ x! i3 r x, U' u(command "pline")
9 C) ~4 `# j! e9 x n1 a(repeat n
3 c3 r/ g; d' s) D$ I, f7 O(setq p1 (polar pp (/ pi 2) dh))
! ^5 [# B0 e! }4 Q(setq p2 (polar p1 0 dw))
8 G1 a* \6 P ] g2 g& q(command pp p1 p2)
) W$ ~! P* Q3 l1 t+ N(setq pp p2)3 d! b9 P" i( G- h* w5 r
)) }0 Q" x6 P+ Z2 R& G; @2 h" \
(command "")& T1 S) P: C% B: J* Y
(prin1), b1 F8 A/ Z. _ m7 D. o
) |
|