有没有大神讲解下下面的画地面线的lisp什么意思?
lisp吧
全部回复
仅看楼主
level 1
2015年05月09日 11点05分 1
level 1
(defun c:dmx()
(setvar "OSMODE" 0)
(setvar "CMDECHO" 0)
(setq base 0 rate 5.0)
(myinput)
(foreach aline datain
(setq SJGC (nth 1 aline)
aline (cddr aline)
point '() )
(while (> (length aline) 0)
(setq PJ (nth 0 aline) DGC (nth 1 aline))
(setq aline (cddr aline)
x (* PJ rate)
y (* (- DGC SJGC) rate)
point (cons (list x y 0) point)
)
)
(mydraw point)
(if (= base 0)
(progn
(setq base 1)
(command "UCS" "M" (list 200 0 0))
)
(progn
(setq base 0)
(command "UCS" "M" (list -200 90 0))
)
))
)
(defun myinput()
(setq datain '()
fle (getfiled "请选择数据文件" "txt1" "txt;dat;*" 8)
fn (open fle "r"))
(read-line fn)
(while (setq aline (read-line fn))
(setq aline (read (strcat "(" aline ")"))
datain (cons aline datain)
)
)
(setq datain (reverse datain))
(close fn)
)
(defun mydraw(Lpoint)
(setq oldsnap (getvar "osmode"))
(setvar "osmode" 0)
(command "PLINE")
(foreach pt Lpoint(command pt))
(command "")
(setvar "osmode" oldsnap)
)
2015年05月09日 11点05分 2
1