TRENDSHIFT DEEP-DIVE · 2026.05.21 · earthtojake/text-to-cad

text-to-cad —
Claude·Codex로 3D 모델·로봇을 코드로 생성하는 harness

AI 코딩 에이전트(Claude Code·Codex)로 — CAD 3D 모델과 로봇 URDF를 코드로 짜는 오픈소스 harness. build123d(Python parametric CAD) + OpenCascade + Vite/React 뷰어. STEP·STL·DXF·GLB·URDF 출력. AGENTS.md·CLAUDE.md 포함 — 에이전트 친화. 한 명 메인테이너, 12 stars, 6 commits — "AI + hardware design"이라는 다음 큰 트렌드의 — TrendShift 23위 신호.

0먼저, "왜 CAD를 코드로?"부터

3D 설계의 새 시대 — 마우스가 아니라 코드.

전통 CAD는 — SolidWorks·AutoCAD·Fusion 360 같은 GUI 도구로 설계한다. 마우스로 — 박스를 그리고, extrude하고, fillet하고, joint한다. 직관적이지만 — 큰 약점: "버전 관리가 어렵다"(이진 파일), "같은 모양을 다양한 크기로 못 한다"(parametric 못함), "공동 작업이 힘들다"(merge 못함).

그래서 — "Code-CAD"가 부상한다. OpenSCAD(C++), CadQuery·build123d(Python). Python 코드로 — 부품을 정의하고, 매개변수 바꾸면 즉시 새 크기, git으로 버전 관리. 그런데 — 이 도구들은 Python 코드를 직접 짜야 했다. 진입장벽 높다.

2024~2026 사이 — Claude·Codex 같은 AI 코딩 에이전트가 진짜 좋아졌다. 자연어로 "차에 서핑보드 얹은 모양 만들어"라고 하면 — 에이전트가 build123d 코드를 짜준다. 그게 text-to-cad의 본질. "AI가 CAD 코드를 짠다 = 진입장벽이 0". 마우스로 못 하던 정밀 설계가 — 한 줄 영어로 가능.

용어
Parametric CAD (파라메트릭 CAD)
설계를 — "매개변수 + 관계"로 표현. 폭=W, 높이=H, 두께=T가 변수. 모든 dimension은 — 그 변수들의 계산. W 바꾸면 — 전체가 재계산. 전통 CAD의 핵심. text-to-cad는 — 이걸 Python 코드로.
용어
build123d / CadQuery
Python으로 parametric CAD를 짜는 — 오픈소스 라이브러리. OpenCascade(업계 표준 CAD 커널)의 Python 바인딩. build123d가 더 모던하고 — pythonic API. text-to-cad의 코어 의존.
용어
STEP / STL / DXF / GLB
CAD 출력 포맷들. STEP: 산업 표준 — 정밀한 B-rep(경계 표현), 다른 CAD 도구로 보낼 때. STL: 3D 프린트 표준 — 메시. DXF: 2D 도면. GLB: 게임/AR 표준 — 텍스처 포함 메시. text-to-cad는 — 한 source에서 5개 포맷 export.
용어
URDF (Unified Robot Description Format)
로봇의 — "링크·조인트·관성·제약"을 XML로 정의. ROS(Robot Operating System)의 표준. text-to-cad의 — 두 번째 핵심 출력. "AI에게 — 로봇을 통째로 설계하라고 시킨다".
용어
@cad[...] Reference (CAD 핸들)
text-to-cad의 — 독자적 발명. 생성된 geometry의 — 특정 면·엣지·점에 — 안정된 ID를 부여. AI 에이전트가 — "이 면의 가운데에 구멍 뚫어"를 정확히 지시 가능. "AI · CAD 사이의 새 인터페이스".

1한 줄 요약

전체 글의 핵심 메시지.

한 줄로 말하면

"마우스 없이 — '서핑보드 얹은 차 만들어' 한 줄로 — STEP·STL·URDF 파일이 손에"

text-to-cad는 — AI 에이전트와 CAD 코드 사이의 합성 도구. Claude Code·Codex에게 build123d 스킬을 깔아주고, 자연어 명령을 받으면 — 에이전트가 Python 코드를 짜고, build123d가 — geometry를 만들고, harness가 — STEP·STL·GLB로 export. 그리고 React 뷰어로 — 즉시 미리보기.

