找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 686|回复: 0

[求助] [求助]:文本替换问题

[复制链接]
发表于 2007-4-10 14:03:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
CAD2004,长文本换为短文本测试
单行文本,对齐方式为中间
修改后,不会回到中间夹点了
而是左对齐到原文本的——>左夹点了
移动一下才中间对正
??????





源程序:整个文件夹CAD图批量文本替换(多、单行)
;;文字的批量修改
(arxload "acetutil.arx" NIL)
;;需要相应版本的ET工具(acetutil.arx,acetutil.dll)支持
(vl-load-com)

(defun c:changt (/ NEWTXT OLDTXT)

  (setq oldtxt (getstring "\n查找文字:"))
  (setq newtxt (getstring "\n替换文字:"))
  (setq OLDECHO (getvar "cmdecho"))
  ;;保存系统变量值
  (setvar "cmdecho" 0)
  (setq        path
         (strcat
           (vl-string-right-trim
             "\\"
             (strcase (acet-ui-pickdir
                        "选择目录"
                        "D:\\"           ;(vl-string-right-trim "\\" (getvar "dwgprefix"))
                        "批量修改"
                      )
             )
           )
           "\\"
         )
  )
  (setq OLDLSP (getvar "ACADLSPASDOC"))
  ;;保存系统变量值
  (setvar "acadlspasdoc" 0)
  (setq dwgname (vl-directory-files path "*.DWG"))
  (setq num 0)
  (if (/= dwgname NIL)
    (progn
      (setq APP (vlax-get-acad-object))        ;获得Acad 对象
      (repeat (length dwgname)
        (setq DWGNAME2 (strcase (strcat path (nth num dwgname))))  ;======把路径字母全部转为大写,并赋与DWGNAME2
        (setq doc (vla-open (vla-get-documents APP) DWGNAME2))
                                        ;打开图形并获得其对象
        (setq msp (vla-get-ModelSpace doc))
        (vlax-for ENT msp
          (if (and (vlax-property-available-p ENT 'TEXTSTRING)
                   (wcmatch (setq STR (vla-get-textstring ENT))
                            (strcat "*" OLDTXT "*")
                   )
              )
            (progn
              (setq STR (vl-string-subst NEWTXT OLDTXT STR));
              (vla-put-textstring ENT STR)
            )
          )
        )
        (vla-save DOC)
        (prompt (strcat "\n" DWGNAME2 " <修改Text完成>!!!"))
        (vla-close doc :vlax-false)        ;关闭图形(不检查是否保存)
        (setq num (1+ num))
      )
      (vlax-release-object doc)
      (vlax-release-object APP)
    )
    (prompt "\n所选目录中未有任何图形!!")
  )
  (setvar "acadlspasdoc" OLDLSP)
  ;;恢复系统变量值
  (setvar "cmdecho" OLDECHO)
  ;;恢复系统变量值
  (princ)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-17 14:54 , Processed in 0.321858 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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