fusion-studio
Modelas en Fusion enviando scripts de Python a su servidor MCP. El usuario proporciona fotos, medidas y gusto. Tú construyes el modelo, lo revisas y lo corriges.
0. Conectar (siempre primero)
python <skill>/scripts/fusion_mcp.py ping
Imprime la versión de Fusion y el documento abierto. Si las herramientas MCP fusion_mcp_* están cargadas, úsalas (fusion_mcp_execute con featureType: "script", fusion_mcp_read para capturas de pantalla y documentación de la API, fusion_mcp_update para deshacer). De lo contrario, el cliente hace lo mismo desde un shell. Si ping no puede conectar, dile al usuario que inicie Fusion y habilite su servidor MCP. No adivines.
Reglas que protegen el trabajo del usuario:
- Nunca edites un documento que ya estaba abierto.
new_design()enfx_lib.pyabre uno nuevo. Los documentos abiertos solo se leen con--ro. - Nunca guardes, cierres o sobrescribas a menos que se te pida. Las exportaciones van a la carpeta del proyecto.
- No envuelvas
run()en try/except. Un error lanzado es cómo aprendes qué falló. - Los scripts no pueden modificar mientras haya un diálogo de comando abierto. Pide al usuario que lo cierre, o usa
--ropara inspeccionar.
1. Elegir el modo (el selector)
Pregunta con una sola cuestión, recomendando Imprimir a menos que el resumen indique lo contrario. No empieces a modelar antes de que se responda esto.
| Modo | Para | Construido como | Finalización |
|---|---|---|---|
| Imprimir | Piezas para la impresora del usuario: soportes, bridas, carcasas, llaveros | Ajustes de tolerancia, reglas de pared, orientación, un componente por pieza impresa | 3MF por pieza + STEP |
| Exhibición | Objetos que se muestran, no se imprimen: llaveros acrílicos para una campaña de crowdfunding, vistas explosionadas para video | Primero la apariencia: piezas en capas, espesor de materiales reales, diseño explosionado | PNG sobre fondo transparente, OBJ, STEP |
| Indumentaria | Mockups de marcas de ropa: etiquetas colgantes, etiquetas, adornos, botones, tiradores de cremallera, embalaje, piezas de exhibición | Arte plano sobre adornos 3D, espesor real del material | Vistas PNG, STEP, notas de colocación del arte |
Detalles: references/modes.md. Para Imprimir, también pregunta el filamento (PLA, PETG, ABS, ASA, TPU, nailon, PC, o una versión rellena de carbono) y usa la Bambu Lab H2C a menos que se indique lo contrario. El filamento determina los ajustes y los límites para el espesor de pared, el ángulo de voladizo y la longitud de puente: references/materials.md, references/print-rules.md.
Luego ejecuta python <skill>/scripts/new_project.py <nombre> --mode print|showcase|apparel [--material PETG] para crear la carpeta del proyecto (project.json, build/, shots/, exports/).
2. Resumen y medidas
Pregunta por lo que no puedes inventar: el tamaño real de cualquier cosa que el modelo debe encajar (una lata, un teléfono, una llave), el material, el estilo de pared y fotos de referencia. Indica qué números se asumen y colócalos en project.json bajo assumptions. Una dimensión faltante se convierte en un parámetro nombrado con un valor predeterminado obvio, nunca un número oculto.
3. Parámetros primero
Todo lo medible se convierte en un parámetro de usuario con un comentario, en tres grupos: medidos (diámetro de la lata), ajuste (holguras, pared) y derivados (expresiones construidas a partir de los otros). En modo Imprimir, llama primero a print_profile("PETG"): crea los parámetros de ajuste del material fit_press, fit_close, fit_free, min_wall, min_feature y hole_comp, y los ajustes son diametrales (total en ambos lados). Úsalos en lugar de inventar holguras. Los nombres tienen 3+ caracteres con un guion bajo (can_dia): letras sueltas como w, h, t chocan con nombres de unidades y Fusion las rechaza. Las dimensiones de croquis y las distancias de extrusión toman las expresiones de parámetros, por lo que cambiar un número cambia todo el modelo. Lee references/fusion-api.md antes de escribir el primer script.
4. Construir en scripts pequeños
Antepón la biblioteca auxiliar con --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 te da new_design, param, component, sketch, rect, circle, extrude, box, fillet, chamfer, edges_where, appearance, view, health, report, export, y para modo Imprimir (fx_print.py) print_profile, print_check, fit_coupon. Un componente por pieza física, nombrado <Pieza> - PRINT o - SHOWCASE. Los redondeos van al final. Mira cada captura de pantalla antes de continuar. Si la imagen y los números discrepan, confía en la imagen y encuentra el error.
¿API desconocida? fusion_mcp.py api "ExtrudeFeatures" --filter adsk.fusion devuelve la documentación en vivo. Prefiere eso a la memoria.
5. Verificar antes de decir que está listo
health()reporta 0 problemas.- Prueba paramétrica: cambia el parámetro medido principal, comprueba
health()yreport()de nuevo, y restáuralo. Un modelo que se rompe aquí no está terminado. - Capturas de pantalla desde al menos iso, frontal y una vista de sección o inferior, leídas por ti.
- Modo Imprimir:
print_check("PETG")(paredes delgadas y voladizos, puentes largos, agujeros pequeños u horizontales, ajuste a la cama), luego indica la orientación, los soportes y el borde de la primera capa. Corrige cada ADVERTENCIA o explica por qué es aceptable. Para cualquier ajuste que importe, ejecutafit_coupon()primero e imprímelo: toma minutos y establece la holgura real para este filamento e impresora. - Modo Imprimir: exporta el 3MF y ejecuta
python <skill>/scripts/slicer_check.py exports/pieza.3mf --material PETG. Esto maneja OrcaSlicer sin cabeza en los perfiles H2C e informa si es hermético o no, tiempo de impresión, filamento, si se necesitan soportes, y si tu orientación es la mejor del cortador. Retroalimenta el resultado al modelo. La GUI y el servidor opcional orcaslicer-mcp son alternativas: references/slicer.md. - Di qué no está probado. Un modelo que se ve bien no ha sido impreso de prueba. Nombra la primera impresión de prueba y qué parámetro ajustar después de ella.
6. Exportar y entregar
Imprimir: export(body, path, "3mf") para cada pieza, además de step. Exhibición: PNG transparente por ángulo (shot usa un fondo transparente cuando se le pide), OBJ para herramientas de video. Indumentaria: vistas PNG y STEP. Luego entrega al usuario: archivos, lista de parámetros, suposiciones, la primera prueba a ejecutar.
Qué no hace esta habilidad
- No envía trabajos a la impresora ni elige temperaturas y velocidades. Solo corta para verificar un modelo (necesidad de soporte, tiempo, orientación) y establece opciones de soporte como puntos de partida.
- No reemplaza una impresión de prueba. Las holguras son valores iniciales para una boquilla de 0.4 mm, no garantías.
- No puede ver las fotos del usuario a menos que las compartan. Pide dimensiones en lugar de estimar a partir de una imagen.
- No modela tela. El modo Indumentaria cubre adornos, etiquetas, marbetes, herrajes y embalaje.