Запись данных в таблицу Excel

На данный момент определены значения всех параметров, необходимых модели для вычисления номеров деталей. Последнее создаваемое правило передает связанные с этим файлом номера деталей и значения других параметров в таблицу Excel. Некоторые из этих номеров относятся к параметрическим деталям, а это правило формирует номер детали для винта.

В правиле update_excel_spreadsheet_rule используется набор функций, доступных в категории ссылок на данные Excel, которая находится в области "Фрагменты" диалогового окна "Редактировать правило".

  1. Добавьте новое правило с именем update_excel_spreadsheet_rule.

    Это правило заполняет нужные ячейки в зависимости от информации о состоянии модели. Названия всех ячеек таблицы, в которые передаются данные, соответствуют записываемой в них информации.

  2. Создайте первую часть правила, которая открывает таблицу и записывает в ячейки три первых значения.

    Копировать блок кода

    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")

    В этой части создается ссылка на файл таблицы part_number.xls, включенный в этот учебный проект. Затем задайте значения для ячеек Block_Type, Block_Style и Block_Part_Number. Два первых значения устанавливаются в зависимости от параметров сборки, а последнее - на основании свойства Inventor Номер детали для блока.

  3. Создайте следующую часть правила, которая записывает в таблицу три значения размеров канала.

    Копировать блок кода

    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

    Обратите внимание на использование значения заполнителя N/A для коллектора типа "колено".

  4. Добавьте следующую часть правила, которая назначает ячейкам значения на основании параметров, содержащихся в компоненте коллектора.

    Копировать блок кода

    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")

    Обратите внимание на ссылку на компонент manifold_block:1 в этом разделе.

  5. Добавьте к правилу еще один раздел, в котором выполняется назначение значений ячеек на основании номеров деталей компонента соединения и винтов (согласно вычислениям, выполненным в screw_part_number_rule.

    Копировать блок кода

    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

    Как и в случае с port_b_size в предыдущей части этого правила, обратите внимание на условную обработку значений, относящихся к Port B.

  6. После этого сохраните изменения в таблице. Используйте функцию GoExcel.Save, доступную в узле "Ссылки на данные Excel" области "Фрагменты"

    Копировать блок кода

    GoExcel.Save
  7. Чтобы сохранить и закрыть правило, нажмите кнопку ОК. Во время выполнения правила при закрытии происходит обновление таблицы. После выполнения правило автоматически закрывает таблицу.
  8. Откройте файл part_number.xls с помощью Excel и проверьте, обновился ли он. Закройте документ таблицы перед следующим выполнением правила, так как правило не может обновить таблицу, если она открыта в Excel.

Назад | Далее