기술

AI가 파이썬 38줄로 세탁기를 만든다, LLM용 3D 모델링 sand3d

3D 물체를 짧은 파이썬 프로그램으로 쓰는 라이브러리 sand3d. 부품과 관절을 이름으로 적는 방식, 토큰이 적게 드는 이유, 설치 조건과 Claude에게 주는 API 문서를 정리했습니다.

Sandflow-ai/sand3d는 3D 물체를 짧은 파이썬 프로그램으로 쓰는 라이브러리입니다. Blender의 bpy 위에서 돌고, LLM이 쓰기 좋게 설계했습니다. Apache-2.0 라이선스이고, 2026년 11월 3일 공개돼 11월 7일 기준 깃허브 스타 766개입니다.

세탁기 한 대가 38줄

README의 대표 예시는 드럼 세탁기입니다. 몸체, 드럼, 유리와 손잡이가 달린 문, 세제 서랍, 다이얼이 각각 이름 붙은 부품이고, 관절 네 개가 움직임을 정합니다.

door = s3d.group("door", ring, glass, handle)
s3d.joint("door_hinge", door, hinge, axis="-Z", range=(0, 143))
s3d.joint("drum_spin", drum, front.move(0, 400), kind="continuous")
s3d.joint("drawer_slide", drawer, top_band.move(150), kind="prismatic", axis="+X", range=(0, 200))

공식 갤러리에서 재생 버튼을 누르면 문이 열리고 드럼이 돕니다. 냉장고, 스케이트보드, 관절이 43개인 키보드도 있습니다. 부품을 누르면 그 부품을 만든 코드가 밝아집니다.

왜 LLM용인가

  • 짧다: 같은 부품을 Blender 파이썬, CadQuery, FeatureScript로 쓸 때보다 토큰이 2~6배 적게 듭니다.
  • API 전체가 프롬프트 하나: 약 3,600토큰입니다.
  • 좌표 대신 이름: 부품, 모서리, 면을 손으로 계산한 좌표가 아닌 이름으로 고릅니다.
  • 결정적: 같은 프로그램은 비트 단위로 같은 메시를 만듭니다.

내보내기

한 줄로 내보내고, 확장자가 형식을 정합니다. 길이 단위는 미터입니다.

형식쓰는 곳
GLB웹, 뷰어, 게임 엔진
URDFROS, PyBullet, MuJoCo, Isaac
USDAOmniverse, Isaac Sim, USD 파이프라인
OBJ, STL아무 3D 도구, 3D 프린터 슬라이서

설치

pip install sand3d        # 또는 uv add sand3d

Blender가 bpy 모듈로 함께 깔립니다. Python 3.13(권장) 또는 3.11을 쓰세요. 3.12에는 bpy 휠이 없고, Intel 맥은 Blender 5.2부터 휠이 없어 3.11을 써야 합니다.

Claude에게 주는 법

docs/api.md를 시스템 프롬프트나 대화에 넣으면 됩니다. 규칙, 모든 함수 시그니처, 예제가 약 3,600토큰에 들어 있습니다. 부품이 여러 개인 물체는 가이드라인의 여덟 가지 규칙(계획 먼저, 그다음 세부, 그다음 부품)을 함께 주세요.

오늘 할 일

Claude에게 API 문서를 주고 책상 위 물건 하나를 만들어 달라고 해 보세요. 머그컵이나 스탠드 조명처럼 부품 두세 개짜리가 시작하기 좋습니다.

쇼츠로 보기

이 글은 비치콤버스 쇼츠 No.40의 짝 글입니다. 짧은 주소 beachcombers.co.kr/s/40.

김현빈 Developer & Writer

기술, 포스팅 관련 질문, 프로젝트 협업 등 연락주시면 언제든지 회신 드립니다.

esc

↑↓ 고르기↵ 열기? 단축키

해변에서 주운 것

읽으러 가기 →
guest@beachcombers — zsh

단축키

⌘K 또는 /
글·작업·개발일지 찾기
R
해변 산책 — 아무 글 하나 줍기
`
터미널 열기
←→
쪽 넘기기 (휠·스와이프도 됩니다)
?
이 안내
esc
닫기