|
各位大侠,小弟初学AutoCAD的二次开发lsp,发现我编好了一个lsp程序,但是在使用的过程之中,老是不稳定,有时候可以顺顺利利的画出来想要的图形,但又有时候却有问题,画的不正确,能画出来就说明程序本身没有问题的吧?但为何执行的时候不稳定呢?是不是还需要有什么其他编注的呀??以下是一个例子,供哪位大侠不吝指点一下,非非常常感谢不尽!!!!
. k( G# d+ a0 _5 H) v1 d
. l* ]9 F* e: H0 ^$ {, f(defun C:5test5()
" ?& H4 M# U# p5 Z" w(setvar "cmdecho" 0)- |8 @% q9 {5 h! x. n1 j" ^
;;以下为用户输入值
& w1 ]& g% H* A(setq pa (getpoint "输入阶梯的左下角点:"))$ m, [9 f8 K$ A" A- o8 r
(setq ww (getreal "\n输入阶梯的宽度:"))2 Z5 U j; P* g9 H
(setq hh (getreal "\n输入阶梯的高度:"))7 `- S5 D) _0 C" c
(setq n (getint "\n输入阶梯的数目:")) `4 I: q; z) a
;;以下为所求各值
9 y* }+ o6 m% W; i(setq pb (polar pa 0 ww))% @, g( ^) J) v$ N
(setq pc (polar pb (/ pi 2) hh))
d: T$ D* v: z2 n' S3 B$ E(setq dw (/ ww n))) ~( A/ V2 {( w) Q( |) Z1 p6 g
(setq dh (/ hh n))9 _6 W# C: \: f M$ o& D5 d( H0 \
(setq pp pa)& {$ Y% \' I9 \7 u& F U4 P
;;先画阶梯的底线
9 H& b, ]9 A6 h- y6 K(command "line" pa pb pc "")7 c( R: u1 u1 t# G& f3 G, p0 `
;;画台阶的阶梯
; W: p+ x0 K" {8 ]2 E! f( L(command "pline")1 s( Z. y8 q7 F$ ^6 R& B
(repeat n) ]0 P; ?. ^. G1 {4 p4 ~# S5 B
(setq p1 (polar pp (/ pi 2) dh))8 b3 t! s# O" _5 n6 W Y6 c
(setq p2 (polar p1 0 dw)): h2 \& ~6 s- a) s' G
(command pp p1 p2)
) k! s/ `1 x7 P* U$ |8 s5 V(setq pp p2)
3 ?$ K, P5 o2 S1 e# H5 V: z)) [8 e! `; _5 {5 c4 f% w; J
(command "")
+ m' S- W# p5 g3 S(prin1)
: y& n' M: h6 E: j+ w) |
|