Choosing ezdxf, pyDWG, or ODA
A production decision guide for CAD ingestion: format coverage, DWG version support, proxy fidelity, licensing, and headless-CI suitability compared side by side.
Python · AEC · Geospatial
Production-ready patterns for building automated interoperability pipelines between CAD, GIS, and BIM systems using Python. Bridge the gap between proprietary spatial formats and open geospatial standards — without lossy guesswork.
A production decision guide for CAD ingestion: format coverage, DWG version support, proxy fidelity, licensing, and headless-CI suitability compared side by side.
Pick the right interchange format for your GIS pipeline — geometry-centric DXF versus semantic, georeferenced IFC — with worked ingestion routes for both.
Flatten Psets and quantity sets into clean key–value records with ifcopenshell.util.element — including inherited type properties and table values.
Convert between geodetic datums in Python with the Bursa–Wolf transform — numpy on ECEF and a pyproj +proj=helmert pipeline, validated on a control point.
Production-grade DXF parsing: traverse block definitions, resolve nested references, and extract vertex arrays without loading entire drawings into memory.
Use ezdxf's doc.header interface to read $INSUNITS, $MEASUREMENT, and custom variables from any DXF version — with worked examples.
CAD, GIS, and BIM ecosystems evolved in isolation: each has its own file structures, coordinate conventions, and geometric representations. Python has emerged as the lingua franca for bridging them — but building a pipeline that survives production traffic takes more than reading coordinates. It demands rigorous parsing, deterministic schema mapping, and survey-grade spatial alignment.
This site collects the architectural patterns, library walkthroughs, and extraction strategies needed to build interoperability pipelines that actually scale. Every page is written for engineers and integrators who need to ship. Focus areas include DXF/DWG parsing, IFC integration, coordinate transformation, attribute mapping, batch conversion, quality control, and automation scripts. When you are choosing between libraries or interchange formats, the Interoperability Decision Guides compare ezdxf, pyDWG, and ODA, weigh DXF against IFC for GIS ingestion, and contrast GeoPackage with PostGIS as a storage target.
Architectural paradigms across CAD, GIS, and BIM — DXF entity structure, DWG limitations, IFC4x3 schema mapping, and metadata extraction.
Deep dives into ezdxf, ifcopenshell, pydwg, and mesh conversion — production-grade Python for ingesting design files into clean geometric primitives.
CRS normalization, unit conversion, layer mapping, and scale/rotation synchronization — for reliable, survey-grade alignment across pipelines.
Choose the right library and interchange format for production pipelines — ezdxf vs pyDWG vs ODA, DXF vs IFC for GIS ingestion, and GeoPackage vs PostGIS for CAD output.