我的LISP程序怎么执行不了呀 ?
lisp吧
全部回复
仅看楼主
level 1
;这是一个画矩形的小程序!
(defun:c:jx();
(setvar "cmdecho" 0);
(setver "plipmcde" 0);
(setq pa (list 20 20)); pa点的坐标为20,20
(setq ww(getreal 50)); 输入矩形的宽度为50
(setq hh(getreal 40)); 输入矩形的高度为40
(setq pb (polar pa 0 ww));
(setq pc (polar pb(/pi 2)hh));
(setq pq (polar pc pi ww));
(command "pline"pa pb pc pd "c");
(setq mp1(polar pa 0(/ww 2)));
(setq mp2 (polar pb(/pi 2)(/hh 2)));
(setq mp3 (polar pd 0(/ww 2)));
(setq mp4 (polar pa (/pi 2)(/hh 2)));
(command "line"mp1 mp3"")
(command"line"mp2 mp4"")
(prink1)
)
2011年09月18日 12点09分 1
level 3
(defun c:jx();
(setvar "cmdecho" 0);
;;;(setvar "plipmcde" 0);
(setq pa (list 20 20)); pa点的坐标为20,20
(setq ww 50); 输入矩形的宽度为50
(setq hh 40); 输入矩形的高度为40
(setq pb (polar pa 0 ww));
(setq pc (polar pb(/ pi 2)hh));
(setq pd (polar pc pi ww));
(command "pline" pa pb pc pd "c");
(setq mp1(polar pa 0(/ ww 2)));
(setq mp2 (polar pb(/ pi 2)(/ hh 2)));
(setq mp3 (polar pd 0(/ ww 2)));
(setq mp4 (polar pa (/ pi 2)(/ hh 2)));
(command "line"mp1 mp3"")不
(command"line"mp2 mp4"")
(prin1)
)
这样就行了
2011年09月26日 08点09分 2
level 3
2楼也不行啊
我这是可自动调整矩形长宽的lisp程序
(defun c:ccc()
(setq cm (getvar "cmdecho")
os (getvar "osmode")
)
(setvar "cmdecho" 0)
(command "_undo" "be")
(if (setq pt0 (getpoint "\左下角:"))
(if (setq pt1 (getcorner pt0 "\n右上角:"))
(progn
(setvar "osmode" 0)
(command "_rectang" pt0 pt1)
(while (setq pdbz (getint "\n要改变长宽吗<输入任意整数则改变,回车则结束>:"))
(setq dxy (mapcar '- pt1 pt0)
ent (entlast)
)
(if (= (setq cd (getreal (strcat "\n当前长度为:" (rtos (car dxy) 2 3) ", 请输入改动值:"))) nil)
(setq cd (car dxy))
)
(if (= (setq kd (getreal (strcat "\n当前宽度为:" (rtos (cadr dxy) 2 3) ", 请输入改动值:"))) nil)
(setq kd (cadr dxy))
)
(if (not (equal dxy (list cd kd)))
(command "_erase" ent ""
"_rectang" pt0 (mapcar '+ pt0 (list cd kd))
)
)
)
)
)
)
(command "_undo" "e")
(setvar "osmode" os)
(setvar "cmdecho" cm)
(princ)
)
2012年05月17日 05点05分 3
1