Saltar al contenido principal

Crear relaciones condicionales

A veces es posible que desee intercambiar segmentos dinámicamente según otras condiciones de la matriz. Por ejemplo, podría crear una armadura que aumente en profundidad a medida que aumenta la longitud, o un segmento de esquina que cambie según el ángulo.

Con el operador condicional, puede cambiar segmentos según la longitud de la spline, la posición del segmento en la matriz, si el segmento de spline es una curva o una línea, el recuento de segmentos en los ejes X e Y y la identificación del material del segmento de splines. Lo mejor de todo es que

El operador condicional es muy fácil de usar, toma dos segmentos como entradas y solo devuelve uno de ellos dependiendo de si las condiciones de prueba devuelven verdadero o falso.

Nodo operador condicional en RailClone

Si desea probar múltiples condiciones, los nodos se pueden anidar para crear un árbol de decisión más complejo. No hay límite en la cantidad de operadores condicionales que se pueden conectar en una cadena, por lo que las relaciones complejas son fáciles de configurar y usar.

Operadores condicionales anidados para la toma de decisiones complejas

En este capítulo veremos cómo usar los parámetros del operador condicional usando un ejemplo de ducting. Para empezar, carga chapter_9_ducting_start.max desde el descargas para este tutorial.

Condiciones basadas en splines

Ceremonias

Los primeros 4 ejercicios exploran las formas en que se puede utilizar el operador condicional para probar los atributos de la ruta spline.

Ejercicio: creación de condiciones basadas en la longitud del spline

Con el operador condicional puede utilizar diferentes segmentos según la longitud de la spline o la sección de la spline. Aunque esto es sólo una pequeña parte de lo que este operador es capaz de hacer, incluso esta pequeña subsección de reglas condicionales ofrece muchas opciones. Los siguientes cuatro pasos demuestran un procedimiento genérico simplificado para crear configuraciones condicionales utilizando el parámetro de longitud.

Configuración del estado de longitud de ranura en RailClone

  1. En primer lugar, debe activar la condición que desea probar. Solo se puede activar uno por nodo condicional, por lo que si desea probar más de una condición, deberá conectar varios nodos como se muestra arriba.
  2. Elija si desea comprobar la longitud de la spline completo o solo la longitud del segmento del spline actual.
  3. Entrar a Longitud medido en unidades de escena.
  4. Elija si desea devolver True si la longitud actual de la ranura o el segmento es mayor o menor que el valor de longitud.

En el primer ejemplo de conducto, veremos cómo cambiar el tamaño de la tubería según la longitud de la ranura. La escena se ha configurado con todos los segmentos necesarios, todo lo que tenemos que hacer es agregar y configurar el condicional. operadores.

  1. Seleccionar rc_spline_length y abre el editor de estilos

  2. Hay dos generadores, uno para las tuberías y otro para las perchas. Cada uno de ellos tiene un segmento pequeño y otro de gran tamaño. Para cada generador, cree un nuevo operador condicional y conecte el segmento grande a la entrada verdadera.

  3. Conecta el Pequeño segmentos a la Condicional operadores FALSO aporte.

  4. Conecte el operador condicional del conducto a la entrada predeterminada de su generador y el operador condicional Hangers a la entrada uniforme de su generador. En este punto, el gráfico debería tener este aspecto:

    Conexión de segmentos a entradas de operadores condicionales

  5. Para ambos operadores condicionales, active Spline > Longitud desde el Propiedades Panel

  6. Entrar a Longitud valor de 6m y cambie la lista desplegable a Mayor que .

    Configuración de la condición de longitud de la ranura en el operador condicional

  7. Estos operadores condicionales no devolverán la versión grande del conducto si la ranura es superior a 6 m, ni la versión más pequeña si es inferior.

    Intercambio dinámico de segmentos basado en la longitud de la ranura

Ejercicio: crear condiciones basadas en la posición del segmento en la spline X o Y

Además de poder probar la longitud total de la spline o del segmento spline, también puede utilizar el operador condicional para probar la posición de un segmento en la spline o sección spline. Para utilizar esta función puedes seguir estos pasos.

