|
|
各位大侠,小弟初学AutoCAD的二次开发lsp,发现我编好了一个lsp程序,但是在使用的过程之中,老是不稳定,有时候可以顺顺利利的画出来想要的图形,但又有时候却有问题,画的不正确,能画出来就说明程序本身没有问题的吧?但为何执行的时候不稳定呢?是不是还需要有什么其他编注的呀??以下是一个例子,供哪位大侠不吝指点一下,非非常常感谢不尽!!!!
2 D' q2 M+ O1 ~) q6 Z& e& _/ a! e5 Q
(defun C:5test5()
9 V0 Y" P: U! |(setvar "cmdecho" 0)
. d) S' _/ c4 {+ S;;以下为用户输入值% g; c G: F7 B$ \& ^/ b
(setq pa (getpoint "输入阶梯的左下角点:"))
# V! d& N9 D0 T+ f! g5 z% _(setq ww (getreal "\n输入阶梯的宽度:"))' k7 q9 Z5 v& }1 I& v4 X
(setq hh (getreal "\n输入阶梯的高度:"))# T; p4 n4 m; L! E- G- T3 e/ O
(setq n (getint "\n输入阶梯的数目:"))6 ~6 I Q. X* | k8 h. C& {
;;以下为所求各值
7 U) ]% [ A1 C9 y(setq pb (polar pa 0 ww))8 q/ |" z* W* }5 \
(setq pc (polar pb (/ pi 2) hh))! ]- l0 r1 r& j7 ?6 s: ?
(setq dw (/ ww n))
0 P3 `. v! a# ^7 J& U& S3 Z(setq dh (/ hh n))2 a8 k3 K5 L0 I+ ^% v! d- i; K
(setq pp pa)
* j1 r& [$ y- @0 T5 v) \, n. u2 r7 I;;先画阶梯的底线; V d. U6 {4 o$ j
(command "line" pa pb pc "")* x* n9 E0 J" t9 X. h2 g$ J6 _
;;画台阶的阶梯5 D( d7 n/ _8 a% H1 B7 u
(command "pline")
! i/ ?: r# C; a- h(repeat n
8 X, a+ q( a6 k* [* [ o; R(setq p1 (polar pp (/ pi 2) dh))
) Q2 ~% Y, g: J3 S5 ^(setq p2 (polar p1 0 dw))( h# m3 Q% j4 d# j- l; V# U0 i+ F
(command pp p1 p2)
) n4 W" L0 g6 m" p# c(setq pp p2)8 ?* R7 ?9 n9 N0 r2 W
)3 E1 K) P9 `. S5 B7 |/ u: L
(command "")
1 W& M" ^$ c2 F# {. N(prin1)& R }. b9 t0 j2 b0 p/ x
) |
|