Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Python计算AutoCAD文件中的图层数_Python_Python 3.x_Pyqt_Autocad_Autocad Plugin - Fatal编程技术网

使用Python计算AutoCAD文件中的图层数

使用Python计算AutoCAD文件中的图层数,python,python-3.x,pyqt,autocad,autocad-plugin,Python,Python 3.x,Pyqt,Autocad,Autocad Plugin,我使用PyQt5创建了一个GUI,它将shapefile和一个.dwg文件作为输入。 在.dwg文件中,我有一定数量的标准层应该在里面。 如果一个或多个层缺失,我希望能够通知用户哪些层缺失 例如,如果.dwg文件必须具有这些层('Trees',Roads','house','Lakes'等),如果缺少'Roads',我希望在用户启动GUI时通知用户 使用Python我必须使用Python扩展/库。但我已经看过了,PyAcad或PythonCAD似乎还没有很好地实现。 如果有人使用过Python

我使用
PyQt5
创建了一个
GUI
,它将
shapefile
和一个
.dwg
文件作为输入。 在
.dwg
文件中,我有一定数量的标准
应该在里面。 如果一个或多个
缺失,我希望能够通知用户哪些
缺失

例如,如果
.dwg
文件必须具有这些
层('Trees',Roads','house','Lakes'等),如果缺少'Roads',我希望在用户启动
GUI时通知用户

使用Python我必须使用Python扩展/库。但我已经看过了,
PyAcad
PythonCAD
似乎还没有很好地实现。 如果有人使用过Python for AutoCAD,我将寻求一些建议/提示。
如果您对我的问题有其他想法,我们将不胜感激

这里有一个复杂问题:如果机器上没有安装AutoCAD,则无法将.dwg转换为.dxf

如果已安装AutoCAD,则使用其API打开和操作图形。这可以用.NET、C++、JavaScript或任何与COM(包括Python)兼容的语言来完成。 如果未安装AutoCAD,则有一个云API:AutoCAD I/O。这基本上是一个在云上运行的实例,可用于处理.dwg图形。这样,您就可以上载带有脚本的.dwg以列出图层。下面是列出图层的命令序列:

-layer
?
*
它应该返回一个图层列表。通过在这个云实例上运行.NET代码,您可以获得更多。更多信息请访问


让我知道您有什么(场景和目标),然后我可以提供更好的建议。

我认为您应该解析该文件。我不知道wheter.dwg是ASCII文件。如果是,那么您可以解析它。@DigviJayPatil.dwg是二进制的,但我认为.dxf是ASCII。然后您可以解析.dxffile@DigviJayPatil我已经用notepad++打开了这个文件,但它不是一个容易解析的文件,有这么多的信息从文件中找出一些关键字,这将给你所需的信息,然后用这些关键字解析文件谢谢!我有AutoCAD,但由于我正在创建的工具旨在分发给其他人,因此他们可能没有安装AutoCAD(尽管不太可能)。基本上,我正在做的是:我有一个dwg文件作为输入,我想知道这个文件中有哪些层(只是层的名称)。我希望在Python脚本中包含这些名称。