能否将当前图纸连同其引用的所有外部参照复制到桌面文件夹?
如题,在用外部参照的情况下,方便各专业图纸传阅把参照都绑定成块就OK了。 duotu007 发表于 2014-9-15 14:22 static/image/common/back.gif
把参照都绑定成块就OK了。
就是不想绑定才来求助~~
原因1:当前图纸只给别人看过程图,绑定花时间不说,还要另存-重开图,更是浪费时间
原因2:如果手动将当前图纸及引用的外部参照拷到桌面文件夹,得一个一个的去选择dwg,有时候不注意还会漏掉某张或几张引用的图
于是有了标题中的求助,请高手帮忙 ~>_<~+ theisland 发表于 2014-9-15 20:06
就是不想绑定才来求助~~
原因1:当前图纸只给别人看过程图,绑定花时间不说,还要另存-重开图,更是浪费 ...
提取外部参照的路径和文件名后直接copy即可! 电子传递,选择不绑定就好了啊,还是批量的 Gu_xl 发表于 2014-9-15 22:40 static/image/common/back.gif
提取外部参照的路径和文件名后直接copy即可!
听朋友你说起来貌似很简单,可我不懂编程~~能不能幸苦一下,帮我写一个?翘首以盼,谢谢! 王与韩1 发表于 2014-9-16 09:53 static/image/common/back.gif
电子传递,选择不绑定就好了啊,还是批量的
什么是电子传递? theisland 发表于 2014-9-16 23:19 static/image/common/back.gif
听朋友你说起来貌似很简单,可我不懂编程~~能不能幸苦一下,帮我写一个?翘首以盼,谢谢!
;;将图中的外部参照文件复制到桌面 By 明经通道 Gu_xl 2014年9月17日
(defun c:xref2DeskTop (/ DeskToppath path i)
(setq DeskToppath
(VL-REGISTRY-READ
"HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\User Shell Folders"
"Desktop"
)
)
(setq DeskToppath
(strcat (getenv "USERPROFILE")
"\\"
(VL-FILENAME-BASE (cdr DeskToppath))
)
i 0
)
(vlax-for blkdef (vla-get-blocks
(vla-get-ActiveDocument (vlax-get-acad-object))
)
(if (and
(= :vlax-false (vla-get-IsLayout blkdef))
(= :vlax-true (vla-get-IsXRef blkdef))
)
(progn
(setq path (vla-get-path blkdef))
(if (= "." (substr path 1 1))
(setq path (strcat (getvar 'dwgprefix)
(substr path 3 (- (strlen path) 2))
)
)
)
(if
(and
(findfile path)
(vl-file-copy
path
(strcat DeskToppath "\\" (VL-FILENAME-BASE path) ".dwg")
)
)
(progn
(princ
(strcat "\n " "复制外部参照文件\"" path "\"到桌面...")
)
(setq i (1+ i))
)
)
)
)
)
(princ
(strcat "\n 共" (itoa i) " 个外部参照文件复制已到桌面...")
)
(princ)
) 本帖最后由 王与韩1 于 2014-9-17 09:27 编辑
theisland 发表于 2014-9-16 23:21 static/image/common/back.gif
什么是电子传递?
cad06的话,就是文件-电子传递;12是文件-发布-电子传递 Gu_xl 发表于 2014-9-17 08:54 static/image/common/back.gif
老大,运行有点问题:; 错误: 参数类型错误: consp "C:\\Documents and Settings\\temp\\桌面"
还有就是:
1.我希望把宿主dwg也一起复制,而不仅仅是引用的外部参照
2.因为桌面文件很多,希望程序运行后能提示选择桌面指定文件夹或者新建一个文件夹(自己输入文件夹名)
我要求是不是有点多了啊~~呵呵,请老大再关注下!
页:
[1]
2