Configuración del estado de posición del segmento en RailClone

  1. Encender Propiedades > Spline > Posición . Asegúrese de que no haya otras casillas marcadas.
  2. Elija si desea comprobar la longitud de toda la ranura o solo la longitud de la ranura actual segmento.
  3. Introduzca un valor de posición para realizar la prueba, que se mide como un porcentaje de la longitud de la ranura o sección de ranura actual.
  4. Elija si desea devolver True si la longitud actual de la ranura o el segmento es mayor o menor que el valor de la posición.

Para ver esto en acción, en nuestro ejemplo de conductos agregaremos algunas ventilaciones laterales pero evitaremos que aparezcan en el primer y último 20% del recorrido.

  1. Seleccionar posición rc_spline y abre el editor de estilos.

  2. Este ejemplo presenta dos generadores. Uno para los conductos y otro para las rejillas de ventilación y los colgadores. En este ejercicio sólo debemos preocuparnos por los respiraderos que están conectados a la entrada predeterminada del segundo generador.

  3. Conecte un nuevo operador condicional entre el operador de composición existente y la entrada predeterminada del generador. Asegúrese de que el operador de composición esté conectado a la entrada True del operador condicional.

    Cableando el operador Compose a la entrada verdadera del operador condicional

  4. Selecciona el Condicional operador y encender Propiedades > Spline > Posición .

  5. Establezca el valor de porcentaje en 20% . Deje los demás valores predeterminados como están.

    Configuración de condiciones de posición en el operador condicional

    Esto evitará que el respiradero aparezca dentro del primer quinto de la ranura. A continuación, evitemos que aparezcan en el último quinto conectando varios nodos condicionales en secuencia.

  6. Cree un nuevo nodo condicional y conéctelo entre el nodo condicional existente y la entrada predeterminada del generador. Asegúrese de conectar los nodos a través de la entrada True.

    Encadenar varios operadores condicionales para obtener condiciones refinadas

  7. Selecciona el nuevo condicional nodo y encender Propiedades > Spline > Posición .

  8. Selecciona el Porcentaje valor a 80% .

  9. Cambie el menú desplegable a Menos

    Ajustar la condición de posición para la exclusión del segmento final

    Este operador condicional solo devolverá verdadero si el segmento actual está dentro del primer 80% de la longitud de la spline. Cuando se combina con el primer operador condicional, ahora solo obtendremos un segmento de ventilación si se encuentra entre el 20% y el 80% de la longitud de la ranura.

    Resultado final con las rejillas de ventilación excluidas de los segmentos inicial y final

Ejercicio: creación de condiciones basadas en el tipo de segmento spline

Además de la longitud de la spline y la posición de un segmento a lo largo del camino, RailClone también puede probar si la sección de la spline actual es una línea recta o una curva. Esto puede ser extremadamente útil si desea optimizar sus modelos, ya que puede usar una malla de mayor resolución en caminos curvos para que se doble suavemente y una resolución más baja en caminos rectos donde no se requiere deformación. Para utilizar esta función, siga estos pasos:

Configuración de condiciones de tipo spline en RailClone

  1. Encender Propiedades > Spline > Tipo . Asegúrese de que no haya otras casillas marcadas.
  2. Seleccione el tipo de segmento spline que devolverá un resultado Verdadero en la lista desplegable.

