[求助]各位 帮我看看 程序那的错呀??
(defun c:bg ()(setvar "cmdecho" 0)
(setq os (getvar "osmode"))
(setvar "osmode" 0)
(setq pt1 (getpoint "\n第一点:"))
(setq pt3 (getcorner pt1 "\n另一点:"))
(command "rectang" "w" 1 pt1 pt3)
(setq wnn (1+ (getint "\n列数 <5>:")))
(if (null wnn)
(setq wnn 5)
)
(setq hnn (1+ (getint "\n行数 <5>:")))
(if (null hnn)
(setq hnn 5)
)
(setq pt2 (list (car pt3) (cadr pt1)))
(setq pt4 (list (car t1) (cadr pt3)))
(setq ang (angle pt1 pt3))
(cond (and (> ang 0) (< ang (/ pi 2)))
(setq pp1 pt1 pp2 pt2 pp3 pt3 pp4 pt4)
)
((and (> ang (/ pi 2)) (< ang pi))
(setq pp1 pt2
pp2 pt1
pp3 pt4
pp4 pt3
)
)
((and (> ang pi) (< ang (* pi 1.5)))
(setq pp1 pt3
pp2 pt4
pp3 pt1
pp4 pt2
)
)
((and (> ang (* pi 1.5)) (< ang (* pi 2)))
(setq pp1 pt4
pp2 pt3
pp3 pt2
pp4 pt1
)
)
)
(setq num 1
txt 65
)
(setq ww (distance pp1 pp2))
(setq hh (distance pp1 pp4))
(setq pt1 pp4 ppbas pp4
key 1
) ;行
(repeat hnn
(setq pt1 (polar pt1 (* pi 1.5) (/ hh hnn)))
(setq pt2 (polar pt1 0 ww))
(command "line" pt1 pt2 "")
(if (> key 1)
(progn
(setq txtins (inters ppbas
(polar pt1 0 (/ ww wnn))
pt1
(polar ppbas 0 (/ ww wnn))
)
)
(command "text" "m" txtins (/ hh hnn 2) 0 (itoa num))
(setq num (1+ num))
)
)
(setq ppbas pt1
key (1+ key)
)
(setq pt1 pp4
ppbas pp4
key 1
) ;列
(repeat wnn
(setq pt1 (polar pt1 0 (/ ww wnn)))
(setq pt2 (polar pt1 (* pi 1.5) hh))
(command "line" pt1 pt2 "")
(if (> key 1)
(progn
(setq txtins (inters ppbas
(polar pt1 (* pi 1.5) (/ hh hnn))
pt1
(polar ppbas (* pi 1.5) (/ hh hnn))
)
)
(command "text" "m" txtins (/ hh hnn 2) 0 (chr txt))
(setq txt (1+ txt))
)
)
(setq ppbas pt1
key (1+ key)
)
)
(prin1)
)
总是出现二维 和 三维NIL 的错误
修好了,自已比較看看那裡錯!
(defun c:bg ()(setvar "cmdecho" 0)
(setq os (getvar "osmode"))
(setvar "osmode" 0)
(setq pt1 (getpoint "\n第一点:"))
(setq pt3 (getcorner pt1 "\n另一点:"))
(command "rectang" "w" 1 pt1 pt3)
(setq wnn (getint "\n列数 <5>:"))
(if (null wnn)
(setq wnn 6)
(setq wnn (+ 1 wnn))
)
(setq hnn (getint "\n行数 <5>:"))
(if (null hnn)
(setq hnn 6)
(setq hnn (+ 1 hnn))
)
(setq pt2 (list (car pt3) (cadr pt1)))
(setq pt4 (list (car Pt1) (cadr pt3)))
;;
(setq ang (angle pt1 pt3))
(cond
((and (> ang 0) (< ang (/ pi 2)))
(setq pp1 pt1
pp2 pt2
pp3 pt3
pp4 pt4
)
)
((and (> ang (/ pi 2)) (< ang pi))
(setq pp1 pt2
pp2 pt1
pp3 pt4
pp4 pt3
)
)
((and (> ang pi) (< ang (* pi 1.5)))
(setq pp1 pt3
pp2 pt4
pp3 pt1
pp4 pt2
)
)
((and (> ang (* pi 1.5)) (< ang (* pi 2)))
(setq pp1 pt4
pp2 pt3
pp3 pt2
pp4 pt1
)
)
)
(setq num 1
txt 65
)
(setq ww (distance pp1 pp2))
(setq hh (distance pp1 pp4))
(setq pt1 pp4
ppbas pp4
key 1
) ;行
(repeat hnn
(setq pt1 (polar pt1 (* pi 1.5) (/ hh hnn)))
(setq pt2 (polar pt1 0 ww))
(command "line" pt1 pt2 "")
(if (> key 1)
(progn
(setq txtins (inters ppbas
(polar pt1 0 (/ ww wnn))
pt1
(polar ppbas 0 (/ ww wnn))
)
)
(command "text" "m" txtins (/ hh hnn 2) 0 (itoa num))
(setq num (1+ num))
)
)
(setq ppbas pt1
key (1+ key)
)
)
(setq pt1 pp4
ppbas pp4
key 1
) ;列
(repeat wnn
(setq pt1 (polar pt1 0 (/ ww wnn)))
(setq pt2 (polar pt1 (* pi 1.5) hh))
(command "line" pt1 pt2 "")
(if (> key 1)
(progn
(setq txtins (inters ppbas
(polar pt1 (* pi 1.5) (/ hh hnn))
pt1
(polar ppbas (* pi 1.5) (/ hh hnn))
)
)
(command "text" "m" txtins (/ hh hnn 2) 0 (chr txt))
(setq txt (1+ txt))
)
)
(setq ppbas pt1
key (1+ key)
)
)
(prin1)
)
多谢 龙龙仔 。
页:
[1]