|
各位大侠,小弟初学AutoCAD的二次开发lsp,发现我编好了一个lsp程序,但是在使用的过程之中,老是不稳定,有时候可以顺顺利利的画出来想要的图形,但又有时候却有问题,画的不正确,能画出来就说明程序本身没有问题的吧?但为何执行的时候不稳定呢?是不是还需要有什么其他编注的呀??以下是一个例子,供哪位大侠不吝指点一下,非非常常感谢不尽!!!!) i# A% [/ O1 [9 R
/ B0 X/ H, S: e. `0 _. b3 d
(defun C:5test5()
2 m: l5 m; q) @0 R+ y(setvar "cmdecho" 0)4 N' v( P. I" b) d! s6 c# j2 U+ I
;;以下为用户输入值
5 {2 x6 M! d3 H. r(setq pa (getpoint "输入阶梯的左下角点:"))5 Q+ t% \+ D: L7 T: G$ B) \2 E& z
(setq ww (getreal "\n输入阶梯的宽度:"))
4 Q, A. F& r& N* q) j: |(setq hh (getreal "\n输入阶梯的高度:"))
) H$ K+ _+ P& r4 A/ U5 `(setq n (getint "\n输入阶梯的数目:")) }0 ?& Z6 t m% \4 C( o, \0 J! y
;;以下为所求各值
0 b& V: B+ O( g9 G- O(setq pb (polar pa 0 ww))4 R5 H5 {9 \/ @& x5 w5 }4 H
(setq pc (polar pb (/ pi 2) hh))
: q& z5 c5 B3 B. _% t- _5 _5 N. d(setq dw (/ ww n))
* f4 N' ~7 }: w8 t, { B/ y4 O(setq dh (/ hh n))
. c6 X( f2 c9 B+ E6 Z; y(setq pp pa)& D3 m' a4 e6 O" z3 z
;;先画阶梯的底线1 w. V; S Z$ S3 a
(command "line" pa pb pc "")4 ?- N/ R/ B3 K0 ^: F2 S- x4 N6 v+ @+ s) M
;;画台阶的阶梯% R$ N t# I8 r
(command "pline")
3 P( S1 i2 H6 e6 F(repeat n% M. J. @$ y# {) b. n
(setq p1 (polar pp (/ pi 2) dh))
) b+ I0 k- n8 P3 V(setq p2 (polar p1 0 dw))
0 z3 m: S" U7 F6 H" z5 n(command pp p1 p2)
P. O6 m. \) P+ W; P(setq pp p2)
# R; v! i; L0 I+ q V). | M- ?! T( I# v
(command "")
# C. W8 M0 |" J+ I8 p x9 y(prin1)' S1 B3 Y' E, o2 N* V0 h2 o' l
) |
|