|
|
各位大侠,小弟初学AutoCAD的二次开发lsp,发现我编好了一个lsp程序,但是在使用的过程之中,老是不稳定,有时候可以顺顺利利的画出来想要的图形,但又有时候却有问题,画的不正确,能画出来就说明程序本身没有问题的吧?但为何执行的时候不稳定呢?是不是还需要有什么其他编注的呀??以下是一个例子,供哪位大侠不吝指点一下,非非常常感谢不尽!!!!
8 f9 V0 X" i6 V0 o: x( k, s' s8 Y( e3 x2 L8 {3 j" {$ U/ p) d* f: ]+ s
(defun C:5test5()( l3 c' O# o; }4 z) `! s$ E
(setvar "cmdecho" 0)6 U$ t! v. I+ ]
;;以下为用户输入值0 l U5 C3 L& c5 R( @* o6 {" w
(setq pa (getpoint "输入阶梯的左下角点:"))
' l+ V2 @' R, d9 M3 k: ^' Z- b(setq ww (getreal "\n输入阶梯的宽度:"))5 p/ z$ \% a$ h6 ~: E7 z
(setq hh (getreal "\n输入阶梯的高度:")). b5 ~0 T% Q/ i4 c$ ~' V
(setq n (getint "\n输入阶梯的数目:"))
$ k3 e! x3 p# {. n8 f0 t( A;;以下为所求各值
+ `2 [% D3 N: q8 m(setq pb (polar pa 0 ww))( [) d9 h( y& [4 [/ d2 X6 W! c" o
(setq pc (polar pb (/ pi 2) hh))
! `7 J2 w5 i9 D, i4 c7 J) m(setq dw (/ ww n))
3 d) w' V. n9 E& Q7 E(setq dh (/ hh n)): [2 N$ ^7 `! _
(setq pp pa)
3 f+ n0 R& N* p- r' @( K ~;;先画阶梯的底线
( }: c" b! j/ {1 X) ](command "line" pa pb pc "")
! j1 F2 b0 M4 U% O1 S; z$ t;;画台阶的阶梯
( R$ ?) [$ g1 l- B(command "pline")/ K0 A1 M9 T T- M( ^1 Q
(repeat n
9 L* I; g- i" ^8 d9 M(setq p1 (polar pp (/ pi 2) dh))
( i X% |' }. e0 t# E. A) T(setq p2 (polar p1 0 dw))
# L8 r$ ` ]5 Y/ i(command pp p1 p2)1 ]8 _; v9 Y% [, o' S! J& |
(setq pp p2)( s- w$ \9 F- `' Z+ o1 [/ q
)" h$ }3 A3 e0 Q$ q1 t$ z/ j
(command "")
" ^. ~$ K! E) J(prin1)8 ~; \% E/ T; K+ c$ `3 I$ a
) |
|