AutoCAD DXF 생성을 위한 오픈 소스 Python 라이브러리

AutoCAD DXF 파일 생성, 읽기 및 조작을 위한 무료 Python CAD 라이브러리입니다. 개발자는 ASCII DXF 및 바이너리 DXF 모델을 읽고 쓸 수 있습니다.

Ezdxf 라이브러리란 무엇인가요?

소프트웨어 개발자는 강력한 오픈 소스 Python AutoCAD DXF 라이브러리인 Ezdxf 덕분에 자체 Python 프로그램에서 AutoCAD DXF 파일을 사용할 수 있습니다. AutoCAD는 널리 사용되는 DXF(Drawing Interchange File) 파일 형식을 사용하여 다른 CAD 프로그램과 데이터를 교환합니다. 이 라이브러리는 DXF 형식의 대부분의 기능을 지원하는 동시에 프로그래머에게 복잡한 DXF 관련 내용을 숨겨 개발자의 작업을 더욱 쉽게 해줍니다.

Ezdxf 라이브러리를 사용하면 애플리케이션별 데이터를 타사 프로그램에 내장할 수 있습니다. DXF 파일 생성, DXF 편집, 기존 DXF 문서 작성, CPython 및 Pypy3 테스트, 타사 DXF 콘텐츠 보존, CPython용 C 확장자 사용 등 다양한 기능을 제공하는 것은 DXF 문서 관리에 필수적입니다. 다른 애드온 또한 사용 가능하지만, 기본 설치 과정에서 자동으로 설치되지 않으므로 별도로 로드해야 합니다.

오픈 소스 Ezdxf 라이브러리는 R12, R2000, R2004, R2007, R2010, R2013, R2018을 포함한 여러 DXF 버전을 지원합니다. 또한 R12보다 이전 버전의 DXF와 R13 및 R14 DXF 버전을 읽기 전용 모드로 지원합니다. Ezdxf 라이브러리 사용에는 MIT 라이선스가 적용됩니다.

Previous Next

Ezdxf 시작하기

Ezdxf 패키지를 설치하는 가장 쉬운 방법은 pip를 사용하는 것입니다. pip에는 PyPI에서 제공하는 선택적 C 확장 모듈이 바이너리 휠 형태로 포함되어 있습니다. 원활한 설치를 위해 다음 명령어를 사용하세요.

pip를 통해 Ezdxf 설치

pip install ezdxf 

Github 저장소에서 컴파일된 공유 라이브러리를 다운로드할 수 있습니다.

Python 3D 라이브러리를 통한 다각형 작업

다각형은 직선 변을 가진 2차원 도형입니다. 다각형 모델링은 다각형 메시를 사용하여 물체의 표면을 표현하거나 근사하여 모델링하는 방식입니다. 오픈 소스 Python 라이브러리 Ezdxf를 사용하면 소프트웨어 개발자는 단 몇 줄의 Python 코드만으로 각 스택 포인트에 대한 다각형을 생성할 수 있습니다. 이 라이브러리는 펌웨어가 작은 구멍 크기를 보정하지 못하는 3D 프린터에 매우 유용합니다.

Python을 통한 AutoCAD DXF 파일 생성

오픈 소스 Python Ezdxf는 Python 애플리케이션 내에서 AutoCAD DXF 문서를 읽고 쓸 수 있는 완벽한 기능을 제공합니다. 이 라이브러리는 매우 적은 양의 콘텐츠로 새로운 DXF 문서를 생성합니다. 즉, 선 종류, 텍스트 스타일 등 꼭 필요한 리소스만 포함됩니다. 기존 DXF 파일을 열고 콘텐츠를 쉽게 수정할 수도 있습니다.

Python 라이브러리를 통해 새로운 DXF 도면을 만드는 방법은 무엇입니까?

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")
 

Python을 통해 AutoCAD DXF 도면 열기 및 읽기

오픈 소스 Python Ezdxf 라이브러리를 사용하면 소프트웨어 개발자는 몇 줄의 Python 코드만으로 기존 DXF 문서를 열고, 로드하고, 데이터를 가져올 수 있습니다. AutoCAD 또는 BricsCAD와 같이 신뢰할 수 있는 출처의 DXF 도면에 적합하며, 경미하거나 심각한 결함이 있는 DXF 파일을 로드할 수 있습니다. 모든 DXF 엔티티에 쉽게 액세스하고 반복할 수 있으며, 기존 엔티티의 속성에도 쉽게 액세스할 수 있습니다.

Python 라이브러리를 통해 DXF 파일을 로드하는 방법?

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)

Python을 통해 DXF 도면의 텍스트를 처리하는 방법

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")
 
 한국인