weiqi 发表于 2013-1-17 22:10:21

如何实现 空格/右键 /回车退出 while 循环。



(defun c:qq ()(print "初始点")
(setq p0 (getpoint "\n指定一点:"))
(while (= p0 1)
    (command ".line" p0 (getpoint "\n指定下一点:") "")
    )

)
这样如何实现 如何实现 空格/右键 /回车退出 while 循环 结束程序。

weiqi 发表于 2013-1-17 22:13:50

本帖最后由 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)
      )

)




ZZXXQQ 发表于 2013-1-17 22:23:56


(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:24:46

本帖最后由 weiqi 于 2013-1-17 22:28 编辑

我要的是,所有点连接到 第一点, 放射性的 (星形),不是下一点下一点的连哦。

weiqi 发表于 2013-1-17 22:35:50

本帖最后由 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次了。~然后,再删掉一个~~~最笨的办法咯~~

kwok 发表于 2013-1-17 22:52:42

weiqi 发表于 2013-1-17 22:24 static/image/common/back.gif
我要的是,所有点连接到 第一点, 放射性的 (星形),不是下一点下一点的连哦。

http://bbs.mjtd.com/thread-99771-1-1.html
可以看看这里,效果一样哦.

ucuc2003 发表于 2013-1-17 23:05:11

留个记号,帮忙顶起来

yjr111 发表于 2013-1-17 23:06:11

不会吧?????(defun c:tt()
(if(setq p0(getpoint"\n中心点"))
    (progn
      (while (setq p1(getpoint p0"\n下一点"))
        (command "line" p1 p0 "")
        )
      )
    )
(princ)
)

weiqi 发表于 2013-1-17 23:14:54

翻资料 学习grread 去咯~

自贡黄明儒 发表于 2013-1-18 00:25:57

本帖最后由 自贡黄明儒 于 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
查看完整版本: 如何实现 空格/右键 /回车退出 while 循环。