检查.dwg文件中的可用图层

问题描述 投票:0回答:1

我需要以编程方式检查AutoCAD绘图中是否存在图层。我知道使用.dxf完成工作很简单,就像这样:

In [77]: import win32com.client
    ...: import ezdxf
    ...: import os

In [78]: folder = r'C:\path\to\my\folder'
    ...: filename = 'my_file'

In [79]: dxf_path = os.path.join(folder, filename + '.dxf')

In [80]: dxf = ezdxf.readfile(dxf_path)

In [81]: '0' in dxf.layers
Out[81]: True

但是如果我想检查.dwg文件上的可用图层怎么办?我进行了此尝试,但没有成功,因为SendCommand方法返回None

In [82]: dwg_path = os.path.join(folder, filename + '.dwg')

In [83]: dwg = acad.Documents.Open(dwg_path)

In [84]: dwg.SendCommand('(tblsearch "layer" "0") ') is not None
Out[84]: False

关于如何解决此问题的任何建议将不胜感激。

python win32com autocad autolisp dwg
1个回答
0
投票

您可以测试以下内容是否返回图层对象或异常:

dwg.Layers.Item('0')

或者,迭代Layers集合中的所有Layer对象并设置一个标志变量,或者如果Layer的Name属性与您要查找的层的名称匹配,则返回。

© www.soinside.com 2019 - 2024. All rights reserved.