在 Excel 和 Python 中使用 AutoCAD

在本文中,我将演示如何使用 Excel 工作表中的数据在 AutoCAD 上使用 Python 绘制对象。

用于在 Python 中使用 Excel 和 AutoCAD 的库

对于这个特定的演示,我使用 pyautocad 和 openpyxl Python 库。openpyxl Python 模块帮助我从现有的 Excel 文件中获取数据。

from pyautocad import Autocad, APoint, aDouble
import openpyxl as oex

在 Python 中从 AutoCAD 的 Excel 文件中获取数据

要从 Excel 文件中获取数据,我需要两个变量。第一个用于存储工作簿。第二个变量用于存储当前活动的工作表。请参阅下面的代码以进行说明。

wbook = oex.load_workbook("Test.xlsx")
sh = wbook.active

在这个基本示例中,我将使用 pyautocad 中的 AddPolyline 方法连接一些随机点。这些点在我的 Excel 文件中指定。Excel 文件采用表格的形式。我在下面显示的屏幕截图中显示它。

在 Python 中使用 pyautocad 的 AutoCAD 折线 Excel 表

从我之前发表的文章中,我知道为了创建AutoCAD折线,我需要一个双精度数据类型的 3 元素数组。这就是为什么我需要在将表中的每一行添加到列表时对其进行迭代。我在下面的代码中澄清了这一点。

l1 = []
for i in range(2, sh.max_row+1):
    for j in range(2, sh.max_column+1):
        cell = sh.cell(row=i, column=j)
        l1.append(cell.value)
print(l1)

O/p:
[125, 235, 0, 670, 217, 0, 105, 756, 0, 654, 789, 0, 125, 235, 0]

现在我已经创建了列表,我可以使用它来创建定制的AutoCAD 折线

使用 pyautocad 创建 AutoCAD 多段线

最后,我需要将列表转换为 aDouble(双精度数组)对象。这允许我在调用 AddPolyline pyautocad 方法时将其用作输入参数。这是实际绘制AutoCAD 多段线的方法。代码如下所示。

polygon = aDouble(l1)
acad.model.AddPolyline(polygon)

这是执行上述 Python 代码后在 AutoCAD 中绘制的内容。

用 Python 中的 Excel 数据绘制的 AutoCAD 折线

从上图中可以看出,根据我的 Excel 文件中指定的数据,创建了一条折线。

结束语

最后,我可以说,当使用我在本文中描述的概念时,AutoCAD 用户可以使用 Excel 中的数据在 Python 中创建 AutoCAD 对象。除了 openpyxl,Python 开发者也可以考虑使用pandaspandas是用于处理 Excel 文件的流行 Python 库之一。它也支持分析。

在我未来的一篇 AutoCAD 博客文章中,我将讨论如何使用 Python 处理 AutoCAD 表对象。要了解有关此类 AutoCAD 自动化技术的更多信息,我建议您阅读我以前的文章。此外,如果使用我们的联系表与我们联系,我们将接受技术咨询。如有任何问题,请随时使用我们的评论框。

You May Also Like

Leave a Reply

Leave a Reply

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据