明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1544|回复: 4

[求助]请各位看一下

[复制链接]
发表于 2004-2-6 14:52:00 | 显示全部楼层 |阅读模式
请问:怎样把所有文字样式的字体和大字体都改为某种字体和某种大字体?及改字高和比例?
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2004-2-6 14:55:00 | 显示全部楼层
style命令
 楼主| 发表于 2004-2-6 15:01:00 | 显示全部楼层
飞哥,不用它。我想用DBX来批处理。
发表于 2004-2-6 15:17:00 | 显示全部楼层
还记得给你写的替换文字的程序吗,这里改装了一点点,将替换文字部分变成操作文字类型操作。我只给你做到ChgStyle函数,这里只找出了所有的文字类型,并打印,但未做任何修改,修改部分你自己做吧,同ActiveX方法一样做就可以了。注:用过后的文件将没有预览图片了
  1. (vl-load-com)
  2. (defun qf_getFolder (msg / WinShell shFolder path catchit)
  3.    (vl-load-com)
  4.    (setq winshell (vlax-create-object "Shell.Application"))
  5.    (setq shFolder (vlax-invoke-method WinShell 'BrowseForFolder 0 msg 1))
  6.    (setq
  7.        catchit (vl-catch-all-apply
  8.              '(lambda ()
  9.      (setq shFolder (vlax-get-property shFolder 'self))
  10.      (setq path (vlax-get-property shFolder 'path))
  11.                )
  12.          )
  13.    )
  14.    (if (vl-catch-all-error-p catchit)
  15.        nil
  16.        path
  17.    )
  18. )(defun REGISTEROBJECTDBX (/ DBXSERVER)  ;by Tony Tanzillo
  19.    (cond
  20.        ((vl-registry-read
  21.              "HKEY_CLASSES_ROOT\\ObjectDBX.AxDbDocument\\CLSID"
  22.          )
  23.        )
  24.        ((not (setq DBXSERVER (findfile "AxDb15.dll")))
  25.          (alert "Error: Can't locate ObjectDBX Library (AxDb15.dll)")
  26.        )
  27.        (t
  28.          (startapp "regsvr32.exe" (strcat "/s "" DBXSERVER """))
  29.          (or
  30.              (vl-registry-read
  31.    "HKEY_CLASSES_ROOT\\ObjectDBX.AxDbDocument\\CLSID"
  32.              )
  33.              (alert
  34.    "Error: Failed to register ObjectDBX ActiveX services."
  35.              )
  36.          )
  37.        )
  38.    )
  39. )(defun ChgStyle (DBXDOCX DwgName Flags / txtstyles txtstyle)
  40.    (if Flags
  41.        (vla-open DBXDOCX DwgName)
  42.    )
  43.    (setq txtstyles (vla-get-textstyles DBXDOCX))
  44.    (vlax-for txtstyle txtstyles
  45.        (princ "\n")
  46.        (princ (vla-get-name txtstyle))
  47.    )
  48. )(defun TextMain(APP DOC DwgName / App DOC DBXDOC NAME1)   (if (= "15" (substr (getvar "acadver") 1 2))
  49.        (progn
  50.            (if (not (REGISTEROBJECTDBX))
  51.   (exit)  
  52.            )
  53.            (setq
  54.   DBXDOC (vla-getinterfaceobject APP "ObjectDBX.AxDbDocument")
  55.            )
  56.        )
  57.        (setq
  58.            DBXDOC (vla-getinterfaceobject APP "ObjectDBX.AxDbDocument.16")
  59.        )
  60.    )
  61.    (setq NAME1 (strcat (getvar "dwgprefix") (getvar "dwgname")))
  62.    ;(vlax-dump-object DBXDOC T)
  63.    (if (= NAME1 DwgName)
  64.        (progn (ChgStyle DOC DwgName nil)) (vla-save DOC))
  65.        (progn (ChgStyle DBXDOC DwgName t)) (vlax-invoke-method DBXDOC 'SAVEAS DWGNAME));APP DBXDOC DwgName))
  66.    )
  67.    (vlax-release-object DBXDOC)
  68. )(defun C:main( / APP DOC path files file)
  69.    (setq APP (vlax-get-acad-object))
  70.    (setq DOC (vla-get-activedocument APP))
  71.    (setq path (qf_getFolder "选择目录..."))
  72.    (if path
  73.        (progn
  74.            (setq files (vl-directory-files path "*.dwg" 1))
  75.            (foreach file files
  76.   (TextMain app doc (strcat path "\" file))
  77.   (princ (strcat path "\" file "替换完成了\n"))
  78.            )
  79.            (vlax-release-object DOC)
  80.            (vlax-release-object APP)
  81.        )
  82.    )
  83.    (princ)
  84. )
 楼主| 发表于 2004-2-6 16:14:00 | 显示全部楼层
我还记得!


谢谢飞哥!


祝你新年快乐!新年大发!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-27 15:51 , Processed in 0.174202 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表