V Inventoru můžete používat pro řízení hodnot parametrů uživatelské formuláře. V nich lze využívat i parametry typu "seznam s více hodnotami".
Díky pravidlům iLogic nemusí být takový seznam statický, ale může se dynamicky měnit v závislosti na jiném nastavení, např. na hodnotě jiného parametru. Nabízený seznam materiálů nebo objednacích čísel dílů se tak může lišit podle typu výrobku nebo jeho rozměru. Hodnoty seznamu lze připravit v iLogic makru (např. externím) nebo v Excelu, nemusí tak být součástí Inventor dokumentu.
Jednou z možností nastavení hodnot seznamu pro uživatelský výběr je iLogic makro s přednastavenými hodnotami. Např. toto makro mění multi-value parametr MultiValueParam_Material podle předem nastavené hodnoty parametru Param1_TypMaterialu:
MultiValue.SetValueOptions(True, DefaultIndex :=0)
Select Case Param1_TypMaterialu
Case "kov"
MultiValue.SetList("MultiValueParam_Material", "Ocel 1","Ocel 2","Hliník","Mosaz","Měď","Litina")
Case "plast"
MultiValue.SetList("MultiValueParam_Material", "ABS plast","Lexan")
Case "dřevo"
MultiValue.SetList("MultiValueParam_Material", "Dubové dřevo","Smrkové dřevo","Balza")
End Select
Seznamy nabízených hodnot ale také můžete řídit tabulkou z Excelu. Viz příklad podobného, ale trochu rozšířeného makra, které si konkrétní hodnoty vytahuje z XLSx souboru a ty tak nemusejí být definovány v makru:
Dim sFile As String
Dim sList As New ArrayList
sFile = ThisDoc.WorkspacePath() & "\MaterialyI.xlsx" ' či "C:\Users\JMENOUZIV\Documents\MaterialyI.xlsx"
GoExcel.Open(sFile, "List1")
MultiValue.SetValueOptions(True, DefaultIndex :=0)
For iRow As Integer = 2 To 50 ' resp. počet řádků číselníku
If GoExcel.CellValue(sFile, "List1", "B" & iRow) = "kov" Then ' či = hodnota parametru, =Parameter("d0")
sList.Add(GoExcel.CellValue(sFile, "List1", "A" & iRow)) ' sloupec s hodnotami
End If
Next
If sList.Count>0 Then
MultiValue.List("MultiValueParam_Material") = sList
End If
GoExcel.Close()
Excelový soubor MaterialyI.xlsx pak může mít např. takovýto obsah:
A výsledný formulář pak může vypadat např. takto:
iLogic makra je nutné spustit alespoň jedenkrát před vyvolám formuláře (např. na základě nějaké události).
Další možnosti práce s událostmi, formuláři a jejich nastavením nabízí add-on aplikace Holixa T4I.