friendship 发表于 2015-9-10 00:23:57

怎么给这个程序加个循环呢

(vl-load-com)
(defun c:BRR(/ cmdeo)
(setq cmdeo (getvar "cmdecho"))
(setvar "cmdecho" 0)
(vl-cmdf "break" pause "f" pause "@")
(setvar "cmdecho" cmdeo)
(princ))

怎么给这个程序加个循环呢,从而实现:选择-打断--选择-打断--选择-打断--选择-打断......


fl202 发表于 2015-9-10 08:44:19

(vl-load-com)
(defun c:BRR(/ cmdeo)
(setq cmdeo (getvar "cmdecho"))
(repeat 100
(setvar "cmdecho" 0)
(vl-cmdf "break" pause "f" pause "@")
(setvar "cmdecho" cmdeo)
)
(princ)
)

Andyhon 发表于 2015-9-10 08:45:40

全是在选择点打断吗?

lijiao 发表于 2015-9-10 09:01:27

循环不难,你要考虑的问题是循环后如何退出循环,如果这个问题考虑清楚了,一切都解决了。

edata 发表于 2015-9-10 10:46:34


(vl-load-com)
(defun c:BRR (/ cmdeo en p)
(setq cmdeo (getvar "cmdecho"))
(setvar "cmdecho" 0)
(while (and (setq en (entsel "\n选择对象:"))
              (setq p (getpoint "\r选择打断点:"))
       )
    (vl-cmdf "_.break" "_non" en "f" "_non" p "@")
)
(setvar "cmdecho" cmdeo)
(princ)
)

friendship 发表于 2015-9-10 21:40:34

edata 发表于 2015-9-10 10:46 static/image/common/back.gif


只会最简单的lsp,稍稍有难度的就不会。
谢谢您。
页: [1]
查看完整版本: 怎么给这个程序加个循环呢