批量插图
有没有什么办法将一个目录的“3000”多幅分幅图快速批量插入到一起,批量插图感觉速度太慢了 感激各位热心朋友的大力支持` 风流少年时 发表于 2015-4-27 19:27Comdlg.OCX
是一个VB程序的插件
提示 电脑没 Comdlg.OCX怎么解决
提示 电脑没 Comdlg.OCX怎么解决
使用objectDBX方法,应该很快!论坛里搜一下使用objectDBX的帖子! 谢谢,批插了一上午,结果致命错误,郁闷. 我看还是直接用dos命令吧……
1、在要插入的DWG目录下 dir *.dwg/b>block.txt
2、新建一DWG文件然后输入insdwg
3、输入要插入的DWG所在目录
有没有大侠把以上步骤做成lsp呢,呵呵。 你用下面的试试(此源码来源于本论坛),建议把要和并的图纸分开放到多个文件夹内单独合并,最后在合并成一个整图,文件过多会死机的。
(defun c:hbtz ()
;;插图到一起
(setvar "CMDECHO" 0)
(setq pf (getfiled "指定原文件路径中的一个图形文件:>" "*" "dwg" 8))
(setq path (vl-filename-directory pf))
(setq path (strcat path "\\"))
(setq aa (vl-directory-files path "*.dwg" 1))
(setq n (length aa))
(setq i0
nn 0
)
(setq pp (nth i aa))
(initget "1 2")
(setq opt (getkword
"\n 1:按块插入 /2:解块插入 "
)
)
(if opt
(cond
((= opt "1") (sub1))
((= opt "2") (sub2))
)
)
(princ)
)
(defun sub1 ()
(prompt "\n")
(prompt "程序正在按块插入图幅,请等待...\n")
(while (/= pp nil)
(setq i (+ i 1))
(setq pp (strcat path pp))
(command "insert" pp "0,0" "1" "1" "")
(setq nn (+ nn 1))
(princ (strcat "第" (itoa nn) "幅" "图号为" pp " \r"))
(setq pp (nth i aa))
)
(command "zoom" "e" "zoom" "0.8x")
)
(defun sub2 ()
(prompt "\n")
(prompt "程序正在解块插入图幅,请等待...\n")
(while (/= pp nil)
(setq i (+ i 1))
(setq pp (strcat path pp))
(setq pp (strcat "*" pp))
(command "insert" pp "0,0" "1" "")
(setq nn (+ nn 1))
(princ (strcat "第" (itoa nn) "幅" "图号为" pp " \r"))
(setq pp (nth i aa))
(setq pp (nth i aa))
)
(command "zoom" "e" "zoom" "0.8x")
)
(setq pf (getfiled "指定原文件路径中的一个图形文件:>" "*" "dwg" 8))
(setq path (vl-filename-directory pf))
==========================
这倒是个全选文件夹内文件的思路,就是腔调差了点。有其它方法吗? 去我的博客看看,这有答案!
http://gyh060707.blog.sohu.com/ Gu_xl 发表于 2011-9-8 20:43 static/image/common/back.gif
去我的博客看看,这有答案!
http://gyh060707.blog.sohu.com/
gu_xl版主这个程序真的很牛,学习一下。 本帖最后由 xiaxiang 于 2011-9-9 09:20 编辑
学习gu_xl版主。。。
只是不知道在用法上有没有什么讲究?
我的报错
命令:
BINS ; 错误: 参数类型错误: stringp nil
进度条长期显示在6%。。。