Bases de datos paramétricas

Bases de datos paramétricas

Es muy frecuente en las bases de datos de elementos para la construcción que existan muchos elementos entre los cuales solamente varíen algunas características.

Por ejemplo el elemento “Lámina de zinc en bobinas” puede depender de los siguientes parámetros:

  • Espesor: 0.65 o 0.80

  • Color: natural o antracita

  • Ancho Bobina: 500mm, 550mm, 600mm, 650mm, 800mm o 1000mm.

Si hubiera que definir un elemento diferente para cada combinación posible al final obtendríamos: 2x2x6 = 24 elementos. De esta forma las bases de datos serían de un tamaño excesivo y mucha de su información sería redundante.

Para solucionar este problema existen las familias paramétricas. Las familias paramétricas son unos elementos especiales capaces de crear múltiples elementos derivados a partir de parámetros. Estos elementos se reconocen por incluir el carácter "$" en su código.

Las reglas de formación de los derivados a partir de la selección de unos parámetros se definen en un lenguaje conocido como el lenguaje de descripción paramétrica. Este lenguaje es un estándar que forma parte de la definición del formato de intercambio estándar FIE-BDC3.

El usuario no necesita conocer los pormenores del lenguaje paramétrico para utilizar una Base de Datos paramétrica; en general, la confección de éstas es un proceso complejo que requiere una cierta especialización. Aquí explicaremos el manejo de una base de datos paramétricas, que como verá es sumamente sencillo. Por si tiene curiosidad, al final del apartado daremos algunas indicaciones sobre como interpretar el código de una definición paramétrica.

Selección de derivados paramétricos

Al situarse en el árbol sobre un elemento paramétrico, verá como varía el aspecto del panel de componentes, que le ofrecerá varias columnas con las diferentes opciones de la familia paramétrica. Son posibles hasta cuatro columnas de opciones.

Figura 1: Vista Tareas al seleccionar una familia paramétrica

El panel de la familia paramétrica está dividido en tres partes:

  • Opciones de la familia (parte superior): aquí se nos mostrarán los distintos parámetros de la partida y la lista de opciones para cada parámetro. Si hubiera combinaciones inválidas se nos mostrarían en color gris y no serían seleccionables.

  • Lista de derivados calculados (parte central): se nos muestran los derivados que cumplan las opciones seleccionadas. En la imagen anterior como tenemos seleccionada la opción “con martillo neumático” se nos mostrarán todos los derivados de la familia con esa opción. Solamente se nos mostrará la lista de derivados calculados con las opciones seleccionadas resulten 20 elementos o menos. En caso contrario tendrá seleccinar alguna opción para reducir la lista de derivados que cumplan la selección.

  • Detalles del derivado seleccionado (parte inferior): nos muestra en solapas el texto del derivado seleccionado y sus componentes si las tiene.

Observe que el código del derivado se construye a partir del código de la familia paramétrica (la familia del ejemplo era la EADE.2$) añadiéndole una letra para cada opción seleccionada. En la imagen anterior en el segundo parámetro se ha seleccionado la opción “b”, por tanto al código de todos los derivados acaban en “b”.

En las solapas se muestra la información detallada del derivado calculado. Las componentes de un derivado pueden a ser a su vez elementos derivados calculados.

Para insertar el derivado en su presupuesto simplemente arrastre este desde la lista de derivados calculados sobre la posición de su presupuesto donde quiere copiarlo.

Como interpretar el texto de descripción de la familia paramétrica

En este apartado lo único que pretendemos es dar algunas indicaciones sobre el funcionamiento del lenguaje de descripción paramétricas. Una descripción completa del lenguaje se puede consultar en la página de los responsables de la especificación del lenguaje BC3: www.fiebdc.es.

Figura 2: Ejemplo de texto de descripción de una familia paramétrica.

Todas las descripciones paramétricas comienzan con una lista de los parámetros y las opciones de cada uno, todo separado por barras “\”.

Las variables de definen utilizando los símbolos “%” y “$” dependiendo de si son numéricas o de texto. Las variables %A, %B, %C, %D (y $A, ..., $D respectivamente) se sustituyen por los valores de las opciones seleccionadas. Las variables %A se sustituyen por el número de opción y las $A por el texto de la opción.

Las componentes se indican poniendo el código del elemento seguido del símbolo “:” seguido de la cantidad correspondiente (que muchas veces es una fórmula). Las familias que definen elementos simples, en lugar de componentes indican el precio del derivado utilizando el símbolo “::” seguido de la fórmula que da el precio.

Vamos a ver un ejemplo de lo que resultaría de la descripción paramétrica anterior si el usuario seleccionase un espesor de 50cm y como medios la primera opción “a mano”.

Las variables valdrían

  • %A = 3, ya que el 50 es la tercer opción

  • %B = 1, ya que “a mano” es la primera opción

  • $A = “50”, el texto de la opción

  • $B = “a mano”

  • %I = ( 0.1 * (%A + 2)) * (%B = 2) = (0.1 * 5 ) * (1 = 2) = 0.5 * 0 = 0 (nótese que las expresiones lógicas se evalúan a 0 o 1 según si son verdaderas o falsas).

El resto de parámetros se calcularían de forma parecida. La expresión de error %E se evalúa como el resto de variables, si el resultado es 1 quiere decir que la expresión es incorrecta.

Una vez conocido el valor de las variables se pueden calcular las cantidades de los elementos sustituyendo los valores de los parámetros. En el ejemplo anterior, la componente MMMA28a tiene una cantidad de %I, que hemos visto antes que valía 0 (con la selección del ejemplo), por tanto esta componente no aparecerá en el derivado. De forma parecida se calculan el texto y el resumen sustituyendo las variables de texto que aparezcan.