CADara 소개: 오픈 소스, 브라우저 기반 CAD 엔진
컴퓨터 지원 설계(CAD) 분야는 오랫동안 상당한 설치 및 하드웨어 리소스가 필요한 무거운 데스크톱 애플리케이션이 지배해 왔습니다. 그러나 WebAssembly(WASM)의 등장은 이러한 패러다임을 변화시키고 있으며, 복잡한 엔지니어링 소프트웨어가 브라우저에서 네이티브로 실행될 수 있도록 하고 있습니다. CADara는 전문적인 수준의 기하학적 모델링과 웹의 접근성 사이의 간극을 메우는 것을 목표로 하는 새로운 오픈 소스 프로젝트입니다.
기술적 토대: OpenCascade 및 WASM
CADara의 핵심은 강력한 오픈 소스 기하학적 모델링 커널인 OpenCascade 7.9입니다. 이 커널을 WebAssembly로 컴파일함으로써, CADara는 이전에는 네이티브 데스크톱 환경에서만 가능했던 복잡한 B-Rep(Boundary Representation) 작업을 브라우저에서 처리할 수 있게 합니다. 이 접근 방식은 백엔드 서버에서 기하학적 형상을 처리할 필요 없이 애플리케이션이 높은 정밀도를 유지하고 표준 CAD 작업을 지원할 수 있도록 합니다.
OpenCascade 커널을 보완하는 것은 전적으로 TypeScript로 작성된 커스텀 스케치 솔버입니다. 제작자인 @ttouch에 따르면, 이 커스텀 솔버는 예상보다 "substantially faster"하게 작동하여 웹 인터페이스 내에서 유연한 스케치 경험에 필요한 반응성을 제공하는 것으로 입증되었습니다.
기능 세트 및 역량
프리 알파/알파 단계임에도 불구하고, CADara는 광범위한 표준 CAD 작업을 구현합니다. 이 도구 세트는 다음과 같은 전문적인 파라메트릭 모델러의 워크플로우를 반영하도록 설계되었습니다:
스케치 및 기본 도형 생성
- New Sketch: 2D 프로파일을 생성하기 위한 근본적인 시작점입니다.
- Extrude, Revolve, Sweep, and Loft: 2D 스케치를 3D 볼륨으로 변환하는 주요 도구입니다.
정밀화 및 수정
- Fillet and Chamfer: 모서리를 둥글게 만들거나 베벨 전환을 생성하는 데 필수적인 도구입니다.
- Shell and Thicken: 중공 부품을 만들거나 표면에 벽 두께를 추가하는 데 사용되는 작업입니다.
부품 관리 및 불리언 연산
- Boolean Bodies: 서로 다른 기하학적 본체를 결합, 차감 또는 교차시키는 기능입니다.
- Split Part: 기존 기하학적 형상을 여러 구성 요소로 나누는 도구입니다.
- Transformations: 면과 객체의 미러링, 선형 패턴, 일반적인 이동을 지원합니다.
현재의 한계 및 로드맵
프리 알파 릴리스로서, CADara는 기능 세트를 확장하기 전에 안정적인 기반을 구축하는 데 집중하고 있습니다. 현재 소프트웨어는 다음과 같은 기능을 지원하지 않습니다:
- Mesh Manipulation: 폴리곤 메쉬를 다루는 기능입니다.
- Curved Face Manipulation: 비평면 표면의 고급 편집 기능입니다.
개발자의 우선순위는 이러한 더 복잡한 기하학적 연산을 도입하기 전에 WASM 기반 커널과 TypeScript 솔버의 핵심 안정성을 확보하는 것입니다.
커뮤니티 관찰
커뮤니티의 초기 피드백은 이 프로젝트의 시각적 및 기능적 영감을 강조했습니다. 한 사용자 @seemaze는 사용자 인터페이스 요소가 잘 알려진 클라우드 네이티브 CAD 플랫폼인 OnShape에 큰 영향을 받은 것으로 보인다고 언급했습니다. 이는 CADara가 기존 전문 도구에서 전환하는 엔지니어들의 학습 곡선을 낮추기 위해 친숙한 UX 패턴을 목표로 하고 있음을 시사합니다.
알파 버전을 테스트하거나 기여하는 데 관심이 있는 분들은, CADara는 오픈 소스이며 GitHub에서 이용 가능하며, 개발 논의를 위한 전용 Discord 커뮤니티가 있습니다.