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

2024-06-28 12:23:56 发布

您现在位置:Python中文网/ 问答频道 /正文

本周我开始学习Python(并一起编写代码),我被困在了一个我想做的简单任务上

我想要的功能是:

  1. 打印控制台中指定目录中的所有.dwg文件
  2. 打开AutoCAD的一个实例
  3. 对于所述目录中的每个.dwg文件,在新选项卡中打开一个图形。(如果有AutoCAD open实例,双击.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的第二个实例中打开,但找不到该文件

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

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


Tags: 文件实例代码import目录图形os选项卡
1条回答
网友
1楼 · 发布于 2024-06-28 12:23:56

到目前为止,在AutoCAD中打印一批图形的最简单方法是使用AutoCAD脚本文件(.scr),该文件可以向AutoCAD命令行发出一系列命令并响应命令提示。我在回答here中描述了这个过程(尽管是从AutoLISP的角度)

使用AutoCAD脚本,可以打开每个图形,发出-PLOT命令,使用保存的打印配置(.pc3)进行打印,或者通过进入详细配置模式并响应命令行上的每个提示进行打印

我在教程here中描述了AutoCAD脚本文件的语法。对于-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编写脚本,然后通过为SCRIPT命令提供文件名&;创建的脚本文件的文件路径

相关问题 更多 >