En nuestro ejemplo de conductos, usaremos esta característica para crear una sección articulada que se usa solo en curvas, con una transición en cada extremo para compensar el ligero cambio de diámetro. Así es cómo

  1. Seleccionar rc_spline_type y abre el editor de estilos.

  2. Como en los ejemplos anteriores, este estilo incluye dos generadores. El primero se usa para los conductos y el segundo para los ganchos. En este ejemplo, solo tenemos que preocuparnos por el primer generador. También hay 3 segmentos adicionales para las secciones curvas de la ranura. Estos se denominan inicio de plegado. doblar hacia la mitad y doblar final.

    Segmentos utilizados para secciones de conductos curvas

  3. Empecemos con los segmentos predeterminados. Cree un nuevo operador condicional y conecte el segmento de conducto grande a la entrada True. Conecta el operador de condición a la entrada predeterminada del generador.

  4. Conecte el "doblar medio" segmento al FALSO aporte.

  5. Seleccione el operador condicional y active Propiedades > Spline > Tipo . Cambie el menú desplegable Tipo a Línea . Ahora tendrás un segmento diferente en la parte curva de la spline.

    Resultado de la lógica condicional basada en el tipo spline

  6. En los siguientes pasos, agregaremos un segmento de transición entre las secciones rectas y curvas utilizando la entrada Esquina del generador. Al usar operadores condicionales con la entrada de esquina, es importante entender que la esquina usa la sección de spline que precede al vértice para determinar el tipo. Por lo tanto, en la esquina que se muestra arriba, vista de izquierda a derecha, la primera esquina es del tipo Línea, porque la precede inmediatamente una sección recta, mientras que la segunda esquina es del tipo Curva, porque va precedida de la sección arqueada de la spline. Podemos usar esto a nuestro favor para crear esquinas inteligentes que añadan un segmento diferente cuando están al principio y al final de una sección curva o recta de una spline.

  7. El estilo existente tiene un operador de redacción para el segmento de esquina. Agregue dos nuevos nodos condicionales, cada uno entre los segmentos existentes y el operador de redacción.

    Agregar operadores condicionales para transiciones de esquina

  8. Seleccione el operador condicional superior y active Propiedades > Spline > Tipo . Cambiar el tipo a Curva esto asegurará que este segmento solo aparezca en la segundo esquina.

  9. Seleccione el operador condicional inferior y active Propiedades > Spline > Tipo . Cambiar el tipo a Línea esto asegurará que este segmento solo aparezca en la primero esquina.

  10. Conecta el operador de composición a la entrada predeterminada del generador. Ahora tendrá una sección con una transición en rampa en las esquinas, entre los dos tamaños del segmento predeterminado.

Conductos con transiciones suaves en las esquinas

info
Configuración de tipos de segmentos spline

Si una sección de spline se considera una línea o una curva no se determina automáticamente, sino que el usuario debe configurarla manualmente. De forma predeterminada, la mayoría de los objetos spline de Max se crean con segmentos configurados en el tipo «Curva». Para establecer la propiedad del tipo de segmento de spline en una spline utilizada como objeto base, es necesario ir a los subobjetos de segmento de una spline editable, elegir un segmento y hacer clic con el botón derecho para configurarlo como línea o curva.

Configuración de los tipos de segmentos de spline en 3ds Max

Haga clic derecho para establecer el tipo de segmento de spline

Ejercicio: creación de condiciones basadas en el ID de material del segmento spline

Una excelente manera de controlar qué segmentos se usan en una spline es mediante el uso de ID de material. Los objetos Spline editables pueden tener ID de material aplicados a sus segmentos que se pueden usar en RailClone con el operador condicional para crear un número de efectos interesantes. Para usar ID de material, deberá hacer lo siguiente:

Creación de condiciones basadas en Spline Segment

  1. Encender Propiedades > Spline > ID de material .
  2. Elija una ID de material.
  3. Elija si desea devolver Verdadero si la sección spline actual tiene una identificación de material que es igual, no, mayor, menor que, un múltiplo del valor de identificación del material.
info
Configuración de ID de materiales

Para configurar las ID de material en una spline, siga estos pasos.

  1. Cambie el objeto a una Spline editable o agregue un modificador Editar Spline.
  2. Vaya al segmento del nivel del subobjeto spline y seleccione las partes del objeto que desea cambiar.
  3. Ve al Rollout Propiedades de la superficie e ingrese un valor para el parámetro Set Id

Asignación de identificadores de material a segmentos de spline

En el archivo de ejemplo, la spline base que utiliza rc_mat_id_conditional se divide en dos identificadores de material, como se muestra a continuación..

Spline base dividido en dos identificadores de material

Podemos usar esto para que las ventilaciones solo se apliquen a los segmentos spline con un ID de 2 usando el operador condicional. Así es cómo:

  1. Seleccionar rc_mat_id_conditional y abre el Editor de estilos

  2. Crear un nuevo Condicional operador entre el nodo Compose existente y la entrada predeterminada del segundo generador.

    Operador condicional de cableado para lógica basada en ID de material

  3. Encender Propiedades > Spline > ID de material .

  4. Selecciona el Identificación del material valor a 2 . Ahora tendrá ventilaciones sólo en los segmentos spline con el mismo ID.

    Las rejillas de ventilación se aplicaron a una ranura específica. ID de material

info

Otras técnicas para crear reglas condicionales basadas en ID de materiales

Usando el operador selector

