|
|
各位大侠,小弟初学AutoCAD的二次开发lsp,发现我编好了一个lsp程序,但是在使用的过程之中,老是不稳定,有时候可以顺顺利利的画出来想要的图形,但又有时候却有问题,画的不正确,能画出来就说明程序本身没有问题的吧?但为何执行的时候不稳定呢?是不是还需要有什么其他编注的呀??以下是一个例子,供哪位大侠不吝指点一下,非非常常感谢不尽!!!! K& K- F5 r0 y- _9 f ]
$ E" H7 n! `, v/ m" q* N* A
(defun C:5test5()
7 U$ a5 v/ T" m1 D' J! O2 [$ J(setvar "cmdecho" 0)
8 J7 ^& R6 @ P5 L* u;;以下为用户输入值
1 _5 Y5 i; {' x2 j$ D& Y(setq pa (getpoint "输入阶梯的左下角点:"))
L4 [+ g+ g; F0 H4 n(setq ww (getreal "\n输入阶梯的宽度:"))
/ ] B6 E' ?% g C$ o J6 o2 Z(setq hh (getreal "\n输入阶梯的高度:"))6 R3 g0 }$ T o& @3 w" }8 d! f
(setq n (getint "\n输入阶梯的数目:"))* C2 t% s: J( y# p4 ]
;;以下为所求各值* d1 B3 I/ l9 ~. X
(setq pb (polar pa 0 ww))
8 w7 g! ]+ h1 V8 m) H(setq pc (polar pb (/ pi 2) hh))2 b( x! _5 J. Y" L3 M9 ]
(setq dw (/ ww n))1 s$ t4 n% p( T& @+ Q$ F# c
(setq dh (/ hh n))
& [- j7 t8 Y( K; m- g3 V: e(setq pp pa)
2 U2 a- Q- x4 R6 Q; | T; j! n* [;;先画阶梯的底线 r c" N2 S5 R; X
(command "line" pa pb pc "")( i+ q- r e% `) E0 C- M
;;画台阶的阶梯# P) E4 N: {4 ~. @! K
(command "pline"); S0 y$ `: b7 j W! w$ `
(repeat n
& _: K$ f* T% e, I3 e5 P(setq p1 (polar pp (/ pi 2) dh))2 B# V6 V2 g! l" Z( e Q- b9 c1 A- d
(setq p2 (polar p1 0 dw))5 d: E3 y2 V+ {1 P' G
(command pp p1 p2)7 B; t: p% C' U+ l
(setq pp p2)
& y( x& ^2 o4 |- ?' r4 \)
3 R0 d4 \6 d. I7 I' P5 I(command "")+ h3 f+ D* O! f. o% o9 R! C+ o9 D
(prin1)2 T: H. t' m" }6 k
) |
|