AI 요약
Dune3d는 전자 기기용 인클로저 설계를 위해 제작된 새로운 오픈소스 파라메트릭 3D CAD 애플리케이션입니다. 개발자는 기존 오픈소스 툴인 FreeCAD의 모달 스케처 방식과 Solvespace의 STEP 파일 및 필렛/챔퍼 기능 부재에 불만을 느껴 직접 개발에 착수했습니다. 이 프로젝트는 Open CASCADE를 기하학 커널로 채택하여 STEP 입출력과 복잡한 형상 처리를 구현했으며, Solvespace의 솔버를 라이브러리로 활용해 강력한 구속 조건 해결 능력을 갖췄습니다. 기존에 개발했던 PCB CAD인 'Horizon EDA'의 3D 뷰포트 코드와 편집기 인프라를 재사용하여 개발 시작 단 3개월 만에 공개 가능한 수준의 결과물을 만들어냈습니다. 모든 도구와 동작은 스페이스바 메뉴를 통해 접근 가능하며, 윈도우와 macOS 환경에서도 빌드 및 실행이 가능하도록 설계되었습니다.
핵심 인사이트
- 개발 동기: FreeCAD의 2D 중심 모달 스케처와 참조 오류, Solvespace의 STEP 파일 미지원 및 필렛/챔퍼 기능 부재를 해결하기 위해 개발되었습니다.
- 기술 스택의 조합: Open CASCADE(기하학 커널), Solvespace(제약 조건 솔버), Horizon EDA(3D 뷰포트 및 UI 인프라)의 강점을 통합했습니다.
- 신속한 개발 주기: 기존에 보유한 코드베이스를 재사용하여 약 3개월이라는 짧은 기간 내에 실행 가능한 CAD 애플리케이션을 구축했습니다.
- 사용자 인터페이스: Horizon EDA의 방식을 계승하여 스페이스바 메뉴를 통해 모든 툴과 액션에 접근하는 효율적인 UX를 제공합니다.
주요 디테일
- Open CASCADE 활용: STEP 파일의 임포트/엑스포트뿐만 아니라 오픈소스에서 구현하기 까다로운 필렛(Fillet)과 챔퍼(Chamfer) 기능을 지원합니다.
- 솔버 라이브러리: Solvespace의 강력한 제약 조건 솔버를 라이브러리 형태로 통합하여 3D 파라메트릭 설계의 정밀도를 확보했습니다.
- 워크플로우 개선: 2D 스케치에 국한되지 않고 3D 공간에서의 구속 조건 설정과 돌출(Extrusion) 작업이 가능하도록 설계되었습니다.
- 멀티 플랫폼 지원: 리눅스뿐만 아니라 윈도우(Windows) 및 맥(macOS)용 빌드 가이드를 제공하여 접근성을 높였습니다.
- 커뮤니티 지원: GitHub Discussions와 Matrix 채팅방을 통해 개발자와 소통할 수 있으며, 별도의 샘플 파일 저장소를 운영하고 있습니다.
향후 전망
- 오픈소스 CAD 시장 변화: FreeCAD의 복잡함에 지친 사용자들에게 더 가볍고 직관적인 대안으로 자리 잡을 가능성이 높습니다.
- 하드웨어 설계 생태계 확장: Horizon EDA와 철학을 공유하며, 전자 엔지니어들이 회로 설계부터 케이스 제작까지 오픈소스 툴만으로 완결짓는 워크플로우를 강화할 것으로 보입니다.
출처:hackernews
