|
各位大侠,小弟初学AutoCAD的二次开发lsp,发现我编好了一个lsp程序,但是在使用的过程之中,老是不稳定,有时候可以顺顺利利的画出来想要的图形,但又有时候却有问题,画的不正确,能画出来就说明程序本身没有问题的吧?但为何执行的时候不稳定呢?是不是还需要有什么其他编注的呀??以下是一个例子,供哪位大侠不吝指点一下,非非常常感谢不尽!!!!
8 G( m( I8 d# n7 W/ X' M; s$ h* K W( [: @8 d+ _! q; [$ Z6 u
(defun C:5test5()% f ]9 m; ^5 g% o' p' M5 l
(setvar "cmdecho" 0)
( w# `2 Q4 a0 `+ \- j;;以下为用户输入值6 d2 o' L* C% m, y! Z
(setq pa (getpoint "输入阶梯的左下角点:"))
2 R( a6 l% z3 X1 T: S(setq ww (getreal "\n输入阶梯的宽度:"))! R6 h% Y$ P4 s, ^ @3 M
(setq hh (getreal "\n输入阶梯的高度:"))
3 }/ L5 n6 g* ~) g0 h; |- L) O(setq n (getint "\n输入阶梯的数目:"))
6 n @% F1 l$ ];;以下为所求各值
/ e$ j8 o! s! g+ D(setq pb (polar pa 0 ww))/ f) h+ u. b+ m1 \2 s
(setq pc (polar pb (/ pi 2) hh))8 l% ~& R$ J. |8 g, |' F
(setq dw (/ ww n))
5 O" @, @# D& M2 B9 g# |(setq dh (/ hh n))
9 {- H6 |2 E* D" ~+ l(setq pp pa)
1 `* H8 b$ w) | w" N: j;;先画阶梯的底线
# e) M8 i) r9 |6 n' O1 u(command "line" pa pb pc "")3 }2 N* n/ V& L$ M* e
;;画台阶的阶梯
8 L, X4 K% \" @0 K1 C(command "pline")
+ V9 `9 O' J' ~7 |, E2 M(repeat n
7 ]6 f- I3 P5 Q/ Q7 k, M2 e(setq p1 (polar pp (/ pi 2) dh))4 R$ U& m2 G9 w/ K6 W3 W# s
(setq p2 (polar p1 0 dw))& K* U, X' ^6 l; n; U6 V3 \# D* b
(command pp p1 p2)
" Y/ a8 n0 @0 U' O. y(setq pp p2)
- e+ M. L- P! b+ h) E/ r' e- {) d2 Q% ^& j) A) i$ D t
(command "")
8 h& V0 v! L/ j& t(prin1)
b8 J$ K# _) Q* g+ S) |
|