断点问题
只是出于好奇,当我使用中断点命令时,它工作正常,但是如果我按Enter键再次执行此操作,它会像这样搞砸行:|
行1|间隙线 2
______|_________
|
|
原谅粗画
**** Hidden Message ***** 啊,不是我的屏幕显示的基本上它不会把它弄干净,它在一边放了一个缺口 这不是你要找的,但这是我做的菜单宏...如果你愿意,我可以把它改成LISP,这样你就可以按“回车”重新启动它。
^C^C^C^P(setq ent(entsel "Select Object to Break...")) \(setq pt(getpoint "Select Break Point...")) \break;!ent;f;!pt;!pt;^P
我认为这就是宏的工作原理——你不能在不再次按下按钮的情况下重新启动“点中断”<多米,不过口齿不清会很酷。 宏将发出“中断”命令并为您填充第二个点。当您按下enter键时,它只会重复BREAK命令。您需要一个lisp函数来重复输入键。 这是我写的一个lisp来做到这一点:
(defun c:bk (/ ent)
(command "break"
(setq ent (entsel "\nPick point to break Object:"))
(cadr ent)
)
(princ)
)
试试吧,你可能会喜欢它。
下载 BAP。LSP
;;***********************************************
;; BAP.lsp *
;; Break At selected Point *
;; Created by Dominic Cesare *
;; Dommy2Hotty@aol.com *
;; 09.29.2004 *
;;***********************************************
(prompt "\nType BAP to run.....")
;;**********************
;;Start of Routine *
;;**********************
(defun c:BAP (/ oldecho ent pt)
;error trapping
(setq temperr *error*)
(setq *error* trap1)
;current variables
(setq oldecho (getvar "cmdecho"))
;turning off echo
(setvar "cmdecho" 0)
;setting undo beginning
(command "undo" "begin")
;user supplied information
(setq ent (entsel "Select Object to Break....."))
(setq pt (getpoint "Select Break Point....."))
;break command using user information
(command "break" ent "f" pt pt)
;error trapping
(setq *error* temperr)
;setting undo end
(command "undo" "end")
;resetting echo
(setvar "cmdecho" oldecho)
(princ)
)
;defining error trapping
(defun trap1 (errmsg)
(command "u")
(setvar "cmdecho" oldecho)
(setq *error* temperr)
(prompt "Resetting System Variables...")
(princ)
)
;;**********************
;;End of Routine *
;;**********************
啊,我忘记了,我昨天太忙了,把这个问题贴了出来。效果很好,这正是我想要的,谢谢,我的诺斯特罗莫52号要送去了
没问题...一点也不花哨,真的... K、 I.S.S.
保持简单、笨拙
页:
[1]
2