simpleye 发表于 2013-3-13 18:39:21

呵呵,这些都试过啊~~感觉不快啊,麻烦

simpleye 发表于 2013-3-14 15:39:42

没人解决吗??恳请各位大位帮个忙了。。。

simpleye 发表于 2013-3-14 15:40:17

这个我修改图纸时用到挺多的。。。。

燃烧 发表于 2013-3-14 18:21:18

(defun c:KAt (/                myacad          mydoc          myms      newtext
              newfontfile          newbigfontfile      NEWSTR
              STR        ss          obj          POS              STRL
             );改变字体为楷件
(vl-load-com)
(setq myacad (vlax-get-acad-object))
(setq mydoc (vla-get-activedocument myacad))
(setq myms (vla-get-modelspace mydoc))
(Setq newText (vla-add (vla-get-TextStyles mydoc) "楷体"))
(setq newFontFile "C:\WINDOWS\Fonts/simkai.ttf")
(vla-put-FontFile newText newFontFile)
(prompt
    "\nSelect MTEXT OR TXT to be changed to <楷体 style>by 向赞扬"
)
(setq        ss (ssget '((-4 . "<or")
                  (0 . "TEXT")
                  (0 . "MTEXT")
                  (0 . "DIMENSION")
                  (-4 . "or>")
                   )
           )
)
(repeat (setq I (sslength SS))
    (setq OBJ (vlax-ename->vla-object (ssname SS (setq I (1- I)))))
    (setq objname (vla-get-ObjectName OBJ))
    (if        (or (= objname "AcDbMText") (= objname "AcDbText"))
      (progn
        (SETQ str (vla-get-TextString OBJ))
        (IF (WCMATCH STR "*;*")
          (PROGN (SETQ STRL (STRLEN STR))
               (setq pos (vl-string-position 59 str))
               (IF (/= STRL POS)
                   (SETQ POS (+ POS 2))
               )
               (SETQ NEWSTR (substr str pos (- STRL pos)))
               (setq
                   NEWSTR
                  (strcat "{\\fKaiTi_GB2312|b0|i0|c134|p49;" NEWSTR "}")
               )
               (vla-put-TextString OBJ NEWSTR)
          )
        )
        (vla-put-StyleName OBJ "楷体")
      )
    )
    (if        (= objname "AcDbRotatedDimension")
      (vla-put-TextStyle OBJ "楷体")
    )
)
)
我这个程序可以改变字体为楷体的!其它字体程序类似!

清风明月名字 发表于 2013-3-14 19:19:58

谢谢13楼楼主,代码收藏 了

simpleye 发表于 2013-3-14 21:27:45


14楼楼主按照您的程序我把它改成仿宋GB2312,转是转过来了,但是有个小问题,如上图?
前面的字不见了,而且双击编辑时,字是竖的。看了文字样式,字体名变成@仿宋GB2312

simpleye 发表于 2013-3-14 22:35:06

问题解决了,我是用13楼的程序修改的。呵呵,谢谢各位了。

baokeding 发表于 2013-10-26 21:34:20

stripmtext

baokeding 发表于 2013-10-26 21:47:26


我教你一个方法,
1、打开属性面板(ctrl+1)
2、全选(ctrl+a)
3、在属性面板上面的下拉列表里选择文字对象
4、最好在属性面板里统一改文字样式就行
页: 1 [2]
查看完整版本: 怎样改变文字字体