|
|
各位大侠,小弟初学AutoCAD的二次开发lsp,发现我编好了一个lsp程序,但是在使用的过程之中,老是不稳定,有时候可以顺顺利利的画出来想要的图形,但又有时候却有问题,画的不正确,能画出来就说明程序本身没有问题的吧?但为何执行的时候不稳定呢?是不是还需要有什么其他编注的呀??以下是一个例子,供哪位大侠不吝指点一下,非非常常感谢不尽!!!!
5 }$ y: l/ u/ C7 }7 ^4 f( u, m
H: `# Q/ K9 P; S: Z- o8 f(defun C:5test5()+ W% W* |! g" [
(setvar "cmdecho" 0)
. C7 m M7 s+ U& Q' a;;以下为用户输入值7 f1 e- r6 ~6 W* J. p9 z' V
(setq pa (getpoint "输入阶梯的左下角点:"))( {6 ?! W4 Y9 x* w
(setq ww (getreal "\n输入阶梯的宽度:"))4 q* Y4 J5 i* c4 I& s0 ?+ r
(setq hh (getreal "\n输入阶梯的高度:"))
7 s- [; i2 {$ V( t3 l& a(setq n (getint "\n输入阶梯的数目:"))
* s. K( Q3 B5 {" l/ F;;以下为所求各值5 U0 o. S r( o" y, Q6 S m
(setq pb (polar pa 0 ww))
+ c; N# Z% f; ~: d( d(setq pc (polar pb (/ pi 2) hh))
2 O. w9 f h( ~' g# e7 C# Y(setq dw (/ ww n))
' q3 v4 n+ S3 d* N8 X% I(setq dh (/ hh n))
$ n! g4 M9 I0 X8 x5 ]- }(setq pp pa)
7 j5 u' }( l' o# M) X;;先画阶梯的底线4 h& Z# R" {. Y" K/ ?) j1 p
(command "line" pa pb pc "")3 M& q9 G R: O0 S& K ~, g, y
;;画台阶的阶梯$ h+ k5 a Q6 w
(command "pline")
# ?( k5 ~4 \, O ^8 x. H/ ], @* o(repeat n, V, ~, d) @3 ~1 ^, H
(setq p1 (polar pp (/ pi 2) dh))
! y1 Y5 r- X6 H1 C: l(setq p2 (polar p1 0 dw))+ X: x* z- j( g a# n
(command pp p1 p2)2 g W- d1 H$ X- t) `& `
(setq pp p2)
# u; |. u: M' b8 n( O)4 G1 S5 k" {* v8 U1 P$ I
(command "")8 C1 q& ~! Q# f0 L m# m: X
(prin1)
/ X0 |5 P7 [5 v4 q& X1 }) |
|