【已解决】如何设置标注文字的填充颜色为“背景”?
本帖最后由 天天问 于 2024-3-27 15:34 编辑问题已解决,详见kucha007的帖子http://bbs.mjtd.com/forum.php?mod=viewthread&tid=189711&fromuid=7329538
--------------------------------------------
以下是原贴
当标注文字与其他图元(线条、填充图案等)存在交叉的时候,文字优先,给标注文字加个遮罩,看文字就清晰多了。
尝试使用Lsp来实现,但发现个问题,无法设置文字的填充颜色为“背景”,其他颜色倒是可以成功设置。
奈何日常使用的时候,填充颜色一般都只用“背景”,其他颜色基本不用。有没有大佬帮忙看看这个问题该如何解决?
附上源码,请大佬修改。
(defun c:XGTC( / bzwztc_inputssinume_tmpe_obj)
;标注文字填充设置
(vl-load-com)
(initget "AB")
(setqbzwztc_input (getkword (strcat "\n选择 修改类型 [标注文字添加背景填充(A)/标注文字取消填充(B)]<当前默认 " (if (= bzwztc nil) "A" bzwztc) " >:")))
(if (= bzwztc nil) (setq bzwztc "A"))
(if (/= bzwztc_input nil) (setqbzwztcbzwztc_input))
(IF (= bzwztc "A")
(progn
(prompt "\n选择尺寸标注,按 回车 或 空格 结束选择:")
(setq ss (ssget '((0 . "DIMENSION")))) ;创建选择集
(if ss
(progn
(setq i 0)
(setq num (sslength ss));获取选择集里的图元数量
(repeat num
(setq e_tmp (ssname ss i))
(setq e_obj (vlax-ename->vla-object e_tmp))
(vlax-put e_obj 'TextFill1);非0值都表示打开标注文字的填充颜色
;(vla-put-textfill e_obj :vlax-true);这句与上面的那一句功能等价
(vlax-put e_obj 'TextFillColor1);≤-1红色,0随层,1~255为索引色,≥256随层。=======目前还未找到背景色的设置方法
(setq i (1+ i))
)
)
);end if,
)
);end if
(IF (= bzwztc "B")
(progn
(prompt "\n选择尺寸标注,按 回车或 空格 结束选择:")
(setq ss (ssget '((0 . "DIMENSION")))) ;创建选择集
(if ss
(progn
(setq i 0)
(setq num (sslength ss));获取选择集里的图元数量
(repeat num
(setq e_tmp (ssname ss i))
(setq e_obj (vlax-ename->vla-object e_tmp))
(vlax-put e_obj 'TextFill0)
(setq i (1+ i))
)
)
);end if,
)
);end if
(princ)
)
先占个位,我也想知道!
可惜一直没找到办法 本帖最后由 e2002 于 2024-3-26 18:17 编辑
相关的说说,不涉及到代码:
MTEXT对象才有 Background 属性,Text对象很遗憾没有,希望Autodesk能改进Text对象,加上各种先进特性,如背景(不仅能纯色,还可以渐变,图案填充),2D几何变形等。
试了下,这个确实不好弄,搞不好。
(vlax-Put (Vlax-Ename->Vla-Object (Car(Entsel))) 'TextFillColor "背景") e2002 发表于 2024-3-26 18:15
相关的说说,不涉及到代码:
MTEXT对象才有 Background 属性,Text对象很遗憾没有,希望Autodesk能改进Tex ...
您的意思是,这个问题现阶段用lisp无法解决吗? 天天问 发表于 2024-3-26 20:56
您的意思是,这个问题现阶段用lisp无法解决吗?
LeeMac有一个类似的https://lee-mac.com/mask.html
我写了个简版,但论坛现在传不了文件= = kucha007 发表于 2024-3-26 22:15
LeeMac有一个类似的https://lee-mac.com/mask.html
我写了个简版,但论坛现在传不了文件= =
大佬,关键部分的代码方便展示一下吗,截图也行 天天问 发表于 2024-3-27 08:12
大佬,关键部分的代码方便展示一下吗,截图也行
【DF】切换标注遮罩_v1.0
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=189711&fromuid=7329538
(出处: 明经CAD社区)
kucha007 发表于 2024-3-27 09:11
【DF】切换标注遮罩_v1.0
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=189711&fromuid=7329538
...
干货满满,谢谢分享 借个楼,提个问,我用CAD时,经常遇到标注文字会有背景,在标注样式里改成标注文字的背景为“无"当时标注时,文字的背景确实没有了,可是没过多一会儿,就又有背景了,改了变量DIMTFILL,也是如此。不知道为什么,也不知道该怎么改才行,有没有前辈能指教。
页:
[1]
2