|
|
各位大侠,小弟初学AutoCAD的二次开发lsp,发现我编好了一个lsp程序,但是在使用的过程之中,老是不稳定,有时候可以顺顺利利的画出来想要的图形,但又有时候却有问题,画的不正确,能画出来就说明程序本身没有问题的吧?但为何执行的时候不稳定呢?是不是还需要有什么其他编注的呀??以下是一个例子,供哪位大侠不吝指点一下,非非常常感谢不尽!!!!# V5 o7 X2 Q4 n" M. x, x7 O
) b& x6 v8 i( Y) n(defun C:5test5()' _) }' @ ], Z8 e$ C% s( L
(setvar "cmdecho" 0)
3 m+ Q* \& Y, s9 K/ \9 o;;以下为用户输入值
& ~% h% I9 O/ d$ B(setq pa (getpoint "输入阶梯的左下角点:"))
5 I) G3 b8 W; s6 ]3 k+ ?(setq ww (getreal "\n输入阶梯的宽度:")). E* I- r ] r) h C! F% Y8 Z9 S
(setq hh (getreal "\n输入阶梯的高度:")). O8 u. Y" Y# r/ H
(setq n (getint "\n输入阶梯的数目:"))( o9 r& q$ I' q$ S7 V I
;;以下为所求各值
$ ~" \: a( ^$ |/ m. Y0 I- M8 ]8 t! k(setq pb (polar pa 0 ww))
) ?9 `6 ]7 i- q" Q(setq pc (polar pb (/ pi 2) hh))! Z2 h6 Y6 |! ]& t
(setq dw (/ ww n))0 f' h/ X2 f* Z: d# Q- z, _
(setq dh (/ hh n))4 G7 v- ?; v1 F/ n
(setq pp pa)
- N7 ?% L& b0 U. m( F;;先画阶梯的底线/ R' O- l( t5 L% W* R) m" p D4 H
(command "line" pa pb pc "")
* ?3 ?0 ^7 a) O/ ]3 h;;画台阶的阶梯
0 c3 X" w' ~/ V. w(command "pline")1 |" G5 {* |. o) ^0 A. E3 R9 N4 Z
(repeat n6 B3 g4 {6 m7 o$ H# G+ h; R
(setq p1 (polar pp (/ pi 2) dh))
9 R, t4 ]" J7 ^- ? {(setq p2 (polar p1 0 dw))7 J: {% e8 A( P/ B j" g
(command pp p1 p2)
9 \% D! F) R( R# B% S3 [(setq pp p2)2 |1 F& \2 I1 s
)# c1 Q3 L K g h9 O8 _
(command "")6 x5 F! T/ y( D! \8 E Z
(prin1)6 z1 x1 ]/ y8 _9 e* t! O& F0 \
) |
|