大家好,
我在互联网上找到了下面的代码,
它将文字和图案填充对象强制放置到某个图层。
(更改图层,生成对象,再更改回来)。
出于某种原因,XATTACH命令确实会将外部参照放置在所需的图层上,但不会将当前图层设置回以前的设置。。。为什么XATTACH的行为不同于文本命令???
- (prompt " \nLoad Only....Do NOT Run...")
- (vl-load-com)
- ;****************************************
- (vlr-command-reactor
- nil '((:vlr-commandWillStart . startCommand)))
- (vlr-command-reactor
- nil '((:vlr-commandEnded . endCommand)))
- (vlr-command-reactor
- nil '((:vlr-commandCancelled . cancelCommand)))
- ;******************************************************
- (defun startCommand (calling-reactor startcommandInfo /
- thecommandstart)
- (setq OldLayer (getvar "CLAYER"))
- (setq thecommandstart (nth 0 startcommandInfo))
- (cond
- ((= thecommandstart "XATTACH") (setvar "CLAYER" "4"))
- ((= thecommandstart "MTEXT") (setvar "CLAYER" "4"))
- ((= thecommandstart "DTEXT") (setvar "CLAYER" "4"))
- ((= thecommandstart "HATCH") (setvar "CLAYER" "6"))
- ((= thecommandstart "BHATCH") (setvar "CLAYER" "6"))
- );cond
- (princ)
- );defun
- ;****************************************************
- (defun endCommand (calling-reactor endcommandInfo /
- thecommandend)
- (setq thecommandend (nth 0 endcommandInfo))
- (cond
- ((= thecommandend "XATTACH") (setvar "CLAYER" OldLayer))
- ((= thecommandend "MTEXT") (setvar "CLAYER" OldLayer))
- ((= thecommandend "DTEXT") (setvar "CLAYER" OldLayer))
- ((= thecommandend "HATCH") (setvar "CLAYER" OldLayer))
- ((= thecommandend "BHATCH") (setvar "CLAYER" OldLayer))
- );cond
- (princ)
- );defun
- ;********************************************************
- (defun cancelCommand (calling-reactor cancelcommandInfo /
- thecommandcancel)
- (setq thecommandcancel (nth 0 cancelcommandInfo))
- (cond
- ((= thecommandcancel "XATTACH") (setvar "CLAYER" OldLayer))
- ((= thecommandcancel "MTEXT") (setvar "CLAYER" OldLayer))
- ((= thecommandcancel "DTEXT") (setvar "CLAYER" OldLayer))
- ((= thecommandcancel "HATCH") (setvar "CLAYER" OldLayer))
- ((= thecommandcancel "BHATCH") (setvar "CLAYER" OldLayer))
- );cond
- (princ)
- );defun
- ;*********************************************************
- (princ)
|