|
|
各位大侠,小弟初学AutoCAD的二次开发lsp,发现我编好了一个lsp程序,但是在使用的过程之中,老是不稳定,有时候可以顺顺利利的画出来想要的图形,但又有时候却有问题,画的不正确,能画出来就说明程序本身没有问题的吧?但为何执行的时候不稳定呢?是不是还需要有什么其他编注的呀??以下是一个例子,供哪位大侠不吝指点一下,非非常常感谢不尽!!!!/ g4 V: j6 ~' P) I# b4 V+ _* X T
8 ]7 @1 s/ U5 U+ [8 L- u2 e, |- J
(defun C:5test5()& w: I6 F3 L$ z
(setvar "cmdecho" 0)+ L2 o. M& ]: B" Y9 ^0 K
;;以下为用户输入值; Z1 I, ]% h; i- F) P' E4 A
(setq pa (getpoint "输入阶梯的左下角点:"))9 \) M( P/ |4 V* s3 y' P: B$ \- I6 L
(setq ww (getreal "\n输入阶梯的宽度:"))
3 V3 O( T0 @4 R(setq hh (getreal "\n输入阶梯的高度:"))
9 `& F: ?+ B" o/ R) U(setq n (getint "\n输入阶梯的数目:"))
0 T: q0 {; I% x. X. h# t, `;;以下为所求各值
* x* z+ j8 o( U(setq pb (polar pa 0 ww))
+ D, N! S/ N$ ~ ]4 Y(setq pc (polar pb (/ pi 2) hh))
1 a& r- b5 [( ^- m4 ?/ c(setq dw (/ ww n))
/ J# O; u1 B- o3 k6 T" P9 A(setq dh (/ hh n))
( I* p% P1 e) k" U( B(setq pp pa)* q5 E8 S" U3 v( ]/ d3 j' s
;;先画阶梯的底线- P) p" `0 @. a) N8 v+ ^8 w; @( f H
(command "line" pa pb pc "")
; s: h6 U8 }, f6 m( @, T. f;;画台阶的阶梯) n m* r# x% \. A
(command "pline")8 ^. Y: h' q( R
(repeat n
$ @& R: X3 f' V! B- e( U) X) V(setq p1 (polar pp (/ pi 2) dh))
" N! q4 _- j, _0 n2 s3 R9 _+ Y(setq p2 (polar p1 0 dw)). x& H4 \/ W3 a3 `1 K3 G
(command pp p1 p2)
. O& ?/ Q' B: i$ Y; A(setq pp p2)7 O' Y- X9 S0 P
)4 l, K" o0 ?$ U
(command "")
' X$ h. ~- v6 t2 A(prin1)
; l, D, d) w8 W! U9 I4 }- v9 }2 A7 V) |
|