핵심 영리한 부분: "@cad[...] 참조". 생성된 모델의 — "이 면", "이 엣지"에 — 에이전트가 다시 지시 가능. "AI 친화 CAD"의 첫 발걸음. 12 stars의 신생이지만 — 방향이 명확.

2왜 주목받는가

"AI + Hardware" 이라는 다음 큰 트렌드의 진입점.

① "Physical AI"는 다음 큰 영역. 2026 — AI가 텍스트·이미지·코드를 정복한 후, 다음은 물리 세계. 로봇·드론·자동화 공장. 모두 — 시작은 CAD/URDF. text-to-cad가 — 이 영역의 가장 빠른 진입점을 노리는 도구.

② AGENTS.md + CLAUDE.md. 레포 루트에 — 2026 표준 메타데이터. "이 라이브러리는 AI 에이전트가 1차 사용자"라는 명시. 자기 코드 + 자기 스킬을 — 에이전트에 깔게 디자인. 트렌드의 가장 앞.

③ "12 stars" → 모멘텀의 작은 폭발. 절대 별 수는 적지만 — TrendShift는 가속도를 본다. 12 stars의 신생이 — TrendShift 상위 30위 안에 든 사실 자체가 — 이 영역의 폭발 잠재력 신호.

④ Standalone Skill 분리. skills/cad/는 — 별도 레포(earthtojake/cad-skill)로도 publish. skills/urdf/도 동일. "harness는 통합 데모, skill은 분리해서 다른 곳에서도 사용 가능". nature-skills의 패턴을 — 정확히 같이 따라간다.

⑤ OpenCascade의 시민화. OCP(OpenCascade Python Wrapper)는 — 업계 30년 CAD 커널을 — Python에 노출. 학생·취미·인디 제작자가 — 수만 달러 SolidWorks 없이 — 정밀 CAD 가능. text-to-cad는 — 그 시민화의 AI 인터페이스.

3기술 스택

Python CAD + JavaScript 뷰어의 hybrid.

3-1. Python 측 (CAD 생성)

Python 3.11+. build123d(parametric CAD, 가장 모던한 OCP 래퍼). OCP(OpenCascade Python — CAD 커널 본체). cadquery-ocp(OCP Python 바인딩 — build123d의 하위 의존성). 모든 geometry 작업이 — 이 스택에서.

3-2. JavaScript 측 (CAD Explorer 뷰어)

Vite 7, React 18, Node.js. WebGL 기반 3D 뷰어 — three.js나 그 위에 빌드된 라이브러리. :4178 포트로 로컬 실행. "생성된 STEP/STL 파일을 — 즉시 미리보기".

3-3. AI 에이전트 통합

레포 루트의 — AGENTS.md(범용)와 CLAUDE.md(Claude Code 전용). "에이전트가 이 harness를 어떻게 사용하나"의 가이드. skills/cad/SKILL.mdskills/urdf/SKILL.md는 — 에이전트 트리거 정의. 사용자가 "차 모델 만들어"라고 하면 — Claude Code가 cad-skill을 트리거 → build123d 코드 생성.

3-4. 출력 포맷 (Multi-target)

한 source.py 파일에서:
  → STEP   (산업 표준, 다른 CAD에 import)
  → STL    (3D 프린트)
  → DXF    (2D 도면 — 레이저 컷팅 등)
  → GLB    (게임·AR·웹 뷰어)
  → URDF   (로봇 simulation)
  → topology data (메시 정보)
  → snapshot PNG (빠른 시각 확인)

4아키텍처 심화 분석

"AI · CAD · Viewer" 3축의 협력.

[사용자]                  "차 위에 서핑보드 얹어줘"
   │
   ▼
[Claude Code / Codex]    SKILL.md 트리거
   │   - skills/cad/SKILL.md
   │   - build123d API 사용 가이드 흡수
   │
   │  Python 코드 작성
   ▼
[models/my-car.py]       (사람이 git diff에서 보는 source)
   │
   │  python my-car.py
   ▼
[build123d / OCP]        geometry 계산
   │
   │  one source → multi target
   ▼
