如何使用Python在一个AutoCAD实例中打开目录中所有的 .dwg 文件

4

我本周开始学习 Python(以及编码全部内容),但我在我想做的一个简单任务上卡住了。

我正在寻找以下功能:

  1. 在控制台中打印指定目录中的所有 .dwg 文件。
  2. 打开 AutoCAD 的一个实例。
  3. 对于该目录中的每个 .dwg 文件,在新标签页中打开图纸。(如果我已经打开了 AutoCAD 实例,则双击 .dwg 文件时它会自动打开选项卡)

我现在编写的代码:

import os
import subprocess

autocadPath = r'C:\Program Files\Autodesk\AutoCAD 2019\acad.exe'     

for file in os.listdir("D:\openFiles"):
    if file.endswith(".dwg"):
        print(os.path.join("D:\openFiles", file))

        subprocess.Popen("%s %s" % (autocadPath, os.path.join("D:\openFiles", file))) 

运行时会发生什么:

  1. 打开两个AutoCAD实例。
  2. 最后一次打印的图纸在两个实例中都打开。
  3. 尝试在第二个AutoCAD实例中打开第一个打印的文件,但找不到该文件。

(我只有2个.dwg文件在目录中。)

希望有人能帮我解决这个问题。

1个回答

1
迄今为止,在AutoCAD中批量打印图纸的最简单方法是使用AutoCAD脚本文件(.scr),它可以向AutoCAD命令行发出一系列命令和响应命令提示。我在我的答案here中描述了这个过程(虽然是从AutoLISP角度)。
使用AutoCAD Script,您可以打开每个图纸,发出-PLOT命令,以使用已保存的绘图配置(.pc3)或通过进入详细配置模式并响应命令行中的每个提示来进行绘图。
我在我的教程here中描述了AutoCAD Script文件的语法。对于-PLOT命令,脚本可能如下所示:
-PLOT Y  "dwg to PDF" "ANSI full bleed B (11.00 x 17.00 Inches)" I L N E F C Y monochrome.ctb Y N N N "C:/YourFilename.pdf" N Y

你可以使用Python编写脚本,然后通过提供脚本文件的文件名和路径来运行AutoCAD命令行中的SCRIPT命令。

嗨,李,问题并不是打印,这在Python脚本中按预期工作。 不起作用的是在一个AutoCAD实例中打开所述目录中的所有.dwg文件。 - itsme
这其实是我建议使用AutoCAD脚本的主要原因,因为脚本将在单个AutoCAD实例中打开所有图纸。我想另一种选择是,在建立AutoCAD会话后,使用Python发出“OPEN”命令来打开AutoCAD。 - Lee Mac

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接