Windows下Python + AutoCAD 多义线绘图小结
简介
在windows下台下, 使用comtypes库, 通过ActiveX操作autocad, 从而读取AutoCAD数据
- comtypes.client
AutoCAD ActiveX
- GetActiveObject('AutoCAD.Application')
- Document
- ModelSpace
1. 得到AutoCAD对象
import comtypes.client # 得到AutoCAD应用程序对象 acad = comtypes.client.GetActiveObject('AutoCAD.Application') # 得到当前文档 doc = acad.ActiveDocument # 得到当前文档模型空间 model_space = doc.ModelSpace
2. 创建2维多义线(LightWeightPolyline)
import array points = array.array('d', range(10)) acad.ActiveDocument.ModelSpace.AddLightWeightPolyline(points)
3. 读取2维多义线(LightWeightPolyline)
apline = comtypes.client.GetBestInterface(apline) print(apline.Coordinates)
4. 添加多义线完整的例子
#!/usr/bin/env python # -*- coding:utf-8 -*- # 导入标准库 import comtypes.client import array # 得到AutoCAD应用程序对象 acad = comtypes.client.GetActiveObject('AutoCAD.Application') # 得到当前文档 doc = acad.ActiveDocument # 得到当前文档模型空间 model_space = doc.ModelSpace # 生成多义线点 points = array.array('d', range(10)) # 添加多义线 model_space.AddLightWeightPolyline(points)