Communitygithub.com

shadowtor/fusion-studio

Projete modelos 3D em conjunto com o usuário dentro do Autodesk Fusion por meio de seu servidor MCP local (http://127.0.0.1:27182/mcp).

O que é fusion-studio?

Esta skill permite que um agente de IA projete modelos 3D paramétricos diretamente no Autodesk Fusion, utilizando seu servidor MCP local. O agente primeiro pergunta ao usuário se o projeto é uma peça para impressão 3D (PLA/PETG/ASA e outros, com impressora padrão Bambu Lab H2C), uma peça de vitrine que não será impressa (chaveiros acrílicos, vistas explodidas para crowdfunding ou vídeo) ou um mockup de vestuário e marca. A partir disso, ele constrói o modelo paramétrico com base nas medidas fornecidas, verifica a integridade do modelo, tira capturas de tela e exporta nos formatos apropriados (3MF, STEP, PNG, OBJ). A skill é útil para qualquer tarefa de modelagem, ajuste, revisão ou exportação no Fusion, automatizando o processo e garantindo boas práticas de design paramétrico, como o uso de parâmetros nomeados e verificações estruturais.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/shadowtor/fusion-studio/tree/HEAD/skills/fusion-studio

Perguntar na sua IA favorita

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

Documentação

O que fusion-studio faz?

Você modela no Fusion enviando scripts Python para o servidor MCP dele. O usuário fornece fotos, medidas e gosto. Você constrói o modelo, olha para ele e o corrige.

0. Conectar (sempre primeiro)

python <skill>/scripts/fusion_mcp.py ping

Exibe a versão do Fusion e o documento aberto. Se as ferramentas MCP fusion_mcp_* estiverem carregadas, use-as (fusion_mcp_execute com featureType: "script", fusion_mcp_read para capturas de tela e documentação da API, fusion_mcp_update para desfazer). Caso contrário, o cliente faz o mesmo a partir de um shell. Se ping não conseguir conectar, diga ao usuário para iniciar o Fusion e ativar o servidor MCP. Não adivinhe.

Regras que protegem o trabalho do usuário:

  • Nunca edite um documento já aberto. new_design() em fx_lib.py abre um novo. Leia documentos abertos apenas com --ro.
  • Nunca salve, feche ou sobrescreva a menos que solicitado. As exportações vão para a pasta do projeto.
  • Não envolva run() em try/except. Um erro levantado é como você aprende o que falhou.
  • Scripts não podem modificar enquanto uma caixa de diálogo de comando estiver aberta. Peça ao usuário para fechá-la, ou use --ro para inspecionar.

1. Escolher o modo (o seletor)

Pergunte com uma questão, recomendando Impressão a menos que o briefing diga o contrário. Não comece a modelar antes que isso seja respondido.

ModoParaConstruído comoFinalização
ImpressãoPeças impressas na impressora do usuário: suportes, braçadeiras, caixas, chaveirosTolerâncias de ajuste, regras de parede, orientação, um componente por peça impressa3MF por peça + STEP
VitrineItens que são mostrados, não impressos: chaveiros acrílicos para uma página de crowdfunding, vistas explodidas para vídeoAparência primeiro: peças em camadas, espessura de materiais reais, layout explodidoPNG com fundo transparente, OBJ, STEP
VestuárioMockups de marca de roupas: etiquetas penduradas, etiquetas, guarnições, botões, puxadores de zíper, embalagens, peças de exibiçãoArte plana em guarnições 3D, espessura de material realVistas PNG, STEP, notas de posicionamento de arte

Detalhes: references/modes.md. Para Impressão, pergunte também o filamento (PLA, PETG, ABS, ASA, TPU, nylon, PC, ou uma versão com fibra de carbono) e use a Bambu Lab H2C a menos que informado o contrário. O filamento define os ajustes e os limites para espessura de parede, ângulo de balanço e comprimento de ponte: references/materials.md, references/print-rules.md.

Em seguida, execute python <skill>/scripts/new_project.py <nome> --mode print|showcase|apparel [--material PETG] para criar a pasta do projeto (project.json, build/, shots/, exports/).

2. Briefing e medidas

Pergunte pelo que você não pode inventar: o tamanho real de qualquer coisa em que o modelo deve se encaixar (uma lata, um telefone, uma chave), o material, o estilo da parede e fotos de referência. Diga quais números são assumidos e coloque-os em project.json em assumptions. Uma dimensão ausente se torna um parâmetro nomeado com um padrão óbvio, nunca um número oculto.

3. Parâmetros primeiro

Tudo que é mensurável se torna um parâmetro de usuário com um comentário, em três grupos: medidos (diâmetro da lata), ajuste (folgas, parede) e derivados (expressões construídas a partir dos outros). No modo Impressão, chame print_profile("PETG") primeiro: ele cria os parâmetros fit_press, fit_close, fit_free, min_wall, min_feature e hole_comp do material, e os ajustes são diametrais (total em ambos os lados). Use-os em vez de inventar folgas. Nomes têm 3+ caracteres com um sublinhado (can_dia): letras únicas como w, h, t colidem com nomes de unidade e o Fusion os recusa. Dimensões de sketch e distâncias de extrusão usam as expressões dos parâmetros, então alterar um número altera o modelo. Leia references/fusion-api.md antes de escrever o primeiro script.

4. Construir em scripts pequenos

Adicione a biblioteca auxiliar com --lib:

python <skill>/scripts/fusion_mcp.py run build/01_body.py --lib
python <skill>/scripts/fusion_mcp.py shot shots/01.png --dir iso-top-right

fx_lib.py fornece new_design, param, component, sketch, rect, circle, extrude, box, fillet, chamfer, edges_where, appearance, view, health, report, export, e para o modo Impressão (fx_print.py) print_profile, print_check, fit_coupon. Um componente por parte física, nomeado <Parte> - PRINT ou - SHOWCASE. Filetes vão por último. Olhe para cada captura de tela antes de prosseguir. Se a imagem e os números discordarem, confie na imagem e encontre o erro.

API desconhecida? fusion_mcp.py api "ExtrudeFeatures" --filter adsk.fusion retorna a documentação ativa. Prefira isso à memória.

5. Verificar antes de dizer que está pronto

  1. health() relata 0 problemas.
  2. Teste paramétrico: altere o principal parâmetro medido, verifique health() e report() novamente, e restaure-o. Um modelo que quebra aqui não está finalizado.
  3. Capturas de tela de pelo menos iso, frontal e uma vista de seção ou inferior, lidas por você.
  4. Modo Impressão: print_check("PETG") (paredes finas e balanços, pontes longas, furos pequenos ou horizontais, encaixe na cama), depois a orientação, suportes e borda da primeira camada declarados. Corrija cada AVISO ou diga por que é aceitável. Para qualquer ajuste que importe, execute fit_coupon() primeiro e imprima: leva minutos e define a folga real para este filamento e impressora.
  5. Modo Impressão: exporte o 3MF e execute python <skill>/scripts/slicer_check.py exports/part.3mf --material PETG. Ele dirige o OrcaSlicer sem cabeça nos perfis H2C e relata se é estanque ou não, tempo de impressão, filamento, se são necessários suportes e se sua orientação é a melhor do fatiador. Alimente o resultado de volta no modelo. A GUI e o servidor orcaslicer-mcp opcional são alternativas: references/slicer.md.
  6. Diga o que não está comprovado. Um modelo que parece correto não foi testado na impressão. Nomeie a primeira impressão de teste e qual parâmetro ajustar depois dela.

6. Exportar e entregar

Impressão: export(body, path, "3mf") para cada parte, além de step. Vitrine: PNG transparente por ângulo (shot usa fundo transparente quando solicitado), OBJ para ferramentas de vídeo. Vestuário: vistas PNG e STEP. Em seguida, entregue ao usuário: arquivos, lista de parâmetros, suposições, o primeiro teste a executar.

O que esta skill não faz

  • Ela não envia trabalhos para a impressora ou escolhe temperaturas e velocidades. Ela fatia apenas para verificar um modelo (necessidade de suporte, tempo, orientação) e declara escolhas de suporte como pontos de partida.
  • Ela não substitui uma impressão de teste. As folgas são valores iniciais para um bico de 0,4 mm, não garantias.
  • Ela não pode ver as fotos do usuário a menos que elas sejam compartilhadas. Peça dimensões em vez de estimar a partir de uma imagem.
  • Ela não modela tecido. O modo Vestuário cobre guarnições, etiquetas, tags, ferragens e embalagens.

Habilidades Relacionadas