明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 590|回复: 3

[提问] 同名的CAD文件合并(文件内有块)

[复制链接]
发表于 2020-2-28 15:14 | 显示全部楼层 |阅读模式
5明经币

同名的CAD文件合并,
A文件夹(图名为1、2、3、4、5。。。)
B文件夹(图名为1、2、3、4、5。。。);
就是将A文件夹与B文件夹中的同名图层原坐标合并,
合并后的文件放在C文件夹(图名为1、2、3、4、5。。。)
现有代码合并时,两个文件的同名块会被替换

请求修改


  1. ;;;自定义函数,打开文件名
  2. (defun try-getFolder (msg / WinShell shFolder path catchit)
  3.   (setq winshell (vlax-create-object "Shell.Application"))
  4.   (setq shFolder (vlax-invoke-method WinShell 'BrowseForFolder 0 msg 1))
  5.   (setq catchit (vl-catch-all-apply
  6.                   '(lambda ()
  7.                      (setq shFolder (vlax-get-property shFolder 'self))
  8.                      (setq path (vlax-get-property shFolder 'path))
  9.                    )
  10.                 )
  11.   )
  12.   (if (vl-catch-all-error-p catchit)
  13.     nil
  14.     path
  15.   )
  16. )
  17. ;;;;;合并
  18. (defun c:hhh (/ BANBEN DBX pathXZ pathgh pathgh FILESxz filesgh  I j DWGNAMExz dwgnamegh)
  19.   (vl-load-com)
  20.   ;;;  (setq banben (substr (getvar "acadver") 1 2))
  21.   ;;;  ;版本2004-2006返回16,2007-2009返回17,2010-2012返回18,2013返回19
  22.   ;;;  (setq dbx (Vlax-Get-Or-Create-Object (strcat "ObjectDBX.AxDbDocument." banben)))
  23.   (setq pathXZ (strcat (try-getFolder "\n 选择现状图所在文件夹名称:") "\\"));文件夹路径
  24.   (setq filesxz (vl-directory-files pathXZ "*.dwg" 1)) ;获取所有文件名
  25.   (setq pathGH (strcat (try-getFolder "\n 选择规划图所在文件夹名称:") "\\"));文件夹路径
  26.   (setq filesgh (vl-directory-files pathGH "*.dwg" 1)) ;获取所有文件名
  27.   (setq pathHB (strcat (try-getFolder "\n 选择合并后所在文件夹名称:") "\\"));文件夹路径
  28.   (setq i -1)
  29.   (setq j -1)
  30.   (setvar "cmdecho" 0)
  31.   (while (setq dwgnamexz (nth (setq i (1+ i)) filesxz))
  32.     (command "-insert" (strcat pathgh dwgnamexz) "0,0" "1" "1" "0")
  33.     (command "_explode" "all" "");分解了,以免不懂的人不会修改表头
  34.     (command "-purge" "a" "" "n")
  35.     (command "-insert" (strcat pathxz dwgnamexz) "0,0" "1" "1" "0")
  36.     (command "_explode" "all" "");分解了,以免不懂的人不会修改表头
  37.     (command "-purge" "a" "" "n")
  38.     (command "_saveas" "" (strcat pathHB dwgnamexz))
  39.     (command "_erase" "all" "");全部删除图中内容
  40.   )
  41. )







附件: 您需要 登录 才可以下载或查看,没有账号?注册
 楼主| 发表于 2020-2-28 15:14 | 显示全部楼层
请坛内大神帮忙修改,谢谢。
回复

使用道具 举报

发表于 2020-10-8 14:54 | 显示全部楼层
这个需要把其中的块提前给炸开
回复

使用道具 举报

发表于 2020-10-8 20:41 | 显示全部楼层
你都不给出具体的合并规则,改代码没有意义
同名块如何处理?
同名线型、图层、文字样式如何处理?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-27 18:24 , Processed in 0.821908 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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