Библиотека с отворен код на Python за създаване на DXF файлове в AutoCAD
Безплатна CAD библиотека на Python за създаване, четене и манипулиране на DXF файлове с AutoCAD. Разработчиците могат да четат и пишат за ASCII DXF и двоични DXF модели.
Какво е библиотеката Ezdxf?
Разработчиците на софтуер могат да работят с AutoCAD DXF файлове в собствените си Python програми благодарение на надеждната библиотека с отворен код Python AutoCAD DXF Ezdxf. AutoCAD използва широко използвания файлов тип DXF (файл за обмен на чертежи) за обмен на данни с други CAD програми. Библиотеката поддържа по-голямата част от функциите на DXF формата, като същевременно улеснява работата на разработчиците, като скрива сложните DXF тънкости от програмистите.
Специфични за приложението данни могат да бъдат вграждани от програми на трети страни, използващи библиотеката Ezdxf. Възможността за създаване на DXF файлове, редактиране на DXF, писане на съществуващи DXF документи, тестване с CPython и Pypy3, запазване на DXF съдържание от трети страни, използване на допълнителни C-разширения за CPython и много други функции са от решаващо значение за управлението на DXF документи. Налични са и други добавки, но те трябва да се зареждат отделно, тъй като не се инсталират автоматично по време на основната настройка.
Няколко DXF версии, включително R12, R2000, R2004, R2007, R2010, R2013 и R2018, се поддържат от библиотеката с отворен код Ezdxf. Освен това, тя поддържа по-стари DXF версии от R12 и DXF версии R13 и R14 в режим само за четене. MIT-лицензът урежда използването на библиотеката Ezdxf.
Първи стъпки с Ezdxf
Най-лесният начин за инсталиране на пакета Ezdxf е чрез използване на pip. Той включва опционалните C-разширения от PyPI като двоични колела. Моля, използвайте следната команда за безпроблемна инсталация.
Инсталиране на Ezdxf чрез pip
pip install ezdxf
Можете да изтеглите компилираната споделена библиотека от хранилището Github.
Работа с полигон чрез 3D библиотеката на Python
Полигонът е двуизмерна форма с прави страни. Полигоналното моделиране е подход за моделиране на обекти чрез представяне или апроксимиране на техните повърхности с помощта на полигонови мрежи. Библиотеката с отворен код на 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")
Отваряне и четене на DXF чертежи на AutoCAD чрез 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")