이 기사에서는 Excel 시트의 데이터를 사용하여 Python을 사용하여 AutoCAD에서 개체를 그리는 방법을 보여줍니다.
Python에서 Excel 및 AutoCAD 작업을 위한 라이브러리
이 특정 데모에서는 pyautocad 및 openpyxl Python 라이브러리를 사용하고 있습니다. openpyxl Python 모듈을 사용하면 기존 Excel 파일에서 데이터를 가져올 수 있습니다.
from pyautocad import Autocad, APoint, aDouble
import openpyxl as oex
Python에서 AutoCAD용 Excel 파일에서 데이터 가져오기
Excel 파일에서 데이터를 가져오려면 두 개의 변수가 필요합니다. 첫 번째는 통합 문서를 저장하는 데 사용됩니다. 두 번째 변수는 현재 활성 워크시트를 저장하는 데 사용됩니다. 설명은 아래 코드를 참조하십시오.
wbook = oex.load_workbook("Test.xlsx")
sh = wbook.active
이 기본 예에서는 pyautocad의 AddPolyline 메서드를 사용하여 임의의 점 몇 개만 연결하겠습니다. 포인트는 내 Excel 파일에 지정됩니다. Excel 파일은 표 형식을 취합니다. 아래에 표시된 스크린샷에 표시합니다.
이전에 게시한 기사에서 AutoCAD 폴리라인을 생성하려면 double 데이터 유형의 3개 요소 배열이 필요하다는 것을 알고 있습니다 . 이것이 목록에 추가하는 동안 테이블의 각 행을 반복해야 하는 이유입니다. 나는 이것을 아래 코드에서 명확히 한다.
l1 = []
for i in range(2, sh.max_row+1):
for j in range(2, sh.max_column+1):
cell = sh.cell(row=i, column=j)
l1.append(cell.value)
print(l1)
O/p:
[125, 235, 0, 670, 217, 0, 105, 756, 0, 654, 789, 0, 125, 235, 0]
이제 목록을 만들었으므로 맞춤형 AutoCAD 폴리라인 을 만드는 데 사용할 수 있습니다 .
pyautocad로 AutoCAD 폴리라인 만들기
마지막으로 목록을 aDouble(배열의 배열) 개체로 변환해야 합니다. 이렇게 하면 AddPolyline pyautocad 메서드를 호출할 때 입력 매개변수로 사용할 수 있습니다. 이것은 실제로 AutoCAD 폴리라인 을 그리는 방법입니다 . 코드는 아래에 표시됩니다.
polygon = aDouble(l1)
acad.model.AddPolyline(polygon)
그리고 이것은 위의 Python 코드를 실행한 후 AutoCAD에서 그린 것입니다.
위 그림에서 알 수 있듯이 내 엑셀 파일에 지정된 데이터에 따라 폴리라인이 생성되었습니다.
끝 맺는 말
끝으로 이 기사에서 제가 설명한 개념을 사용할 때 AutoCAD 사용자는 Python에서 AutoCAD 객체 생성을 위해 Excel의 데이터를 사용할 수 있습니다. openpyxl 외에도 Python 개발자는 pandas 사용을 고려할 수 있습니다 . pandas 는 Excel 파일을 처리하기 위한 최신 Python 라이브러리 중 하나입니다. 분석도 지원합니다.
향후 AutoCAD 블로그 게시물 중 하나에서 Python을 사용하여 AutoCAD Table 객체로 작업하는 방법에 대해 논의할 것입니다. 이러한 AutoCAD 자동화 기술에 대해 자세히 알아보려면 이전 기사를 참조하는 것이 좋습니다. 또한 문의 양식 을 사용하여 연락하면 기술 상담을 받을 수 있습니다. 질문이 있는 경우 언제든지 의견 상자를 사용하십시오.
Leave a Reply