Diskuzní fórum a databáze tipů a utilit pro AutoCAD, Inventor, Revit a další produkty Autodesk
 - od firmy Arkance Systems [www.cadforum.cz slaví 20 let]
CZ | SK | EN | DE
Přihlášení
či registrace
  právě nás čte: 12192

CAD tip CAD tip # 13715:

   
Otázka CAD 
 %  platforma  kategorie 
Q - otázka

Dynamické hodnoty vícehodnotového parametru ve formuláři Inventoru.

A - odpověď 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.

Inventor
100% *  CAD 
30.4.2023    908×   Expert
excel font ilogic inventor materiál součást text
 
Související CAD produkty:
Ceny - CAD eShop:
platí pro: Inventor ·

Zpět   Všechny další tipy



Pomohl vám tento tip? Provoz služby CADForum.cz podpoříte i nákupem produktů Autodesk u provozovatele tohoto serveru a Platinum partnera Autodesku, firmy Arkance Systems.
Můžete si také přidat odkaz na vaše stránky: CAD Fórum - diskuze, tipy, bloky a utility
CAD:    OS:    Kateg: 
Text:  FAQ   






Tipy a triky prosím využívejte na vlastní zodpovědnost.
Provozovatel (Arkance Systems CZ s.r.o.) nenese odpovědnost za případné potíže vzniklé v souvislosti s použitím kteréhokoliv z uvedených tipů.
Pro plné zvládnutí dané aplikace doporučujeme absolvování některého z nabízených CAD školení.
Další publikování obsahu je dovoleno jen se souhlasem autora.
TOPlist