|
|
各位大侠,小弟初学AutoCAD的二次开发lsp,发现我编好了一个lsp程序,但是在使用的过程之中,老是不稳定,有时候可以顺顺利利的画出来想要的图形,但又有时候却有问题,画的不正确,能画出来就说明程序本身没有问题的吧?但为何执行的时候不稳定呢?是不是还需要有什么其他编注的呀??以下是一个例子,供哪位大侠不吝指点一下,非非常常感谢不尽!!!!
% U' F& Z: \: i6 X% B
& l7 S& T. |8 z) Z(defun C:5test5()
3 m; E2 ?8 V0 r$ m& d(setvar "cmdecho" 0)0 j1 m2 h" H5 o/ \9 A. M
;;以下为用户输入值
% ~- H0 ~3 t2 @# g(setq pa (getpoint "输入阶梯的左下角点:"))
, v3 l( D9 t R! P& m(setq ww (getreal "\n输入阶梯的宽度:"))2 h" g* e! y1 k9 A! c) o
(setq hh (getreal "\n输入阶梯的高度:"))2 |& m0 h6 e. q) |- C" f
(setq n (getint "\n输入阶梯的数目:")); r- l( B+ w/ _: t+ a, ^. x
;;以下为所求各值3 R+ G+ m$ t; H! ~3 m
(setq pb (polar pa 0 ww))$ T1 c6 _% X/ D, P2 P/ d
(setq pc (polar pb (/ pi 2) hh))
/ g2 B- o, H; U(setq dw (/ ww n))
! J. W0 l- k' K0 W1 S+ X) S/ l(setq dh (/ hh n))
5 k% U, y5 C, G5 U(setq pp pa)
- t* e% a$ z& t;;先画阶梯的底线7 w3 j+ f, g/ \& k3 W+ }
(command "line" pa pb pc "")" o7 Q( i" c: v, _5 v
;;画台阶的阶梯
3 ]% ^2 p# u( ~7 v& B8 V7 b! J8 g(command "pline")
$ h& w0 O( I4 S- Y" ^(repeat n
: M W* L% c# m3 v9 |( a3 S2 Z(setq p1 (polar pp (/ pi 2) dh))# [- p" c$ f3 I4 |) k- G( b! a' Y
(setq p2 (polar p1 0 dw))
7 R( ]6 s9 l; ^# |- `% {- h(command pp p1 p2)7 c3 {" h/ ?$ u3 B7 C
(setq pp p2)
9 }2 l4 f. P. R4 ?4 Y- H)
8 f' g/ n9 M" y. n(command "")7 g# f, D- B8 ], [0 a: C
(prin1)' [( _, R& v; J# d; e
) |
|