iLogic 中的規則和表單

「iLogic 瀏覽器」列示 iLogic 規則、表單、整體表單和外部規則。

在「iLogic 瀏覽器」中,規則排列在兩個頁籤下面:

表單排列在兩個頁籤下面:

iLogic 中的規則

規則是可以監視並控制其他 Inventor 參數、特徵或元件的 Visual Basic (VB.NET) 小程式。

iLogic 將規則做為物件直接嵌入到零件、組合及圖面文件中。規則可確定和驅動設計參數和屬性值。透過控制這些值,您可以定義模型屬性、特徵及元件的行為。

與儲存幾何設計元素的方式一樣,會將知識直接儲存在文件中。

規則中的參數

在規則中,您可以將標準 Inventor 參數名稱做為 Visual Basic 變數使用。當您執行規則時,會將參數的值指定給變數。對於數值參數,該值是以「工具」「文件設定」中指定的文件單位表示的實數。在規則中,文字參數會變成字串變數。true/false 參數會變成布林變數。

參數的出現方式有兩種:

  • 連結至數值或非數值參數的 VB.NET 變數。這些變數會以藍色亮顯:

    當規則開始執行時,iLogic 會將這些參數的值從模型讀取到規則中。規則執行完成後,iLogic 會將變更後的值儲存回模型。

    若要在規則執行完成之前儲存這些值,請使用 RuleParametersOutput 函數。如果您要立即變更模型,此函數十分實用。

  • 使用 Parameter 函數存取的參數。例如:

    如果使用這種方法指定值,這些值會立即儲存至模型,即在規則中的下一行陳述式執行之前儲存。如果您使用 Parameter 函數讀取值,則會立即從 Inventor 模型中進行讀取該值。

規則中的預設圖元名稱

對於以下其中一種 Autodesk Inventor 圖元名稱,如果在建立時為其指定了預設名稱,請在將其用於規則之前變更其名稱:

  • 特徵
  • 草圖
  • 工作特徵
  • 陣列
  • 約束
  • iMate

請使用有意義的名稱。名稱變更可以讓您更容易瞭解規則的作用。

變更預設名稱的另一個目的是為了使名稱更容易移植。在本地化之後的 Autodesk Inventor 版本中,預設項目名稱已被翻譯成該版本對應的語言。這些名稱在模型瀏覽器中會自動變更,但在 iLogic 規則中不會自動變更。因此,規則可能會找不到使用預設名稱的項目。如果其他人在其他語言版本的 Inventor 中使用模型,則必需變更預設名稱。此建議僅適用於在規則中透過名稱調用的項目。例如,測量函數可以使用工作特徵名稱。如果您有工作特徵,但不在測量函數中使用它們,則您無需對其進行更名。此建議的一個例外是嵌入的 Excel 工作表。請勿對其進行更名。

在非英文版本的 Autodesk Inventor 中,請在規則中使用英文名稱。例如:

"3rd Party:Embedding 1"
註: 某些圖元 (例如 iMate) 允許在建立時為其指定名稱。

規則執行時

如果在規則中將參數直接做為變數使用,則通常情況下當參數值發生變更時,規則會因回應變更而自動執行。也可以透過事件觸發規則。

除非規則被抑制,否則在您編輯規則後,規則會立即執行。當規則執行時,參數中的變更在規則執行完成之後才會更新模型。如果需要,您可以使用以下任一函數強制參數變更立即生效:

  • Parameter 函數
  • 規則中的 RuleParametersOutput() 函數

規則順序

  • 除非在其中包含 iLogicVb.RunRule("ruleName") 函數以另行指定,否則規則均會按照在瀏覽器中出現的順序執行。
  • 如果多個規則參考發生變更的參數,則在清單中最先出現的規則將最先執行。不論參數如何變更,規則均會按照此順序執行。
  • 不論「iLogic 瀏覽器」的主清單如何顯示,均可使用「事件觸發器」指令變更與文件事件相關聯的清單中的規則順序。

如何處理規則

當您建立或編輯規則時,規則文字會被轉換為有效的 VB.NET 程式碼,然後進行編譯。某些 Inventor 參數名稱不是有效的 VB.NET 變數名稱。為允許您使用所有 Inventor 參數名稱,iLogic 會在內部為 Inventor 參數使用新變數名稱。

做為參數名稱使用的關鍵字

雖然您可以將 Visual Basic 關鍵字做為參數名稱使用,但不建議對新文件這樣做。但是,當您將規則加入至既有文件時,通常不需要變更任何參數名稱。如果存在與關鍵字相同的名稱,而您需要在規則中使用該關鍵字,您可以:

  • 在可能的情況下變更 Inventor 參數名稱 (建議)。
  • 在規則中使用該關鍵字,但大寫不同的字母。例如,當 Inventor 參數命名為 class 時,請使用 Class。Inventor 參數名稱區分大小寫,但 VB 參數名稱不區分。在我們的範例中,在 VB 看到程式碼之前,class 會被其他名稱取代,但 Class 會保持不變。

規則的內部轉換