Esta no es la única manera de crear relaciones condicionales basadas en ID de materiales. El operador Selector tiene un modo que le permite derivar el valor del índice a partir del ID del material de la spline. Para activarlo simplemente cambia el Selector desplegable a Identificación de materiales.

Operador selector configurado en modo Material ID

Para configurar el ejemplo anterior usando un operador Selector en lugar de un Condicional, intente lo siguiente:

  1. Seleccione rc_mat_id_selector y abra el Editor de estilos

  2. Cree un nuevo operador selector y conéctelo a la entrada predeterminada del generador.

  3. Conecta un nuevo segmento vacío a la primera entrada del nodo selector.

  4. Conecta el nodo Compose a la segunda entrada del nodo selector

  5. Seleccione el nodo Selector y cambie Propiedades > Índice a Spline Mat. ID.

  6. Ahora obtendrá el mismo resultado que si hubiera utilizado el operador condicional. En este ejemplo, el uso de esta técnica tiene pocas ventajas, pero en caso de utilizar múltiples ID, el operador Selector puede crear el mismo efecto que el operador condicional pero con menos nodos. Por ejemplo, si desea utilizar cuatro segmentos y aplicarlos solo a 1 de 4 ID de material, el árbol de nodos condicional tendría este aspecto.

    Lógica condicional compleja que utiliza varios operadores condicionales

    Sin embargo, usar el Operador Selector en el modo ID de Material sería mucho más sencillo:

    Lógica condicional simplificada mediante el operador selector

Uso de las funciones de límite por ID de material de un generador

Además del operador condicional, también es posible limitar todo el generador para que utilice secciones de la ruta spline según el ID del material. Para hacer esto, utilice las opciones de Límite por ID de material del Generador. Esto le indica al generador que solo cree geometría si la sección spline coincide o es menor o mayor que un valor de ID. Es ligeramente diferente de las dos técnicas anteriores porque cada sección aislada con un ID continuo e ininterrumpido se trata como una spline separada con sus propios segmentos de inicio y fin.

Esto puede resultar útil para dividir un spline continuo en secciones, cada una con la posibilidad de utilizar la gama completa de entradas de un generador. Puedes ver un ejemplo de esto en el Bajar bordillo tutorial. En nuestro ejemplo de conductos simplemente crearemos el mismo efecto que el operador Selector y Condicional que se muestra arriba.

  1. Seleccionar rc_mat_id_gen_limits y abra el Editor de estilos.

  2. Seleccione el segundo generador y enciéndalo. Propiedades > Límites > ID de material .

  3. Selecciona el Identificación del material valor a 2 .

Generador limitado por la configuración de Material ID

Los respiraderos solo se generarán en secciones spline con un ID de 2.

Condiciones basadas en vértices

Los siguientes 2 ejercicios exploran las formas en que se puede utilizar el operador condicional para probar los atributos de los vértices del spline.

Ceremonias

Ejercicio: Crear condiciones basadas en el tipo de vértice

Usando el operador condicional, puede usar el tipo de vértice para seleccionar diferentes segmentos. En este modo, el operador condicional devolverá el segmento conectado a la entrada verdadera si el vértice coincide con un tipo específico, seleccionado entre Esquina, Bézier, Bézier-Esquina o Suave.

Por supuesto, para que esto funcione, también necesitará configurar el generador para asegurarse de que el tipo de vértice especificado generará realmente un segmento de esquina. Por ejemplo, si utiliza el operador condicional para comprobar un tipo de vértice liso, pero la configuración de esquinas del generador está establecida en Esquina o Bezier-Esquina, no funcionará porque nunca se generará un segmento de esquina en un vértice liso. En su lugar, tendrá que cambiar la configuración del tipo de esquina del generador a Todos para incluir los vértices del tipo liso (así como vértices de bezier, bezier-corner y corner).

Configuración de tipo de vértice incorrecta para la generación de esquinas

Configuración correcta del tipo de vértice para la generación de esquinas

Para utilizar el operador condicional para probar tipos de vértices:

Configuración de condiciones de tipo vértice en RailClone

  1. Encender Propiedades > Vértice > Tipo . Seleccione el tipo de vértice para que vuelva a ser verdadero entre las siguientes configuraciones: Esquina, Bézier, Suave, Bézier-Esquina. Alternativamente, puedes devolver verdadero si el vértice es No uno de estos 4 tipos.
  2. Asegúrese de que el tipo de vértice en las propiedades del generador incluya el tipo de vértice que está probando.

