Community코딩 & 개발github.com

leewsimpson/claudesk

Fusion 360에서 간섭 검사, 여유 공간 확인, 단면 보기 및 스크린샷을 통해 인클로저를 검증합니다. 빌드 후, 맞춤 또는 간격 확인 시, 또는 모델을 보여주거나 스크린샷을 요청할 때마다 사용하세요.

claudesk란 무엇인가요?

이 스킬은 Claude Code와 같은 AI 어시스턴트가 Fusion 360 모델, 특히 3D 프린팅 전자기기 인클로저의 구조적 무결성을 검증하도록 안내합니다. 빌드 후 자동으로 간섭 검사, 여유 공간 확인, 단면 보기 및 스크린샷을 수행합니다. `checks.run_checks()`를 통해 간섭 체적을 계산하고 예상되는 맞물림(EXPECTED)을 식별하며, MCP 타임아웃 문제를 피하기 위해 백그라운드 Bash 작업으로 실행됩니다. 또한 `wslib` 모듈을 통해 뷰 회전, 단면 생성, 및 BOM(Ghost) 관리와 같은 유틸리티를 제공하여 Fusion 360 내에서 직접 캡처와 검증을 지원합니다. 이 스킬의 주요 목표는 사용자(또는 AI)가 조립 문제를 신속히 발견하고 해결할 수 있도록 하는 것입니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/leewsimpson/claudesk/tree/HEAD/3d-model/.claude/skills/fusion-inspect

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

인클로저 검사하기

표준 절차 (매 빌드 후)

  1. 검사. checks.run_checks()를 fusion-build 러너로 실행하세요. v2 미세 격자에서 3~8분이 소요되며, MCP 도구의 타임아웃보다 깁니다. 따라서 MCP를 통해 빌드를 먼저 실행한 후, 별도의 러너 파일로 python scripts/fmcp.py script <file>을 백그라운드 Bash 작업으로 실행하세요(900초 타임아웃). 검사가 아직 실행 중인데 MCP를 호출하면 타임아웃이 발생하므로, 검사가 끝날 때까지 기다리세요. 스크립트는 Fusion의 UI 스레드에서 실행됩니다. 타임아웃된 호출은 계속 실행되며 이후 호출은 그 뒤에 대기합니다. 2026-10-04 기준으로 pointContainment가 0.01mm 단계로 스캔할 때 Fusion이 멈춰서 강제 종료해야 했습니다. 스캔 대신 몇 개의 선택된 점을 프로빙하고, 긴 루프에는 adsk.doEvents()를 넣으세요(wslib.clashes와 격자 절단은 이미 수행합니다). Enclosure와 모든 보드 바디 및 고스트, Shell 대 Cap, 동결된 인쇄 쉘 볼륨, 그리고 checks.GAPS의 명명된 간격 사이의 간섭을 확인합니다. 설계된 간섭(핀이 스탠드오프를 잡는 부분)은 checks.EXPECTED에 나열되며 expected로 출력됩니다. checks PASS가 출력되면 완료입니다. CLASH/TIGHT가 발생하면 지오메트리를 수정하고 재빌드하세요. 간격 한계를 완화하는 것은 사용자가 동의할 때만 합니다.
  2. 보기. 외부 뷰 하나와 단면 하나 이상을 캡처하세요:
    • 외부: wslib.view(eye=(-90, 160, 60), target=(0, -20, 0), up=(0, 0, 1)), 그런 다음 MCP screenshot 쿼리를 direction: "current", 1000×900으로 호출하세요.
    • 단면: wslib.section('XY') (z=0에서 USB 플러그를 절단) 또는 'YZ', 그런 다음 wslib.view(eye=(0, -20, 300), target=(0, -20, 0)). 이후 wslib.clear_sections()를 호출하세요.
    • 후면/캡: wslib.view(eye=(80, -200, 50), target=(0, -20, 0), up=(0, 0, 1)). 스크린샷을 target/ 및 변경 의도와 비교했으면 완료입니다.

wslib의 도구

  • bodies_of(top_component_name): Enclosure, Refs, 또는 보드 ESP32-S3-TOUCH-AMOLED-1_75_ASM 아래의 최상위 컨텍스트 바디를 가져옵니다.
  • clashes(A, B): mm³ 단위의 겹침 볼륨. bbox 사전 필터와 임시 BRep 교차를 사용합니다. Fusion의 analyzeInterference는 큰 바디 세트에서 조용히 None을 반환하므로 사용하지 마세요.
  • min_distance(a, b): mm 단위의 간격. bbox_mm(entity).
  • set_visible('Refs', False): 깨끗한 스크린샷을 위해 고스트를 숨깁니다. 구멍이 막혔는지 판단하기 전에 항상 고스트를 숨기세요. Fusion은 40% 불투명도의 고스트를 불투명한 면 위에 그리며, 원근법에서 보어(예: UsbBarrelGhost) 안에 있는 고스트는 이동한 것처럼 보이고 구멍을 막는 것처럼 보입니다. 보어를 검사하려면 직교 카메라로 축을 따라 내려다보거나, body.pointContainment로 점을 테스트하세요.

원점 평면에 있지 않은 피처(예: 45°의 스냅 핑거)를 검사하려면 constructionPlanes.createInput().setByAngle(root.yConstructionAxis, '<angle> deg', root.xYConstructionPlane)으로 임시 구성 평면을 추가하고, 그 위에 단면을 만들고, camera.setExtents(w_cm, h_cm)으로 확대한 후, 평면과 단면을 삭제하세요.

영구적인 여유 공간 요구 사항(새 구매 부품, 케이블 경로)을 추가하려면 enclosure.build_refs에 고스트를 추가하고 checks.GAPS에 행을 추가하여 모든 후속 빌드에서 검사하도록 하세요.

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

관련 스킬