손으로 그린 스케치를 AI Agent로 3D 프린팅 가능한 페그보드 장난감으로 만들기
Show HN: I turned a sketch into a 3D-print pegboard for my kid with an AI agent
TL;DR Highlight
Codex가 마커 스케치에 치수 2개 입력만으로 1분 내에 3D 프린팅용 페그보드 Python 코드를 생성하며 CAD 없이도 AI 기반 3D 모델 설계를 가능하게 함.
Who Should Read
CAD 툴 없이 3D 프린팅 가능한 물리적 결과물을 빠르게 만들고 싶은 메이커 성향의 개발자, 또는 AI Agent를 실제 하드웨어/제조 프로젝트에 활용하고 싶은 개발자.
Core Mechanics
- 아이와 함께 그린 마커 스케치를 사진으로 찍어 Codex에 붙여넣고, 구멍 간격 40mm와 페그 너비 8mm 딱 두 가지 치수만 입력했더니 약 1분 만에 첫 번째 3D 모델 세트가 나왔다. Fusion 360에서 한두 시간 씨름할 뻔했던 작업이다.
- 결과물은 손으로 편집한 3D 메시(mesh) 파일이 아니라 Python 제너레이터 스크립트로 생성된다. 덕분에 '출력 → 테스트 → 수치 조정 → 재출력' 반복 사이클이 훨씬 빨랐고, 코드 한 줄만 바꾸면 전체 치수가 바뀐다.
- 최종 결과물은 40mm 시스템 기준으로 평면 플레이 피스 7개, 튜닝된 페그 1개, 기어 4개, 출력 가능한 보드 2종으로 구성됐다. 페그가 딱 맞게 끼워지고 기어가 부드럽게 돌아갈 때까지 핏앤필(fit-and-feel) 반복 작업을 직접 했다.
- 리포지토리에 AGENTS.md 파일을 별도로 만들어 현재 치수, 폴더 구조, 확장 규칙을 정리해뒀다. 이 파일 덕분에 AI Agent가 '6x6 보드로 키워줘', '페그 길이 늘려줘', '새 피스 추가해줘' 같은 요청을 맥락 없이도 처리할 수 있다.
- 저자가 강조하는 핵심 가치는 '지루한 CAD 작업을 AI에게 넘기고, 실제 출력·테스트·아이와 함께 노는 시간을 확보했다'는 것이다. 기술 자체보다 시간 재배분(time reallocation)에 의의를 두고 있다.
- 레이저 커팅에도 응용 가능하다는 댓글 반응이 있었고, Lego 블록 생성으로 확장하면 어떻겠냐는 아이디어도 나왔다. 이 워크플로우가 단순 3D 프린팅을 넘어 다양한 제조 방식에 적용 가능한 패턴임을 시사한다.
Evidence
- 'Agent x Parent 조합이 LLM 공간에서 가장 좋아하는 니치가 됐다'는 댓글이 공감을 얻었다. 가장 시간이 없는 시기(육아 중)에 AI가 창의성을 폭발시켜준다는 점에서, 단순한 기술 데모가 아니라 실생활 임팩트 사례로 받아들여졌다.
- 스케치를 물리적 장난감으로 바꾸는 파이프라인에 대해 '지루한 CAD 모델링을 건너뛰고 아이와 핏앤필 반복에 집중할 수 있었다는 게 꿈같은 워크플로우'라는 반응이 있었다. 결과물의 완성도보다 프로세스 자체가 이상적이라는 평가다.
- 레이저 커팅 적용 가능성을 언급하면서 BRIO 조립 세트와 호환되는 대형 어린이방 페그보드를 만들고 싶다는 댓글이 달렸다. 이 프로젝트가 3D 프린팅을 넘어 다른 제작 방식에도 영감을 준다는 반응이다.
- Lego 블록 생성으로 확장해보라는 제안도 있었다. Python 제너레이터 방식이라면 파라미터만 바꿔 다양한 조립 부품계를 만들 수 있다는 점에서 실현 가능성이 있는 아이디어로 받아들여졌다.
- 3D 프린터 추천 관련 서브 토론이 생겼는데, Bambu P2S(약 500유로 수준 밀폐형 프린터)가 언급됐고 탄소 섬유 필라멘트 사용 경험도 공유됐다. 일반 필라멘트 대비 약 6배 비싸지만 결과물 품질이 놀랍다는 평이었다.
How to Apply
- 3D 프린팅 장난감이나 소품을 직접 디자인하고 싶은데 Fusion 360 같은 CAD 툴이 부담스럽다면, 손으로 개략적인 스케치를 그리고 핵심 치수(간격, 두께 등) 1~2개만 메모한 뒤 Codex나 Claude 같은 코딩 에이전트에 사진과 함께 입력해보자. 완성된 Python 스크립트로 STL 파일을 바로 생성할 수 있다.
- 반복 수정이 잦은 3D 모델 프로젝트라면 완성된 메시 파일(.stl)을 직접 편집하는 대신, 이 프로젝트처럼 파라미터화된 Python 제너레이터로 만들어두자. 치수 하나 바꾸면 전체 세트가 재생성되므로 핏 테스트 사이클이 훨씬 빨라진다.
- AI Agent가 프로젝트 맥락을 이해하고 수정 요청을 처리하게 하려면, 이 프로젝트의 AGENTS.md처럼 현재 치수·폴더 구조·확장 규칙을 별도 문서로 정리해두자. 에이전트가 반복 요청마다 전체 코드를 다시 분석하지 않아도 돼서 작업이 안정적으로 유지된다.
- 레이저 커터나 CNC를 쓰는 메이커라면 동일한 워크플로우(스케치 → AI 코드 생성 → 파라미터 반복 조정)를 SVG나 DXF 출력으로 응용할 수 있다. Python에서 svgwrite나 ezdxf 라이브러리를 쓰면 비슷한 파라미터 기반 제너레이터를 만들 수 있다.
Code Example
# AGENTS.md 스타일로 에이전트에게 컨텍스트 제공하는 예시 구조
# (실제 이 프로젝트의 AGENTS.md 참고)
## 현재 시스템 치수
- 페그 간격: 40mm
- 페그 너비: 8mm
- 페그 높이: [조정 가능]
## 폴더 구조
models/pieces/ # 플레이 피스 STL 파일
models/gears/ # 기어 STL 파일
scripts/ # Python 제너레이터 스크립트
## 에이전트 요청 예시
# "6x6 보드로 크기 키워줘"
# "페그를 2mm 더 길게 만들어줘"
# "핏 테스트용으로 0.1mm 더 느슨한 변형 생성해줘"
# Python 제너레이터 기본 패턴 (개념)
import solid # OpenSCAD Python 바인딩 등 활용
PEG_SPACING = 40 # mm
PEG_WIDTH = 8 # mm
def generate_board(cols=4, rows=4):
# 파라미터 바꾸면 전체 보드 재생성
holes = []
for r in range(rows):
for c in range(cols):
holes.append((c * PEG_SPACING, r * PEG_SPACING))
return holesTerminology
관련 논문
대규모 코드베이스에서 Claude Code가 동작하는 방식: 모범 사례와 시작점
Anthropic이 수백만 줄짜리 모노레포, 레거시 시스템, 수십 개 마이크로서비스 환경에서 Claude Code를 운영한 패턴을 정리한 글이다. RAG 방식 대신 에이전틱 검색을 쓰는 이유와 실제 현장의 한계를 함께 확인할 수 있다.
Needle: Gemini의 Tool Calling 능력을 26M 파라미터 모델로 증류
Gemini의 함수 호출(tool calling) 능력만 뽑아서 26M(2600만) 파라미터짜리 초경량 모델로 만든 프로젝트로, 폰/워치/스마트글라스 같은 엣지 디바이스에서 직접 실행 가능하다.
메인프레임과 COBOL을 위한 Agentic 개발 환경 'Hopper'
수십 년 된 메인프레임(z/OS) 환경을 AI 에이전트로 조작할 수 있게 해주는 개발 도구로, COBOL 코드 작성부터 JCL 실행, 디버깅까지 자연어로 처리할 수 있어 레거시 시스템 유지보수 비용을 크게 줄일 수 있다.
Statewright – AI 에이전트를 안정적으로 만드는 Visual State Machine
AI 에이전트에게 40개 이상의 도구를 주면 오히려 성능이 떨어지는 문제를 State Machine으로 각 단계별 사용 가능한 도구를 제한해 해결하는 오픈소스 프로젝트다. 더 큰 모델 대신 더 작은 문제 공간을 만들어 신뢰성을 높이는 접근이 핵심이다.
adamsreview: Claude Code용 멀티 에이전트 PR 코드 리뷰 파이프라인
Claude Code에서 최대 7개의 병렬 서브 에이전트가 각각 다른 관점으로 PR을 리뷰하고, 자동 수정까지 해주는 오픈소스 플러그인이다. 기존 /review나 CodeRabbit보다 실제 버그를 더 많이 잡는다고 주장하지만 커뮤니티에서는 복잡도와 실효성에 대한 회의론도 나왔다.
Claude를 User Space IP Stack으로 써서 Ping에 응답시키면 얼마나 빠를까?
Claude Code에게 IP 패킷을 직접 파싱하고 ICMP echo reply를 구성하도록 시켜서 실제로 ping에 응답하게 만든 실험으로, 'Markdown이 곧 코드이고 LLM이 프로세서'라는 아이디어를 네트워크 스택 수준까지 밀어붙인 재미있는 사례다.