EFICIENCIA EN LA ORGANIZACION DE WORKSETS
En esta ocasión, en Monolito tratando de buscar la manera más rápida de trabajar en proyectos grandes y de manera masiva, hemos creado este script que te permite manipular de manera rápida los worksets de los proyectos (Se realizó para poder manejar un proyecto de 5 edificaciones con más de 3,000 habitaciones).
Especificamente realiza las siguentes acciones:
Para la versión de Dynamo CPython3 – Revit 2023
Modos: Estos son los nombres de los modos que cambian la función a realizar del script.
- "EXPORT" -> Exporta CSV con Worksets de usuario (id,name,kind)
- "RENAME" -> Renombra Worksets desde CSV (por id o por nombre)
- "CREATE" -> Crea Worksets de usuario desde CSV (columna: name)
- "DELETE" -> Elimina Worksets de usuario desde CSV (id o name)
- "MOVE" -> Reasigna elementos a Worksets (por elemento o por workset)
Inputs (IN): Estas son las entradas del NODO
- IN[0] MODE="FOR IN IN MODE" -"EXPORT" | "RENAME" | "CREATE" | "DELETE" | "MOVE"
- IN[1] FILE_PATH : Ruta absoluta al CSV (lectura o escritura) - Nodo de File Path para Seleccionar un Template .csv existente
- IN[2] USE_IDS : Bool (Acción Boleana) (para RENAME/DELETE/MOVE: True=usa IDs, False=usa nombres) [opcional, default=True] - En nuestro caso lo configuramos siempre falso ya que nos es más cómodo trabajar con los nombres de los Worksets existentes.
Output: (Modifica los subproyectos de Revit.)
Lista de mensajes/bitácora (strings) que modifica la parte de subproyectos dentro de Revit.
¿Qué hace esta app?
Gestiona los Worksets (subproyectos) de Revit desde Excel/CSV con un solo script de Dynamo (CPython3):
-
Exportar la lista de worksets
-
Renombrar en masa
-
Crear en masa
-
Eliminar en masa
-
Mover elementos entre worksets (por elemento o por workset completo)
Además:
-
Funciona en cualquier idioma (reconoce encabezados en español, inglés, portugués, francés, italiano, alemán, etc.).
-
Compatibilidad bSDD (buildingSMART Data Dictionary): puedes estandarizar nombres con una plantilla (ej.
Disciplina – Nombre)
Los 5 modos (con ejemplos de CSV)
1) EXPORT (sacar listado)
-
MODE = "EXPORT" -
FILE_PATH = C:\Temp\worksets.csv -
Resultado: un CSV con columnas
id,name,kind. -
Úsalo como inventario o base para renombrar/crear.
2) RENAME (renombrar)
Dos formas:
A. Por ID (recomendado)
B. Por nombre
Tip bSDD: Si no pones new_name, puedes traer metadatos bSDD y el nombre se arma solo con una plantilla (ej. {bsdd_domain} - {bsdd_name}):
→ Renombra a: ARQ - Muros.
3) CREATE (crear)
o con bSDD (sin “name”, se arma solo):
4) DELETE (eliminar)
Por ID
Por nombre
Seguridad: el script evita borrar todos los worksets de usuario.
5) MOVE (mover elementos)
A. Por elemento → destino
-
Por ID de destino:
-
Por nombre de destino:
B. Por workset → workset (migración total)
-
Por ID:
-
Por nombre:
Idiomas: ¿cómo entiende tus encabezados?
El script reconoce sinónimos. Por ejemplo, para “nombre” puedes usar name / nombre / nome / nom, etc.
Si quieres agregar tus propios sinónimos, usa un CONFIG.json.
Ejemplo de CONFIG.json (opcional)
Guárdalo en C:\Temp\worksets_config.json y pásalo al cuarto input (CONFIG_PATH):
-
naming_template: define cómo se arma el nombre con bSDD. -
enforce_template: truefuerza que todos los nombres con metadatos bSDD cumplan esa plantilla.
Flujo recomendado (rápido y sin drama)
-
EXPORT → revisa el inventario.
-
Prepara tus CSV (renombres, creaciones, movimientos).
-
Ejecuta RENAME/CREATE/DELETE/MOVE según corresponda.
-
Sincroniza con central al terminar (si trabajas colaborativamente).
Consejos de uso profesional
-
Usa IDs para evitar ambigüedades de nombre.
-
Cierra vistas pesadas antes de MOVE masivo (rendirá mejor).
-
Algunos elementos no permiten cambiar de workset (parámetro de solo lectura); el log te dirá cuáles.
-
¿Estandarización? Activa bSDD y crea familias de nombres consistentes por disciplina, sistema o fase.
Problemas comunes (y soluciones)
-
“El modelo no es Workshared” → Activa Worksharing (Colaborar → Worksets).
-
“Nombre ya existe” → Cambia el
new_nameo revisa tu plantilla bSDD. -
“No editable” al mover → Ese elemento no expone el parámetro de workset (o está bloqueado); muévelo manualmente o revisa restricciones.
-
CSV no detecta encabezados → Asegúrate de incluir encabezados y/o añade sinónimos en
CONFIG.json.
Cierre
Con este flujo, pasas de “clics manuales” a gestión masiva, estandarizada y multilenguaje. Es más orden, menos fricción y nombres limpios con bSDD. Cuando quieras dar el siguiente paso, se puede añadir DRY-RUN (simulación) y reportes automáticos de resultados para auditoría.
Si llegaste hasta aquí, deja un comentario para que puedas adquirir este script a un módico precio.
Comentarios
Publicar un comentario
Agradecemos tu opinión.