首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查.dwg文件中的可用层

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

Stack Overflow用户
提问于 2020-04-07 10:24:35
回答 1查看 519关注 0票数 0

我需要以编程的方式检查AutoCAD绘图中是否存在一个层。我知道使用.dxf完成工作非常简单,如下所示:

代码语言:javascript
复制
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

代码语言:javascript
复制
In [82]: acad = win32com.client.dynamic.Dispatch("AutoCAD.Application")

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

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

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

如能就如何处理这一问题提出任何建议,将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-07 12:16:59

您可以测试以下内容是返回一个图层对象还是一个异常:

代码语言:javascript
复制
dwg.Layers.Item('0')

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61077847

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档