leewsimpson/claudesk

Constrói ou reconstrói o invólucro no Fusion 360 a partir dos scripts Python do repositório via o Fusion MCP. Use ao alterar geometria ou parâmetros do invólucro, adicionar uma funcionalidade, ou quando o modelo do Fusion estiver ausente ou desatualizado.

O que é claudesk?

Este skill estabelece um fluxo de trabalho onde os scripts Python no diretório `scripts/` são a fonte da verdade para o design do invólucro, e o documento do Fusion 360 é um render descartável gerado a partir deles. Ele permite que você edite parâmetros, geometria e lógica construtiva nos scripts e reconstrua o modelo 3D no Fusion com um único comando MCP, evitando a perda de edições manuais na GUI. O skill fornece ferramentas como um runner Python que gerencia dependências e recarrega módulos, suporte a substituições rápidas para experimentos (por exemplo, desativar a treliça para acelerar a construção), e integração com o skill `fusion-inspect` para verificação. Ele também cobre como lidar com a ausência do servidor MCP e técnicas de modelagem com B-Rep temporário para máxima velocidade e confiabilidade.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/leewsimpson/claudesk/tree/HEAD/3d-model/.claude/skills/fusion-build

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Construindo o invólucro no Fusion

Os scripts em scripts/ são a fonte da verdade. O documento do Fusion é um render descartável deles. Altere o script e reconstrua. Edições manuais na GUI do Fusion são perdidas na próxima construção.

Etapas

  1. Fusion pronto. Execute o runner abaixo com um corpo vazio. Se não houver um design ativo, crie um e importe boardmodel/ESP32-S3-Touch-AMOLED-1_75.stp na raiz com identidade (importManager.createSTEPImportOptions + importToTarget). Concluído quando a raiz tiver a ocorrência ESP32-S3-TOUCH-AMOLED-1_75_ASM:1.
  2. Editar. Os parâmetros estão no dicionário P no início de scripts/enclosure.py. Valores derivados deles vão em derived(). A geometria vai em build_shell / build_cap / build_refs. Utilitários vão em scripts/wslib.py.
  3. Reconstruir com o runner. build(overrides) aceita um dicionário para experimentos rápidos, por exemplo, {'lattice': False} (uma reconstrução sem a treliça leva cerca de 1 s; com a treliça v2 fina, cerca de 12 s). Concluído quando imprime built in … sem traceback.
  4. Verificar usando o skill fusion-inspect. Uma construção só está concluída quando as verificações imprimirem PASS e você tiver visto uma captura de tela.

Runner (cole como o script do MCP)

import sys, importlib
REPO = r'C:\Github\claudesk\3d-model\scripts'  # caminho absoluto para 3d-model/scripts no seu clone
if REPO not in sys.path: sys.path.insert(0, REPO)
import wslib, enclosure, checks
for m in (wslib, enclosure, checks): importlib.reload(m)

def run(_context: str):
    enclosure.build()          # ou enclosure.build({'sphere_d': 90})

O Python do Fusion armazena módulos em cache entre execuções. Sempre mantenha a linha reload, ou as edições não surtirão efeito.

Se as ferramentas mcp__fusion__* estiverem faltando

Quando o servidor MCP falhou ao conectar no início da sessão (por exemplo, o Fusion não estava em execução), verifique se o Fusion está ativo (netstat -ano | grep 27182 mostra LISTENING). Em seguida, peça ao usuário para reconectar com /mcp, ou chame o endpoint diretamente: salve o runner em um arquivo e execute python scripts/fmcp.py script runner.py. Para uma captura de tela, execute python scripts/fmcp.py shot out.png [direção].

Convenções

  • Trabalhe em mm através do wslib (P(), box(), cyl_y(), …). Apenas chamadas brutas da API veem cm do Fusion, via wslib.MM.
  • Modele com B-Rep temporário (wslib.tbm() e os auxiliares union/cut/intersect), depois confirme com add_bodies. Isso é rápido, não precisa de timeline e funciona tanto em designs paramétricos quanto diretos.
  • Cada construção exclui e recria os componentes de nível superior Enclosure (Shell, Cap) e Refs. Refs contém corpos fantasmas (PlugGhost, SpeakerGhost) para peças das quais não temos CAD. Eles existem apenas para verificações de colisão e nunca são exportados. Quando uma nova peça comprada for importante para o ajuste, adicione um fantasma para ela.
  • Referencial: o STEP da placa conforme importado. +Y é a direção de visualização, a frente de vidro está em y=2,78, a boca USB-C está voltada para -X, e a mesa está abaixo de -Z, inclinada para trás por base_tilt (30°) de modo que a tela fique voltada para cima em direção ao usuário (derived()['down']).
  • Fatos da placa vêm da medição do STEP. Meça com um script e registre-os em CLAUDE.md em vez de adivinhar pelo PDF.
  • Deixe as exceções se propagarem. O traceback é o único sinal de falha que o MCP retorna.

Individual skills in this repo

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

Habilidades Relacionadas