使用Python自动化AutoCAD

问题描述:

我对Python和AutoCAD非常陌生,请耐心等待。我正在尝试使用Python来自动化AutoCAD中的设计周期。到目前为止,我可以通过Python在AutoCAD中添加点和线,但我希望能够将线型更改为虚线。我知道这可以通过一些简单的命令在AutoCAD的命令栏中完成,但我无法解决如何通过Python来完成。使用Python自动化AutoCAD

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大小的矩形与一个坚实的分界线,但我想要一条虚线。任何想法,我可以找到关于使用Python与AutoCAD的一些信息?任何帮助是极大的赞赏!

+0

pyautocad使用AutoCAD的的COM/ActiveX API,你会发现从这里的文档:HTTP: //usa.autodesk.com/adsk/servlet/index?siteID=123112&id=1911627 – gileCAD

尝试这样做是为了改变LINE5的线路类型:

line5.linetype = '点'

请务必添加(负载)使用(即DOT的线型这种情况)在线型管理器列表中。

您可以通过改变线型比例:

line5.linetypescale = '0.01'