pya

pyautocad

AutoCAD Automation for Python ⛺

Showing:

Popularity

Downloads/wk

0

GitHub Stars

277

Maintenance

Last Commit

5yrs ago

Contributors

5

Package

Dependencies

0

License

BSD License

Categories

Readme

pyautoacad - AutoCAD Automation for Python

This library aimed to simplify writing ActiveX Automation scripts for AutoCAD_ with Python

Requires:

  • comtypes_

Optional:

  • xlrd, tablib

Features:

  • Simplifies work with coordinates (3D points)
  • Efficient objects iteration and searching (with casting to correct type)
  • Excel/csv/json import and export (xlrd and tablib required)

Simple usage example:

.. code-block:: python

from pyautocad import Autocad, APoint


acad = Autocad()
acad.prompt("Hello, Autocad from Python\n")
print acad.doc.Name

p1 = APoint(0, 0)
p2 = APoint(50, 25)
for i in range(5):
    text = acad.model.AddText('Hi %s!' % i, p1, 2.5)
    acad.model.AddLine(p1, p2)
    acad.model.AddCircle(p1, 10)
    p1.y += 10

dp = APoint(10, 0)
for text in acad.iter_objects('Text'):
    print('text: %s at: %s' % (text.TextString, text.InsertionPoint))
    text.InsertionPoint = APoint(text.InsertionPoint) + dp

for obj in acad.iter_objects(['Circle', 'Line']):
    print(obj.ObjectName)

See more examples_ in source distribution.

  • Documentation at readthedocs.org <https://pyautocad.readthedocs.io/>_

  • Source code and issue tracking at GitHub <https://github.com/reclosedev/pyautocad>_.

.. _ActiveX: http://wikipedia.org/wiki/ActiveX .. _Automation: http://en.wikipedia.org/wiki/OLE_Automation .. _AutoCAD: http://wikipedia.org/wiki/AutoCAD .. _comtypes: http://pypi.python.org/pypi/comtypes .. _xlrd: http://pypi.python.org/pypi/xlrd .. _tablib: http://pypi.python.org/pypi/tablib .. _examples: https://github.com/reclosedev/pyautocad/tree/master/examples .. _documentation: https://pyautocad.readthedocs.io/

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100