Thư viện Python nguồn mở để tạo AutoCAD DXF
Thư viện CAD Python miễn phí để tạo, đọc và xử lý tệp AutoCAD DXF. Nhà phát triển có thể đọc, ghi hỗ trợ cho các mô hình DXF ASCII và DXF nhị phân.
Thư viện Ezdxf là gì?
Các nhà phát triển phần mềm có thể làm việc với các tệp AutoCAD DXF trong chương trình Python của riêng họ nhờ thư viện AutoCAD DXF Python mã nguồn mở mạnh mẽ Ezdxf. AutoCAD sử dụng loại tệp DXF (tệp trao đổi bản vẽ) được sử dụng rộng rãi để trao đổi dữ liệu với các chương trình CAD khác. Thư viện hỗ trợ hầu hết các tính năng của định dạng DXF, đồng thời giúp công việc của nhà phát triển dễ dàng hơn bằng cách ẩn các chi tiết phức tạp của DXF khỏi các lập trình viên.
Dữ liệu ứng dụng cụ thể có thể được nhúng bởi các chương trình của bên thứ ba bằng cách sử dụng thư viện Ezdxf. Khả năng tạo tệp DXF, chỉnh sửa DXF, viết tài liệu DXF hiện có, kiểm tra với CPython và Pypy3, lưu trữ nội dung DXF của bên thứ ba, sử dụng các tiện ích mở rộng C tùy chọn cho CPython và nhiều chức năng khác là rất quan trọng để quản lý tài liệu DXF. Các tiện ích bổ sung khác cũng có sẵn, tuy nhiên chúng phải được tải riêng vì chúng không được cài đặt tự động trong quá trình thiết lập cơ bản.
Một số phiên bản DXF, bao gồm R12, R2000, R2004, R2007, R2010, R2013 và R2018, được hỗ trợ bởi thư viện mã nguồn mở Ezdxf. Ngoài ra, nó còn hỗ trợ các phiên bản DXF cũ hơn R12 và các phiên bản DXF R13 và R14 ở chế độ chỉ đọc. Giấy phép MIT quy định việc sử dụng thư viện Ezdxf.
Bắt đầu với Ezdxf
Cách dễ nhất để cài đặt gói Ezdxf là sử dụng pip. Gói này bao gồm các phần mở rộng C tùy chọn từ PyPI dưới dạng vòng lặp nhị phân. Vui lòng sử dụng lệnh sau để cài đặt suôn sẻ.
pip install ezdxf
Bạn có thể tải xuống thư viện chia sẻ đã biên dịch từ kho lưu trữ Github.
Làm việc với Đa giác thông qua Thư viện Python 3D
Đa giác là một hình hai chiều có các cạnh thẳng. Mô hình hóa đa giác là một phương pháp mô hình hóa các đối tượng bằng cách biểu diễn hoặc xấp xỉ bề mặt của chúng bằng lưới đa giác. Thư viện Python nguồn mở Ezdxf cho phép các nhà phát triển phần mềm tạo đa giác cho mỗi điểm chồng chỉ với vài dòng mã Python. Tính năng này rất hữu ích cho các máy in 3D có phần mềm không hiệu chỉnh được kích thước lỗ nhỏ.
Tạo tệp AutoCAD DXF bằng Python
Python Ezdxf mã nguồn mở đã tích hợp đầy đủ các hỗ trợ cho việc đọc và ghi tài liệu AutoCAD DXF bên trong các ứng dụng Python. Thư viện này tạo ra các tài liệu DXF mới với rất ít nội dung, nghĩa là chỉ những tài nguyên thực sự cần thiết mới được đưa vào, chẳng hạn như kiểu đường, kiểu chữ, v.v. Bạn cũng có thể mở tệp DXF hiện có và chỉnh sửa nội dung của nó một cách dễ dàng.
Làm thế nào để tạo bản vẽ DXF mới thông qua thư viện 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")
Mở và đọc bản vẽ AutoCAD DXF qua Python
Thư viện Python Ezdxf mã nguồn mở cho phép các nhà phát triển phần mềm mở, tải và lấy dữ liệu từ tài liệu DXF hiện có chỉ với vài dòng mã Python. Xin lưu ý rằng thư viện này hoạt động tốt với các bản vẽ DXF từ các nguồn đáng tin cậy như AutoCAD hoặc BricsCAD và sẽ tải các tệp DXF có lỗi nhỏ hoặc lớn. Bạn có thể dễ dàng truy cập và lặp lại tất cả các thực thể DXF và có thể dễ dàng truy cập các thuộc tính của các thực thể hiện có.
Làm thế nào để tải tệp DXF thông qua thư viện 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)
Cách Xử lý Văn bản trong Bản vẽ DXF bằng Python
Thư viện Python Ezdxf cung cấp hỗ trợ đầy đủ cho việc xử lý văn bản bên trong các tài liệu DXF. Thư viện bao gồm nhiều tính năng xử lý văn bản, chẳng hạn như thêm thực thể văn bản một dòng đơn giản, căn chỉnh văn bản cơ bản (trên, giữa, dưới và đường cơ sở, căn giữa, phải), căn chỉnh văn bản, kiểu chữ và kiểu đường chuẩn, thêm kiểu chữ mới, sử dụng văn bản 3D, sử dụng phông chữ đứng, v.v.
Làm thế nào để thêm văn bản một dòng đơn giản thông qua API Python?
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")