이 블로그 게시물 에서는 AutoCAD 응용 프로그램 개체와 몇 가지 중요한 메서드 및 속성에 대해 설명합니다. pyautocad에서 AutoCAD Application 객체를 구현하는 방법을 보여드리겠습니다.
이 코딩 예제를 시작하면서 pyautocad에서 관련 클래스와 메서드를 가져옵니다. 아래 코드에서 새 모델을 만듭니다.
from pyautocad import Autocad, APoint, aDouble
acad = Autocad(create_if_not_exists=True)
Python에서 AutoCAD 응용 프로그램 개체 가져오기
AutoCAD 응용 프로그램 개체에 대한 작업을 수행하려면 해당 개체를 가져와야 합니다. pyautocad에서는 이를 위해 “acad.app”을 사용합니다.
pyautocad 대신 통신 모듈을 사용하려면 아래 코드대로 진행할 수 있습니다. 이 경우 win32com 및 pythoncom Python 모듈을 사용합니다.
from win32com.client import *
import pythoncom
acad1 = win32com.client.Dispatch("AutoCAD.Application")
이 경우 acad1은 Application 객체를 나타냅니다.
응용 프로그램 AutoCAD 개체의 속성
많은 응용 프로그램 개체 속성은 AutoCAD 도면의 자동화를 향상시킵니다. 몇 가지 중요한 속성에 대해 하나씩 살펴보겠습니다.
예를 들어 응용 프로그램 이름, 응용 프로그램의 전체 이름 또는 예를 들어 문서 이름과 같은 AutoCAD 응용 프로그램 개체와 관련된 다양한 종류의 정보를 얻기 위해 코드를 사용할 수 있습니다.
print(acad.app.Application.Name)
print(acad.app.Caption)
print(acad.app.ActiveDocument.Name)
print(acad.app.Path)
print(acad.app.FullName)
O/p:
AutoCAD
Autodesk AutoCAD 2018 - [Drawing2.dwg]
Drawing2.dwg
C:\Program Files\Autodesk\AutoCAD 2018
C:\Program Files\Autodesk\AutoCAD 2018\acad.exe
AutoCAD 응용 프로그램에서 현재 열려 있는 모든 문서를 확인하고 싶다고 가정해 보겠습니다. 이를 위해 Documents 속성을 사용하고 해당 속성을 반복할 수 있습니다.
AutoCAD에서 간단한 예를 들어 설명하겠습니다. 그의 예에는 Drawing1과 Drawing2라는 두 개의 도면이 열려 있습니다. 아래 스크린샷이 이를 보여줍니다.
도면 “Drawing2.dwg”가 현재 선택되어 있습니다. 이전 출력과 위의 이미지에서 이 그림이 ActiveDocuments로 가져온 것이 분명합니다. 그러나 Drawing1.dwg도 반환하는지 확인하겠습니다. 해당 파일도 열려 있으므로 이 경우여야 합니다.
print(acad.app.Documents)
for i in acad.app.Documents:
print(i.Name)
O/p:
Drawing1.dwg
Drawing2.dwg
MenuGroups 및 MenuBar 속성
이제 현재 사용 중인 메뉴 표시줄과 메뉴 그룹 개체를 가져옵니다. 아래 코드에서 그렇게 합니다.
print(acad.app.MenuBar)
print(acad.app.MenuGroups)
for i in acad.app.MenuGroups:
print(i.Name)
O/p:
<comtypes.client.lazybind.Dispatch object at 0x0000021BBCA23EB0>
ACAD
CUSTOM
MODELDOC
EXPRESS
AUTODESKSEEK
여기에서 MenuBar의 첫 번째 코드가 AutoCAD 드로잉의 활성 메뉴 표시줄인 디스패치 개체를 반환했음을 알 수 있습니다. 다른 기사에서 MenuBar 개체에 대해 설명하겠습니다.
AutoCAD 응용 프로그램 개체 WindowState 속성
AutoCAD 응용프로그램 또는 AutoCAD 문서 창의 상태를 조정하거나 보기 위해 WindowState 특성을 사용할 수 있습니다. WindowState는 정수 값으로 인코딩됩니다. 간단히 말해서 정수는 예를 들어 다음과 같은 방식으로 창 상태를 나타냅니다.
- acMin(1): 창이 최소화됩니다.
- acMax(2): 창이 최대화됩니다.
- 아크노르m(3): 창이 정상입니다(최소화 또는 최대화되지 않음).
print(acad.app.WindowState)
O/p:
1
AutoCAD 응용 프로그램 개체 메서드
이제 AutoCAD 응용 프로그램을 처리하기 위한 몇 가지 중요한 pyautocad 방법에 대해 설명하겠습니다. 실제로 AutoCAD 응용 프로그램 개체로 작업을 수행하는 동안 모든 사람이 알아야 합니다.
코드를 작성할 때마다 애플리케이션이 Quiescent(비활성) 상태인지 여부를 확인해야 합니다. IsQuiescent 메서드를 사용하는지 확인합니다. 다음은 예입니다.
print(acad.app.GetAcadState().IsQuiescent)
O/p:
False
이 코드를 실행한 후 응용 프로그램을 사용하고 있었기 때문에 응용 프로그램이 활성(예: False)으로 표시됩니다.
또한 현재 문서를 닫고 싶다면 Quit 메서드를 사용할 수 있습니다. 물론 이는 현재 활성 문서만 닫고 null 값을 반환하는 전체 응용 프로그램은 닫지 않습니다.
acad.app.Quit()
마지막으로 코드를 적용한 후 애플리케이션을 업데이트하기 위해 null을 반환하는 Update 메서드도 사용할 수 있습니다.
acad.app.Update()
맺음말 및 관련 내용
AutoCAD 자동화 를 다루는 다른 유익한 기사 는 pyautocad 및 pywin32와 관련된 다른 기사를 확인하십시오. 댓글 섹션에 있는 질문을 댓글로 남겨주세요. 기술 상담이 필요하시면 언제든지 연락주세요. 동일한 연락처 양식 을 사용할 수 있습니다 .
다음은 Python에서 AutoCAD 자동화 및 AutoCAD 스크립팅을 다루는 몇 가지 관련 문서입니다.
- 링크 : AutoCAD pyautocad 모듈용 Python
- 링크 : pyautocad의 add() 메서드
- 링크 : 해결된 호출이 pythoncom의 피호출자에 의해 거부되었습니다.
- 링크 : Python을 사용하는 AutoCAD 객체의 트리 데이터 구조
- 링크 : Python에서 pyautocad를 사용하여 AutoCAD에서 개체 확장
- 링크 : Python 목록 및 사전을 사용하여 pyautocad로 AutoCAD 객체 작업하기
- 링크 : Python에서 pywin32를 사용하여 AutoCAD 템플릿에서 개체 해칭
- 링크 : AutoCAD의 래스터 이미지 개체와 Python의 pyautocad
- 링크 : Python에서 pyautocad를 사용하여 AutoCAD에서 3D 메쉬 개체 작업
- 링크 : Python에서 pywin32를 사용하여 이중 생성자 만들기
- 링크 : Python에서 pywin32를 사용하여 apoint 메서드 만들기
- 링크 : pywin32 및 win32com을 사용하여 AutoCAD와 Python 통합
- 링크 : Python에서 pyautocad 및 pywin32를 사용하여 AutoCAD 템플릿에서 개체 삭제
- 링크 : Python에서 pyautocad를 사용하여 2D 평면에서 객체 미러링
- 링크 : Python에서 pyautocad를 사용하여 Autocad에서 텍스트 작업
- 링크 : Python에서 pyautocad를 사용하는 AutoCAD의 극좌표 배열
- 링크 : Python에서 pyautocad를 사용하는 AutoCAD의 직사각형 배열
- 링크 : Python에서 pyautocad를 사용하여 AutoCAD 객체로 작업
- 링크 : Python의 pyautocad를 사용하여 AutoCAD의 솔리드 객체
- 링크 : Python에서 pyautocad를 사용하여 AutoCAD에서 나선 작업
- 링크 : Python에서 pyautocad를 사용하여 AutoCAD에서 스플라인 그리기
- 링크 : Python에서 AutoCAD 폴리곤을 그리기 위한 pyautocad의 폴리라인
- 링크 : Python에서 pyautocad를 사용하여 AutoCAD에서 타원 호 그리기
- 링크 : Python에서 pyautocad를 사용하여 AutoCAD에서 호 그리기
- 링크 : Promodel AutoCAD 에디션을 사용한 거의 동시적인 공장 설계 및 프로세스 최적화
- 링크 : AutoCAD pyautocad 모듈용 Python
- 링크 : Python을 사용하는 AutoCAD의 영역 객체
Leave a Reply