357785513 发表于 2009-6-20 12:54:00

大家看一看有没人什么办法

大家看一看有没人什么办法.大家好,.多行文本的字体有什么办法可以转字体嘛,难道要像我一样,一个一个点进去必掉它的字体,,.大家好帮我看看有没有什么办法可以选择它批量把字体改过来.但不能炸散这些多行文本,就像上图一样,把左边的多行文本改成右边多行文本的字体,有什么快速的方法不,.我就是一个一个点进去改的,弄了半天时间,

357785513 发表于 2009-6-20 12:57:00

不好意思不记得传附件上去了

357785513 发表于 2009-6-20 13:07:00

<p></p><p>就是这张图,</p>

ZZXXQQ 发表于 2009-6-20 17:29:00


;删MTEXT字形 明经 ZZXXQQ 2009.6.20
(defun c:tt ()
(if (setq ss (ssget '((0 . "MTEXT")))) (progn
(setq i 0)
(repeat (sslength ss)
   (setq ent (entget(ssname ss i))
   i (1+ i)
   txt (cdr(assoc 1 ent))
   j 1 k nil
   sl (strlen txt))
   (while (< j sl)
    (if (= (substr txt j 1) ";") (setq k j j sl) (setq j (1+ j)))
   )
   (if k (progn
    (setq txt (substr txt (1+ k))
    k nil j 1 sl (strlen txt))
(while (< j sl)
   (if (= (substr txt j 1) "}") (setq k j j sl) (setq j (1+ j)))
    )
    (if k (setq txt (substr txt 1 (1- k))))
    (setq ent (subst (cons 1 txt) (assoc 1 ent) ent))
    (entmod ent)
   ))
)
))
(princ)
)

狂刀无痕 发表于 2009-6-21 21:43:00

用刷子不行么?

357785513 发表于 2009-6-21 21:56:00

谢谢四楼的不相识的看得见的看不见的瞬间即的永恒的,大哥,啥也别说了.谢谢呀.

357785513 发表于 2009-6-22 12:43:00

今天早上又发现一个问题,左边的图里有多种字体的情况下就不好用了,能不能改一下,多行文本里有多种字字的情况下能也能用,高人,先谢谢

tengte 发表于 2009-6-22 21:39:00

<p>(defun MText2Text (MTextString / RegExp s Pattern1 Pattern2 el)<br/>&nbsp; (setq RegExp (vlax-create-object "Vbscript.RegExp"))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;引用正则表达式控件<br/>&nbsp; (vlax-put-property RegExp "IgnoreCase" 0) ;不忽略大小写<br/>&nbsp; (vlax-put-property RegExp "Global" 1)&nbsp;;匹配方式,全文字匹配<br/>&nbsp; (setq&nbsp;s&nbsp; MTextString<br/>&nbsp;Pattern1 (list (list "<a>\\\\\\\\</a>" 1 "\\") ;字符\\<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (list "<a>\\\\</a>{" 2 "{") ;字符\{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (list "<a>\\\\</a>}" 3 "}") ;字符\}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (list "<a>\\\\P</a>" 4 "\n") ;换行符\P<br/>&nbsp;&nbsp; )<br/>&nbsp;Pattern2 (list<br/>&nbsp;&nbsp;&nbsp;&nbsp; "<a>\\\\p(i|t</a>)(.[^;]*);" ;段落缩进、制表符格式<br/>&nbsp;&nbsp;&nbsp;&nbsp; "<a>\\\\S(.[^;]*)(\\^|#|\\\\</a>)(.[^;]*);" ;堆迭格式<br/>&nbsp;&nbsp;&nbsp;&nbsp; "<a>\\\\(F|f|C|H|T|Q|W|A</a>)(.[^;]*);"<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;字体、颜色、字高、字距、倾斜、字宽、对齐格式<br/>&nbsp;&nbsp;&nbsp;&nbsp; "<a>\\\\(L|l|O|o</a>)"&nbsp;;下划线、线格式<br/>&nbsp;&nbsp;&nbsp;&nbsp; "<a>\\\\</a>~"&nbsp;&nbsp;;不间断空格格式<br/>&nbsp;&nbsp;&nbsp;&nbsp; "({|})"&nbsp;&nbsp;;{}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;"\n" ;换行符格式(针对Shift+Enter格式)<br/>&nbsp;&nbsp;&nbsp; )<br/>&nbsp; )<br/>&nbsp; (foreach el Pattern1<br/>&nbsp;&nbsp;&nbsp; (vlax-put-property RegExp "Pattern" (car el))<br/>&nbsp;&nbsp;&nbsp; (setq s (vlax-invoke-method RegExp "Replace" s (chr (cadr el))))<br/>&nbsp; )<br/>&nbsp; (foreach el Pattern2<br/>&nbsp;&nbsp;&nbsp; (vlax-put-property RegExp "Pattern" el)<br/>&nbsp;&nbsp;&nbsp; (setq s (vlax-invoke-method RegExp "Replace" s ""))<br/>&nbsp; )<br/>&nbsp; (foreach el Pattern1<br/>&nbsp;&nbsp;&nbsp; (vlax-put-property<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RegExp<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "Pattern"<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (strcat "<a href="file://\\x0">\\x0</a>" (itoa (cadr el)))<br/>&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp; (setq s (vlax-invoke-method RegExp "Replace" s (caddr el)))<br/>&nbsp; )<br/>&nbsp; (vlax-release-object RegExp)<br/>&nbsp; s<br/>)</p><p>(defun c:tt ()<br/>&nbsp; (if (setq ss (ssget '((0 . "MTEXT"))))<br/>&nbsp;&nbsp;&nbsp; (progn<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq i 0)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (repeat (sslength ss)<br/>&nbsp;(setq ent (entget (ssname ss i))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i&nbsp;&nbsp; (1+ i)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; txt (cdr (assoc 1 ent))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; txt (MText2Text txt)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ent (subst (cons 1 txt) (assoc 1 ent) ent)<br/>&nbsp;)<br/>&nbsp;(entmod ent)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp; )<br/>&nbsp; )<br/>&nbsp; (princ)<br/>)<br/></p>

liminnet 发表于 2009-6-23 08:45:00

liminnet 发表于 2009-6-23 08:56:00

页: [1] 2
查看完整版本: 大家看一看有没人什么办法