Skip to main content

A Python library to grab information from DXF drawings - all DXF versions supported.

Project description

WARNING

This is an outdated python package, please switch to ezdxf: https://pypi.org/project/ezdxf/

Advantage of ezdxf over dxfgrabber is read/write support for DXF versions:

  • R12

  • R2000

  • R2004

  • R2007

  • R2010

  • R2013

  • R2018

Documentation

http://dxfgrabber.readthedocs.io

Source at GitHub.com:

https://github.com/mozman/dxfgrabber.git

Contact

dxfgrabber@mozman.at

News

Version 1.0.1 - 2020-01-01

Version 1.0.0 - 2018-01-01

  • entering just maintenance and bugfix mode - no new features planned

Version 0.8.4 - 2017-02-19

  • dxfgrabber can read DXF files with only an ENTITIES section

Version 0.8.3 - 2017-02-06

  • BUGFIX: handles windows line ending ‘rn’ in streams correct, some streams do not produce universal line endings

Version 0.8.2 - 2017-01-22

Version 0.8.1 - 2016-08-17

  • BUGFIX: restored VERTEX bulge values

  • NEW: excepts ‘inf.0’ and ‘-inf.0’ float values created by QGIS (AutoCAD does not read this none standard values)

Version 0.8.0 - 2016-04-24

  • internal refactoring - removed extra layer for DXF R12 and DXF R13 implementation

  • removed parts implemented in Cython

  • new version is ~30% faster than the old pure Python version but ~15% slower than the version with C-extension

  • some pep8 refactorings, renamed attributes like startparam to start_param

Version 0.7.5 - 2015-11-29

  • Python only version runs with CPython (2.7, 3.4, 3.5), pypy-5.0.0 and pypy3-2.4.0

  • accepts block definitions without explicit base point, defaults to (0, 0, 0)

  • NEW: reads DXF versions older than AC1009 (DXF R12), as far I know, I need more old files for testing

  • KNOWN BUG: Win7 and Python 2.7.10 - can’t build Cython extension with MingW32, use Python 2.7.9 instead

  • KNOWN BUG: Win7 and Python 3.5.0 - can’t build Cython extension with MingW32 but work with VC2015

Version 0.7.4 - 2014-05-23

  • NEW: added support for R12 2d splines (by POLYLINE); POLYLINE.mode == “spline2d”

  • NEW: TEXT.plain_text(), removes format codes like &&u and transforms %%d to °

  • BUGFIX: unicode/str error in Cython extension for Python 2.7

  • BUGFIX: every LWPolyline in DXF version > AC1009 had default thickness of 0.0

  • BUGFIX: Polyline.width had incorrect values

Version 0.7.3 - 2014-05-16

  • NEW: options = {"assure_3d_coords": True}, guarantees (x, y, z) tuples for ALL coordinates, this option is by default False

  • NEW: extended TrueColor() class, see docs

  • NEW: dxfgrabber.aci_to_true_color(index) returns the DXF default true color value for AutoCAD Color Index index as TrueColor()

  • NEW: added is_backwards, is_upside_down, width, oblique, font, bigfont attributes to TEXT, ATTRIB, ATTDEF entities

  • NEW: added plain_text() method to TEXT, ATTRIB and ATTDEF to get text content without formatting codes like ‘%%u’

  • NEW: added font, bigfont, rect_width, horizontal_width and vertical_height attributes to MTEXT

  • NEW: added resolve_text_styles(text_styles) method to TEXT, ATTRIB, ATTDEF, MTEXT entities

  • NEW: new import option “resolve_text_styles” and it is True by default

  • NEW: added extrusion direction to all entities

  • NEW: added row_count, col_count, row_spacing, col_spacing attributes to INSERT.

  • NEW: MText.plain_text(split=False) tries to remove format codes, returns a single string or a list of strings

  • NEW: added n_smooth_density, m_smooth_density, smooth_type to Polymesh

  • NEW: added smooth_type to Polyface

  • CHANGE: LWPolyline again: LWPolyline.points list of (x, y) or (x, y, z) depends on “assure_3d_coords”, LWPolyline.width list of (start-width, end-width), .bulge list of floats, removed LWPolyline.get_rstrip_points() and added .const_width attribute (if != 0, ignore .width list).

  • CHANGE: Polyline method points() is now a field (list) and added lists for width and bulge for consistent APIs of LWPolyline and Polyline.

  • BUGFIX: wrong DXF subclass for Arc.extrusion (error in DXF Standard)