En nuestro ejercicio de conducción usaremos tipos de vértices para colocar 3 tipos diferentes de juntas, una rama derecha, una rama izquierda y una intersección. Debido a que hay múltiples condiciones para probar, tendremos que crear una cadena de nodos condicionales, cada uno de los cuales prueba un tipo de vértice diferente. Para hacer esto, siga estos pasos.

  1. Seleccione rc_vertex y abra el Editor de estilos. Hay dos segmentos de esquina que ya están en el estilo y que deben conectarse al primer generador.

  2. Cree un nuevo operador condicional. Conecte el segmento Joint 4 Outlets a la entrada verdadera del operador condicional.

  3. Seleccione el operador condicional y active Propiedades > Vértice > Tipo . Seleccionar Esquina de Bézier en el menú desplegable.

    Condición de vértice de Bezier-Corner en el operador condicional

  4. Cree un segundo operador condicional y conecte el primero a su entrada Falsa. Conecta el segmento Joint 3 Outlets a su entrada verdadera.

    Condición del vértice de esquina en el operador condicional

  5. Seleccione el nuevo operador condicional y active Propiedades > Vértice > Tipo . Seleccionar Esquina en el menú desplegable.

    Condición de vértice suave en el operador condicional

  6. Ya sabes, tienes una intersección creada por vértices lisos y una rama justo en los vértices de las esquinas. Para terminar, crearemos un tercer operador condicional para crear un segmento bifurcado a la izquierda. Conecta el segundo operador condicional a la entrada falsa del tercer operador condicional.

  7. Seleccione el tercer operador condicional y active Propiedades > Vértice > Tipo . Seleccionar Liso en el menú desplegable.

    Configuración del operador espejo para el segmento izquierdo de la bifurcación

  8. Cree un nuevo operador Mirror y conecte el segmento Joint 3 Outlets a su entrada. Vaya a las propiedades del nodo Mirror y cambie el eje a Y.

  9. Conecte el nodo Espejo al tercer nodo Condicional Verdadero aporte.

    Cableado del segmento reflejado a la entrada verdadera del operador condicional

  10. cablear el tercero Condicional nodo al generador Esquina aporte.

Ahora deberías tener 3 tipos de esquinas diferentes mostrados a lo largo de la spline. Experimente cambiando los tipos de vértices en el spline para ver los 3 operadores condicionales en acción.

Conductos con tres tipos de esquinas diferentes

consejo

La condición de tipo de vértice se usa generalmente junto con la entrada de esquina de un generador para crear diferentes tipos de esquinas, como vimos en los ejemplos anteriores. Sin embargo, también se puede usar con la entrada predeterminada, en cuyo caso el nodo condicional comprueba el vértice al principio de la sección de spline actual.

Ejercicio: crear condiciones basadas en el ángulo de la esquina

Además del tipo de vértice, el operador condicional también puede evaluar si la esquina actual es mayor o menor que un valor especificado. Para utilizar esta función, utilice el siguiente procedimiento.

Configuración de la condición del ángulo en el operador condicional

  1. Encender Propiedades > Vértice > Ángulo . Introduzca un valor para el Ángulo parámetro.

  2. Elija si el ángulo debe evaluarse entre 0 y 180 grados o entre 0 y 360 grados. Aquí se utiliza el rango completo de 0 a 360 grados..

    Configuración de evaluación de ángulo amplio en el operador condicional

  3. Elija si desea devolver True si la esquina actual es Mayor que o Menos que el valor de Ángulo.

En nuestro ejemplo de conductos, eliminaremos automáticamente los segmentos de esquina creados en los ejercicios anteriores, a menos que la esquina esté cerca de 180 grados. Esto permitirá esquinas biseladas además de uniones preformadas.

  1. Continua con rc_vértice y abre el editor de estilos.

  2. Agrega un cuarto Condicional operador entre los nodos condicionales existentes y la entrada de la esquina del generador.

  3. Seleccione el nuevo nodo condicional y active Propiedades > Vértice > Ángulo.

  4. Introduzca un valor de 179 grados en el campo Ángulo..

  5. Asegúrese de que Check Wide Angles esté desactivado.

