|
各位大侠,小弟初学AutoCAD的二次开发lsp,发现我编好了一个lsp程序,但是在使用的过程之中,老是不稳定,有时候可以顺顺利利的画出来想要的图形,但又有时候却有问题,画的不正确,能画出来就说明程序本身没有问题的吧?但为何执行的时候不稳定呢?是不是还需要有什么其他编注的呀??以下是一个例子,供哪位大侠不吝指点一下,非非常常感谢不尽!!!!
. v, G9 v( G: H2 B3 z& r) H3 y. M+ N8 ~- E3 J* N1 w* i
(defun C:5test5()# J" m/ o; L5 c1 ^( `
(setvar "cmdecho" 0)9 J }4 l k2 b" I# f6 Y/ R/ s9 I
;;以下为用户输入值
, A( ~" u7 n2 ~% ]+ d! M* P(setq pa (getpoint "输入阶梯的左下角点:"))7 p, ~4 |3 F' x/ a0 J! A
(setq ww (getreal "\n输入阶梯的宽度:"))8 c1 B! C/ z, M0 ^
(setq hh (getreal "\n输入阶梯的高度:"))
* e- b5 Q( d1 e) `(setq n (getint "\n输入阶梯的数目:"))$ |; ? T& M9 g
;;以下为所求各值! B) D. i- @% K' B7 Y
(setq pb (polar pa 0 ww))
! J+ s5 O! z; X% u3 Z" |(setq pc (polar pb (/ pi 2) hh))
% a% A. G% C/ @0 ?(setq dw (/ ww n))) {# l' h4 e; |0 n/ E' ^7 k
(setq dh (/ hh n))5 d3 O: J' J F5 [: I6 A4 s+ w( o8 r
(setq pp pa)
$ g. z" B# \$ u' [; _* ~;;先画阶梯的底线
' n* u9 W4 b$ J- l(command "line" pa pb pc "")& J+ [. |& M- G/ V
;;画台阶的阶梯0 I7 t. n* x0 E4 x4 G
(command "pline"); h) l# J$ f$ h) C4 F3 G( p
(repeat n! a7 z5 S: I" V; O" ^
(setq p1 (polar pp (/ pi 2) dh))
* {# Z# s5 `6 t6 V. L. @. h) }8 w(setq p2 (polar p1 0 dw))7 N6 \" H) L. F+ q0 O& N8 O( G
(command pp p1 p2)- h/ r7 }) y- e6 y8 M
(setq pp p2)0 `# s& ^# u: k/ B1 n
)9 h, n7 F+ f) z+ w* s& v, C3 \
(command "")! g) D t; `2 s0 E3 o* v
(prin1)
* f: S; l, e/ [/ C3 B1 d( R) |
|