Lisp 기반 CAD 도구, Antimony 공개
원제 Antimony: CAD Software Evolved from Lisp Machines and Not Drafting Tables (2015)
102 포인트댓글 53
Key Point
그래프 기반의 노드 프로그래밍 방식으로 CAD 작업을 재정의하고, 스크립트로 모든 설계 요소를 제어할 수 있는 새로운 패러다임을 제시한다.
핵심 요약
- Antimony는 전통적인 제도판이 아닌 Lisp 머신 철학에서 출발한 CAD 소프트웨어로, 그래프 기반의 노드 시스템으로 설계된다.
- 각 노드는 Python 3.x 스크립트로 정의되며 입출력 포트를 통해 연결되고, 변경사항이 자동으로 하위 노드에 전파된다.
- 기하학 엔진은 불 연산(합집합·교집합·차집합)에 최적화된 함수형 표현을 사용하여 형상을 비트맵으로 렌더링한다.
- 2.5D 가공용 높이맵과 3D 제조용 STL 파일을 내보낼 수 있으며, STL 내보내기 시 모서리와 꼭짓점을 선명하게 유지하는 기능 감지 기능을 포함한다.
- 표준 라이브러리는 회전·크기 조정·불 연산 같은 기본 변환부터 attract·repel·bend 같은 특이한 변환까지 제공하며, 사용자 정의 모양 정의도 가능하다.
- UI 기능은 스크립트에서 정의되어 3D 뷰포트에 그려지며, 인터랙티브 조작(점 드래그 등)이 그래프 노드로 다시 피드백된다.
- 모양은 접두사 문자열 표기법으로 표현되는데, 예를 들어 원은 거리장 표현 f(x,y) = sqrt((x-x0)² + (y-y0)²) - r로 인코딩된다.
- Mac 응용프로그램은 Github 릴리스 페이지에서 다운로드 가능하며, 소스 코드와 Mac·Linux 빌드 지침이 제공된다.
- 현재 베타 단계의 안정적인 소프트웨어이며, Python 기초 지식으로 사용자 정의 노드 작성이 가능하고 C++ 경험자는 렌더링 최적화·UI 개선 등에 기여할 수 있다.
- Antimony는 MIT 비트와 원자 센터에서의 개인 규모 CAD/CAM 워크플로우 연구에서 비롯되었으며, cad_ui·kokopelli·fabserver 등의 선행 프로젝트에서 영감을 얻었다.
- 2014년 초 세계경제포럼 데모로 개발되었고, 2014년 가을 'How to Make Almost Anything' 강좌 업데이트, 2015년 Fab Academy 버전이 공개되었다.