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.
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.
i = GoExcel.FindRow(“3rd Party:Embedding 1”, “Sheet1”, “columnName”, “<=”, 0.2)
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.
i = GoExcel.CurrentRowValue("columnName")
Zmień szablon kodu według poniższego przykładu.
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("featurename") = “3/8-16 UNC”
Zmień tekst, jak pokazano.
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.
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")