Bozzetto — Cómo Usar

Última actualización: 1 de enero de 2026

Bozzetto añade un panel de siete botones a la pestaña Avant Leap en tu cinta de opciones de Revit. Cada botón abre una ventana dedicada para una parte específica del flujo de trabajo de Zero Touch Node — desde buscar paquetes existentes, hasta diseñar y generar nuevos nodos, optimizar y migrar código existente.


Botones de un Vistazo

Botón Etiqueta Qué hace
1 Buscar Nodos Busca en los paquetes locales, el Administrador de Paquetes de Dynamo, y un índice semántico curado — devuelve una recomendación de reutilizar o generar
2 Crear Paquete Crea un nuevo proyecto ZTN desde cero: estructura de carpetas, .csproj, pkg.json y una clase inicial
3 Planificar y Construir Describe un objetivo de multinodo, revisa un diagrama de nodos propuestos con puertos de entrada/salida nombrados, luego genera todo el código C# de una vez
4 Agregar Nodo Genera un único Zero Touch Node en C# y lo agrega a un paquete existente
5 Optimizar Indica a Claude cualquier archivo ZTN .cs y obtén una versión mejorada con una comparación lado a lado
6 Migrar Actualiza una carpeta de paquete ZTN existente a una versión objetivo más reciente de Dynamo
7 Configuración Guarda tu clave API de Claude, la ruta de salida predeterminada y tus preferencias de versión

Antes de Comenzar

Completa los siguientes pasos la primera vez que uses Bozzetto. Solo necesitas hacerlo una vez.

  1. Obtén una clave API de Claude en console.anthropic.com. Crear una cuenta es gratis. El uso es facturado por Anthropic por token consumido — Bozzetto en sí no tiene costo de backend.
  2. En Revit, ve a la pestaña Avant Leap en la cinta y encuentra el panel BOZZETTO.
  3. Haz clic en Configuración.
  4. Pega tu clave API de Claude en el campo Claude API Key.
  5. Configura tu Ruta de Salida Predeterminada — la carpeta raíz donde se crearán nuevos paquetes ZTN. Elige una carpeta que uses para el desarrollo de paquetes Dynamo local (p. ej., C:\DynamoDev\Packages).
  6. Configura tu preferencia de Versión de Dynamo. Esto pre-llena los menús desplegables de versión en los flujos de trabajo de Build y Migrate.
  7. Haz clic en Guardar Configuración.

Tu clave API se guarda en tu máquina local en %APPDATA%\AvantLeap\Bozzetto\settings.json. Nunca se envía a AvantLeap.


Flujo de Trabajo Principal

El flujo de trabajo estándar de Bozzetto sigue esta secuencia para crear un nuevo nodo:

