wang1zhanghong 发表于 2008-9-12 22:48

合并DWG文件问题

怎样把72张----DWG文件合并---------本来它是一张大图有128MB大但是拆开了 比例相同 要是一张一张拼的话,拼到最后 电脑动不了 (本人电脑内存4G) ------有什么好办法:L

truezx 发表于 2008-9-13 08:14

转贴,来自晓东cad家园

请问一下,我想将某目录下的N个DWG文件快速合并到另一个新的DWG文件中去,且要不重叠,也不要离得太开,要比例不变。有这样的Lisp或ARX程序吗?用在R14及R2002环境下。




某目录下的N个DWG文件快速合并到另一个新的DWG文件


让我们来看看不要程序如何实现,其实只要对excel会用和autolisp的一点点知识(这个不难吧)就可以了。这个办法可是适用于autocadR2.6……autocad 3000版(但愿到那时我还在)


excel的要求:会对各列的数据进行字符运算(简单),

autolisp的知识:了解(command “函数名称”)就可以了。


下面我们开始了:


1、在第一行的各个单元格中分别填入文字(按照A,B,C,D,E,F,G的顺序,以下同这里):

filename,X_Position,Y_Position,X_Scale,Y_Scale,Ang_Rotate,Command_String


2、第一行的内容应该很清楚了,就是不同参数的名称,因此,从第二行开始就是输入不同的参数,其中文件名可以用

”DIR /s/b>filename.txt“的命令得到,将文件filename.txt打开,copy & Paste到excel中来就可以了。

(注意:/s的参数在xp下可以得到全路径的文件名称,不知道在其他操作系统中是否也是如此,请帮忙查证。)

反正文件名是如何得到我不管了。


3、现在的关键来了,就是如何得到Command_String中的内容,请仔细看好了。在G2单元格里面填入下面的公式:

="(command ""-insert"" " & A2 & " """ & B2 & "," & C2 & """ " & D2 & " " & E2 & " " & F2 & " " & ")"

注意了,其中的空格和三个(“”“)引号不能变哟。然后把G2的单元格往下一填充,就可以得到每一个的插入命令了。

下面是一个例子的数据:

其中A2到F2的数据为:

"d:\\test\\test_a1.dwg" 50 50 1 1 0

然后G2中得到的字符串为:

(command "-insert" "d:\\test\\test_a1.dwg" "50,50" 1 1 0 )

4、将上面得到的命令复制到记事本中,保存为以”.SCR“为后缀的文件就可以了。


5、在AutoCAD中新开一张图(你应该会吧),然后执行”SCRIPT“命令,然后将刚才保存的”×××××.SCR“文件给它。

你看到了什么?不要告诉我没有看到哟。


6、大功告成!但是不要忘记了这个过程哟。其实我们灵活地运用,不需要编程也能完成许多的工作。

你能够在其他的方面也灵活的运用吗?不然我就白写了这么多了。

我以前就是采用这种方法插图的,后来写CadAssis-->SCR,是为了简化步骤,操作更方便

[ 本帖最后由 truezx 于 2008-9-13 08:21 编辑 ]

wang1zhanghong 发表于 2008-9-14 21:53

谢谢斑竹   我试试 :P

zhao1452 发表于 2008-9-17 08:33

先把你要的图纸用内部块创建好后关闭,再一一的插入就可以了
页: [1]
查看完整版本: 合并DWG文件问题