使用 Python 自动化 AutoCAD
Posted
技术标签:
【中文标题】使用 Python 自动化 AutoCAD【英文标题】:Using Python to Automate AutoCAD 【发布时间】:2017-07-19 17:09:36 【问题描述】:我对 Python 和 AutoCAD 很陌生,所以请多多包涵。我正在尝试使用 Python 来自动化 AutoCAD 中的设计周期。到目前为止,我可以通过 Python 在 AutoCAD 中添加点和线,但我希望能够将线型更改为虚线。我知道这可以通过几个简单的命令在 AutoCAD 的命令栏中完成,但我不知道如何通过 Python 来完成。
import array
from _ast import If
import comtypes.client
import pyautocad
#Get running instance of the AutoCAD application
acad = comtypes.client.GetActiveObject("AutoCAD.Application")
# Document object
doc = acad.ActiveDocument
#Get the ModelSpace object
ms = doc.ModelSpace
#In ModelSpace
#Set up A4 Space
pt1 = array.array('d', [0.0, 0.0, 0])
pt2 = array.array('d', [210.0, 0.0, 0])
pt3 = array.array('d', [210.0, 297.0, 0])
pt4 = array.array('d', [0.0, 297.0, 0])
line1 = ms.AddLine(pt1, pt2)
line2 = ms.AddLine(pt2, pt3)
line3 = ms.AddLine(pt3, pt4)
line4 = ms.AddLine(pt4, pt1)
#Add central fold
pt5 = array.array('d', [105.0, 0.0, 0])
pt6 = array.array('d', [105.0, 297.0, 0])
line5 = ms.AddLine(pt5, pt6)
print("Done.")
这会生成一个带有实线分割线的 A4 大小的矩形,但我想要一条虚线。知道在哪里可以找到有关在 AutoCAD 中使用 Python 的一些信息吗?任何帮助是极大的赞赏!
【问题讨论】:
pyautocad 使用 AutoCAD COM/ActiveX API,您可以从这里找到文档:usa.autodesk.com/adsk/servlet/… 【参考方案1】:尝试这样做来改变line5
的线型:
line5.linetype = 'dot'
请确保在线型管理器列表中添加(加载)使用的线型(即本例中的 DOT)。
您可以通过以下方式更改线型比例:
line5.linetypescale = '0.01'
【讨论】:
以上是关于使用 Python 自动化 AutoCAD的主要内容,如果未能解决你的问题,请参考以下文章
如何使用设计自动化 API 从上传的 AutoCAD 文件中提取元数据?