Ya hemos definido todos los valores de parámetros necesarios para que el modelo calcule los números de pieza. La última regla que se escribe pasa los números de pieza y otros valores de parámetros asociados con este archivo a una hoja de cálculo Excel. Algunos de estos números de pieza se encuentran en iParts y esta regla ha generado el número de pieza del tornillo.
El archivo update_excel_spreadsheet_rule utiliza un conjunto de funciones disponibles en la categoría Vínculos de datos de Excel, en el área Fragmentos del cuadro de diálogo Editar regla.
Esta regla se coloca en las celdas pertinentes según el estado del modelo. En la hoja de cálculo, todas las celdas a las que se pasan datos se les han asignado nombres que se corresponden con la información que se guarda en ellas.
GoExcel.CellValue("part_number.xls", "Sheet1", "Block_Type") = component_type GoExcel.CurrentCellValue("Block_Style") = block GoExcel.CurrentCellValue("Block_Part_Number") = iProperties.Value("manifold_block:1", "Project", "Part Number")
En esta sección se hace referencia al archivo de hoja de cálculo part_number.xls, incluido en este proyecto de aprendizaje. A continuación, se definen los valores de las celdas Block_Type, Block_Style y Block_Part_Number. Los dos primeros valores se establecen a partir de parámetros de ensamblaje; el último valor se establece a partir de la iProperty Número de pieza del bloque.
GoExcel.CurrentCellValue("port_a_size") = port_a_size If block = "tee" Then GoExcel.CurrentCellValue("port_b_size") = port_b_size Else GoExcel.CurrentCellValue("port_b_size") = "N/A" End If GoExcel.CurrentCellValue("port_c_size") = port_c_size
Fíjese en que se utiliza un valor de marcador de posición de N/D para un bloque múltiple con estilo de codo.
GoExcel.CurrentCellValue("block_depth") = Parameter("manifold_block:1", "block_depth") GoExcel.CurrentCellValue("block_width") = Parameter("manifold_block:1", "block_width") GoExcel.CurrentCellValue("block_height") = Parameter("manifold_block:1", "block_height")
Fíjese en la referencia al componente manifold_block:1 en esta sección.
GoExcel.CurrentCellValue("port_a_union_cap") = port_a_union_part_number GoExcel.CurrentCellValue("port_a_screw_kit") = port_a_screw_part_number If block = "tee" Then GoExcel.CurrentCellValue("port_b_union_cap") = port_b_union_part_number GoExcel.CurrentCellValue("port_b_screw_kit") = port_b_screw_part_number Else GoExcel.CurrentCellValue("port_b_union_cap") = "N/A" GoExcel.CurrentCellValue("port_b_screw_kit") = "N/A" End If GoExcel.CurrentCellValue("port_c_union_cap") = port_c_union_part_number GoExcel.CurrentCellValue("port_c_screw_kit") = port_c_screw_part_number
Al igual que en el caso de port_b_size de una sección anterior de la regla, fíjese en el control condicional de los valores relacionados con Port B.
GoExcel.Save