改变多行文字的颜色为指定的颜色色号
本帖最后由 戏男 于 2023-6-12 10:25 编辑如题,框选多行文字,改变多行文字的颜色为指定的颜色色号
本帖最后由 liuhe 于 2023-6-21 17:39 编辑
(prompt"作者:流河 QQ:859779429")
(defun m1 (MTextString / regex s)
(setq regex (vlax-create-object "Vbscript.RegExp"))
;引用正则表达式控件
(vlax-put-property regex "IgnoreCase" 0) ;不忽略大小写
(vlax-put-property regex "Global" 1) ;匹配方式,全文字匹配
(setq s MTextString)
(vlax-put-property regex "Pattern" "(\\\\c|\\\\C)(.[^;]*);")
(setq s (vlax-invoke-method regex "Replace" s ""))
(vlax-release-object regex)
s
)
(defun c:tt (/ SS COR I E ENT MT)
(SETQ SS (SSGET '((0 . "MTEXT"))))
(IF (NOT SS)
(VL-EXIT-WITH-VALUE 0)
)
(if (or (not cor11) (<= cor11 0) (> cor11 256))
(setq cor11 1)
)
(SETQ COR NIL)
(WHILE (or (not cor) (<= cor 0) (> cor 256))
(IF
(NOT (SETQ
COR (GETINT (STRCAT "\n请输入颜色号<" (RTOS COR11 2 0) ">"))
)
)
(SETQ COR COR11)
(SETQ COR11 COR)
)
)
(SETQ I 0)
(REPEAT (SSLENGTH SS)
(SETQ E (SSNAME SS I)
ENT (ENTGET E)
MT(CDR (ASSOC 1 ENT))
MT(M1 MT)
i (1+ I)
)
(setq ent (ENTMOD (SUBST (CONS 1 MT) (ASSOC 1 ENT) ENT))
ent (ENTMOD (SUBST (CONS 62 COR) (ASSOC 62 ENT) ENT))
)
)
(PRINC)
)
553-G-01怎么组合到一块的呢? loveu515 发表于 2023-6-12 11:53
553-G-01怎么组合到一块的呢?
是多行文字,多行文字可以弄两种以上的颜色
既然没要求语言,那就发个c#的
powered by ifox
public static void Test1()
{
var sf = OpFilter.Build(e => e.Dxf(0) == "MTEXT");
PromptSelectionOptions pso = new PromptSelectionOptions() { MessageForAdding = "\n选择要修改颜色的多行文字", RejectObjectsOnLockedLayers = true };
var r1 = Env.Editor.GetSelection(pso, sf);
if (r1.Status != PromptStatus.OK)
return;
using var tr = new DBTrans();
var mtList1 = r1.Value.GetEntities<MText>(OpenMode.ForWrite);
if (!mtList1.Any())
return;
var r2 = Env.Editor.GetInteger("\n输入颜色号");
if (r2.Status != PromptStatus.OK)
return;
var colorIndex = Math.Abs(r2.Value) % 257;
foreach (var mt in mtList1)
{
mt.Contents = mt.Text;
mt.ColorIndex = colorIndex;
}
}
d1742647821 发表于 2023-6-12 14:41
既然没要求语言,那就发个c#的
powered by ifox
不会用这个,只会用LISP的{:1_1:} 戏男 发表于 2023-6-13 15:39
不会用这个,只会用LISP的
那应该注明需要Lisp
d1742647821 发表于 2023-6-13 22:21
那应该注明需要Lisp
:lol是啊,可以弄一个lisp的吗?谢谢 本帖最后由 戏男 于 2023-6-16 14:53 编辑
liuhe 发表于 2023-6-16 14:10
可以用了,谢谢:handshake liuhe 发表于 2023-6-12 10:06
挺好用,改改对单行标注都能用:lol