Using Python to Automate AutoCAD

只谈情不闲聊 提交于 2020-01-14 03:31:06

问题


I'm very new to Python and AutoCAD so please bear with me. I'm trying to use Python to automate a design cycle in AutoCAD. So far I am able to add points and lines in AutoCAD via Python but I want to be able to change the linetype to a dotted line. I understand that this can be done in the command bar in AutoCAD with a few simple commands but I can't work out how to do it through 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.")

This produces an A4 sized rectangle with a solid dividing line, but I want a dotted line. Any idea where I can find some information on using Python with AutoCAD? Any help is greatly appreciated!


回答1:


Try Doing this to change the line type of line5:

line5.linetype = 'dot'

Please make sure to add (load) the line type used (i.e. DOT in this case) in the list of linetype manager.

you can change the linetype scale by:

line5.linetypescale = '0.01'



来源:https://stackoverflow.com/questions/42513680/using-python-to-automate-autocad

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!