yrgui 发表于 2013-11-20 14:19:04

多张图纸按原坐标合到一个文件

怎么把200张CAD图纸按原坐标自动合并到一张图里面呢?要是一张张打开,复制到一个CAD里边,那费劲死了

mandala 发表于 2013-11-20 14:19:05

(defun c:dwgins(/ folder dwglistn )
(command "._undo" "_be")
(setq folder (GetFolder "选择文件夹"))
(setq dwglist (VL-DIRECTORY-FILES folder "*.dwg" 1))
(while (= (length dwglist) 0)
(setq folder (GetFolder "你选中的文件夹里没有DWG文件,重选!"))
(setq dwglist (VL-DIRECTORY-FILES folder "*.dwg" 1))
)
(setq n 0)
(repeat (length dwglist)
(command "insert" (strcat folder "\\" (nth n dwglist)) "0,0" "1" "1" "0")
(setq n (1+ n))
)
(command "._zoom" "e")
(command "._undo" "_e")
(princ "\n搞定!")
(princ "\n共插入")(princ (length dwglist))(princ "个DWG文件。")
(princ)
)

;; 子函数:(GetFolder "选择文件夹:") 返回值:字符串,文件夹路径,如果点了cancel, 返回nil

(defun GetFolder (msg / WinShell shFolder path catchit)
(setq winshell (vlax-create-object "Shell.Application"))
(setq shFolder (vlax-invoke-method WinShell 'BrowseForFolder 0 msg 1))
(setq
    catchit (vl-catch-all-apply
      '(lambda ()
   (setq shFolder (vlax-get-property shFolder 'self))
   (setq path (vlax-get-property shFolder 'path))
         )
      )
)
(if (vl-catch-all-error-p catchit)
    nil
    path
)
)

mandala 发表于 2013-11-20 22:13:27

200张图纸?那合并的速度绝对会让你爽到极点

香田里浪人 发表于 2013-11-21 20:55:40

合并的速度绝对快,不知精度如何?

llsheng_73 发表于 2013-11-22 09:06:45

本帖最后由 llsheng_73 于 2013-11-22 09:08 编辑

(defun C:PT(/ fname path fns)
   (gc)(setq fname(getfiled "建立总图文件" "C:" "dwg" 1))
   (setq path (strcat (vl-filename-directory fname)))
   (setq fns (vl-directory-files path "*.dwg" 1))
   (setvar"CMDECHO"0)
   (setvar"OSMODE"(+(getvar"OSMODE")16384))
   (foreach fn fns
   (command "INSERT" (strcat "*" path "\\" fn) (list 0 0 0) "1" "0")(gc))
   (command "ZOOM" "E")
   (command "-wblock" fname "*")
   (setvar"OSMODE"(-(getvar"OSMODE")16384))
)

很久很久以前的;在空图上运行,选定一个文件夹,给总图起个图名

araise 发表于 2013-11-23 22:46:54

好东西,赞一个

byghbcx 发表于 2013-11-28 11:07:35

用dbx方法试试

落雪___ 发表于 2015-11-2 11:58:22

llsheng_73 发表于 2013-11-22 09:06 static/image/common/back.gif
很久很久以前的;在空图上运行,选定一个文件夹,给总图起个图名

合并的图纸都重叠在一起了,有没有办法分开啊,不要重叠的

llsheng_73 发表于 2015-11-2 14:52:49

落雪___ 发表于 2015-11-2 11:58 static/image/common/back.gif
合并的图纸都重叠在一起了,有没有办法分开啊,不要重叠的

合并到一起了可能是你的图不是每个图都是不同坐标的
如果是这样,插入进行的时候不要散开图形,让它们保持为块,就比较容易人为移开了

落雪___ 发表于 2015-11-2 16:43:12

llsheng_73 发表于 2015-11-2 14:52 static/image/common/back.gif
合并到一起了可能是你的图不是每个图都是不同坐标的
如果是这样,插入进行的时候不要散开图形,让它们保 ...

数量蛮多的,有时候上千张呢,有办法改进吗。我每一个图纸的特点是:都是在同一个原点上
页: [1] 2
查看完整版本: 多张图纸按原坐标合到一个文件