Hoy vamos a hablar sobre una pequeña utilidad de WiseBuild que puede hacernos la vida más fácil a la hora de componer vistas en los planos, sin duda una de las tareas menos gratas de Revit. Se trata de SheetComposer.
En WB se nos ocurrió la idea de crear una herramienta que permitiese a las vistas ‘colocarse solas’ dentro de un plano. La idea es dotar a las vistas y a las tablas de algo de inteligencia incorporándoles un parámetro de texto con un metalenguaje que diga donde deben colocarse dentro del plano… ¿Metalenguaje? vale que nadie se asuste, vamos a ver primero el efecto práctico de esta herramienta y luego entraremos a descifrar sus tripas, aunque parezca complejo os prometo que en realidad es bastante sencillo.
En el siguiente video de ejemplo podéis observar cómo se posiciona automáticamente:
Como podéis observar si cambiamos las dimensiones del plano, o el tamaño de la tabla o de la vista, tan solo hay que volver a correr SheetComposer para que la posición de los elementos se corrija.
Si establecéis una estrategia global de maquetación de planos podremos incluir este posicionamiento en las plantillas de las vistas de manera que tendremos bajo control el 90% del diseño de maquetación del proyecto. Ajustable globalmente con unos pocos cambios en las plantillas.
Bien, veamos las tripas. El parámetro que determina como se posicionan las vistas puede crease sobre la marcha como parámetro de proyecto, debe ser de texto y tiene que llamarse SheetComposer, no es necesario que sea compartido y tan solo hay que asegurase de que está asignado a vistas y tablas.
El contenido del parámetro es una serie de códigos cuyo objetivo es coordinar la posición de dos puntos para que sea la misma, uno dentro del plano y otro dentro de la vista. Son dos bloques de texto unidos que están determinando como elegir y medir el punto de coordinación, y que SheetComposer interpretará adecuadamente.
Mejor veamos un par de ejemplos con imágenes de esa coordinación de posición.
Sd2t1,1psl(30,130,30,30)Vd2t1,1psl(-50,-50)
Sd2t2,2pir(30,130,30,30)Vd2t2,2pir(-100,-50)
Quizás pueda parecer algo complejo, pero tened en cuenta que son reutilizables y que lo más probable es que solo tengáis que definirlos una sola vez.
Hay que tener en cuenta que para las vistas se toma como distancia de referencia el crop, o recorte, de las mismas, por lo que debe estar activado. Los elementos anotativos, como las rejillas, no se consideran para el cálculo de las distancias.
Al final de este documento os dejo una descripción de los distintos campos del cuerpo de texto.
¿Lo mejor?, poder decir adiós a las insufribles líneas guías.
Podéis descargaros la versión beta desde este enlace. Compatible con con Revit 2019 a 2021. Aparecerá en una nueva pestaña llamada WiseBuild. Libre para uso no comercial.
WBTools_SheetComposer.zip (1.2MB)
Descripción del Metalenguaje y pasos:Ejecutando este addin con un plano abierto se auto colocaran todas las vistas y las tablas que tengan almacenadas las instrucciones de colocación en el parámetro SheetComposer. Para ello tenemos que:1- Añadir un parámetro de proyecto llamado SheetComposer, de tipo texto y asociado a las vistas y las tablas.2- Introducir las instrucciones de colocación o alineación en las vistas o las tablas mediante el metalenguaje de SheetComposer. Lo describiremos luego.3- Ejecutar SheetComposer con el plano abierto. Se deberían alinear las vistas y las tablas automáticamente. El plano no se mueve, solo las vistas y las tablas.Descripción del metalenguaje:Básicamente se van a coordinar dos puntos, uno en el plano y otro en la vista o tabla. Para ambos puntos sheetComposer va a procesar la información almacenada en el parámetro SheetComposer de la vista o la tabla.Ejemplo de estructura del parámetro: Sd2t1,1psl(30,130,30,30) Vd2t1,1psl(-50,-50)1- El texto completo se divide en dos bloques que han de estar separados por una S (de sheet) y una V (de vista) en mayúsculas. Cada uno de estos dos trozos contiene la definición de la posición del punto de alineamiento entre plano y vista. En este caso tenemos Sd2t1,1psl(30,130,30,30) para el plano y Vd2t1,1psl(-50,-50) para la vista. Ambos bloques se van a procesar de la misma manera para definir el punto de alineamiento, siguiendo los mismos pasos que vamos a explicar a continuación.Como paso inicial interno SheetComposer va a calcular los cuatro puntos que definen la posición tanto de la vista como del plano. El cuadro o marco de la mismas y sus coordenadas. La vista debe tener el cropbox activo, ya que los cálculos están basados en dicho cropbox, excluyendo los elementos anulativos como rejillas o niveles.2- Pre Offset. En el ejemplo (30,130,30,30), cuatro números que incrementarán o reducirán el marco inicial. El formato es (x1,x2,y1,y2) y las unidades son milímetros, x1 representa el lateral izquierdo, x2 el derecho, y1 el superior, y2 el inferior. Valores positivos son hacia el interior del marco, negativos hacia el exterior. El pre offset esta pensado para indicar el verdadero espacio libre dentro de un plano.3- División especial. En el ejemplo d2t1,1psl. Se creará una división en cuadrícula de dos columnas y dos filas (d2) y se seleccionará el cuadrante 1,1 (t1,1). Esto permite dividir el espacio adecuadamente para realizar una composición de las distintas vistas o tablas que van en el plano.4- Selección de punto de alineamiento. En el ejemplo psl. Hay que seleccionar uno de los nueve puntos posibles del cuadrante fijado en el paso anterior. Ese punto es el punto de alineamiento que estamos definiendo. El formato para seleccionar el punto es (p = point), (s,c,i = superior, centro, inferior), (l,c,r = left, center, right).5- Offset de Punto. En el ejemplo (-50,-50). Sobre el punto seleccionado se realizará un offset basado en dos valores (x, y) en milímetros. Valores positivos son hacia el interior del marco, negativos hacia el exteriorUna vez determinados ambos puntos de alineamiento SheetComposer moverá la vista para que ambos puntos coincidan.Notas:No es necesario definir todos los campos. Si hay algún campo inexistente SheetComposer tomará los valores por defecto.Se puede modificar libremente el orden de los parámetros. Solo mantén las mayúsculas y minúsculas como en el ejemplo.¡Recuerda activar el cropbox en las vistas! El punto de alineamiento esta basado en el cropbox. Y recuerda que los elementos de anotación no se están considerando en la alineación ni en el cálculo del punto de coordinación.