Ahora puedes crear secciones biseladas y curvas, además de agregar 3 tipos de unión. Cuando una esquina tiene menos de 180 grados, los segmentos de unión se desactivan automáticamente.

Conductos con uniones biseladas y preformadas

Condiciones basadas en segmentos

En la sección final sobre el operador condicional veremos cómo se puede utilizar para probar los atributos de los segmentos de la matriz.

Ejercicio: creación de condiciones basadas en el recuento de segmentos

El operador condicional puede usar el número del segmento actual en la matriz medido con respecto a un valor fijo para devolver uno de dos segmentos. Funciona contando el número de segmentos en el eje X o Y y luego devuelve verdadero o falso dependiendo de si el número es igual, diferente, mayor, menor que o múltiplo de un valor establecido. Para utilizar este modo:

Creación de condiciones basadas en el recuento de segmentos

  1. Encender Propiedades > Segmento > Contador X o Contador Y . Introduzca un valor de recuento
  2. Elija si desea devolver Verdadero si el segmento actual tiene un recuento X o Y que es igual, distinto, mayor, menor que o múltiplo del valor del recuento.
info

Usando la opción Múltiple-De, este operador se puede usar para crear segmentos en ciertos intervalos. En nuestro ejemplo de aire acondicionado aprovecharemos esta característica para cambiar el espacio de las rejillas de ventilación laterales a lo largo de los conductos. Para hacer esto:

  1. Seleccionar rc_segmento_count y abra el Editor de estilos.
  2. Conecta el operador Compose existente a la entrada True de un nuevo operador condicional. Conecta el nodo condicional a la entrada predeterminada del generador.
  3. Seleccione el nodo Condicional y actívelo Propiedades > Segmento > Contador X .
  4. Establezca el modo en múltiplo de y establezca el valor en 5 . Ahora obtendrá un respiradero en cada dos bahías.
  5. Intente experimentar con diferentes valores. Notarás que solo funcionan los números impares, esto se debe a que las rejillas de ventilación y los colgadores se alternan, por lo que los colgadores aterrizan en números pares mientras que los respiraderos están en números impares.
info

En este capítulo, cada una de estas pruebas condicionales se ha creado en un estilo diferente para mayor claridad, pero, por supuesto, no hay ninguna razón por la que no se puedan combinar todas. En chapter_9_ducting_end.max encontrará un estilo que combina muchos de los ejercicios de este capítulo. Este estilo utiliza las siguientes condiciones:

  • Tipo de vértice. Elija entre 3 tipos de unión usando Suave, Esquina y Bézier - Esquina
  • Identificación de materiales. elija activar o desactivar las ventilaciones laterales usando el ID de material 1 o 2
  • Tipo de segmento spline. utilice segmentos de línea para conductos regulares y curvas para conductos articulados.
  • Contador de segmentos. Se utiliza para cambiar el espacio entre las rejillas de ventilación laterales
  • Operador selector. Enciende y apaga las parrillas de los extremos.

Siéntase libre de experimentar y adaptar este estilo para saber cuántos nodos condicionales pueden trabajar juntos para crear un estilo altamente adaptable.

Relaciones condicionales combinadas en estilo de conductos

Uso del operador selector para crear relaciones condicionales

Para un uso más avanzado, el operador selector también se puede utilizar para crear relaciones condicionales. Hay dos maneras de hacer esto. Puede utilizar el modo integrado del operador para asignar segmentos según las ID de los materiales, como se demostró anteriormente en este capítulo. O puede exportar el valor del Índice y usarlo junto con el nodo Aritmética para crear declaraciones condicionales más complejas basadas en variables integradas.

Ambas técnicas le permiten crear relaciones condicionales con menos nodos de los que es posible con el operador condicional, pero el uso del nodo aritmético también le brinda acceso a algunas variables que no están disponibles en otros lugares. Puedes ver una lista completa en Capítulo 3 - Cableado y atributos, pero para explicar cómo usar Expresiones con el operador Selector nos centraremos en solo uno: el atributo Posición en Y Spline al que no se puede acceder desde el operador Condicional.

Ejercicio: creación de condiciones utilizando el operador selector y expresiones

El nodo aritmético es capaz de crear expresiones condicionales mediante sentencias If. La sintaxis de una sentencia if es bastante sencilla.

if(p,q,r);

