明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1586|回复: 5

飞哥,上次你帮我编的程序在CAD2004……

[复制链接]
发表于 2003-10-17 16:53:00 | 显示全部楼层 |阅读模式
飞哥,上次你帮我编的那个批量替换一个文件夹内的所有图纸内的文字、属性参照程序在只装有CAD2004的机子上好像用不了!!!
在装有CAD2002、2000的机子上可正常运用。
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2003-10-17 18:23:00 | 显示全部楼层
不可能,我一直都是用2004的,是不是有些设置不同。
你看看程序开头有没有(vl-load-com),如果没有,加上这句再试试。加在程序文件的最上面,单独的
发表于 2003-10-17 18:27:00 | 显示全部楼层
好象程序里有(vl-load-com),你说说看出错提示是什么?
 楼主| 发表于 2003-10-18 15:01:00 | 显示全部楼层
在运行(vla-open DBXDOCX DwgName)时出错!可能是在给DBXDOC赋值时不对。
另外,我修改你的程序的一部分如下:
(defun findpath()
  (while (not files)
    (progn
      (setq path (qf_getFolder "请选择目录..."))
      (setq files (vl-directory-files path "*.dwg" 1))
      (if (not files)
        (alert "所选目录无 .dwg 文件!请重新选择——")
      )
    )
  )
)
(defun C:kr_swap (/ APP DOC path files file)
  (setq errtmp *error*)
  (setq *error* err)
  (setq APP (vlax-get-acad-object))
  (setq DOC (vla-get-activedocument APP))
  (setq dcl_id (load_dialog "KR_swap.dcl"))
  (if (not (new_dialog "kr_swap" dcl_id))
    (exit)
  )
  (action_tile "browse" "(findpath) (set_tile \"path\" path)")
  (action_tile "oldtext" "(setq oldtext $value)")
  (action_tile "newtext" "(setq newtext $value)")
  (action_tile "accept" "(done_dialog 1)")
  (setq dd (start_dialog))
  (if (= dd 1)
    (progn
      (textpage)
      (foreach file files
        (TextMain app doc (strcat path "\\" file))
        (princ (strcat path "\\" file "  替换成功完成了\n"))
      )
    )
  )
  (unload_dialog dcl_id)
  (vlax-release-object DOC)
  (vlax-release-object APP)
  (princ)
)

当我点了getFolder时,又不想执行程序了,上述程序就要进入一个循环,只有选择的文件夹内有DWG文件时才能退出,怎样完善它呢?飞哥!
发表于 2003-10-18 15:22:00 | 显示全部楼层
判断一下PATH变量,如果PATH为非空,则表示你选择了目录,如果里面没有*.DWG文件,就要重选,如果PATH为空,表示你是取消的,就退出选择
 楼主| 发表于 2003-10-18 16:56:00 | 显示全部楼层
谢谢飞哥!
尔乃真好人也!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-10-2 14:35 , Processed in 0.171275 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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