|
|
各位大侠,小弟初学AutoCAD的二次开发lsp,发现我编好了一个lsp程序,但是在使用的过程之中,老是不稳定,有时候可以顺顺利利的画出来想要的图形,但又有时候却有问题,画的不正确,能画出来就说明程序本身没有问题的吧?但为何执行的时候不稳定呢?是不是还需要有什么其他编注的呀??以下是一个例子,供哪位大侠不吝指点一下,非非常常感谢不尽!!!!9 E0 T3 d: Q+ G& G8 c1 n9 r; k D
% |, y" l+ t, ~ a. o! {2 [
(defun C:5test5()
8 E% [" m$ a: B7 y! r( `(setvar "cmdecho" 0)# z1 Y% V/ X, H; M; e
;;以下为用户输入值
; S. b( C, P) e j' A0 u(setq pa (getpoint "输入阶梯的左下角点:"))
% A. F1 f' u, B5 Z7 j& [(setq ww (getreal "\n输入阶梯的宽度:"))
; A% w$ n: J- m$ X5 ^6 }& ~(setq hh (getreal "\n输入阶梯的高度:"))
; ^- D# X! W) I$ `/ K9 H$ ~(setq n (getint "\n输入阶梯的数目:"))6 C7 }& w9 ~& {! h3 c9 W1 g
;;以下为所求各值
) A9 K8 r3 V7 \1 B2 J(setq pb (polar pa 0 ww))2 r$ @% z! C, z+ k* c. g
(setq pc (polar pb (/ pi 2) hh))
5 y' _& ?9 `6 b! s+ k8 R(setq dw (/ ww n))
5 \9 Q1 ^7 \0 Y% Z6 e(setq dh (/ hh n))
6 B F6 _% s% m u' i4 i(setq pp pa)
& _2 g' |* y7 w;;先画阶梯的底线: T% q! ^8 Z! Y" A
(command "line" pa pb pc "")$ ~, P8 [/ p; B2 o3 j
;;画台阶的阶梯; i, Z: B' z* I% D2 }
(command "pline"). \: A* I; O5 ~
(repeat n0 j( t V4 [; k F }% v
(setq p1 (polar pp (/ pi 2) dh))% J8 J9 k9 y2 F4 l
(setq p2 (polar p1 0 dw))/ T' F( H# Q) P: s
(command pp p1 p2)
) p9 y, W: l# p o7 m4 ^) _4 W2 }(setq pp p2)
! l) o& o* G; ~8 O8 }2 l" s)' `$ B$ d5 G: Q( B
(command "")$ V! ~- n4 I, F( V4 P
(prin1)4 g# f# h- n( Q6 h# r/ R* ?
) |
|