pyzwcad - ZwCAD Automation for Python
------------------------------------------

This library aimed to simplify writing ActiveX_ Automation_ scripts for ZwCAD_ with Python

This library is forked from the pyautocad_ library, everywhere you can call `ACAD` and `ZCAD`, you can use ZwCad type and also use AutoCad type.


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 pyzwcad import ZwCAD, APoint


    acad = ZwCAD()
    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.

Links
-----

- **Documentation** at `readthedocs.org <https://pyautocad.readthedocs.io/>`_

- **Source code and issue tracking** at `GitHub <https://github.com/ytianxia6/pyzwcad>`_.

.. _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/
.. _pyautocad: https://pyautocad.readthedocs.io/
.. _ZwCAD: http://www.zwcad.com