Buscar Nodos → (recomendación de reutilización)
      |
      |── Banda verde: se encontró paquete existente → revisar e instalar desde Administrador de Paquetes
      |
      └── Banda azul: no hay coincidencia fuerte → Abrir Construir
              |
              ├── Crear Paquete (primera vez para un nuevo paquete)
              │       └── Planificar y Construir o Agregar Nodo (generar código C#)
              │                   └── guardar .cs en paquetecompilar en Visual Studio
              |
              └── Agregar Nodo (paquete existente) → guardar .cs → compilar en Visual Studio

Mejorar código existente:

Optimizar → explorar archivo .cs → revisar diferencias → guardar

Actualizar un paquete existente a una nueva versión de Dynamo:

Migrar → explorar carpeta .Source → seleccionar versión objetivo → aplicar

Escenarios

Escenario 1 — Primer uso: descubriendo si ya existe un paquete

Contexto: Necesitas un nodo que recoja todas las habitaciones en una vista y devuelva sus nombres y áreas. Antes de escribir código, quieres confirmar que no existe ya un paquete que haga esto.

  1. Haz clic en Buscar Nodos en el panel de la cinta BOZZETTO.
  2. En el campo de búsqueda, escribe: get all rooms with area in view.
  3. Presiona Enter o haz clic en Buscar.
  4. Bozzetto busca en los paquetes instalados localmente (Capa 1), el Administrador de Paquetes de Dynamo en línea (Capa 2), y un índice semántico curado de los 50 paquetes más descargados (Capa 3).
  5. Los resultados aparecen en una lista. Cada resultado muestra el nombre del paquete, el origen (Local / En línea / Índice), y una breve descripción.
  6. Aparece una banda de recomendación arriba:
    • Banda verde: Se encontró un paquete que coincide. La banda nombra el paquete y explica por qué fue recomendado. Revísalo antes de escribir algo nuevo.
    • Banda azul: No hay coincidencia fuerte. La banda sugiere generar un nodo personalizado.
  7. Haz clic en ¿Por qué? junto a cualquier resultado para preguntar a Claude por qué ese paquete es relevante para tu búsqueda. Claude explica la razón de la coincidencia en una ventana emergente.
  8. Si la banda verde nombra un paquete que quieres inspeccionar, busca e instálalo desde el Administrador de Paquetes de Dynamo dentro de Dynamo.
  9. Si aparece la banda azul, haz clic en Abrir Construir para pasar directamente al flujo de generación de nodos.

Resultado esperado: O bien confirmas que existe un paquete reutilizable (y lo instalas), o confirmas que no existe una coincidencia fuerte y procedes a generar un nodo personalizado. En ambos casos, tienes evidencia para tu decisión.


Escenario 2 — Crear un nuevo paquete y generar el primer nodo

Contexto: La búsqueda no devolvió ninguna coincidencia fuerte. Quieres crear un paquete ZTN nuevo llamado MyFirmRoomTools y generar un nodo GetRoomsWithArea como la primera clase.

  1. Haz clic en Crear Paquete en el panel BOZZETTO de la cinta.
  2. Escribe el nombre del paquete: MyFirmRoomTools (sin espacios — el nombre será la carpeta y el namespace).
  3. Escribe una breve descripción: Nodos personalizados de la API de Revit para extracción de datos de habitaciones.
  4. Confirma la carpeta de salida (por defecto la Ruta de Salida Predeterminada de Configuración).
  5. Haz clic en Crear Paquete.
  6. Bozzetto crea la siguiente estructura en disco:

    MyFirmRoomTools\
    ├── bin\
    ├── dyf\
    ├── doc\
    ├── extra\
    └── .Source\
        ├── MyFirmRoomTools.csproj
        ├── pkg.json
        └── MyFirmRoomTools.cs   (clase inicial con constructor privado)
    
  7. Haz clic en Agregar Nodo en la cinta.

  8. Haz clic en Examinar y navega a la carpeta MyFirmRoomTools\.Source que acabas de crear.
  9. En el campo de descripción, escribe: Get all rooms in the active view. Return room name and area as parallel lists.
  10. Haz clic en Mejorar Prompt — Claude lee la descripción y propone puertos de entrada y salida nombrados. Revisa los puertos propuestos: entradas pueden incluir vista (opcional) y el documento; salidas pueden incluir roomNames y areas.
  11. Si los puertos son correctos, haz clic en Generar Nodo — Claude escribe la clase completa ZTN en C#.
  12. Revisa el código en el panel de vista previa. Confirma la estructura de la clase: constructor privado, método público estático, etiquetas XML doc <returns name="..."> para cada puerto de salida.
  13. Haz clic en Guardar Nodo para guardar el archivo .cs en la carpeta MyFirmRoomTools\.Source.
  14. Abre la carpeta .Source en Visual Studio o Rider y compila el proyecto. El DLL compilado se ubica en MyFirmRoomTools\bin\.
  15. Carga el paquete en Dynamo agregando su carpeta al path de búsqueda de paquetes de Dynamo.

Resultado esperado: Una carpeta de paquete ZTN funcional en disco, una clase nodo C# generada y revisada, y un camino claro para compilar y cargarlo en Dynamo.


Escenario 3 — Planificar un sistema multinodo antes de escribir código

Contexto: Quieres construir un conjunto de tres nodos coordinados: uno que obtenga habitaciones, otro que obtenga puertas en cada habitación, y uno que cuente puertas por habitación. Quieres diseñar la estructuración de nodos — entradas, salidas y nombres — antes de generar ningún código.

  1. Haz clic en Planificar y Construir en el panel BOZZETTO de la cinta.
  2. En el campo de objetivo, escribe: Tres nodos: GetRooms devuelve todas las habitaciones del modelo. GetDoorsInRoom toma una lista de habitaciones y devuelve los elementos de puertas agrupados por habitación. CountDoorsPerRoom toma los grupos de puertas y devuelve el nombre de habitación y el conteo de puertas.
  3. Haz clic en Proponer Nodos — Claude analiza el objetivo y propone un desglose de nodos.
  4. El lienzo muestra un diagrama de los nodos propuestos. Cada nodo aparece como una caja con su nombre de clase, nombre del método y puertos de entrada y salida nombrados como puntos etiquetados.
  5. Revisa el diagrama:
    • Confirma que los nombres de los puertos correspondan a la conexión de Dynamo que tienes en mente (ejemplo: la salida rooms de GetRooms conecta a la entrada rooms de GetDoorsInRoom).
    • Verifica que los tipos de salida se vean correctos (lista, elemento único o lista agrupada).
  6. Haz clic en Exportar Plan para guardar la arquitectura de nodos en un archivo Markdown — útil para una revisión de código o discusión de equipo antes de que se escriba código.
  7. Para generar cada nodo, cambia a la pestaña Agregar Nodo en la ventana Build.
  8. Navega hasta tu carpeta de paquete objetivo .Source.
  9. Genera cada nodo en secuencia — los nombres de puertos propuestos se rellenan automáticamente en el campo de descripción para cada generación.

Resultado esperado: Un diagrama de arquitectura de nodos revisado y aprobado antes de escribir código C#. El plan se puede exportar para documentación o visto bueno del equipo.


Escenario 4 — Optimizar código generado por otra IA

Contexto: Un colega generó un nodo ZTN en C# usando ChatGPT, pero el código no tiene control de nulos, usa llamadas API obsoletas y no sigue la convención de etiquetas de puertos <returns name=...> de ZTN. Quieres que Claude lo revise y mejore.

  1. Haz clic en Optimizar en el panel BOZZETTO de la cinta.
  2. Haz clic en Examinar y selecciona el archivo .cs proporcionado por tu colega.
  3. El código original aparece en el panel Original a la izquierda.
  4. Haz clic en Optimizar — Claude revisa el código en busca de:
    • Control de referencias nulas (document, view y elementos recolectados)
    • Etiquetas XML doc de puertos ZTN correctas (<returns name="portName">)
    • Buenas prácticas de la API de Revit (gestión de transacciones, liberación de FilteredElementCollector)
    • Rendimiento (evitar recolectores redundantes, correcto uso de filtros de elementos)
  5. El código mejorado aparece en el panel Optimizado a la derecha.
  6. Revisa la diferencia. Los cambios de Claude se hacen visibles comparando ambos paneles.
  7. Haz clic en Guardar Optimizado para guardar el código mejorado en un archivo nuevo (el original se conserva), o haz clic en Sobrescribir Original para reemplazar el archivo fuente directamente.

Resultado esperado: Un archivo C# ZTN revisado y mejorado que sigue las convenciones de Dynamo y es seguro de compilar y usar en un paquete de producción.


Escenario 5 — Migrar un paquete existente a Dynamo 4.0

Contexto: Tu empresa tiene un paquete ZTN interno construido para Dynamo 3.x. Tras actualizar a Revit 2026, el paquete no se carga porque la versión del motor y las referencias NuGet están desactualizadas.

  1. Haz clic en Migrar en el panel BOZZETTO de la cinta.
  2. Haz clic en Examinar Carpeta y selecciona la carpeta .Source del paquete (la que contiene el archivo .csproj).
  3. Elige tu versión objetivo de Dynamo en el menú desplegable: Dynamo 4.x.
  4. Haz clic en Migrar Paquete.
  5. Bozzetto actualiza lo siguiente en el lugar:
    • engine_version en pkg.json (actualizado al valor compatible con Dynamo 4.x)
    • Versiones de paquetes NuGet en .csproj (DynamoVisualProgramming.ZeroTouchLibrary, DynamoVisualProgramming.DynamoServices)
    • Rutas de salida en .csproj para seguir la convención de carpetas de Dynamo 4.x
  6. Un resumen de los cambios aparece en el panel de resultados, listando cada archivo y cada campo actualizado.
  7. Abre la carpeta .Source en Visual Studio y recompila. Revisa cualquier error restante de compilación — los cambios de llamadas API específicos de tu código deben hacerse manualmente (el comando Migrar actualiza la estructura, no la lógica API personalizada).

Resultado esperado: Una carpeta de paquete .Source actualizada que compila contra referencias de Dynamo 4.x. Puede requerirse seguimiento manual para llamadas API obsoletas dentro de la lógica de nodo.


Consejos

  • Siempre busca primero. Incluso si confías en que ningún paquete existe, la búsqueda de 30 segundos suele mostrar un paquete relacionado que cubre el 80% de la necesidad. Úsalo como referencia, no como bloqueo.
  • Nombra claramente los puertos en tu descripción. Cuando describes un nodo para Agregar Nodo, nombra explícitamente las entradas y salidas: "entradas: document (opcional), categoryName (cadena); salida: elements (lista)". Claude respeta exactamente estos nombres.
  • Revisa el código generado antes de guardar. Claude sigue confiablemente las convenciones ZTN, pero siempre verifica el tipo de salida, los controles de nulos y el manejo de transacciones antes de compilar — especialmente para nodos que escriben en el modelo Revit.
  • Mejora Prompt antes de Generar. El paso Mejorar permite que Claude refine tu descripción y proponga los tipos de puertos. Saltarse Mejorar y pasar directo a Generar a menudo produce código más vago. Un clic extra lo vale.
  • Exporta el Plan antes de generar. La exportación de Planificar y Construir te da un archivo Markdown de especificación. Envíalo a un colega o supervisor para revisión antes de gastar tokens en generación — es mucho más barato cambiar un diagrama que regenerar código.
  • Usa Optimizar en código existente, no solo en el generado por ChatGPT. El comando Optimizar de Bozzetto es igualmente útil para código que escribiste tú mismo hace seis meses. Una revisión periódica detecta problemas de nulos que crecen a medida que la API de Revit evoluciona.
  • Mantén tu carpeta de salida fuera de la carpeta de complementos de Revit. Los paquetes generados deben estar en una carpeta dedicada de desarrollo (por ejemplo, C:\DynamoDev\Packages), no en el directorio de Addins de Revit. Dynamo carga desde sus propios paths de paquetes, no desde las carpetas de addins de Revit.
  • El periodo de prueba se reinicia si borras settings.json. El periodo de prueba de 30 días se registra en settings.json. Si borras este archivo se reinicia la prueba — pero también se borra tu clave API y las preferencias.