Библиотека Python с открытым исходным кодом для создания AutoCAD DXF

Бесплатная САПР-библиотека Python для создания, чтения и обработки файлов AutoCAD DXF. Разработчики могут читать и записывать файлы ASCII DXF и двоичные модели DXF.

Что такое библиотека Ezdxf?

Разработчики программного обеспечения могут работать с файлами AutoCAD DXF в своих программах Python благодаря мощной библиотеке Python AutoCAD DXF с открытым исходным кодом Ezdxf. AutoCAD использует широко распространённый тип файлов DXF (файл обмена чертежами) для обмена данными с другими САПР. Библиотека поддерживает большинство функций формата DXF, а также упрощает работу разработчиков, скрывая сложные особенности DXF от программистов.

С помощью библиотеки Ezdxf можно встраивать данные, специфичные для приложения, в сторонние программы. Возможность создавать файлы DXF, редактировать DXF, создавать существующие документы DXF, тестировать их с помощью CPython и Pypy3, сохранять содержимое сторонних DXF, использовать дополнительные расширения C для CPython и многие другие функции критически важны для управления документами DXF. Доступны и другие дополнения, однако их необходимо загружать отдельно, так как они не устанавливаются автоматически во время базовой настройки.

Библиотека Ezdxf с открытым исходным кодом поддерживает несколько версий DXF, включая R12, R2000, R2004, R2007, R2010, R2013 и R2018. Кроме того, она поддерживает более старые версии DXF, чем R12, а также версии DXF R13 и R14, в режиме только для чтения. Использование библиотеки Ezdxf регулируется лицензией MIT.

Previous Next

Начало работы с Ezdxf

Самый простой способ установить пакет Ezdxf — использовать pip. Он включает в себя дополнительные C-расширения от PyPI в виде двоичных дисков. Для успешной установки используйте следующую команду.

Install Ezdxf via pip

pip install ezdxf 

Вы можете загрузить скомпилированную общую библиотеку из репозитория Github.

Работа с полигонами с помощью библиотеки Python 3D

Многоугольник — это двумерная фигура с прямыми сторонами. Полигональное моделирование — это подход к моделированию объектов, основанный на представлении или аппроксимации их поверхностей с помощью полигональных сеток. Библиотека Python с открытым исходным кодом Ezdxf позволяет разработчикам программного обеспечения создавать полигоны для каждой точки стека всего парой строк кода Python. Это очень полезно для 3D-принтеров, прошивка которых не корректирует малый размер отверстий.

Создание DXF-файлов AutoCAD с помощью Python

Открытый исходный код Python Ezdxf включает полную поддержку чтения и записи DXF-документов AutoCAD в приложениях Python. Библиотека создает новые DXF-документы с минимальным объемом содержимого, что означает, что в них включены только самые необходимые ресурсы, такие как типы линий, стили текста и многое другое. Также можно открыть существующий DXF-файл и легко изменить его содержимое.

Как создать новый рисунок DXF с помощью библиотеки Python?

import ezdxf
from ezdxf import colors
from ezdxf.enums import TextEntityAlignment

# Create a new DXF document.
doc = ezdxf.new(dxfversion="R2010")

# Create new table entries (layers, linetypes, text styles, ...).
doc.layers.add("TEXTLAYER", color=colors.RED)

# DXF entities (LINE, TEXT, ...) reside in a layout (modelspace, 
# paperspace layout or block definition).  
msp = doc.modelspace()

# Add entities to a layout by factory methods: layout.add_...() 
msp.add_line((0, 0), (10, 0), dxfattribs={"color": colors.YELLOW})
msp.add_text(
    "Test", 
    dxfattribs={
        "layer": "TEXTLAYER"
    }).set_placement((0, 0.2), align=TextEntityAlignment.CENTER)

# Save the DXF document.
doc.saveas("test.dxf")
 

Открытие и чтение чертежей AutoCAD DXF с помощью Python

Библиотека Python Ezdxf с открытым исходным кодом позволяет разработчикам программного обеспечения открывать, загружать и получать данные из существующего документа DXF всего парой строк кода Python. Обратите внимание, что она отлично работает с чертежами DXF из надежных источников, таких как AutoCAD или BricsCAD, и загружает файлы DXF с незначительными и серьезными дефектами. Вы можете легко получить доступ ко всем объектам DXF и выполнять итерации по ним, а также к атрибутам существующих объектов.

Как загрузить файл DXF через библиотеку Python?

import sys
import ezdxf

try:
    doc = ezdxf.readfile("your_dxf_file.dxf")
except IOError:
    print(f"Not a DXF file or a generic I/O error.")
    sys.exit(1)
except ezdxf.DXFStructureError:
    print(f"Invalid or corrupted DXF file.")
    sys.exit(2)

Как работать с текстом в чертежах DXF с помощью Python

Библиотека Ezdxf Python обеспечивает полную поддержку работы с текстом в документах DXF. Библиотека включает в себя различные функции для обработки текста, такие как добавление простых однострочных текстовых объектов, базовое выравнивание текста (по верху, по центру, по низу и по базовой линии, по центру, по правому краю), подгонка текста, стандартные стили текста и типы линий, добавление новых стилей текста, использование 3D-текста, использование стандартных шрифтов и т. д.

Как добавить простой однострочный текст через Python API?

import ezdxf
from ezdxf.enums import TextEntityAlignment

# The TEXT entity is a DXF primitive and is supported in all DXF versions.
# The argument setup=True creates standard linetypes and text styles in the
# new DXF document.
doc = ezdxf.new("R12", setup=True)
msp = doc.modelspace()

# Use method set_placement() to define the TEXT alignment, because the
# relations between the DXF attributes 'halign', 'valign', 'insert' and
# 'align_point' are tricky.
msp.add_text("A Simple Text").set_placement(
    (2, 3),
    align=TextEntityAlignment.MIDDLE_RIGHT
)

# Using a predefined text style:
msp.add_text(
    "Text Style Example: Liberation Serif",
    height=0.35,
    dxfattribs={"style": "LiberationSerif"}
).set_placement((2, 6), align=TextEntityAlignment.LEFT)

doc.saveas("simple_text.dxf")
 
 Русский