Donde p es la condición que se está probando, q es el valor que se obtiene si la prueba es verdadera y r es el valor que se genera si la prueba arroja un resultado falso. También es posible anidar sentencias If con este formato.

if(p,q,if(p,q,r))

En la práctica, puede que le resulte mucho más claro formatear las expresiones para que las sentencias if estén en líneas separadas, especialmente si tiene muchas:

if(p,q,
if(p,q,
if(p,q,
if(p,q,
r))))

En este ejercicio usaremos esta técnica para agregar la parte superior e inferior a un pilar que tendrá una altura ajustable. Este estilo está formado por 3 segmentos en una matriz bidimensional. Los pilares se agregarán a la entrada Uniformemente para que podamos controlar fácilmente su espaciado. Para crear esto, siga estos pasos.

  1. Abierto chapter_9_pillar_start.max desde el Descargar para esta guía.

  2. Seleccione el objeto RailClone y abra el editor de estilos. Todos los segmentos necesarios ya se han agregado al estilo.

  3. Crear un nuevo Selector operador.

  4. A continuación, conectaremos los segmentos a las entradas del operador selector. El orden es importante: la numeración del índice se construye desde la parte superior de la lista con un origen de 1. Conecte la parte superior del pilar a la entrada 1, el pilar medio a la entrada 2 y el pilar desde abajo a la entrada 3.

  5. Conecte el nodo selector a las entradas del lado izquierdo , derecho , X de manera uniforme y esquina interior del generador. Excepto los laterales, ninguna de estas entradas tiene una forma de apuntar a la parte superior e inferior de la columna, así que crearemos una expresión en su lugar.

  6. Haga clic derecho en el nodo Selector y Exportar el índice .

    Exportación del parámetro de índice desde el operador selector

  7. Cree un nuevo nodo aritmético y conéctelo al conector Index. 8. Seleccione el nodo aritmético y cambie el modo a Expresión. 9. Abra el editor de expresiones e introduzca lo siguiente:

    if(YSplinePosition=0,3,
    if(YSplinePosition=1,1,
    2))

    Como puede ver, esta es una declaración If anidada que prueba la posición de un segmento en el eje Y. La posición se mide desde 0,0 al inicio de la matriz hasta 1,0 al final. La primera declaración if prueba para ver si el segmento está al inicio de la spline (YSplinePosition=0.0); si devuelve verdadero, la expresión genera el valor 3 al operador selector que selecciona la parte inferior del pilar. Si es falso, entonces prueba la segunda expresión If que verifica si el segmento está al final de la spline (YSplinePosition=1.0), si esto devuelve verdadero, entonces la expresión genera el valor 1 al operador Selector que selecciona el parte superior del pilar. Si esto devuelve falso, entonces genera un valor de 2 que le indica al operador del selector que elija el pilar central.

    Generación dinámica de pilares basada en la posición de la spline en Y

Al utilizar la instrucción if en el operador aritmético de esta manera, puede acceder a muchas variables ocultas en RailClone y crear relaciones condicionales más sofisticadas entre partes sin tener que crear muchos nodos adicionales.

Tutoriales relacionados

Rollout general

Crear un bordillo de caída

En este tutorial de Consejos y trucos, analizamos cómo se puede utilizar RailClone para colocar bordillos utilizando ID de material asignados a la spline base.

Rollout general

Crear libros aleatorios

En este tutorial explicamos cómo utilizar operadores condicionales para probar la posición en un segmento spline y evitar que los libros se creen demasiado cerca de los extremos de un estante donde podrían cruzarse con los elementos verticales de una estantería.

Rollout general

Crear suelos de parquet

En este ejercicio utilizamos el operador Condicional para crear el patrón en el piso Strip. Usando el operador condicional, se agrega una tabla de tamaño medio al primer segmento en filas alternas para crear un patrón desplazado en el piso.

Rollout general

Creando acristalamiento tipo araña

En el tutorial de acristalamiento de araña, mostramos cómo usar el operador condicional para apuntar a partes de una matriz que normalmente no tienen una entrada. Al probar la posición de los segmentos y contar con la spline Y, es posible agregar segmentos al inicio y al final de una columna.

Documentación

Para obtener más información, consulte el Operadores . Matrices 1D - Generador L1S , y Arreglos 2D - Generador A2S, secciones de la documentación en línea.