Version 0.7.2 - 2014-05-09

  • NEW: grabs SAB data of BODY, 3DSOLID, … entities for DXF version AC1027 (R2013) and later

  • NEW: support for dxf attributes: true_color (AC1018), transparency (AC1018), shadow_mode (AC1021) in prior DXF versions this attributes are set to None.

  • NEW: using Cython for some speed optimizations, but Cython is not a installation requirement; control the Cython extension by environment variable DXFGRABBER_CYTHON = ON|OFF, by default the Cython extension is activated.

  • CHANGED: LWPolyline.points are always 5-tuples (x, y, start_width, end_width, bulge)

Version 0.7.1 - 2014-05-02

  • BUGFIX: now really accept floats as int (thanks to ProE)

Version 0.7.0 - 2014-05-01

  • NEW: support for MESH entity

  • NEW: support for LIGHT entity

  • NEW: support for SUN entity

  • NEW: support for HELIX entity

  • NEW: support for BODY entity, you get the ACIS code

  • NEW: support for 3DSOLID entity, you get the ACIS code

  • NEW: support for REGION entity, you get the ACIS code

  • NEW: support for SURFACE entity, you get the ACIS code

  • NEW: support for undocumented PLANESURFACE entity, you get the ACIS code

  • BUGFIX: accept floats as int (thanks to ProE)

Version 0.6.1 - 2014-04-25

  • BUGFIX: support for undocumented VERTEX subclass ‘AcDbFaceRecord’ without preceding ‘AcDbVertex’

  • extended the Polyface entity, see new docs

Version 0.6.0 - 2014-01-09

  • skip comment tags (999)

  • dxfversion defaults to ‘AC1009’, if no header variable $ACADVER exists

  • can open minimalistic DXF12 files (without HEADER, TABLES and BLOCKS section)

  • added support for STYLE table

  • added support for LTYPE table

Version 0.5.2 - 2013-05-20

  • bugfix: fixed *nix newline problem in readfile_as_asc()

Version 0.5.1 - 2013-05-20

  • updated docs - added a Howto section

  • added attribute frozen to class Layer()

  • index operator for: Drawing.layers[layername]

  • added modelspace() and paperspace() iterators to class Drawing()

  • supported Python versions: CPython 2.7, CPython 3.3, pypy - no explicit testing with CPython 3.2

Version 0.5.0 - 2013-05-04

  • beta status

  • solved problems with ‘utf-8’ and codepage ANSI_936 encoded dxf files

Version 0.4.0 - 2012-08-12

  • beta status

Version 0.1.0 - 2012-07-21

  • Initial setup

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dxfgrabber-1.0.1.zip (114.3 kB view details)

Uploaded Source

Built Distribution

dxfgrabber-1.0.1-py2.py3-none-any.whl (34.6 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file dxfgrabber-1.0.1.zip.

File metadata

  • Download URL: dxfgrabber-1.0.1.zip
  • Upload date:
  • Size: 114.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.41.0 CPython/3.8.1

File hashes

Hashes for dxfgrabber-1.0.1.zip
Algorithm Hash digest
SHA256 329ddb5fa5a11c0fd4b83b14615686c62924a323ccf4ef2e7bc5771788d220a1
MD5 efa2d804aace7535ebc8f2ef79c9d5e3
BLAKE2b-256 01f933f2c36f49b24ffae6d7be973f347d8846040a42c38634e8e96aa93b2d32

See more details on using hashes here.

File details

Details for the file dxfgrabber-1.0.1-py2.py3-none-any.whl.

File metadata

  • Download URL: dxfgrabber-1.0.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 34.6 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.41.0 CPython/3.8.1

File hashes

Hashes for dxfgrabber-1.0.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 b54c6f93178551af5241dc0fe31bdb3a3ac61deb064bbcc5a0cebf769d74899a
MD5 09f79eeec33cb63fb104dbfd03af84cb
BLAKE2b-256 b92354940748d3887e9f0939d839fac2699b9b3fb36d650ee93515f78cbe4d2a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page