CADAM: 오픈소스 AI 기반 텍스트-투-CAD 웹 애플리케이션
CADAM은 사용자가 자연어 설명과 이미지 참조를 사용해 파라메트릭 3D 모델을 생성할 수 있는 오픈소스 텍스트-투-CAD 웹 애플리케이션입니다. 대형 언어 모델(LLM)을 활용해 OpenSCAD 코드를 생성하고, 이를 WebAssembly를 통해 브라우저에서 렌더링함으로써, CADAM은 간단한 기계 부품부터 복잡한 어셈블리까지 수동 CAD 소프트웨어 설치 없이도 빠르게 만들 수 있게 합니다.
핵심 기능 및 AI 통합
CADAM은 일반 영어 설명을 기능적인 3D 형상으로 변환합니다. 시스템은 생성된 코드 내에서 조정 가능한 치수를 식별하고 이를 인터랙티브 파라메트릭 컨트롤(슬라이더)로 자동 추출하여, 사용자가 AI 생성 과정을 다시 실행하지 않고도 실시간으로 모델 치수를 미세 조정할 수 있게 합니다.
주요 기술 역량
- Natural Language Processing: 사용자는 모델을 일반 영어로 설명하여 초기 형상을 생성합니다.
- Image-Guided Generation: 애플리케이션은 이미지를 업로드하여 AI가 보다 정확한 3D 표현을 만들도록 지원합니다.
- Real-time Preview: Three.js와 React Three Fiber와의 통합으로 즉각적인 시각적 피드백 루프를 제공합니다.
- Parametric Extraction: AI가 핵심 치수를 식별하고, 애플리케이션은 이를 정밀 조정을 위한 인터랙티브 슬라이더로 제공합니다.
- Multi-Format Export: 모델을
.STL(3D 프린팅용),.SCAD(OpenSCAD 편집용),.DXF(레이저 커팅/CNC용) 형식으로 내보낼 수 있습니다.
기술 아키텍처
CADAM은 고성능 렌더링과 확장 가능한 백엔드 서비스를 결합한 현대적인 웹 애플리케이션으로 구축되었습니다.
기술 스택
- Frontend: React 19, TypeScript, TanStack Start, Vite.
- 3D Rendering: Three.js, React Three Fiber.
- CAD Engine: OpenSCAD를 WebAssembly(WASM)로 컴파일하여 CAD 엔진이 사용자의 브라우저 내에서 완전히 실행될 수 있게 합니다.
- Backend: Supabase(PostgreSQL, Auth, Storage)와 TanStack Start 서버 라우트.
- AI Orchestration: 주로 Anthropic Claude API로 구동되며, OpenRouter, OpenAI, Google 등을 통해 다른 제공자를 지원합니다.
- Styling: Tailwind CSS, shadcn/ui.
- Libraries: BOSL, BOSL2, MCAD 라이브러리를 지원하여 기하학적 기능을 확장합니다.
성능 벤치마크
CADAM의 기능은 기본 파라메트릭 부품부터 복잡한 기계 어셈블리까지 다양합니다. 다음 예시는 시스템이 공간 추론 및 다중 부품 설계를 처리할 수 있음을 보여줍니다.
복합 어셈블리
- V8 Engine: 두 뱅크의 실린더, 실린더 헤드, 흡기 매니폴드, 배기 헤더, 크랭크샤프트, 오일 팬을 포함한 완전한 내연 엔진(22개의 치수와 8가지 색상 사용).
- Radial Aircraft Engine: 중앙 크랭크케이스와 별 모양으로 배열된 핀 실린더 9개를 가진 엔진.
- Turbofan Jet Engine: 전면 팬, 바이패스 코울, 내부 코어 스테이지를 포함한 고바이패스 터보팬.
- Axial Turbine Blisk: 높이 전체에 걸쳐 비틀린 28개의 에어포일 블레이드가 있는 블레이드 디스크.
파라메트릭 기본
- Mechanical Components: 시스템은 실제 나사산이 있는 M12 육각 볼트와 너트, 헤링본 행성 기어 스테이지, 직각 베벨 기어 구동 장치를 생성할 수 있습니다.
- Functional Parts: 예시로 NACA 2412 테이퍼드 윙, 원심 펌프 임펠러, 벌집형 경량 브래킷이 있습니다.
사용자 경험 및 실용 적용
초기 사용자 피드백에 따르면 CADAM은 개념에서 출력 가능한 부품으로 전환하는 데 걸리는 시간을 크게 단축합니다. 사용자는 몇 분 만에 맞춤형 보트 리프트 범퍼와 알루미늄 파이프용 그로밋 씰을 생성했다고 보고했으며, 이는 일반적으로 Fusion 360과 같은 전문 CAD 소프트웨어에서 수동 모델링이 필요했던 작업입니다.
"이것을 보고 5분간 프롬프트를 입력한 뒤 맞춤형 범퍼 4개를 출력하고 있습니다."
"Fusion에 로그인하고 로드하는 데 걸리는 시간 정도만에 작업을 완료했습니다."
개발 및 기여
CADAM은 GNU 일반 공중 라이선스 v3.0(GPLv3) 하에 라이선스됩니다. Supabase CLI와 ngrok을 사용해 제공자 콜백 및 서명된 스토리지 URL을 처리하도록 로컬 개발을 위해 설계되었습니다. 이 프로젝트는 GitHub을 통해 기여를 받을 수 있으며, 사용자는 저장소를 포크하고 풀 리퀘스트를 제출할 수 있습니다.