我們現在將涵蓋此自學課程開頭列示的最後兩個主題:
iLogic 提供從 Excel 工作表讀取資訊的內建函數。在「片段」區域的「系統」頁籤上展開「Excel Data Links」節點,即可取得這些函數。
在此課程中,我們將編寫一個規則,使用嵌入的 Excel 工作表中的值設定控制孔幾何圖形的參數 (根據指定的大小)。該規則會在工作表中查找孔大小以識別值的列,然後讀取該列的欄位以取得適當的參數值。
T 形擋塊包括三個孔。每個孔都列示在「參數」對話方塊中。然而,在「參數」對話方塊中變更孔大小,模型中的孔大小不會隨之變更。我們必須加入規則,以驅動不同的孔大小。
我們的第一個步驟是加入設定孔大小和孔周圍螺釘陣列尺寸的規則。組合中使用螺釘陣列來在擋塊上支撐凸緣。
規則的首要任務是在工作表中尋找一個特定列,該列包含要用於孔 A 的值。我們在標示為 port_size 的欄中查找與 port_a_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)
此程式碼表示我們希望在嵌入的工作表中尋找一個特定列,該列的 port_size 欄等於 port_a_size 參數的值。
i = GoExcel.CurrentRowValue("columnName")
編輯片段複本,如下所示。
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”
修改文字,如下所示。
Feature.ThreadDesignation("Port_A_Threads") = GoExcel.CurrentRowValue("tap_dim")
我們已指示應使用 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")