管理零件規劃

我們現在將涵蓋此自學課程開頭列示的最後兩個主題:

iLogic 提供從 Excel 工作表讀取資訊的內建函數。在「片段」區域的「系統」頁籤上展開「Excel Data Links」節點,即可取得這些函數。

在此課程中,我們將編寫一個規則,使用嵌入的 Excel 工作表中的值設定控制孔幾何圖形的參數 (根據指定的大小)。該規則會在工作表中查找孔大小以識別值的列,然後讀取該列的欄位以取得適當的參數值。

T 形擋塊包括三個孔。每個孔都列示在「參數」對話方塊中。然而,在「參數」對話方塊中變更孔大小,模型中的孔大小不會隨之變更。我們必須加入規則,以驅動不同的孔大小。

我們的第一個步驟是加入設定孔大小和孔周圍螺釘陣列尺寸的規則。組合中使用螺釘陣列來在擋塊上支撐凸緣。

  1. Autodesk Inventor 模型瀏覽器中,展開樹中的「協力廠商」節點。
  2. 「嵌入 1」上按一下右鍵,然後選取「編輯」以存取嵌入的工作表。
  3. 加入名為 port_size_rule 的規則,然後按一下「確定」,以開啟「編輯規則」對話方塊。

    規則的首要任務是在工作表中尋找一個特定列,該列包含要用於孔 A 的值。我們在標示為 port_size 的欄中查找與 port_a_size 參數相符的值。

  4. 在對話方塊「片段」區域的「系統」頁籤上,於「Excel Data Links」節點上尋找標示為 FindRow (embedded) 的函數。在該函數上按兩下,以將其插入至文字區域。

    複製程式碼塊

    i = GoExcel.FindRow(“3rd Party:Embedding 1”, “Sheet1”, “columnName”, “<=”, 0.2)
  5. 將此函數樣板插入至規則之後,將出現的第一個 columnName 取代為 port_size,將出現的第一個「<=」取代為「=」,並將 0.2 取代為 port_a_size

    複製程式碼塊

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

    此程式碼表示我們希望在嵌入的工作表中尋找一個特定列,該列的 port_size 欄等於 port_a_size 參數的值。

  6. 根據工作表內此列中儲存格的值,加入一系列參數。這些參數控制孔直徑、鑽孔深度和螺栓孔之間的距離。在「片段」區域的「Excel Data Links」節點中,使用標示為 CurrentRowValue 的函數。

    複製程式碼塊

     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")
    註: 請注意,您可以在「編輯規則」對話方塊的「模型」頁籤中選取項目,以顯示不同的模型參數集。
  7. 若要定義攻牙孔的螺紋,請在「片段」區域的「Features」節點中插入標示為 ThreadDesignation 的特徵。

    複製程式碼塊

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

    修改文字,如下所示。

    複製程式碼塊

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

    我們已指示應使用 tap_dim 儲存格來取得螺栓孔的螺紋稱號。

  8. 現在既已完成孔 A 參數的指示,我們將建立孔 B 和孔 C 的指示。複製已建立的規則文字,並貼上兩次。在貼上的第一個複本中,將 port_a 參考變更為 port_b。在貼上的第二個複本中,將 port_a 參考變更為 port_c。您現在應具有三個程式碼塊,每個程式碼塊與三個孔中的一個相關聯。

    複製程式碼塊

    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. 在 iLogic 規則編輯器中按一下「確定」,以儲存您的 port_size_rule。根據 iLogic 孔大小參數的初始設定,您的模型可能會更新、也可能不會更新。

上一頁 | 下一頁