Чем открыть DXF без AutoCAD
Обучение

Чем открыть DXF без AutoCAD

Формат DXF (Drawing Exchange Format) — стандарт обмена чертежами в инженерной съёмке и картографии. Для специалистов, работающих с кадастровыми выписками, топографическими планами и проектной документацией, умение корректно открывать и обрабатывать DXF — базовая профессиональная компетенция.

Но что если срочно нужно посмотреть чертёж, а под рукой только блокнот? Росреестр прислал выписку, а AutoCAD на другом компьютере? Выход есть — 15 строк Python которые всегда под рукой. 

Формат DXF по своей сути текстовый. Внутри обычные координаты, слои и примитивы. Python-библиотека ezdxf читает это напрямую, без проприетарных программ. Никаких лицензий, установщиков и ожиданий.

Создайте файл view_dxf.py:

import matplotlib.pyplot as plt
import ezdxf
doc = ezdxf.readfile("ваш_файл.dxf")
msp = doc.modelspace()
fig, ax = plt.subplots(figsize=(10, 10))
for e in msp:
   if e.dxftype() == 'LINE':
       ax.plot([e.dxf.start.x, e.dxf.end.x], [e.dxf.start.y, e.dxf.end.y], 'b-', linewidth=0.5)
   elif e.dxftype() == 'LWPOLYLINE':
       pts = e.get_points('xy')
       ax.plot(*zip(*pts), 'r-', linewidth=0.5)
ax.set_aspect('equal')
plt.show()

Никаких зависимостей от AutoCAD, QGIS, даже от графического интерфейса. Работает на сервере, в Jupyter, в консоли. Картограф с кодом в блокноте всегда сможет открыть выписку Росреестра, проверить геометрию и скинуть результат коллеге.