[Exports/]
   ├── my-car.step
   ├── my-car.stl
   ├── my-car.glb
   ├── my-car.dxf
   └── snapshots/*.png

       ⇧
       │
[CAD Explorer Viewer]    React + WebGL
   ::4178                즉시 미리보기
   │
   │  사용자가 보고
   ▼  "이 면 잘 안 됐어, @cad[...] 참조해서 고쳐줘"
   │
[Claude Code]
   │  Geometry reference로 정확 수정
   ▼
[다시 처음으로]

핵심 설계 패턴 4가지

패턴 1
"Source-Controlled CAD"

이진 파일이 아닌 — Python 소스가 진실. models/my-car.py가 git에 들어간다. git diff로 — "이번 PR이 모델의 어디를 어떻게 바꿨나" 코드 수준에서 보인다. "전통 CAD의 가장 큰 약점을 정면 돌파".

패턴 2
"@cad[...] Stable References"

생성된 모델의 — 각 면·엣지에 안정된 ID. AI 에이전트가 — "left-face-1234를 1mm 더 두껍게"를 정확히 지시 가능. 모델을 재생성해도 — ID는 유지. "AI · 정밀 기하학"의 인터페이스를 풀려는 시도. 차별점.

패턴 3
"One Source · Multi Target"

한 Python 파일에서 — STEP·STL·DXF·GLB·URDF 다 export. "의도 한 번, 출력 5번". 다른 CAD 도구는 — 각 포맷마다 별도 변환 작업. text-to-cad는 — 한 commit으로 모두 갱신.

패턴 4
"Vendored Skills + Standalone Repos"

이 harness 안에 — skills/cad/, skills/urdf/가 번들. 동시에 — 별도 레포 earthtojake/cad-skill, earthtojake/urdf-skill도 존재. "harness는 통합 데모, skill은 다른 프로젝트에 — 단독 설치". 양면 배포. nature-skills와 동일 패턴.

5디렉토리 구조 해부

간결한 모노레포 구조.

text-to-cad/
├── assets/                       ← 데모 GIF·로고
├── skills/
│   ├── cad/                      ← CAD Skill (build123d 가이드)
│   │   ├── SKILL.md              - AI 에이전트 트리거 + 사용법
│   │   ├── README.md             - 사람용 docs
│   │   └── references/...        - build123d API 가이드
│   ├── urdf/                     ← URDF Skill (로봇 description)
│   │   ├── SKILL.md
│   │   └── ...
│   └── (그 외 dxf, gcode, sdf, srdf, bambu-labs, sendcutsend,
│         step-parts, cad-viewer, implicit-cad 등 총 11개 스킬)
├── viewer/                       ← React + Vite CAD Explorer
│   ├── src/
│   ├── package.json
│   └── ...
├── AGENTS.md                     ← 범용 AI 에이전트용
├── CLAUDE.md                     ← Claude Code 전용 가이드
├── requirements-dev.txt          ← 개발 의존성 (build123d, OCP 등 전체)
├── LICENSE                       ← MIT
└── README.md

구조의 핵심 의도: "3개 영역의 명확한 분리". ① skills/는 에이전트 지식 (cad·urdf 외 11개 스킬) ② viewer/는 시각화 ③ AGENTS.md·CLAUDE.md는 에이전트 인터페이스. 사용자 작업 Python 파일은 관례적으로 별도 폴더에 보관하되 레포 포함 디렉토리는 아니다. "한 디렉토리만 — 한 책임".

6학습 포인트 — 한 레포에서 가져갈 것

CAD + AI 에이전트 + Code-CAD 세 가지의 교집합.

6-1. Code-CAD (build123d) 입문

Python으로 — "박스, 실린더, sphere, fillet, chamfer"를 코드로. 직사각형 형식이 굳어진 사람도 — 한 시간이면 빠진다. SolidWorks·Fusion 360을 못 사도 — 같은 수준의 정밀 CAD가 손에. "오픈소스 CAD의 시민화".

6-2. AI 에이전트가 어떻게 코드로 모델을 만드나

SKILL.md → build123d 코드 생성 → 미리보기 → reference로 수정. 이 워크플로우는 — AI 코딩 에이전트의 모든 가능성을 보여주는 미니어처. 같은 패턴을 — 자기 도메인(법무 계약서, 음악 작곡, 분자 디자인)에 적용 가능.

6-3. @cad[...] Reference — AI · 데이터 사이의 안정된 인터페이스

이 발명이 가장 흥미롭다. AI 에이전트는 — "이 면" 같은 모호한 참조에 약하다. 안정된 ID를 부여하면 정확한 지시 가능. 같은 원리를 — UI 자동화(Selenium·Playwright의 element selector), 디자인 시스템, 음악 sample 분리에 응용 가능.

6-4. AGENTS.md / CLAUDE.md — 라이브러리의 AI 친화 표준

"라이브러리는 사람뿐 아니라 — AI 에이전트도 read한다"의 시대. text-to-cad는 — 그 시대의 첫 표준 채택자 중 하나. 자기 라이브러리에 — 같은 메타데이터를 추가하는 패턴.

6-5. 다음 큰 영역 "Physical AI"의 진입점

2026 — AI가 "텍스트·이미지·코드"를 정복한 다음 영역은 — 물리. 3D 모델·로봇 URDF·시뮬레이션. text-to-cad에서 시작 → URDF → ROS → 실제 로봇. "하드웨어 인디 빌더의 무한 진입점".

7시스템 요구사항

CAD치고 — 가벼움.

최소

Python 3.11 + Node.js + 평범한 PC

OS: macOS·Linux·Windows. Python 3.11+(build123d 요구). Node.js 18+(뷰어). 디스크 1GB(OpenCascade 라이브러리). RAM 4GB면 충분. "전통 CAD 비싼 워크스테이션과 정반대 — 노트북 한 대".

권장

+ Claude Code 또는 OpenAI Codex

AI 에이전트가 — 이 harness의 진가를 끌어낸다. Anthropic Claude Code(SKILL.md 트리거 가장 매끄러움) 또는 OpenAI Codex. 둘 다 — AGENTS.md/CLAUDE.md를 읽어 즉시 작동.

선택

3D 프린터 또는 레이저 컷

STL을 — 자기 3D 프린터로 출력하면 — 정말 손에 잡힌다. "AI · 코드 · 실물"의 닫힌 루프. 또는 DXF를 — 레이저 컷팅으로. 가구·취미 부품 — 손 들어가는 영역.

8직접 해볼 수 있는 실습 과제

난이도별 4개. 마지막엔 — 실물.

난이도 ★ (1시간)

"Claude Code에 cad-skill 설치 — '서핑보드 얹은 차'"

레포 fork·clone → requirements-dev.txt 설치 → Claude Code 켜고 — README의 명령어 그대로. 결과: STEP·STL·GLB가 만들어지고 — :4178에서 미리보기. 처음 30분에 text-to-cad의 정수.

난이도 ★★ (반나절)

"자기가 원하는 — 평범한 부품 한 개"

예: "내 책상 모니터 받침대", "특정 사이즈의 키체인", "내 키보드 팜레스트". 정확한 치수 + 디자인 의도를 — Claude Code에 자연어로. 결과를 — 자기 3D 프린터(있다면) 또는 Shapeways·JLCPCB에 보냄. 실물로 받는 첫 경험.

난이도 ★★★ (2~3일)

"URDF로 — 간단한 로봇 팔"

skills/urdf/ 정독. Claude Code에 — "6-DOF 로봇 팔, 베이스 200mm, 각 링크 150mm, gripper 끝". 결과: URDF + STL 메시. ROS 2 또는 Gazebo에서 시뮬레이션. "로보틱스 입문"의 가장 빠른 길.

난이도 ★★★★ (1~2주)

"자기 도메인의 11번째 skill"

cad-skill / urdf-skill의 패턴을 — 자기 영역으로 확장. 예: "PCB 가이드 skill", "기계 가공 G-code skill", "의자·가구 디자인 skill". text-to-cad harness의 — 11번째 사용처가 된다. OSS 기여 + 자기 영역 자동화.

9관련 기술 심화 학습 로드맵

CAD · AI · Physical AI 세 갈래.

트랙 A — Code-CAD 마스터

build123d 공식 docs + CadQuery 비교

build123d의 — Sketch·Part·Assembly API를 정독. CadQuery와의 차이. OpenSCAD까지 — Code-CAD 생태계 한 바퀴. "마우스 없이도 모든 mechanical part를 코드로"의 자신감.

트랙 B — Robotics

URDF + ROS 2 + Gazebo / Isaac Sim

URDF를 — ROS 2에서 로드, Gazebo에서 simulate. NVIDIA Isaac Sim에서 — 강화학습으로 컨트롤러 학습. "AI가 로봇을 디자인 + 트레이닝한다"의 풀스택.

트랙 C — Hardware Manufacturing

3D Printing + CNC + PCB

STEP → STL → 3D 프린터. STEP → CNC 가공 (Fusion 360 CAM이 STEP을 받아 G-code 출력). DXF → 레이저 컷. "하드웨어 제조의 모든 갈래"를 — 한 source에서 갈라낸다.

트랙 D — Generative Design

Topology Optimization · Generative Design

Autodesk Generative Design, OpenFOAM, FreeCAD. "AI가 — 제약 조건만 주면 — 최적 형상을 생성". text-to-cad는 — 그 다음 단계의 첫 진입.

10핵심 키워드 사전

CAD·로봇·AI 용어.

용어
B-rep (Boundary Representation)
CAD가 모델을 — "면·엣지·꼭짓점의 위계"로 표현. STEP·STL의 차이의 핵심: STEP은 B-rep(정밀), STL은 메시(triangles). 산업용 CAD는 B-rep, 3D 프린트는 메시. text-to-cad는 — 한 source에서 둘 다 생성.
용어
OpenCascade (OCCT)
1993년 — 프랑스 Matra Datavision이 시작한 — 오픈소스 CAD 커널. C++. FreeCAD·KiCad·build123d가 모두 — 이 위에 구축. "CAD 업계의 PostgreSQL". OCP가 — 그 Python 바인딩.
용어
Fillet / Chamfer
Fillet: 두 면 사이의 — 둥근 모서리. Chamfer: 같은 곳의 — 비스듬 절단. 모든 mechanical part의 — 디테일. build123d에선 — .fillet(2), .chamfer(1) 한 줄.
용어
DOF (Degrees of Freedom)
로봇 팔의 — 독립적으로 움직일 수 있는 축의 수. 6-DOF는 — 위치(X·Y·Z) + 자세(roll·pitch·yaw) 모두 자유. 산업용 로봇 팔의 표준. URDF에서 — 각 joint가 1 DOF.
용어
ROS (Robot Operating System)
로봇용 — "middleware + 라이브러리 모음". 메시지 패싱, 좌표 변환, 시뮬레이션. 2026 — ROS 2가 주류. URDF로 정의된 로봇이 — ROS 2 노드 위에서 작동.
용어
G-code
CNC 가공기·3D 프린터의 — 저수준 명령어 언어. "X10 Y20 Z0 — 이 좌표로 헤드 이동, 그리고 압출". STL·STEP을 — 슬라이서(slicer)가 G-code로 변환. text-to-cad의 최종 다음 단계.

11참고 링크

레포·관련 도구·교재.

레포 본체: github.com/earthtojake/text-to-cad

독립 스킬: cad-skill · urdf-skill

build123d: github.com/gumyr/build123d · docs

유사 프로젝트: SadilKhan/Text2CAD(NeurIPS'24, 학술), Zoo Text-to-CAD(상용).

저자: @soft_servo on X.

한 줄 핵심

"AI가 텍스트·이미지·코드를 정복한 다음 — 다음은 물리. 그 첫 진입점이 text-to-cad."

  1. 한 시간에 — 첫 STEP 파일 손에. Claude Code + 자연어 한 줄.
  2. build123d를 — Python의 다음 도구로. 모든 mechanical 작업이 — git 가능, code review 가능.
  3. @cad[...] 참조 패턴을 — 자기 도메인에 응용. AI · 데이터 사이의 안정된 인터페이스가 — 어디든 가치.
  4. URDF 트랙으로 — 로보틱스 입문. 한 CAD 모델 → 한 시뮬레이션 → 한 실제 로봇.
  5. "AI + Hardware"가 다음 큰 영역. 12 stars의 신생이지만 — 방향이 옳다. 일찍 들어가는 가치.

분석 대상: earthtojake/text-to-cad · TrendShift 23위(2026.05.21) · 12 stars · MIT License · JavaScript 65% / Python 34% · 작성: 유행레포정리 프로젝트