|
|
各位大侠,小弟初学AutoCAD的二次开发lsp,发现我编好了一个lsp程序,但是在使用的过程之中,老是不稳定,有时候可以顺顺利利的画出来想要的图形,但又有时候却有问题,画的不正确,能画出来就说明程序本身没有问题的吧?但为何执行的时候不稳定呢?是不是还需要有什么其他编注的呀??以下是一个例子,供哪位大侠不吝指点一下,非非常常感谢不尽!!!!
+ {# B$ \4 }3 m; _+ u4 _
# l8 I1 E8 F( |/ s3 t7 X4 j(defun C:5test5()3 r) Y6 m5 F6 f! C6 X! d) N
(setvar "cmdecho" 0)
' n( f3 }4 r/ A. [% }7 v) S;;以下为用户输入值
. u& T7 g m" I* R(setq pa (getpoint "输入阶梯的左下角点:")). h z. L& Z8 ~. Z% Z- f) i/ [
(setq ww (getreal "\n输入阶梯的宽度:"))2 Y! [* }: F) }# Y5 \$ O4 z
(setq hh (getreal "\n输入阶梯的高度:"))' D# g- m) v8 g t$ Z3 d& |
(setq n (getint "\n输入阶梯的数目:"))! m# D1 a4 Z6 @
;;以下为所求各值
) y& T- ]) m( `1 O/ O5 ~; F(setq pb (polar pa 0 ww))
3 x! F5 V; P9 W% n(setq pc (polar pb (/ pi 2) hh))
3 @6 L* d% Y: O4 z7 `7 v(setq dw (/ ww n))
5 C3 c7 J+ C8 x: t# L* ~(setq dh (/ hh n))! B/ Z8 s7 p! c0 \
(setq pp pa)
$ `( Y5 ?; i) I% _;;先画阶梯的底线
Q. Q" H$ U; d0 w1 w( F4 s5 |(command "line" pa pb pc "")- f$ U* n$ S' Q+ b. `
;;画台阶的阶梯* o+ O6 L$ _) G- g* l5 {% i) b
(command "pline")
8 C- x* n1 b5 k% c4 E( m(repeat n; j) d) u3 h' s) r* [- A* _+ r9 l! m
(setq p1 (polar pp (/ pi 2) dh))
" N% S, B) S$ V(setq p2 (polar p1 0 dw))& V# Q% ]. W: d$ _5 k
(command pp p1 p2)* z/ P3 v3 k1 y+ X- @
(setq pp p2)3 O" l2 N5 @" z4 U- ~
)
# u0 x8 n2 M. O4 P. `# T% n(command "")4 r9 I! k/ }) R. Q
(prin1)) j9 [! Q3 Y2 Q) X8 _3 L& J2 G+ k2 f2 b
) |
|