Zarządzanie konfiguracjami części

Przejdziemy teraz do pozostałych dwóch tematów wymienionych na początku tych ćwiczeń:

iLogic zawiera wbudowane funkcje odczytujące informacje z arkuszy kalkulacyjnych Excel. Funkcje te są dostępne w polu Szablony kodu, na karcie System, po rozwinięciu węzła Łącza danych Excel.

W tym ćwiczeniu utworzymy regułę wykorzystującą wartości z osadzonego arkusza kalkulacyjnego Excel do określania wartości parametrów sterujących geometrią gniazda w oparciu o wybrany rozmiar. Reguła taka wyszukuje rozmiar gniazda w arkuszu, by zidentyfikować wiersz wartości. Następnie odczytuje ona pola tego wiersza i pobiera odpowiednie wartości parametrów.

Blok teownikowy zawiera trzy gniazda. Każde z gniazd jest wymienione w oknie dialogowym Parametry. Zmiana rozmiaru gniazda w oknie dialogowym Parametry nie powoduje jednak zmiany rozmiaru gniazda w modelu. Konieczne jest dodanie reguł sterujących poszczególnymi rozmiarami gniazd.

W pierwszej kolejności dodamy regułę określającą rozmiar gniazd i wymiary szyków śrub wokół każdego z gniazd. Szyk śrub służy do mocowania kołnierza do bloku w zespole.

  1. W przeglądarce modeli Autodesk Inventor rozwiń węzeł Niezależne w drzewie.
  2. Kliknij prawym przyciskiem myszy Osadzenie 1 i wybierz polecenie Edycja, by uzyskać dostęp do osadzonego arkusza kalkulacyjnego.
  3. Dodaj regułę o nazwie port_size_rule i kliknij przycisk OK, aby otworzyć okno dialogowe Edycja reguły.

    W pierwszej kolejności reguła musi zlokalizować w arkuszu wiersz zawierający wartości Gniazda A. Wyszukujemy wartość pasującą do parametru port_a_size w kolumnie o nazwie port_size.

  4. W obszarze Szablony kodu okna dialogowego, na karcie System, znajdź funkcję o nazwie FindRow (wbudowany) w węźle Łącza danych Excel. Kliknij dwukrotnie funkcję, aby wstawić ją do pola tekstowego.

    Kopia bloku kodu

    i = GoExcel.FindRow(“3rd Party:Embedding 1”, “Sheet1”, “columnName”, “<=”, 0.2)
  5. Po wstawieniu szablonu tej funkcji do reguły zamień pierwsze wystąpienie columnName na port_size, pierwsze wystąpienie „<=” na „=”, a 0.2 na port_a_size.

    Kopia bloku kodu

    i = GoExcel.FindRow("3rd Party:Embedding 1", "Sheet1", "port_size", "=", port_a_size)

    Ten fragment kodu oznacza, że w osadzonym arkuszu ma być wyszukiwany wiersz zawierający kolumnę port_size równą wartości parametru port_a_size.

  6. Dodaj serię parametrów w oparciu o wartości komórek w tym wierszu arkusza kalkulacyjnego. Parametry te sterują średnicą gniazda, głębokością otworów i odległością pomiędzy otworami śrubowymi. Użyj funkcji o nazwie CurrentRowValue w węźle Łącza danych Excel w obszarze Szablony kodu.

    Kopia bloku kodu

     i = GoExcel.CurrentRowValue("columnName")

    Zmień szablon kodu według poniższego przykładu.

    Kopia bloku kodu

    port_a_y_dist_between_screw = GoExcel.CurrentRowValue("y_dist_between_screw")
    port_a_x_dist_between_screw = GoExcel.CurrentRowValue("x_dist_between_screw")
    port_a_port_dia = GoExcel.CurrentRowValue("port_dia")
    Port_A_Drill_Depth = GoExcel.CurrentRowValue("tap_drill_depth")
    Uwaga: Pamiętaj, że możesz wybierać obiekty na karcie Model okna dialogowego Edycja reguły, by wyświetlać poszczególne zestawy parametrów modelu.
  7. Aby zdefiniować gwint otworów, wstaw element o nazwie ThreadDesignation w węźle Elementy obszaru Szablony kodu.

    Kopia bloku kodu

    Feature.ThreadDesignation("featurename") = “3/8-16 UNC”

    Zmień tekst, jak pokazano.

    Kopia bloku kodu

    Feature.ThreadDesignation("Port_A_Threads") = GoExcel.CurrentRowValue("tap_dim")

    Wskazaliśmy, że w celu uzyskania oznaczenia gwintu otworów śrubowych należy użyć komórki tap_dim.

  8. Gdy instrukcje dla parametrów Gniazda A są kompletne, utwórz instrukcje dla Gniazda B i Gniazda C. Skopiuj tekst utworzonej reguły i wklej go dwukrotnie. W pierwszej wklejonej kopii zmień odniesienia port_a na port_b. W drugiej wklejonej kopii zmień odniesienia port_a na port_c. Wynikiem powinny być trzy bloki kodu, każdy odwołujący się do jednego z trzech gniazd.

    Kopia bloku kodu

    i = GoExcel.FindRow("3rd Party:Embedding 1", "Sheet1", "port_size", "=", port_a_size)
    port_a_y_dist_between_screw = GoExcel.CurrentRowValue("y_dist_between_screw")
    port_a_x_dist_between_screw = GoExcel.CurrentRowValue("x_dist_between_screw")
    port_a_port_dia = GoExcel.CurrentRowValue("port_dia")
    Port_A_Drill_Depth = GoExcel.CurrentRowValue("tap_drill_depth")
    Feature.ThreadDesignation("Port_A_Threads") = GoExcel.CurrentRowValue("tap_dim")
    
    i = GoExcel.FindRow("3rd Party:Embedding 1", "Sheet1", "port_size", "=", port_b_size)
    port_b_y_dist_between_screw = GoExcel.CurrentRowValue("y_dist_between_screw")
    port_b_x_dist_between_screw = GoExcel.CurrentRowValue("x_dist_between_screw")
    port_b_port_dia = GoExcel.CurrentRowValue("port_dia")
    Port_B_Drill_Depth = GoExcel.CurrentRowValue("tap_drill_depth")
    Feature.ThreadDesignation("Port_B_Threads") = GoExcel.CurrentRowValue("tap_dim")
    
    i = GoExcel.FindRow("3rd Party:Embedding 1", "Sheet1", "port_size", "=", port_c_size)
    port_c_y_dist_between_screw = GoExcel.CurrentRowValue("y_dist_between_screw")
    port_c_x_dist_between_screw = GoExcel.CurrentRowValue("x_dist_between_screw")
    port_c_port_dia = GoExcel.CurrentRowValue("port_dia")
    Port_C_Drill_Depth = GoExcel.CurrentRowValue("tap_drill_depth")
    Feature.ThreadDesignation("Port_C_Threads") = GoExcel.CurrentRowValue("tap_dim")
  9. Kliknij przycisk OK w edytorze reguł iLogic, aby zapisać regułę port_size_rule. Tworzony model może zostać zaktualizowany lub nie, zależnie od wstępnych ustawień parametrów rozmiaru gniazd w iLogic.

Wstecz | Dalej