Metadata-Version: 2.0
Name: dxfwrite
Version: 1.2.1
Summary: A Python library to create DXF R12 drawings.
Home-page: https://github.com/mozman/dxfwrite.git
Author: Manfred Moitzi
Author-email: mozman@gmx.at
License: MIT License
Download-URL: https://github.com/mozman/dxfwrite/releases
Keywords: DXF,CAD
Platform: OS Independent
Classifier: Development Status :: 5 - Production/Stable
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Provides: dxfwrite


dxfwrite
========

Abstract
--------

A Python library to create DXF R12 drawings.

a simple example::

    from dxfwrite import DXFEngine as dxf
    drawing = dxf.drawing('test.dxf')
    drawing.add(dxf.line((0, 0), (10, 0), color=7))
    drawing.add_layer('TEXTLAYER', color=2)
    drawing.add(dxf.text('Test', insert=(0, 0.2), layer='TEXTLAYER'))
    drawing.save()

supported DXF R12 entities
--------------------------

 * ARC
 * ATTDEF
 * ATTRIB
 * BLOCK
 * CIRCLE
 * 3DFACE
 * INSERT
 * LINE
 * POINT
 * POLYLINE (special Polyface and Polymesh objects are available)
 * SHAPE (not tested)
 * SOLID
 * TRACE
 * TEXT
 * VERTEX (only for internal use, see Polyline, Polyface and Polymesh objects)
 * VIEWPORT

not supported DXF R12 entities
------------------------------

 * DIMENSION

emulated entities from DXF R13 and later
----------------------------------------

 * MTEXT (R13) ... emulated as composite entity MText
 * ELLIPSE (R13) ... approximated by Ellipse
 * SPLINE (R13) ... approximated by Spline
 * LWPOLYLINE (R13) ... use POLYLINE
 * TABLE (R2005) ... emulated as composite entity Table

composite entities
------------------

 * MText -- multi-line text
 * LinearDimension
 * AngularDimension
 * ArcDimension
 * RadialDimension
 * Table -- text and blockrefs containing table like a HTML-table
 * Ellipse -- approximated as POLYLINE
 * Spline -- cubic spline curve through breakpoints **without** additional control
   points, approximated as POLYLINE
 * Bezier -- cubic bezier curve through breakpoints **with** additional control
   points, approximated as POLYLINE
 * Clothoid -- Euler spiral, approximated as POLYLINE

read/write AutoCAD ctb-files
----------------------------

The module ``acadctb`` provides the ability to read and write AutoCAD ctb-files.
With ctb-files you can assign a new color or lineweight to a dxf-color-index for
plotting or printing, but this has to be supported by the used application.

a simple example::

    from dxfwrite import acadctb
    ctb = acadctb.load('test.ctb')
    style1 = ctb.get_style(1) # dxf color index (1 .. 255)
    style1.set_color(23, 177, 68) # set rgb values (0..255)
    style1.set_lineweight(0.7)
    ctb.save('new.ctb')

Installation
------------

with pip::

    pip install dxfwrite

or from source::

    python setup.py install

Documentation
-------------

http://dxfwrite.readthedocs.org
http://packages.python.org/dxfwrite/

The source code repository of dxfwrite can be found at bitbucket.org:

http://bitbucket.org/mozman/dxfwrite

Feedback is greatly appreciated.

mozman <mozman@gmx.at>

News
====

Version 1.2.1 - 2017-01-22

  * BUGFIX: same layer for polyline and vertex entities (Ken Healy)
  * PEP8  refactorings
  * Moved to GitHub.com: https://github.com/mozman/dxfwrite.git

Version 1.2.0 - 2012-08-01

  * License changed to MIT License
  * tested on Win7 with: CPython2.7, CPython3.2, CPython3.3 beta, pypy-1.9

Version 1.1.0 - 2011-12-29

  * rewrite of DXF-String building process
  * refactored MText class
  * changed Viewport table entry to VPort and DXFEngine.viewport to
    DXFEngine.vport. This was necessary to implement the VIEWPORT (Entity)
  * added VIEWPORT (Entity) to create viewports in paper space
  * view docs also on http://dxfwrite.readthedocs.org
  * added some docs
  * changed clothoid mirror parameters
  * added methods to class `Layer`: on(), off(), freeze(), thaw(), lock(), unlock()
  * tested on Win7 32 Bit with CPython-2.7, CPython-3.2 and pypy-1.7,
    IronPython 2.7 failed tests - unicode issues
  * tested on Ubuntu 11.10 64 Bit with CPython-2.7, CPython-3.2 and pypy-1.7

Version 1.0.2 - 2011-12-08

  * raw unicode encoding by Toni RuÅ¾a - use any unicode character for text and table-entries.

Version 1.0.1 - 2011-03-26

  * added easy usage of modelspace/paperspace, see examples/paperspace.py
  * BUGFIX: removed dict-comprehension in module htmlcolors.py for
    backward-compatibility to Python 2.5 and 2.6, works with pypy 1.4.1

Version 1.0.0 - 2011-03-11

  * changed: set DXF Header variables now looks like dwg.header['$VAR'] = value,
    see http://packages.python.org/dxfwrite/headervars.html
  * splitted makedxfexamples.py into several files and moved them into the
    subdir 'examples'
  * curves.Ellpise: radiusx -> rx; radiusy -> ry
  * moved documentation to: http://packages.python.org/dxfwrite,
    and using Sphinx (http://sphinx.pocoo.org)
  * tested with Python 3.2 - OK
  * further compatibility-tests only for CPython 2.7 & CPython 3.2+
  * added Drawing.add_xref(filename), for usage see examples/xref.py
  * adding relative attributes by Insert.add() consider the xy-scaling
  * added `Howtos` section to documentation

Version 0.3.6 - 2010-11-14

  * moved dxfwrite.drawing.ENCODING to class Drawing
  * Python 3.1 support

Version 0.3.5 - 2010-09-10

  * new: package and tests run with Python 2.7

Version 0.3.4 - 2010-08-29

  * status: 5 - Production/Stable
  * new: package and tests run with Python 2.5 (tests need unittest2)

Version 0.3.3 - 2010-04-27

  * BUGFIX: makedxfexamples.py - attdef keyword error

Version 0.3.2 - 2010-04-27

  * BUGFIX: Drawing.__dxf__() - StringIO() does not support 'with' statement

Version 0.3.1 - 2010-04-24

  * new: insert2, insert block reference with automatic attrib filling
  * changed interface for DXFEngine.attrib()

Version 0.3.0b1 - 2010-03-28

  * new: subpackage algebra: circle, ray, clothoid, cspline, bezier (27.03.2010)
  * new: Spline, Bezier, Clothoid and Ellipse - curves (27.03.2010)
  * new: acadctb.py to read, write and create AutoCAD ctb-files (25.03.2010)
  * splitted buildups.py into mtext.py and rect.py


