动态画直线的代码问题
我想编写一个动态画直线的程序。这是小弟写的一个测试代码,为什么每次运行的时候,CAD都会死机,还望大神们赐教(defun C:ceshi(/ en gr grm pt pt1 grzb)
(setq pt1 (getpoint))
(command "line" pt1 '(20 20) "")
(setq en (entlast))
(setq en (entget en))
(setq gr (grread T 8))
(setq grm 0)
(while (/= grm 3)
(setq grzb (cadr gr) grm (car gr))
(setq pt grzb)
(setq en (subst (cons 10 pt) (assoc 10 en) en))
(entmod en)
)
)
似乎是没有设置循环中断 好像应该是 grm 等于5的时候 才进行操作 必须死机,你的/= grm 3是时刻满足的,肯定死循环 (defun c:tt ()
(while (setq p1 (getpoint "\n基点<退出>: "))
(command "line" "non" p1 "non" '(20 20) "")
(setq en (entget (entlast))
mode t
)
(while mode
(setq mo (grread t 15 0))
(cond ((member (car mo) '(2 3 25 32)) (setq mode nil))
(t (entmod (subst (cons 10 (cadr mo)) (assoc 10 en) en)))
)
)
)
(princ)
) springwillow 发表于 2015-9-19 20:13 static/image/common/back.gif
必须死机,你的/= grm 3是时刻满足的,肯定死循环
大神一语道破天机,拜谢啦 xyp1964 发表于 2015-9-20 17:34 static/image/common/back.gif
好哒, 谢谢啦,谢谢大神百忙之中抽出时间亲自编写修改,研究大神的程序…… 这个东西有什么用啊
页:
[1]