pyautocad를 사용하는 AutoCAD 용 Python

이전 게시물에서 이미 AutoCAD 기본 사항과 다양한 AutoCAD 명령을 소개했습니다. 예를 들어 AutoCAD LINE, AutoCAD MLINE, AutoCAD PLINE, AutoCAD XLINE, AutoCAD CIRCLE, AutoCAD RECTANG, AutoCAD OFFSET 등을 소개했습니다. 전체 개요는이 블로그의 AutoCAD 탭에서 제공되거나 AutoCAD 튜토리얼의 일부로 제공됩니다.

이 게시물에서는 AutoCAD에서 도면 생성을 자동화하기 위해 Python에서 사용할 수있는 모듈을 소개하고 싶습니다. 모듈은 pyautocad라고합니다. 쉬운 설치를 위해 pip 설치로 지원됩니다. pyautocad 모듈을 사용하면 예를 들어 기존 도면을 조정할 수도 있습니다. 도면에서 객체 조작.

pyautocad는 현재 열려있는 AutoCAD 도면을 인식하고 현재 활성화 된 모형 공간도 인식합니다. 따라서 아래 Python 코드를 실행하기 전에 새 AutoCAD 도면을 엽니 다.

그런 다음 pyautocad를 가져옵니다. pyautocad를 사용하여 AutoCAD 인스턴스를 만듭니다.

# pyautocad 가져 오기
import pyautocad
# AutoCAD 인스턴스 생성
acad = pyautocad.Autocad()

pyautocad가 현재 활성화 된 AutoCAD 도면을 실제로 인식하는지 확인해 보겠습니다.

# 현재 AutoCAD에서 활성화 된 것으로 인식 된 문서의 이름을 인쇄합니다.
print(acad.doc.Name)
Drawing1.dwg

다음으로, 예를 들어 할 수 있습니다. 2D 평면에 원을 만듭니다.

# specify x and y coordinates of circle center point
from pyautocad import APoint
point1 = APoint(100.0,100.0) # x and y coordinates of points
# add circle to drawing
circle1 = acad.model.AddCircle(point1,100)

다음 원이 AutoCAD 도면에 추가되었습니다.

원의 색상 변경은 pyautocad에서도 가능합니다. 아래 코드에서 이렇게합니다.

# 원의 색을 빨간색으로 변경
circle1.Color = 10 # 10은 빨간색입니다.

Python 코드를 실행할 때 내 그림의 결과는 다음과 같습니다.

색상 색인 번호는 AutoCAD에서 찾을 수 있습니다. 아래 스크린 샷을 참조하십시오.

방금 도면에 추가 한 원의 다른 현재 속성 값을 확인할 수도 있습니다. 다음은 몇 가지 예입니다.

# 레이어 할당 확인
print("current layer: "  + str(circle1.Layer))
# 현재 선 종류 확인
print("current linetype: " + str(circle1.Linetype))
# 선 종류 축척 확인
print("current linetype scale: " + str(circle1.LinetypeScale))
# 현재 선 두께 확인
print("current line weight: " + str(circle1.Lineweight))
# 현재 두께 확인
print("current thickness: " + str(circle1.Thickness))
# 현재 자료 확인
print("current material:" + str(circle1.Material))
current layer: 0
current linetype: ByLayer
current linetype scale: 1.0
current line weight: -1
current thickness: 0.0
current material:ByLayer

AutoCAD에서 AutoCAD PROPERTIES 명령을 사용하여 객체가 가질 수있는 속성 속성을 이해할 수 있습니다.

예를 들어 속성 ​​속성을 사용할 수 있습니다. 조정할 원 개체입니다. 예를 들어 원을 할당하려는 “원”레이어가 있습니다. pyautocad를 사용하여이 작업을 수행 할 수 있습니다.

circle1.Layer = "circles"

이제 색상이 레이어에 의해 지정되도록 원 객체의 색상 설정을 조정할 수도 있습니다. 이에 대한 색인은 색상 색인 번호 256입니다.

circle1.Color = 256

아래는 AutoCAD의 결과입니다.

이제 pyautocad를 사용하여 도면 내부에 두 개의 추가 원을 만듭니다. 그런 다음 pyautocad iter_objects 메서드를 사용하여 드로잉의 모든 개체를 반복하여 필요한 경우 수행하는 옵션을 보여줍니다.

# 그림에 두 개의 원 추가
circle2 = acad.model.AddCircle(APoint(200.0,200.0),100)
circle3 = acad.model.AddCircle(APoint(300.0,300.0),100)
# 모든 객체를 반복
for obj in acad.iter_objects():
    print(obj)
<POINTER(IAcadCircle) ptr=0x223f8ed65f8 at 223faa5c848>
<POINTER(IAcadCircle) ptr=0x223f8ed6358 at 223faa5ca48>
<POINTER(IAcadCircle) ptr=0x223f89ede28 at 223faa5c148>

AutoCAD 도면에서 결과는 다음과 같습니다.

이것으로 pyautocad를 사용하여 Python에서 AutoCAD 작업에 대한 소개를 마쳤습니다. AutoCAD를 더 잘 이해하기 위해 다른 AutoCAD 교육을 참조하고 pyautocad 문서를 확인하는 것이 좋습니다.

Youtube에서 pyautocad 사용에 대한 더 많은 예제를 찾을 수 있습니다. 예 : 여기에서 더 자세한 예를 찾았습니다. https://www.youtube.com/watch?v=AwDL8p2OG-c&t=20s

Leave a Reply

답글 남기기

이메일 주소는 공개되지 않습니다.

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.

Close

메타