CADQuery

CADQuery는 Python 코드로 치수·구속·절차를 기술해 정밀한 3D CAD 모델을 만드는 자유·오픈 소스 라이브러리다. 사용자가 화면에서 모든 면을 직접 움직이지 않아도 수식과 연산을 수정하여 부품을 재생성할 수 있으며, OpenSCAD, FreeCAD, Autodesk Fusi...

분류3D 그래픽 소프트웨어, Python 코드 기반 파라메트릭 솔리드 CAD
개발CadQuery 오픈 소스 공동체
플랫폼Windows·macOS·Linux, Python 실행 환경
작성 언어Python·OCP/Open CASCADE
주요 기능Python 코드 기반 파라메트릭 솔리드 CAD
프로젝트·파일STEP·STL·AMF·3MF 등
공식·참고 자료CadQuery 공식 문서

CADQuery는 Python 코드로 치수·구속·절차를 기술해 정밀한 3D CAD 모델을 만드는 자유·오픈 소스 라이브러리다. 사용자가 화면에서 모든 면을 직접 움직이지 않아도 수식과 연산을 수정하여 부품을 재생성할 수 있으며, OpenSCAD, FreeCAD, Autodesk Fusion의 파라메트릭 설계 분야와 연결된다.[1]

일반적인 작업은 작업 평면에 스케치를 작성하고 박스·돌출·회전·스윕·필렛·홀 등의 연산을 체인으로 연결한다. 변수와 함수로 모델의 길이·지름·두께를 제어할 수 있으며, 부품의 규격이 바뀌면 소스 코드를 다시 실행해 새 솔리드를 계산한다. 복잡한 기계 부품을 사람이 읽을 수 있는 작업 절차로 표현할 수 있다.

CadQuery는 OCP라는 Open CASCADE Technology Python 바인딩을 이용해 실제 기하 계산을 수행한다. 모델은 정밀한 B-rep 곡면·에지·면의 연결 관계를 갖고, STEP으로 출력해 기계 CAD와 교환하거나 STL·3MF로 변환하여 3D 프린팅에 사용할 수 있다. STEP 솔리드와 메시만 남은 STL은 편집 가능성과 치수 정확도에서 차이가 있다.[2]

독립적인 통합 GUI보다는 프로그램 라이브러리이며 CQ-editor·Jupyter 관련 도구에서 모델을 미리 보고 자동화할 수 있다. BlocksCAD가 시각적 블록을 이용한다면 CADQuery는 일반 목적 Python과 CAD 커널을 결합해 재사용 가능한 부품 생성 함수를 작성하는 데 특화된다.

코드 중심 모델 생성에는 OpenSCAD가, 시각적인 블록 기반 교육에는 BlocksCAD가 사용된다. FreeCAD 및 Open CASCADE Technology 계열 도구와 함께 CADQuery는 Python API를 통해 정확한 솔리드를 구성하는 방식이다. STL 출력은 PrusaSlicer·Ultimaker Cura에 연결되며 STEP 결과는 SOLIDWORKS·PTC Creo처럼 정밀 CAD 형식을 읽는 도구와 교환할 수 있다.

개발과 Python CAD

초기 개발

주요 변화

Workplane·Sketch·형상 연산

파라메트릭 모델 설계

OCP·Open CASCADE 커널

STEP·STL·3MF 파일

편집기·자동화와 확장

관련 문서

  1. CadQuery 공식 문서 ↩
  2. CadQuery 공식 문서 ↩