请高手给看一下,这个程序哪里有错误
本帖最后由 gprspda 于 2011-4-29 11:52 编辑运行的时候,在确定了起始点之后,系统提示 错误: 参数类型错误: numberp: nil,还请高手指点一下,哪里出了错误
(defun c:sl(/ l1 l2 l3 l4 p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 )
(setq l2(getdist"\n输入内侧宽度"))
(setq l1(getdist"\n输入外侧宽度"))
(setq l3(getdist"\n输入长度"))
(setq p0(getpoint"\n输入起始点"))
(setq p1(polar p0 0 l3))
(setq p6(polar p1 (/ pi 2) l1))
(setq p7(polar p1 (/ pi 2) (/ l1 2)))
(setq p8(polar p1 (/ (- pi) 2) (/ i1 2)))
(setq p9(polar p1 (/ (- pi) 2) l1))
(setq p2(polar p6 (/ (* 7 pi) 6) (* (/ (*(sqrt 3) 2) 3) l3)))
(setq p3(polar p0 (/ pi 2) (/ (- l1 (/ (* (sqrt 3) l3) 3)) 2)))
(setq p5(polar p9 (/ (* 5 pi) 6) (* (/ (*(sqrt 3) 2) 3) l3)))
(setq p4(polar p0 (/ (- pi) 2) (/ (- l1 (/ (* (sqrt 3) l3) 3)) 2)))
(setq p10(polar p0 (- pi) (*(sqrt 3)(- l1(*(/(sqrt 3)3)l3)))))
(setq p11(polar p2 (/ (* 7 pi) 6)( * 2 (- l1 l2 (/(*(sqrt 3)l3)3)))))
(setq p12(polar p5 (/ (* 5 pi) 6) ( * 2 (- l1 l2 (/(*(sqrt 3)l3)3)))))
(command "pline" p2 p3 p7 p6 "c");
(command "pline" p4 p5 p9 p8 "c");
(command "line" p4 p0 p3 "");
(command "line" p7 p1 p8"");
(command "linetype" "dashed" "");
(command "line" p3 p10 p4 "");
(princ);
)
本帖最后由 pengq2010 于 2011-4-29 12:01 编辑
好了,找到问题了,原代码贴见楼下。修改见楼下的楼下
(defun c:sl(/ l1 l2 l3 l4 p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 )
(setq l2(getdist"\n输入内侧宽度"))
(setq l1(getdist"\n输入外侧宽度"))
(setq l3(getdist"\n输入长度"))
(setq p0(getpoint"\n输入起始点"))
(setq p1(polar p0 0 l3))
(setq p6(polar p1 (/ pi 2) l1))
(setq p7(polar p1 (/ pi 2) (/ l1 2)))
(setq p8(polar p1 (/ (- pi) 2) (/ i1 2)))
(setq p9(polar p1 (/ (- pi) 2) l1))
(setq p2(polar p6 (/ (* 7 pi) 6) (* (/ (*(sqrt 3) 2) 3) l3)))
(setq p3(polar p0 (/ pi 2) (/ (- l1 (/ (* (sqrt 3) l3) 3)) 2)))
(setq p5(polar p9 (/ (* 5 pi) 6) (* (/ (*(sqrt 3) 2) 3) l3)))
(setq p4(polar p0 (/ (- pi) 2) (/ (- l1 (/ (* (sqrt 3) l3) 3)) 2)))
(setq p10(polar p0 (- pi) (*(sqrt 3)(- l1(*(/(sqrt 3)3)l3)))))
(setq p11(polar p2 (/ (* 7 pi) 6)( * 2 (- l1 l2 (/(*(sqrt 3)l3)3)))))
(setq p12(polar p5 (/ (* 5 pi) 6) ( * 2 (- l1 l2 (/(*(sqrt 3)l3)3)))))
(command "pline" p2 p3 p7 p6 "c");
(command "pline" p4 p5 p9 p8 "c");
(command "line" p4 p0 p3 "");
(command "line" p7 p1 p8"");
(command "linetype" "dashed" "");
(command "line" p3 p10 p4 "");
(princ);
)
(setq p8(polar p1 (/ (- pi) 2) (/ i1 2)))
==> ??? 第9行:(setq p8(polar p1 (/ (- pi) 2) (/ i1 2)))
改成:(setq p8(polar p1 (/ (- pi) 2) (/ L1 2)))
页:
[1]