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
- 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.stpna raiz com identidade (importManager.createSTEPImportOptions+importToTarget). Concluído quando a raiz tiver a ocorrênciaESP32-S3-TOUCH-AMOLED-1_75_ASM:1. - Editar. Os parâmetros estão no dicionário
Pno início descripts/enclosure.py. Valores derivados deles vão emderived(). A geometria vai embuild_shell/build_cap/build_refs. Utilitários vão emscripts/wslib.py. - 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 imprimebuilt in …sem traceback. - Verificar usando o skill
fusion-inspect. Uma construção só está concluída quando as verificações imprimiremPASSe 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, viawslib.MM. - Modele com B-Rep temporário (
wslib.tbm()e os auxiliaresunion/cut/intersect), depois confirme comadd_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) eRefs.Refsconté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.mdem vez de adivinhar pelo PDF. - Deixe as exceções se propagarem. O traceback é o único sinal de falha que o MCP retorna.