|
各位大侠,小弟初学AutoCAD的二次开发lsp,发现我编好了一个lsp程序,但是在使用的过程之中,老是不稳定,有时候可以顺顺利利的画出来想要的图形,但又有时候却有问题,画的不正确,能画出来就说明程序本身没有问题的吧?但为何执行的时候不稳定呢?是不是还需要有什么其他编注的呀??以下是一个例子,供哪位大侠不吝指点一下,非非常常感谢不尽!!!!
1 \2 b( O; i4 ^0 S8 t7 k& A ^ L: O& E8 M9 _$ N$ Y' v/ o0 S* q. b
(defun C:5test5()$ ^! w7 l( ~1 Z# ?# F4 d1 e5 W
(setvar "cmdecho" 0)
2 T- V# d) a9 X& Y, E8 N1 ~;;以下为用户输入值
: f) y2 P9 x0 E* Q+ q% q(setq pa (getpoint "输入阶梯的左下角点:")); U( ^9 I( H& o4 L% d
(setq ww (getreal "\n输入阶梯的宽度:"))3 e& t: i( R6 i( o+ ~* P/ b
(setq hh (getreal "\n输入阶梯的高度:"))
$ T# p: A. L5 d. w; W* K(setq n (getint "\n输入阶梯的数目:"))) o' Q2 ~2 |8 M y/ D* A; Y1 N
;;以下为所求各值
) f. m( M! @3 q* {& o(setq pb (polar pa 0 ww))
4 X) l) ^$ Z8 L(setq pc (polar pb (/ pi 2) hh))
8 ?2 o1 ~4 y$ ]6 q$ o3 @(setq dw (/ ww n)) M% a6 \# p3 W* c
(setq dh (/ hh n))
1 X0 g* n6 w9 w1 E" _3 |(setq pp pa)1 B o0 u* X! ^8 q
;;先画阶梯的底线
6 X, G/ L5 o* o& z(command "line" pa pb pc "")' b& |, U$ o, A# `7 y7 z
;;画台阶的阶梯) c! ~4 a; d8 D% O; Q8 G
(command "pline")
R* O4 {- ]4 ?7 t(repeat n) {/ r& ~: q- \4 m Y- o! Z9 s, f
(setq p1 (polar pp (/ pi 2) dh))
! O" K+ \* f" b9 i9 f6 O(setq p2 (polar p1 0 dw))& \& P: q0 |+ c! B- F7 b
(command pp p1 p2)( f2 K- P9 P0 I
(setq pp p2)/ |0 Z1 h# v- N- I# U+ L9 z4 j
)
# I5 A' N+ C6 b% r1 e(command "")
. m) Y. T) G0 n% \0 L(prin1)
* R4 u( C2 @4 Z3 o4 X) |
|