손으로 그린 스케치를 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에 붙여넣고 치수 두 개만 알려줬더니, 1분 만에 3D 프린팅용 페그보드 장난감 파일이 나왔다는 실제 제작기. CAD 없이도 AI가 Python 코드로 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
snippet
# 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
페그보드(pegboard)구멍이 규칙적으로 뚫려 있어 핀이나 훅을 꽂아 물건을 거는 판. 이 프로젝트에서는 아이 장난감용 소형 조립 보드를 의미한다.
Python 제너레이터(generator)여기서는 파이썬 코드로 3D 모델 형태를 수치로 계산해 파일로 출력하는 스크립트를 말한다. CAD 툴로 직접 그리는 대신 코드로 도형을 '생성'한다.
STL3D 프린터가 읽을 수 있는 3D 모델 파일 형식. 물체 표면을 삼각형 면의 집합으로 표현한다.
핏앤필(fit-and-feel)부품이 얼마나 잘 맞물리는지(fit)와 손에 쥐었을 때의 촉감/무게감(feel)을 실제로 출력해서 사람이 직접 확인하는 반복 테스트 과정.
AGENTS.md이 프로젝트에서 AI Agent에게 프로젝트 규칙과 구조를 알려주기 위해 만든 문서. README.md가 사람을 위한 문서라면 AGENTS.md는 AI를 위한 컨텍스트 문서다.
CodexOpenAI의 코드 생성 특화 AI 모델. GitHub Copilot 등의 기반 기술이며, 자연어 설명을 코드로 변환하는 데 사용된다.