text-to-cad 플러그인 소개
요약
text-to-cad 플러그인은 에이전트가 텍스트 명령을 기반으로 STEP, GLB 등 다양한 형식의 3D 모델을 생성할 수 있는 로컬 워크플로우를 제공합니다. 이 플러그인은 제조 설계 검사 및 엔지니어링 도면 생성 기능과 연동되어 실제 제작 서비스까지 연결됩니다.
핵심 포인트
- 에이전트가 텍스트로 3D 모델(STEP, GLB 등)을 생성하는 로컬 워크플로우 제공
- 제조 설계 검사 및 엔지니어링 도면 생성 기능을 지원함
- Claude Code, Codex 등 주요 에이전트 플랫폼에서 플러그인 형태로 사용 가능
- 설치 및 업데이트를 위한 구체적인 명령어와 절차 안내
text-to-cad 플러그인은 에이전트가 STEP, GLB, STL 또는 3MF 파일 형식으로 3D 모델을 생성할 수 있는 로컬 워크플로우를 제공합니다. 또한 제조 설계 검사(design for manufacturing checks)를 수행하고, 엔지니어링 도면을 생성하며, 인기 있는 3D 프린팅, 판금(sheet metal), CNC 제작 서비스에 연결됩니다.
이 플러그인은 Claude Code, Codex, Cursor, Gemini, Grok 등 플러그인 또는 스킬 프레임워크를 지원하는 모든 인기 에이전트에서 지원됩니다.
이 메시지를 에이전트에 보내면 text-to-cad가 자동으로 설치될 것입니다.
Install text-to-cad from https://github.com/earthtojake/text-to-cad
또는 직접 설치할 수 있습니다:
- CAD를 실행하려면 uv: 이것이 설치되었는지 확인하십시오(
uv --version
). 만약 누락되었다면, uv의 설치 프로그램으로 설치하십시오. - 에이전트 앱 헤딩 아래 또는 다른 에이전트에 있는 경우 Other Agents 아래에서 명령을 실행하십시오. - 앱을 다시 시작합니다. 첫 시작 시 CAD의 런타임(runtime)을 다운로드하므로 네트워크 연결이 필요합니다.
에이전트 앱용 플러그인은 스킬과 CAD 뷰어, 로컬 서버(cadgen mcp)를 가져옵니다. 플러그인이 없는 에이전트의 경우, 스킬만 별도로 설치하십시오. 두 가지 모두를 앱에 설치하지 말고, 하나만 설치하십시오: 두 개의 복사본은 모든 스킬을 두 번 의미합니다.
아래 설치 명령어는 latest 브랜치를 사용하며, 이 브랜치는 플러그인 자체만 포함하고 PyPI에 올라온 각 릴리스를 가져옵니다. 개발이 진행되는 main은 또한 설치되지만, 아직 출시되지 않은 변경 사항을 포함할 수 있습니다. 각 앱은 브랜치 이름을 자신만의 방식으로 지정합니다(#latest, --ref latest, @latest 또는 --branch latest); 이를 생략하면 앱은 main을 설치합니다.
각 앱의 헤딩에는 text-to-cad를 업데이트하고 다시 설치하는 방법도 나와 있습니다: 제거한 다음 다시 설치하십시오. 플러그인을 업데이트하면 CAD가 업데이트됩니다: 새 릴리스의 cadgen은 처음 실행될 때 다운로드되며, 스킬과 서버가 이를 공유합니다. 이전 릴리스는 uv cache prune을 실행할 때까지 uv의 캐시에 남아 있습니다.
claude plugin marketplace add earthtojake/text-to-cad#latest
claude plugin install text-to-cad@earthtojake
플러그인은 또한 CAD의 서버를 시작합니다. Claude Code가 앱 뷰를 보여줄 수 있는 곳에서, CAD는 대화창에 모델을 뷰어 카드(viewer cards)로 표시하며; 그렇지 않은 경우, 터미널처럼 모델을 보여달라고 요청하면 브라우저의 CAD Viewer에서 해당 모델을 열 수 있는 링크가 제공됩니다.
업데이트하려면 다음 명령어를 실행한 후 Claude Code를 재시작하세요:
claude plugin marketplace update earthtojake
claude plugin update text-to-cad@earthtojake
재설치하려면 다음 명령어로 제거한 후, 설치 명령을 다시 실행하세요:
claude plugin uninstall text-to-cad@earthtojake
claude plugin marketplace remove earthtojake
CAD는 채팅에서 모델을 보여줍니다. Claude에게 모델을 보여달라고 요청하면 오빗(orbit)하고, 프롬프트에 추가하며, 전체 크기로 열 수 있는 뷰어 카드로 나타납니다. Claude는 사용자가 선택한 내용을 읽고 사용자가 보는 것을 볼 수 있습니다. 이는 uv를 통해 로컬에서 실행됩니다: 서버를 Claude Desktop의 설정(Settings > Developer > Edit Config)에 추가한 다음 앱을 재시작하세요. 만약 Claude Desktop이 uvx를 찾지 못하면, 전체 경로(which uvx)를 제공해주세요.
{
"mcpServers": {
"cad": {
...
설정(config)은 args에 cadgen 릴리스 버전을 고정하고, uvx는 처음 다운로드한 버전을 유지합니다. 업데이트하려면 해당 버전을 최신 릴리스로 변경한 다음 Claude Desktop을 재시작하세요.
Codex의 플러그인 디렉토리에서 text-to-cad를 설치하세요:
text-to-cad for Codex, 그리고 **데스크톱 앱에서 열기(Open in desktop app)**를 누르세요.
Codex 앱에서는 이 플러그인이 CAD 뷰어 또한 가져옵니다: 사이드바의 CAD(최근 모델 및 열기), 에이전트가 구동하는 각 스레드 옆의 CAD 탭, 그리고 모델 파일에 대한 CAD로 열기(Open with CAD) 기능입니다.
수동 설치 (Manual install)
codex plugin marketplace add earthtojake/text-to-cad --ref latest
codex plugin add text-to-cad@earthtojake
업데이트하려면 earthtojake 마켓플레이스를 업그레이드하거나(또는 Plugins › Manage › Marketplace 사용), Codex를 재시작하세요:
codex plugin marketplace upgrade earthtojake
재설치하려면 다음 명령어로 제거한 후, 설치 명령을 다시 실행하세요:
codex plugin remove text-to-cad@earthtojake
codex plugin marketplace remove earthtojake
마켓플레이스 이름이 text-to-cad에서 earthtojake로 변경되었습니다.
; 이전에 추가했다면, 먼저 이전 버전을 제거하세요 (codex plugin marketplace remove text-to-cad).
Cursor는 Claude Code와 함께 설치된 플러그인도 로드합니다. 만약 Claude Code 플러그인이 설치되어 있다면, Cursor는 이미 text-to-cad를 가지고 있으므로 이 단계는 건너뛰세요.
git clone --depth 1 --branch latest https://github.com/earthtojake/text-to-cad ~/.cursor/plugins/local/text-to-cad
Cursor는 .cursor-plugin/plugin.json을 읽습니다. 팀(Teams)의 경우, 대시보드 → 플러그인 & MCPs → 팀 마켓플레이스에서 저장소를 가져올 수 있습니다.
업데이트하려면 최신 릴리스를 풀(pull)한 다음 Cursor를 다시 시작하세요:
git -C ~/.cursor/plugins/local/text-to-cad pull
재설치하려면 폴더를 삭제한 다음 설치 명령을 다시 실행하세요:
rm -rf ~/.cursor/plugins/local/text-to-cad
Grok Build 역시 Claude Code와 함께 설치된 플러그인을 로드합니다. 만약 Claude Code 플러그인이 설치되어 있다면, Grok Build는 이미 text-to-cad를 가지고 있으므로 이 단계는 건너뛰세요.
grok plugin install earthtojake/text-to-cad@latest --trust
grok plugin enable text-to-cad
Grok Build는 Claude 플러그인 매니페스트를 읽습니다. Grok은 도구 결과를 텍스트로 표시하므로, 모델을 보여달라고 요청하면 CAD Viewer 링크가 제공됩니다.
업데이트하려면 다음 명령을 실행한 후 Grok Build를 다시 시작하세요:
grok plugin update text-to-cad
재설치하려면 다음 명령으로 제거한 후 설치 명령을 다시 실행하세요:
grok plugin uninstall text-to-cad
gemini extensions install https://github.com/earthtojake/text-to-cad --ref latest --consent --auto-update
Gemini는 이 플러그인을 확장(extension)으로 설치하며, 스킬과 CAD 서버를 통해 최신 상태로 유지합니다 (--auto-update ; --consent 는 보안 프롬프트에 응답함). Grok처럼, 도구 결과를 텍스트로 표시하므로, 모델을 보여달라고 요청하면 CAD Viewer 링크가 제공됩니다.
지금 업데이트하려면 다음 명령을 실행한 후 Gemini를 다시 시작하세요:
gemini extensions update text-to-cad
재설치하려면 다음 명령으로 제거한 후 설치 명령을 다시 실행하세요:
gemini extensions uninstall text-to-cad
플러그인 지원이 없는 에이전트의 경우: 이 스킬들은 핵심 CAD 워크플로우에 필요한 모든 것을 제공하며 로컬호스트(localhost) 웹 앱에서 CAD 파일을 볼 수 있게 해줍니다. Skills CLI를 사용하여 설치하세요:
npx skills add earthtojake/text-to-cad#latest
이 명령어는 어떤 에이전트에게 설치할지, 그리고 어디에 설치할지를 묻습니다. 질문을 건너뛰려면, 에이전트 이름을 지정하고 사용자용으로 설치하세요:
npx skills add earthtojake/text-to-cad#latest -g -a <agent> -y
각 스킬은 플러그인 서버가 사용하는 것과 동일한 고정된 명령어로 uv를 통해 cadgen을 실행하므로, uv가 설치되어 있어야 합니다. 플러그인이 없으면 CAD 서버가 없으므로, 이 스킬들은 브라우저의 CAD 뷰어에서 모델을 엽니다.
업데이트하거나 재설치하려면 동일한 명령어를 다시 실행한 다음, 앱을 다시 시작하세요.
add
이 명령어는 패키지를 다시 가져와 이미 설치된 것을 덮어쓰므로, 기존 스킬을 새로 고칠 뿐만 아니라 새 버전에서 추가된 모든 스킬도 설치합니다.
npx skills update
이 명령어는 잠금 파일(lockfile)에 이미 있는 스킬만 새로 고치기 때문에, 새로운 스킬은 조용히 놓칩니다. 이는 여기에서 중요합니다. 왜냐하면 릴리스에서는 스킬을 추가하기 때문입니다.
업스트림(upstream)에서 단종된 스킬은 어떤 명령어도 제거하지 않습니다. 필요하다면 다음 명령어로 하나를 삭제하세요:
npx skills remove <skill>
단종된 cad-viewer 스킬은 이제 CAD, DXF 및 로봇 설명 스킬에 의해 처리되며, 단종된 cad-mcp-setup은 이 README의 설치 및 업데이트 단계로 처리됩니다. 오래된 독립형 설치는 다음 명령어로 제거하세요:
npx skills remove cad-viewer cad-mcp-setup
아직 에이전트용 플러그인이 없나요? 요청하세요.
업데이트하려면, 에이전트에게 text-to-cad 업데이트를 요청하거나 앱 헤딩 아래에서 업데이트 명령을 실행한 다음 앱을 다시 시작하세요.
새로운 버전이 출시되면, 사용자가 직접 설치한 사본에서 알 수 있습니다. CAD의 네비게이션 바와 홈 화면에 있는 파란색 업데이트 버튼을 통해 채팅창에 'Update text-to-cad to 0.9.0 from https://github.com/earthtojake/text-to-cad'라는 메시지를 보내고, 이는 설치 메시지처럼 작성됩니다 (브라우저 뷰어의 경우 이를 복사합니다). 또는 CAD의 답변을 텍스트로 보여주는 앱의 경우, 해당 답변과 함께 한 줄이 표시됩니다. 그러면 에이전트가 여기 사용자의 앱 헤딩 아래에서 업데이트 명령을 실행합니다. 이 버튼은 수동으로 업데이트하는 설치 지침에도 연결됩니다. 플러그인 디렉토리나 Cursor Marketplace의 사본에서는 절대 이를 보여주지 않는데, 이는 해당 스토어들이 업데이트를 처리하기 때문이며, Gemini의 확장 프로그램도 마찬가지로 Gemini가 업데이트하기 때문에 (이 경우 실행할 것이 없습니다).
이를 확인하려면 cadgen은 하루에 최대 한 번 api.texttocad.dev/v1/versions에서 가져옵니다: ID, 경로 또는 사용자에 대한 어떠한 정보 없이 익명 요청을 보내며, CI에서는 절대 전송되지 않고 다른 무언가가 업데이트하는 사본에 대해서도 전송되지 않습니다. CADGEN_UPDATE_CHECK=0으로 설정하면 이를 비활성화합니다.
CAD 앱(플러그인의 cad 서버)과 브라우저 뷰어(cadgen viewer)는 익명 사용량 카운트를 보낼 수 있습니다: 무작위 설치 ID, 버전, 설치 출처, 사용자의 OS 및 에이전트 앱, 각 CAD 도구가 호출된 횟수와 사용된 뷰의 횟수, 그리고 일방향 코드와 표시된 각 고유 파일 형식(파일을 식별하는 것이 아니라 개수를 세기 위함). 저희 서버는 또한 요청 IP 주소별로 국가별 설치 건수를 주간 및 월간 총계로만 계산합니다. 절대 파일 이름, 경로, 내용 또는 프롬프트를 기록하지 않습니다. 이 기능은 두 앱 중 어느 곳에서든 일회성 프롬프트로 허용할 때까지 비활성화되어 있습니다 (하나의 답변이 둘 다에 해당). 나중에 두 앱의 메뉴(왼쪽 상단 로고, 모든 모델 위)에서 Share anonymous usage data 또는 uvx cadgen analytics on|off를 사용하거나 에이전트에게 비활성화를 요청하여 변경할 수 있습니다. DO_NOT_TRACK=1로 설정하면 비활성화 상태가 유지됩니다. 개인 정보 보호 정책을 참조하십시오.
cad, dxf, urdf, srdf, 그리고 sdf 스킬 뒤에 있는 CAD 커널은 OCP입니다.
, OpenCascade의 Python 바인딩이며, 이 휠은 서명되지 않은 네이티브 모듈을 포함합니다. Windows 11의 Smart App Control 기능은 서명되지 않은 네이티브 코드를 차단하므로, 해당 기능이 활성화된(새 설치 시 기본값) 장치에서는 모든 cadgen 명령어와 import build123d가 다음 오류로 실패합니다.
ImportError: DLL load failed while importing OCP
그리고 이벤트 뷰어에는 CodeIntegrity › Operational 아래 Event ID 3077로 거부 기록이 남습니다. cadgen doctor는 이를 감지하면 해당 내용을 알려줍니다.
Smart App Control 기능은 앱별 예외 설정이 없습니다. 따라서 이 기능을 비활성화하거나(설정 › 개인 정보 및 보안 › Windows 보안 › 앱 및 브라우저 제어 › Smart App Control 설정; 한 번 끄면 Windows를 재설치해야 다시 켤 수 있음) 또는 적용되지 않는 WSL 환경에서 CAD 스킬을 실행해야 합니다. 이 휠은 cadquery-ocp 프로젝트에 의해 빌드되었기 때문에, 서명하는 것은 본 저장소의 역할이 아닙니다.
이 라이브러리를 설치하여 에이전트가 CAD, 제작(fabrication), 로봇 설명 파일, 시뮬레이션 및 로컬 검토를 위한 집중적인 워크플로우를 갖도록 하십시오.
| 스킬 | 요약 | 소스 |
|---|---|---|
| CAD | 평문 언어 또는 이미지 요청으로부터 CAD 모델을 생성하고 편집하며, 주요 출력물은 STEP이며 STL, 3MF 및 GLB로 내보내기 옵션을 제공합니다. | skills/cad |
| ... | ||
브랜치(Branch)는 main에서 분기하고 | ||
PR(Pull Request)은 main에 대해 열어주십시오. | ||
| 로컬 워크플로우, 에이전트 앱에서의 테스트 및 검증은 CONTRIBUTING.md를 참조하십시오. |
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Trending Python (daily)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기