Saltar al contenido
Especialista3D

Muros de CAD a Revit con Dynamo por Borja Martínez.

De Cad a Revit con Dynamo

De CAD a Revit con Dynamo

Este artículo lo hemos escrito con la colaboración de Borja Martínez. Borja es un compañero que actualmente está cursando el programa formativo de Dynamo Like a Pro. Desde muy temprano, empezó a plantearse retos en paralelo al curso. Entre los retos que se planteó estaba el de traducir la documentación que le llegaba de CAD a Revit con Dynamo.  Este reto se lo plantea la 2ª semana de cursar el programa formativo y el mail que nos llega es el siguiente:

Mail de Borja

«Estoy en muros 2. En los cad del estudio se modelan los muros con su linea interior y su linea exterior.

Me he puesto con mi capitulo cinco de intermedio a nadar solo en dynamo, con la idea de hacer un filtro que reconozca las polilíneas dobles y en medio me haga el muro, o linea paralela mas cercana y dibuje en medio… No se si me explico. Que casi me ahogo vamos. Conceptualmente en español, mas o menos se me ocurre un modo, pero estoy un poco lost in translation a dynamo.

No te voy a pedir la solución completa que seguro que la haces con cuatro nodos, y mucho ingenio. Quiero ver si lo saco. Pero alguna pista me vendría bien. Me he rallado un rato buscando un nodo o combinación que me permita elegir de una lista el valor mas repetido. Seguro que es una chorrada, y que si no esta en los paquetes básicos hay alguno de estadística que te saque la moda… «
Esta es la actitud que buscamos y la que que va a hacer que una vez que decidamos arrancar con Dynamo logremos obtener resultados. Evidentemente le decimos a Borja que siga con su investigación y le indicamos los problemas que puede encontrar por el camino.

Nuestra respuesta

El tema de CAD-Revit no es tan sencillo como parece. De hecho, por el tiempo que se tarda en programar y lo que tarda Dynamo en procesarlo te diría que es un problema de Python-Revit y hasta ni eso. Te cuento por qué: Revit tiene la curiosa manía de traer los CADs ligerísisimamente deformados. Esto se traduce en que, aunque para ti las líneas sean perfectamente rectas, para Revit están «ligeramente fuera de eje». Estas líneas empiezan a dar ese warning en cuanto juegas con un CAD un poco más complejo que una planta de 30 metros cuadrados. 
Este warning se traduce en aumentos del tiempo de procesado del modelo y acumulación de errores ¿Por qué? Porque si vamos haciendo paralelas o perpendiculares a estas líneas fuera de eje nuestro modelo cada vez se llena de más y más warnings. 
Hay un plugin de Case Free Apps para corregir las líneas que están fuera de eje pero tienes que ir seleccionando las líneas una a una. También puede intentarse corregir con Dynamo, aquí el problema es el torno a qué eje giras para que tu modelo no se vuelva absolutamente loco cuando intentas girar tres mil líneas de golpe (Revit no te deforma todas las líneas de CAD ni en el mismo sentido ni en el mismo eje).
Ojo, tienes que probarlo, hemos pasado por ahí y, seguro que en algún punto, Revit arregla estos problemas de lineas fuera de eje y, entonces, tiene muchísimo sentido esta traducción con Dynamo. ¿Ideas creativas? Te damos tres opciones:
  • 1: Buscar la distancia menor entre los muros, hacer una perpendicular a ambos con esta distancia y apoyarte en las líneas intermedias.
  • 2: con los muros que están más próximos entre sí hacer superficies, «cubicar» estas superficies con bounding boxes, trazar el muro desde el eje longitudinal una vez cubicado.
  • 3: Traerte solo las líneas centrales en CAD, de la equidistancia, y trazar los muros desde estas líneas centrales.
¡No dejes de intentarlo! la advertencia de los warnings la irás viendo pero aún así es un muy buen ejercicio y estoy segura de que para Revit 2022 estará arreglada.
Ok. Ya tenéis los precedentes y el problema presentado. Pensad que este reto se lo propone Borja por si mismo en la segunda semana de Dynamo, lo cual de por si ya es un mérito increíble. Antes de seguir con el problema os presentamos a Borja:

¿Quién es Borja Martinez?

Soy Ingeniero Industrial caído en las redes del BIM de casualidad.

¿Cómo entraste en contacto con las metodologías BIM?

Mi contacto con las metodologías BIM empezó cuando se me platea dar un “speech” sobre un artículo técnico cualquiera, en un ámbito NO técnico. Imagínate el impacto de esto en mi situación, que era puramente de técnico.

Hasta ese momento, en mi mundo de proyectos y obras, las automatizaciones no pasaban de Excel con formulitas, vínculos con Word, exportaciones/importaciones a Arquímedes/Presto y alguna tarea automática en Autolisp para medir rápido, o en los comienzos del “LIDER” hacer el modelo 3D. Los que lo han sufrido este proceso seguro que saben a qué me refiero.

Imaginad que supuso para mí descubrir las tablas de planificación de Revit, el modelado de las redes MEP, los Plugins para VR, la vinculación con Arquímedes… Estas cuestiones abren todo un abanico de posibilidades brutal y que supone una mejora en la mejora del trabajo muy, muy notable. Me puse manos a la obra en cuanto a aprendizaje. En ese “in crescendo” de mejora y aprendizaje continuo me topé con la picota del postre: Dynamo.

