이 블로그 게시물 에서는 몇 가지 매우 일반적인 AutoCAD 작업과 pyautocad를 사용하여 Python 스크립트에서 구현하는 방법을 소개합니다. 개체 복사, 이동/붙여넣기, 삭제, 회전, 오프셋, 크기 조정 및 강조 표시 방법에 대해 설명합니다.
Python 스크립트 및 AutoCAD 모델 설정
먼저 Python의 pyautocad 모듈을 사용하여 AutoCAD 템플릿에서 작업을 수행하기 위한 작업 환경을 설정합니다.
from pyautocad import Autocad, APoint, aDouble
from math import *
acad = Autocad(create_if_not_exists=True)
Python에서 pyautocad를 사용하여 도면 템플릿에 AutoCAD 객체 추가
객체 생성에 대한 이 pyautocad 시리즈의 이전 블로그에서 이미 논의한 것처럼 위에서 언급한 대로 작업을 수행하기 위해 일부 객체를 그릴 것입니다.
c1 = acad.model.AddCircle(APoint(100, 100, 0), 100)
l1 = acad.model.AddLine(APoint(100,100), APoint(300, 350))
el1 = acad.model.AddEllipse(APoint(250, 300), APoint(700, 450), 0.5)
그래서 우리는 원, 선, 타원을 만들었습니다.
“ZoomExtents” 방법을 사용하여 생성된 개체를 확대합니다. 이 명령은 AutoCAD의 기본 “모두 확대/축소” 명령과 동일하게 작동합니다.
acad.app.ZoomExtents()
기본 AutoCAD 작업에 복사, 이동 및 삭제 방법 사용
기본 AutoCAD 개체 를 스케치 했으므로 가장 많이 사용되는 세 가지 명령인 복사, 이동 및 삭제부터 시작하겠습니다.
pyautocad를 사용하는 동안 복사가 작동하는 방식은 기존 개체의 복사본을 만들어 변수에 저장하고 “이동” 방법을 사용하여 원하는 위치에 붙여넣을 수 있습니다.
c2 = c1.Copy()
c2.Move(APoint(100, 100), APoint(300, 300))
여기에서 “c1” 원을 복사하고 그 복제본을 변수 “c2″에 저장합니다. 그런 다음 “이동” 방법을 사용하여 기존 중심점(100, 100, 0)에서 (300, 300, 0)으로 복사합니다.
그림 1과 2에서 볼 수 있듯이 원 1을 새 위치에 복사했습니다. 이제 이전 원 “c1″을 원하지 않으면 삭제할 수 있습니다. 그렇지 않으면 복사하는 대신 Move 메서드를 사용하여 원 “c1″을 이동할 수 있습니다.
이제 원 “c1″을 삭제하겠습니다.
Python에서 pyautocad로 AutoCAD 객체 회전
이제 객체를 회전하는 방법에 대해 설명합니다. 여기서는 l1 선을 복사하고 기존 기준점(100, 100, 0)에서 90도까지 동일하게 회전합니다.
l2 = l1.Copy()
l2.Rotate(APoint(100,100), pi*90/180)
pyautocad를 사용하여 AutoCAD에서 개체를 오프셋합니다.
이제 개체의 오프셋을 가져오는 방법에 대해 설명하겠습니다. 해당 오프셋을 원하는 개체에 대해 사용할 Offset 메서드가 필요합니다.
여기에서는 기존 타원 즉 “el1″에 대한 오프셋을 사용합니다.
el2 = el1.Offset(10)
Python에서 AutoCAD 객체 크기 조정
개체의 크기를 늘리거나 줄이려면 크기를 조정하려는 개체에 대해 사용할 “Offset” 메서드가 필요합니다.
기존 원 “c2″를 축소해 보겠습니다.
c3 = c2.ScaleEntity(APoint(300, 300), 0.5)
처리할 객체가 많은 경우 “Highlight” 메서드를 사용하여 특정 객체를 강조 표시하고 매개 변수를 “True”로 전달할 수 있습니다.
l2.Highlight(True)
최적화 및 시뮬레이션을 전문으로하는 산업 엔지니어 (R, Python, SQL, VBA)
Leave a Reply