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:
Contact
News
Version 1.0.1 - 2020-01-01
WARNING: OUTDATED PACKAGE - switch to ezdxf: https://pypi.org/project/ezdxf/
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
BUGFIX: TEXT font resolving issue
Moved to GitHub.com: https://github.com/mozman/dxfgrabber.git
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 329ddb5fa5a11c0fd4b83b14615686c62924a323ccf4ef2e7bc5771788d220a1 |
|
MD5 | efa2d804aace7535ebc8f2ef79c9d5e3 |
|
BLAKE2b-256 | 01f933f2c36f49b24ffae6d7be973f347d8846040a42c38634e8e96aa93b2d32 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | b54c6f93178551af5241dc0fe31bdb3a3ac61deb064bbcc5a0cebf769d74899a |
|
MD5 | 09f79eeec33cb63fb104dbfd03af84cb |
|
BLAKE2b-256 | b92354940748d3887e9f0939d839fac2699b9b3fb36d650ee93515f78cbe4d2a |