还有一个办法就是改用MTEXT。
MTEXT是自身支持遮挡的。(AutoCAD 2006)
使用et中的TXT2MTXT命令可以转换TEXT物体为MTEXT
我写过一个快速开关MTEXT背景的程序:
 - [FONT=courier new]
- (vl-load-com)
- ([color=#800040]defun[/color] c:MaskOn (/ ss sset obj e ent doc)
- ([color=#0000ff]princ[/color] [color=#ff00ff]"\nTurn on MTEXT Background:"[/color])
- ([color=#0000ff]setq[/color] ss ([color=#0000ff]ssget[/color] [color=#ff00ff]":L"[/color] '((0 . [color=#ff00ff]"MTEXT"[/color]))))
- ([color=#0000ff]if[/color] ([color=#0000ff]null[/color] ss)
- ([color=#ff0000]exit[/color])
- )
- ([color=#0000ff]setq[/color] doc ([color=#0000ff]vla-get-activedocument[/color] ([color=#0000ff]vlax-get-acad-object[/color])))
- ([color=#0000ff]setq[/color] sset ([color=#0000ff]vla-get-activeselectionset[/color] doc))
- ([color=#0000ff]vla-startundomark[/color] doc)
- ([color=#0000ff]vlax-for[/color] obj sset
- ([color=#0000ff]vla-put-backgroundfill[/color] obj :vlax-true)
- ([color=#0000ff]setq[/color] e (vlax-vla-object-[color=#0000ff]>[/color]ename obj))
- ([color=#0000ff]setq[/color] ent ([color=#0000ff]entget[/color] e))
- ([color=#0000ff]setq[/color] ent ([color=#0000ff]subst[/color] ([color=#0000ff]cons[/color] 45 1.2) ([color=#0000ff]assoc[/color] 45 ent) ent))
- ([color=#0000ff]entmod[/color] ent)
- )
- ([color=#0000ff]vla-endundomark[/color] doc)
- ([color=#0000ff]princ[/color])
- )
- ([color=#800040]defun[/color] c:MaskOff (/ ss sset obj doc)
- ([color=#0000ff]princ[/color] [color=#ff00ff]"\nTurn off MTEXT Background:"[/color])
- ([color=#0000ff]setq[/color] ss ([color=#0000ff]ssget[/color] [color=#ff00ff]":L"[/color] '((0 . [color=#ff00ff]"MTEXT"[/color]))))
- ([color=#0000ff]if[/color] ([color=#0000ff]null[/color] ss)
- ([color=#ff0000]exit[/color])
- )
- ([color=#0000ff]setq[/color] doc ([color=#0000ff]vla-get-activedocument[/color] ([color=#0000ff]vlax-get-acad-object[/color])))
- ([color=#0000ff]setq[/color] sset ([color=#0000ff]vla-get-activeselectionset[/color] doc))
- ([color=#0000ff]vla-StartUndoMark[/color] doc)
- ([color=#0000ff]vlax-for[/color] obj sset
- ([color=#0000ff]vla-put-backgroundfill[/color] obj :vlax-false)
- )
- ([color=#0000ff]vla-EndUndoMark[/color] doc)
- ([color=#0000ff]princ[/color])
- )
- [/FONT]
AutoCAD另还有一个新命令:TEXTTOFRONT
这个命令用于把所有的文字和标注物体提到最上层,确保不被其它物体遮掉。 |