如何实现 空格/右键 /回车退出 while 循环。
(defun c:qq ()(print "初始点")
(setq p0 (getpoint "\n指定一点:"))
(while (= p0 1)
(command ".line" p0 (getpoint "\n指定下一点:") "")
)
)
这样如何实现 如何实现 空格/右键 /回车退出 while 循环 结束程序。
本帖最后由 weiqi 于 2013-1-17 22:14 编辑
我参考
http://bbs.mjtd.com/forum.php?mo ... 21&page=1#pid519314
沙发 G版的回复,改成这样写,貌似也退出不了噢。每次是
指定下一点: 未知命令“QQ”。按 F1 查看帮助。
请问得什么写才对呢。
(defun c:qq ()
(print "初始点")
(setq p0 (getpoint "\n指定一点:"))
(while (not loop)
(command ".line" p0 (getpoint "\n指定下一点:") "")
(setq gr (grread t 1))
(if (or (= 25 (car gr))
(and (= 2 (car gr)) (= 13 (cadr gr)))
(and (= 2 (car gr)) (= 32 (cadr gr)))
)
(setq loop t)
)
)
(defun c:qq ()
(print "初始点")
(setq p0 (getpoint "\n指定一点:"))
(command "_.LINE" p0)
(while (setq p1 (getpoint "\n指定下一点:"))
(command p1)
)
(command "")
(princ)
)
(defun c:qq ()
(command "_.LINE")
(while (> (getvar "CMDACTIVE") 0) (command PAUSE))
(princ)
)
本帖最后由 weiqi 于 2013-1-17 22:28 编辑
我要的是,所有点连接到 第一点, 放射性的 (星形),不是下一点下一点的连哦。
本帖最后由 weiqi 于 2013-1-17 22:39 编辑
根据Z版的~(defun c:qq ()
(print "初始点")
(setq p0 (getpoint "\n指定一点:"))
(command "_.LINE" p0)
(while (setq p1 (getpoint "\n指定下一点:"))
(command p1 p0) (entdel (entlast))
)
(command "")
(princ)
)
这样写能退出了,但是。。每条线画2次了。~然后,再删掉一个~~~最笨的办法咯~~
weiqi 发表于 2013-1-17 22:24 static/image/common/back.gif
我要的是,所有点连接到 第一点, 放射性的 (星形),不是下一点下一点的连哦。
http://bbs.mjtd.com/thread-99771-1-1.html
可以看看这里,效果一样哦. 留个记号,帮忙顶起来 不会吧?????(defun c:tt()
(if(setq p0(getpoint"\n中心点"))
(progn
(while (setq p1(getpoint p0"\n下一点"))
(command "line" p1 p0 "")
)
)
)
(princ)
) 翻资料 学习grread 去咯~ 本帖最后由 自贡黄明儒 于 2013-1-18 00:33 编辑
(defun c:tt2 (/ P0 P1)
(setq p0 (getpoint "\n下一点"))
(while (not p1)
(command "line" p0 (getpoint p0 "\n下一点") "")
(setq p1 (equal(getvar "lastpoint") p0))
)
(princ)
)
页:
[1]
2