Inventor

Puntuación de la comunidad

¿Le ha sido útil esta página?

Etiquetas Etiquetas0

Esta página no tiene etiquetas

Page statistics

2117 vistas1 edicione(s)30417 carácter(es) Page last modified 06:26, 6 May 2011 by daturach
Cómo añadir información

Creación de reglas en el ensamblaje

    Tabla de contenidos
    No headers

    En las lecciones siguientes, creará una serie de reglas para administrar el contenido del ensamblaje.

    Paso de parámetros del ensamblaje a las piezas

    Este modelo incluye una pieza denominada manifold_block:1, que contiene reglas de iLogic. Se debe pasar el parámetro de nivel de ensamblaje a la pieza.

    1. Cree una regla denominada assembly_to_parts_rule.

      Esta regla define los parámetros en la pieza según los valores correspondientes de los parámetros de control en el ensamblaje. La función Parámetro especifica el nombre del componente y el del parámetro.

      Copie el bloque de código

      Parameter("manifold_block:1", "block") = block 
      Parameter("manifold_block:1", "component_type") = component_type
      Parameter("manifold_block:1", "port_a_size") = port_a_size
      Parameter("manifold_block:1", "port_b_size") = port_b_size
      Parameter("manifold_block:1", "port_c_size") = port_c_size
    2. Pulse Aceptar cuando haya terminado esta regla.

    Edición de reglas de nivel de pieza en un ensamblaje

    En el aprendizaje Pieza de bloques múltiples, hemos añadido una regla a la pieza de bloques múltiples que controla los estilos T y Codo. También se debe añadir en el nivel de ensamblaje. En lugar de volver a escribir la regla existente, se copia el original.

    1. Haga doble clic en manifold_block:1 en el navegador de modelos. El resto de los componentes se convierten en transparentes.
    2. En la cinta de opciones, haga clic en ficha Administrarpanel iLogic Navegador de reglas.
    3. Haga doble clic en component_type_rule.
    4. Copie el texto de la regla en el portapapeles.
    5. Pulse Cancelar en el cuadro de diálogo Editar regla para cerrarlo.
    6. Haga doble clic en my_manifold_block.iam en el navegador de modelos.
    7. Añada una nueva regla llamada component_type_rule.
    8. Pegue el texto de la regla copiado de component_type_rule en el área de texto de la regla del cuadro de diálogo Editar regla.

      Copie el bloque de código

      If component_type = "standard" Then
      port_b_size = port_a_size
      port_c_size = port_a_size
      End If
    9. Pulse Aceptar para guardar esta regla de nivel de ensamblaje.

    Añada port_a_rule

    Cuando se cambia el tamaño de puerto de Port A, se deben realizar varias tareas:

    • Cambiar el tamaño de puerto.
    • Actualizar el número de iPart.
    • Si es necesario, cambie el tamaño del tornillo, la ubicación del tornillo y el número de pieza.

    Se añade una regla para hacerlo:

    1. Asegúrese de que el ensamblaje de bloque múltiple esté activo.
    2. Cree una regla denominada port_a_rule.

      La primera parte de esta regla ajusta el espaciado del patrón del tornillo según la información almacenada en la tabla iPart de la pieza de unión.

    3. Añada un bloque de código que busque la fila que se está utilizando según el parámetro port_a_size. A continuación, asigne valores a dos parámetros de ensamblaje desde otras dos columnas.

      Copie el bloque de código

      i = iPart.FindRow("port_a_union", "port_size", "=", port_a_size)
      port_a_y_dist_between_screws = iPart.CurrentRowValue("y_dist_betwn_screw")
      port_a_x_dist_between_screws = iPart.CurrentRowValue("x_dist_betwn_screw")
      NotaLas sentencias relativas a iPart que se utilizan aquí pueden encontrarse en el área Fragmentos bajo el nodo iParts de la ficha Sistema.

      La siguiente pieza de la regla selecciona la correspondiente fila de iPart dentro de la pieza del tornillo según el tamaño de puerto seleccionado.

    4. Utilice una serie de sentencias de If para establecer el miembro de iPart pertinente conforme al valor actual del parámetro port_a_size.

      Copie el bloque de código

      If port_a_size = .50 Then
      iPart.ChangeRow("port_a_union_screw", "Screw-01") 
      ElseIf port_a_size = 0.75 Then 
      iPart.ChangeRow("port_a_union_screw", "Screw-02")
      ElseIf port_a_size = 1.00 Then
      iPart.ChangeRow("port_a_union_screw", "Screw-02")
      ElseIf port_a_size = 1.25 Then
      iPart.ChangeRow("port_a_union_screw", "Screw-03")
      ElseIf port_a_size = 1.50 Then
      iPart.ChangeRow("port_a_union_screw", "Screw-04")
      ElseIf port_a_size = 2.00 Then
      iPart.ChangeRow("port_a_union_screw", "Screw-04")
      ElseIf port_a_size = 2.50 Then
      iPart.ChangeRow("port_a_union_screw", "Screw-05")
      ElseIf port_a_size = 3.00 Then
      iPart.ChangeRow("port_a_union_screw", "Screw-06")
      End If
    5. En la última parte de esta regla, añada una sentencia que obtenga el número de pieza para brida abierta y la almacene en un parámetro de ensamblaje, que se utiliza en otra regla más adelante en este aprendizaje.

      Copie el bloque de código

      port_a_union_part_number = iProperties.Value("port_a_union", "Project", "Part Number")
    6. Pulse Aceptar para guardar la regla y guardar el archivo de ensamblaje.

    Añada port_b_rule

    Port B es diferente de Port A y Port C, ya que no existe en un bloque múltiple con estilo de codo. Si el bloque múltiple tiene un estilo de codo, debe desactivarse la cubierta de unión y los tornillos de unión que se utilizan para este puerto. También debe desactivarse las restricciones de coincidencia asociadas con la cubierta de unión.

    Debido al hecho de desactivar componentes, establecemos un nivel de detalle antes de escribir la regla. Las reglas que afectan a elementos relacionados con el nivel de detalle de un ensamblaje precisan que se defina y guarde un nivel de detalle personalizado antes de escribir las reglas. Si el nivel de detalle personalizado no está definido, iLogic genera un mensaje de error.

    Definición de un nivel de detalle

    1. En el navegador de modelo, expanda el nodo Representaciones y, a continuación, el nodo Nivel de detalle.
    2. Con el botón derecho, pulse el nodo Nivel de detalle y seleccione Nuevo nivel de detalle.

      Se añade un nuevo nivel de detalle.

    3. Haga doble clic lentamente en LevelofDetail1 y cámbiele el nombre a iLogic.

    Escritura de la regla

    Ya se puede escribir la regla.

    1. Cree una regla denominada port_b_rule.
    2. En la primera parte de la regla, determine si crear un bloque con estilo en T y almacene este rasgo en la variable independiente isTee. La variable isTee contiene un valor de True o False.

      Copie el bloque de código

      If block = "elbow" Then
      isTee = False
      ElseisTee = True
      End If

      Usaremos esta variable posteriormente para definir otros parámetros.

    3. Añada líneas a la regla para desactivar las restricciones que localizan la unión y el tornillo de unión cuando el bloque múltiple tiene un estilo de codo. Active las restricciones cuando el bloque múltiple tenga un estilo en T.

      Copie el bloque de código

      Constraint.IsActive("port_b_cap_center") = isTee
      Constraint.IsActive("port_b_cap_hole") = isTee
      Constraint.IsActive("port_b_cap_face") = isTee
      Constraint.IsActive("port_b_cap_screw") = isTee

      Tenga en cuenta que es posible utilizar la variable isTee para activar o desactivar estas restricciones según el valor del parámetro block.

      NotaLa convención de denominación que se utiliza para estas restricciones se ha hecho más sencilla para hacer referencia a ellas en esta regla. Recuerde que la información del árbol del modelo que hay en el cuadro de diálogo Editar regla también sirve para completar los nombres de las restricciones.
    4. Añada dos líneas que incluyan de forma condicional la pieza port_b_union y el correspondiente patrón de tornillo:

      Copie bloque de código

      Component.IsActive("port_b_union") = isTee
      Component.IsActive("port_b_screw_pattern") = isTee

      Estas líneas utilizan la variable isTee. Cuando el patrón de tornillo está desactivado, el componente de tornillo también se desactiva.

    5. En el caso de ejemplares que utilicen Port B, añada una sección que defina el tamaño de puerto, los valores de parámetros del patrón de tornillo y el número de pieza de port_b_union.

      Copie el bloque de código

      if isTee Then
      i = iPart.FindRow("port_b_union", "port_size", "=", port_b_size)
      port_b_y_dist_between_screws = iPart.CurrentRowValue("y_dist_betwn_screw")
      port_b_x_dist_between_screws = iPart.CurrentRowValue("x_dist_betwn_screw")
      port_b_union_part_number = iProperties.Value("port_b_union", "Project", "Part Number")
      End If

      Todo este bloque dentro se debe incluir dentro de una sentencia de If isTee, con el fin de que estas líneas se procesen únicamente en el caso de un bloque múltiple con estilo en T. La sentencia If isTee Then es equivalente a If isTee = True Then, pero proporciona un formato de expresión más conciso.

      En primer lugar, se elige la fila pertinente en la tabla de iPart de la pieza de unión, correspondiente al valor del parámetro port_b_size; a continuación, se extraen los valores para utilizar los desfases de patrón x e y. Después, se extrae el número de pieza de unión y su valor se almacena en otro parámetro para usarse como referencia posteriormente.

    6. En la última parte de esta regla, se elige el miembro de la tabla de iPart de la pieza de tornillo que se va a utilizar para Port B. Se basa en el valor del parámetro port_b_size. Utilice una serie de sentencias If/Then/Else para controlarlo.

      Copie el bloque de código

      If port_b_size = .50 then
      iPart.ChangeRow("port_b_union_screw", "Screw-01")
      elseif port_b_size = .75 then
      iPart.ChangeRow("port_b_union_screw", "Screw-02")
      elseif port_b_size = 1.00 then
      iPart.ChangeRow("port_b_union_screw", "Screw-02")
      elseif port_b_size = 1.25 then
      iPart.ChangeRow("port_b_union_screw", "Screw-03")
      elseif port_b_size = 1.50 then
      iPart.ChangeRow("port_b_union_screw", "Screw-04")
      elseif port_b_size = 2.00 then
      iPart.ChangeRow("port_b_union_screw", "Screw-04")
      elseif port_b_size = 2.50 then
      iPart.ChangeRow("port_b_union_screw", "Screw-05")
      elseif port_b_size = 3.00 then
      iPart.ChangeRow("port_b_union_screw", "Screw-06")
      End If
    7. Pulse Aceptar para cerrar el cuadro de diálogo y, a continuación, guarde la regla.
    8. Guarde el archivo de ensamblaje.

    Añada port_c_rule

    La regla para Port C es casi la misma que para Port A, con una excepción: todo lo que hace referencia a Port A debe hacer referencia a Port C en su lugar.

    1. Abra el Navegador de reglas.
    2. Haga doble clic en port_a_rule.
    3. Utilice el ratón para resaltar toda la regla.
    4. Pulse Ctrl+C para copiar el texto de la regla.
    5. Pulse Aceptar en el cuadro de diálogo Editar regla para cerrarlo.
    6. Añada una nueva regla llamada port_c_rule.
    7. En el cuadro de diálogo Editar regla, pulse en el texto de la regla y pulse Ctrl +V para pegar la regla.
    8. Pulse la ficha Buscar y reemplazar, en la parte superior del cuadro de diálogo.
    9. Escriba port_a en Buscar.
    10. Escriba port_c en Reemplazar por.
    11. Coloque una marca de selección en Distinguir mayúsculas/minúsculas.
    12. Pulse Reemplazar todo en esta regla.

      Copie el bloque de código

      i = iPart.FindRow("port_c_union", "port_size", "=", port_c_size)
      port_c_y_dist_between_screws = iPart.CurrentRowValue("y_dist_betwn_screw")
      port_c_x_dist_between_screws = iPart.CurrentRowValue("x_dist_betwn_screw")
      
      If port_c_size = .50 then
      iPart.ChangeRow("port_c_union_screw", "Screw-01")
      elseif port_c_size = .75 then
      iPart.ChangeRow("port_c_union_screw", "Screw-02")
      elseif port_c_size = 1.00 then
      iPart.ChangeRow("port_c_union_screw", "Screw-02")
      elseif port_c_size = 1.25 then
      iPart.ChangeRow("port_c_union_screw", "Screw-03")
      elseif port_c_size = 1.50 then
      iPart.ChangeRow("port_c_union_screw", "Screw-04")
      elseif port_c_size = 2.00 then
      iPart.ChangeRow("port_c_union_screw" "Screw-04")
      elseif port_c_size = 2.50 then
      iPart.ChangeRow("port_c_union_screw", "Screw-05")
      elseif port_c_size = 3.00 then
      iPart.ChangeRow("port_c_union_screw", "Screw-06")
      End If
      
      port_c_union_part_number = iProperties.Value("port_c_union", "Project", "Part Number")
    13. Pulse Aceptar para cerrar el cuadro de diálogo.
    14. Guarde el archivo de ensamblaje.

    Anterior | Siguiente