|
|
各位大侠,小弟初学AutoCAD的二次开发lsp,发现我编好了一个lsp程序,但是在使用的过程之中,老是不稳定,有时候可以顺顺利利的画出来想要的图形,但又有时候却有问题,画的不正确,能画出来就说明程序本身没有问题的吧?但为何执行的时候不稳定呢?是不是还需要有什么其他编注的呀??以下是一个例子,供哪位大侠不吝指点一下,非非常常感谢不尽!!!!) \ P* C$ Q. X6 t3 W8 k" X
7 f0 `1 k( N, W1 ?+ L8 T' T+ U(defun C:5test5()
* S' a$ t- Z8 \! _(setvar "cmdecho" 0)
- z+ Q1 a' @+ Y% y9 Z;;以下为用户输入值- V5 g! l( B* [& T
(setq pa (getpoint "输入阶梯的左下角点:"))4 o! V- \) W- `0 j& H- }) S
(setq ww (getreal "\n输入阶梯的宽度:"))9 j1 U4 h3 @& \' c2 ?. ^
(setq hh (getreal "\n输入阶梯的高度:")); N) I. F( `* o; \2 D) I5 |
(setq n (getint "\n输入阶梯的数目:"))$ P. I6 E' q# }: t( l$ O
;;以下为所求各值& T3 q* i1 C; X- O; ^
(setq pb (polar pa 0 ww))
7 |' K% {8 M! Q: ~/ Y7 ]. }* y0 g(setq pc (polar pb (/ pi 2) hh))
" ?7 o) T& P& _. r(setq dw (/ ww n)): ]6 w9 \0 s+ h' a
(setq dh (/ hh n))1 W8 c" V4 V# R8 V! m
(setq pp pa)% l$ W( ]" _: W! \
;;先画阶梯的底线" q0 q' w* a" u! F, H2 g
(command "line" pa pb pc "")4 c( f5 E2 m$ `
;;画台阶的阶梯+ X0 ^7 r. C) {' P
(command "pline")/ B4 Z- B5 h/ K3 ^6 [: X
(repeat n
7 u3 T/ }1 h, B/ e8 X(setq p1 (polar pp (/ pi 2) dh))8 J) J1 ~( S4 R- D- s
(setq p2 (polar p1 0 dw))
* N% M1 ]7 {: c# N" e(command pp p1 p2)4 T7 W' D5 I. I/ r e! T
(setq pp p2): v* S/ C2 B" R6 P
)
+ N+ ] n6 ]& q: d6 H i(command "")
& L0 b6 D2 _: \' a8 [(prin1)
: y/ e, ]4 @( S+ h, {/ i5 V7 O* j) |
|