Hace unas semanas que estoy modelando otra familia de Revit para Punt mobles, tratándose en esta ocasión de su silla Hug, la cual dispone de muchísimas combinaciones de:
Materiales de respaldo
Materiales de patas
Materiales de tapizado
Tipos de patas
Tipos de respaldo
Por lo tanto, si esta familia la planteaba cómo una familia convencional se tenían que haber creado una infinidad de tipos dentro de la misma, para poder abarcar todas las posibilidades, donde el usuario final se volvería loco buscando que combinación quiere ante tal desplegable. Y es por esto, que decidí que las iteraciones se pudiesen realizar mediante parámetro de ejemplar; un parámetro de ejemplar que fuese el material tal cual:
Material Aluminio
Material Madera
Material Tapizado
Material Patas
De este modo, el usuario puede elegir que madera, aluminio, tejido o material de pata quiere, y de forma independiente elegirá el tipo de respaldo y el diseño de pata deseado (según el respaldo escogido será de madera o de aluminio). Por lo que realmente el concepto cambia, no estás diciendo que material quieres para un tipo "X" de pata, sino que le estas diciendo quiero este material para las patas sea cual sea el tipo que elija. Surgiendo la necesidad de que el usuario pueda elegir que pata o respaldo quiere con un sólo clic, que es básicamente lo que encontramos, al cargar la familia en un proyecto, en los dos primeros parámetros dentro de "Datos de identidad":
Back (contiene los tres tipos de respaldos posibles)
Legs (dispone de los cuatro tipos de patas)
¿Y cómo se hace esto? Porqué esto no es lo habitual, no se suelen hacer así las familias...
Entrando en la familia, en el "Navegador de proyectos" tenemos todas las familias anidadas que son cada uno de los tipos de patas y respaldos:
Se ha hecho con familias anidadas por la complejidad de cada uno, realmente se podría haber hecho cómo elementos directamente generados en la familia, que tienen uno de los parámetro de visibilidad generados:
Legs 1
Legs 2
Legs 3
Legs 4
Aluminium
Plywood
Upholstered
Y aquí empieza la complicación, porque en función del tipo de pata o respaldo elegido:
Legs: Metallic
Legs: Revolving
Legs: Revolving with plastic or felt tips
Legs: Solid wood
Back: Aluminium
Back: Plywood
Back: Upholstered
se verá el diseño correcto en función de que otros parámetros ocultos llamados:
L1
L2
L3
L4
B1
B2
B3
que mediante una fórmula de igual coinciden con (Legs 1, 2, 3 y 4, y Back 1, 2 y 3).
Los parámetros ocultos L1, L2, L3 y L4 están generados cómo Elementos de detalle; y para que funcionen, básicamente se ha creado una familia nueva de Elemento de detalle que se llama "Legs", la cual está totalmente vacía y lo que único que tiene son los cuatro tipos de patas que contempla esta silla, que son las opciones que le aparecerán en el desplegable del parámetro con el mismo nombre al usuario cuando use la familia en un proyecto.
Para crear este desplegable, hay que cargar dicha familia en la familia de la silla HUG, generar los parámetro L1, L2, L3 y L4, de tipo "<Tipo de familia...> Elemento de detalle", de ejemplar, e indicar dónde queremos que esté agrupado, en este caso "Otros", y seleccionar en cada parámetro un tipo de pata:
L1 = Madera maciza
L2 = Metálica
L3 = Giratoria
L4 = Giratorio con puntas de plástico o fieltro
Y del mismo modo generar el parámetro "Legs", que será visible, y por tato, el que podrá editar el usuario en el proyecto (en este caso agrupándolo en "Datos de identidad"):
De tal modo, que en este parámetro, al desplegar, sólo tienes los tipos de las familias de Elementos de detalle que tienes cargadas en la familia de la silla HUG.
Seguidamente, se repite el proceso, pero esta vez creando una familia vacía de Anotaciones genéricas con los tipos de respaldo (al ser una familia de categoría diferente en el desplegable no se mezclan los tipos de respaldos con los de patas, y viceversa. Las categorías elegidas para estas dos familias son aleatorias, lo importante es que sean diferentes entre sí), se carga en la familia principal y se genera los parámetros ocultos B1, B2 y B3, de tipo "<Tipo de familia...> Anotaciones genéricas", de ejemplar, se indica dónde queremos que esté agrupado, en este caso "Otros", y se selecciona en cada uno un tipo de respaldo:
B1 = Aluminio
B2 = Madera contrachapada
B3 = Tapizado
Y del mismo modo, se genera el parámetro "Back" que esta vez será visible; es el que podrá modificar el usuario final.
Para que en función del tipo de pata o respaldo que elija el usuario aparezca uno u otro, se ha creado una fórmula de igualdad en los parámetros de visibilidad y los de tipo de familia:
Legs 1 = Legs = L1
Legs 2 = Legs = L2
Legs 3 = Legs = L3
Legs 4 = Legs = L4
Upholstered = Back = B1
Aluminium = Back = B2
Plywood = Back = B3
De tal forma, que dependiendo el tipo de respaldo o pata que elija el usuario, se activará con tic un parámetro de visibilidad u otro.
Esta forma de crear la familia es poco ortodoxa y un poco arriesgada, pero es muy buena para el usuario, porque quien coloca este elemento lo que quiere es hacer diversas iteraciones de diseño, y no puede estar desplegando y eligiendo entre unas combinaciones inacabables. Tiene que poder entrar y decir: “Quiero cambiar las patas”, “y el respaldo”, “el tejido”, etc. y poder hacerlo con tan sólo uno o dos clics, por ello, se ha creado la familia de esta forma, y funciona así:
Tanto en las imágenes cómo en el vídeo muestro algunas de las variantes que dispone esta silla, pero te invito a ver el resto de colecciones de Punt Mobles en el siguiente enlace: http://www.puntmobles.com/
Y si quieres ver otra familia hecha de esta forma pero añadiendo la complejidad de diferentes dimensiones e incorporando el uso de fórmulas para los parámetros de visibilidad, te invito a visitar mi entrada del aparador Malmo.
Comments