Por supuesto, hay segundas derivadas, no todo se reduce al conocimiento: asomar la cabeza por la ventana del BIM, añade al escenario emocionantes posibilidades como la deslocalización. Esto se traduce en nuevas oportunidades. Trabajar en entornos de trabajo colaborativos online lo permiten. Las metodologías BIM me entusiasman y me tienen súper motivado. Me encanta trabajar con otros motivad@, desatar nuestras habilidades colaborativamente y alucinar con los avances y, sobretodo, lograr resultados. Búscame si te sientes alineado con mis ideas y entusiasmo, mi objetivo es poder aportar en un entorno innovador y con ilusión. 

Nota de Especialista3D: el entusiasmo de Borja es absolutamente contagioso. Todo lo investiga y lo cuestiona. Es un auténtico placer contar con personas con ese afán por aprender.

Ahora mismo estás cursando Dynamo Like a Pro, ¿qué ha aportado esto a tu formación en BIM?

Dynamo Like a Pro se me cruzó justo en ese estado de alucine por etapas. Medité cero coma dos segundos el apuntarme y, de pronto, empecé con las adictivas “píldoras” que aprendí a tomar DES-PA-CI-TO.

Nota de Especialista3D: Las píldoras es como llamamos en Dynamo Like a Pro a los bloques de contenido. Las llamamos así porque hemos intentado que el contenido y conocimientos estén hiper-concentrados en el mínimo tiempo posible. Cada bloque contiene un ejercicio, o reto, a resolver para que el alumno pueda ir asimilando los contenidos. 

El reto: pasar de dwg a Revit

Mi reto era generar un dynamo que crease los muros a partir los límites interior y exterior, era la que más se ajustaba a mi necesidad, puesto que así me llegan los dwg. Siendo un dyn-newbie, me pregunté si podría hacerme entender con mi poco vocabulario dynamo, de modo que el programa hiciese caso en gran medida… y resultó. Lo que me hizo darme cuenta del potencial ahorro de tiempo que tenía en las manos, con lo poco que aún se. El ánimo por aprender más se disparó.

A partir de ahí, comienzo a ver posibles aplicaciones que faciliten las tareas más engorrosas, con un “click”, como suelo decir. Hay mucho ya inventado y reproducible, que hay que tener en cuenta antes de ponerse si quiera a programar; y mucho que se te va ocurriendo sobre la marcha. Con Dynamo en el día a día se dispone de mucho más tiempo para nuevos desarrollos, a la vez que se hace llevadero y tranquilo. La traslación al resto de la empresa depende de más factores, pero no hay duda que puede a la postre, suponer la diferencia entre quedarse en la cuneta o salir como un “Sputnik”, en este mundo en el que el aprendizaje continuo ya no es una recomendación.

Y sin más dilación al lío.

Este Dynamo crea muros a partir de las líneas de borde que se han de importar previamente de un plano CAD. Se debe hacer una iteración por tipología de muro (Importar, descomponer, Run Dynamo, eliminar las líneas y poner un poco de orden al resultado)

CAD a Revit 001

El Dynamo funciona así:

Configuraciones:

  1. La selección de líneas es automática.
  2. El espesor del muro se mete a mano, y ser coincidente con el espesor del muro que se va a modelar. (Clave para el *.dyn)
  3. Elijo los parámetros de los muros: Altura, Nivel y Type.

Luego, filtro en cascada:

Filtro 1: Como list.uniqueitems no funcionó con las líneas, hago strings a partir del punto inicial y final de cada línea y uso “Duplicate Item Indices” de Archi-Lab.net.

CAD a Revit 002

Filtro 2: Me cargo las problemáticas líneas cortas.

CAD a Revit 003

Viene la idea feliz: Alterno trazado de elementos auxiliares que me den más información, para filtrar con tino y acabar teniendo la línea de los ejes de muros.

Líneas Auxiliares 1: A ambos lados de cada línea, a espesor/2, trazo líneas auxiliares.

Círculos Auxiliares 1: En medio de cada una de esas líneas hago un circulito.

Filtro 3: Los circulitos que cortan dos líneas, señalan líneas en los ejes de los muros.

CAD a Revit 004

La siguiente ronda de filtros…

Círculos Auxiliares 2: Dibujo círculos en el extremo inicial de las líneas auxiliares que se han salvado de la purga.

Filtro 4: Si el círculo corta dos líneas, me cargo la línea auxiliar asociada, que es la más corta.

CAD a Revit 005

El último nodo, crea los muros, y el resultado es satisfactorio al 80%. Un Pareto de libro.

Epílogo:

Esto es lo que se me ha ocurrido con el poco vocabulario Dynamo que tengo. 

Pros de la experiencia

  • Que es más rápido que yo haciendo los muros, y las correcciones que tengo que hacer después me compensan.

Contras de la experiencia

  • Las operaciones previas a los círculos buscan intersecciones entre los elementos con un Lazing cruzado. Esto obliga a la máquina a hacer muchos cálculos innecesarios. Ni es elegante, ni computacionalmente eficiente.

Así que me apunto para la siguiente versión…

  • Buscaré la forma de incorporar un bucle, que venga a decir algo así: [While haya líneas auxiliares, (coge la primera que se te ocurra, y a espesor “e”, a ambos lados busca otra línea. Si la localizas, traza una intermedia entre ambas. Tras esta operación rehaces la lista eliminando las líneas que has usado, y haces otra iteración)].

¿Qué os ha parecido la experiencia de Borja? Un saludo y mucho BIM

CC BY-NC 4.0 Muros de CAD a Revit con Dynamo por Borja Martínez. por Especialista3D está licenciado bajo una Licencia Creative Commons Atribución-NoComercial 4.0 Internacional.