|
|
各位大侠,小弟初学AutoCAD的二次开发lsp,发现我编好了一个lsp程序,但是在使用的过程之中,老是不稳定,有时候可以顺顺利利的画出来想要的图形,但又有时候却有问题,画的不正确,能画出来就说明程序本身没有问题的吧?但为何执行的时候不稳定呢?是不是还需要有什么其他编注的呀??以下是一个例子,供哪位大侠不吝指点一下,非非常常感谢不尽!!!!; h$ N( F; f/ _4 w
- K q$ z6 ?8 d- M8 i0 H
(defun C:5test5()
: Z8 h/ z5 Z: c" ~* q! j* t# x! g(setvar "cmdecho" 0)
9 n$ O* w/ m4 z2 A2 R4 g8 g;;以下为用户输入值
3 R8 ~2 q8 e( H% V# [- @(setq pa (getpoint "输入阶梯的左下角点:"))& S+ N! X7 H; ]8 G: O* ]! }9 r+ Q
(setq ww (getreal "\n输入阶梯的宽度:"))3 m( W$ s8 k% q" n! r8 ?# n
(setq hh (getreal "\n输入阶梯的高度:"))
5 q8 R8 H. r X7 q(setq n (getint "\n输入阶梯的数目:")); ]( f' n6 x6 j8 ^
;;以下为所求各值. g8 b# k3 T, r" e
(setq pb (polar pa 0 ww))! D+ e4 R% Q9 t5 q7 u
(setq pc (polar pb (/ pi 2) hh))5 y( k. _. w; Q c" X. K3 {
(setq dw (/ ww n))
" d. [9 V* V2 T6 |(setq dh (/ hh n))) B9 c9 Q) B; a
(setq pp pa), c* P3 Y$ e: {# G+ s: ~$ t
;;先画阶梯的底线
. s9 I8 M6 h9 }, `' z2 X( M0 t(command "line" pa pb pc ""), s! p- z" m6 U$ `- K4 y
;;画台阶的阶梯
1 |: d0 ^$ r& b2 L/ u(command "pline")
+ v" t# ^) P! @5 E1 v(repeat n
. n* ^+ w( g$ a/ s3 }8 k(setq p1 (polar pp (/ pi 2) dh))
2 j6 i+ {- m9 [0 G) d(setq p2 (polar p1 0 dw)); y2 \' F: [0 R4 j* q6 c/ W
(command pp p1 p2)3 M; y, s9 K3 V* s5 O
(setq pp p2)
: `" [9 t" q$ u' i$ l)0 Q% f) l3 ?) s8 b* J; p5 U$ s
(command "")2 b3 D2 \; l: Q: P" |4 j4 |; O" c% }- o
(prin1)
1 [9 M- A" q" X) |
|