規則文字會在內部轉換為有效的 VB.NET 程式碼,此程式碼是不可見的,並且會隨規則一起儲存。這種類型的儲存使得在執行規則時無需 iLogic 產生程式碼。程式碼僅在您編輯規則時才會發生變更。

VB 編譯器錯誤訊息實際參考此中間程式碼。在極少的使用複雜程式碼的情況下,您會收到與規則程式碼不相符的錯誤。如果發生這種情況,請簡化您的程式碼。如有必要,請確認您有 Sub Main ()End Sub 陳述式。

當 iLogic 將規則轉換為有效的 VB.NET 程式碼進行編譯時,它會使用轉換係數取代單位。

規則中的單位

您可以如在標準 Inventor 參數方程式中一樣在規則中使用 Inventor 單位。

  • 規則不需要單位。例如,假設將數值指定給帶有單位的參數,但沒有在表示式中指定單位。在這種情況下,iLogic 會假設該數值使用與該參數一致的文件單位。這種類型的假設同樣適用於複合單位,例如 mi/hr。文件單位在「工具」「文件設定」「Inventor 中的單位」中設定。
  • 在規則文字中,單位名稱只能直接在數值之後使用,而不能在參數、變數或表示式之後使用。

範例 - 文件單位

在此範例中,零件檔使用英吋做為文件單位:

d0 = 4.5 in
d18 = 7.2 in
sum = d0 + d18MessageBox.Show(sum,”Document Units - Inches”)

除非另行指定,否則 iLogic 會假設數值單位定義為文件單位。在此案例中,sum = 11.7。會在訊息方塊中顯示該值並指示文件單位以英吋表示。

若要指定值 7.2 mm 給參數 d18,而非 7.2 in,請指定 d18 以公釐表示:

d0 = 4.5 in
d18 = 7.2 mm
sum = d0 + d18
MessageBox.Show(sum,”Document Units - Inches”)

在此案例中,sum = 4.78346456692913。會在訊息方塊中顯示該值並指示文件單位以英吋表示。

若要對文件單位為公釐的零件檔執行前一個計算,在所有以英吋表示的參數中,請包括英吋單位 (例如 d0 = 4.5 in)。

最後,如果在陳述式中忽略長度單位,iLogic 會使用文件單位值。

範例 - 混合文件單位

在此範例中,零件檔使用英吋做為文件單位。在「iLogic 參數編輯器」中:

  • 參數 x 設定為 1 in
  • 參數 y 設定為 12.5 mm

已將規則編寫為:

result = x + y
MessageBox.Show(result,“Mixed Units Defined in Parameter Editor”)

執行加入作業時,iLogic 會將參數 y 的值從 12.5 mm 轉換為 .4921 英吋。在訊息方塊中會顯示值 1.49212598425197 並指示混合單位在參數編輯器中定義。

相反,如果文件單位被定義為公釐,則 iLogic 會將 x 參數的值從 1 in 轉換為 25.4 mm。在訊息方塊中會顯示值 37.9 並指示混合單位在參數編輯器中定義。

單位名稱

單位規格會在執行任何其他數學作業之前套用,其優先於所有其他運算子。單位名稱:

  • 在規則文字中,只能直接在數值之後使用。
  • 不能在參數、變數或表示式之後使用。
  • 在數值和單位之間必須留空格。

以下是有效使用單位名稱的範例:

12 in
144 in
144 in^2
125.2 mm
60 mi/hr

您可以在規則中使用複合單位規格。複合單位規格遵循 Inventor 格式。若要在規則中包含複雜的單位規格,請在「參數」對話方塊中為該規格建立方程式。然後,在「規則編輯器」中對該參數使用「擷取目前狀態」

外部規則

外部規則可以做為 iLogic 規則或者手動執行的小程式 (如 VBA 巨集) 使用。它們單獨儲存在文字檔或 VB 檔案中,獨立於任何 Inventor 文件 (零件、組合或圖面)。您可以手動執行它們,也可以透過其他規則執行它們。

當您在「iLogic 瀏覽器」中檢視外部規則清單時,不論您開啟何種文件,該清單均相同。該清單不與各個文件相關聯。

您也可以將外部規則做為事件驅動式規則執行。

精靈

iLogic 為您提供可用於為特定工作建立高階規則的多個精靈。這些精靈可在「編輯規則」對話方塊的「精靈」頁籤上取得:

  • 「為對話方塊建立規則」- 使用自訂對話方塊驅動參數值。
  • 「擷取目前視圖」- 擷取視圖方位及縮放顯示值。
  • 「訊息方塊」- 建立顯示 Windows 訊息方塊的規則。
  • 「參數限制」- 設定參數的最小值和最大值。

表單

建立自訂使用者介面,並將其與 Inventor 零件、組合或圖面文件的參數、性質和規則相關聯。

使用拖放方法來設計使用者介面 (不需要進行程式設計)。使用這些控制可驅動對既有設計的變更。表單定義可以特定於文件並隨設計文件一起儲存,或儲存以跨多個文件進行使用。

註: 建立表單不一定要有規則。