Modul iLogic poskytuje funkce pravidel umožňující nastavení nebo čtení stavů vypnutí, stavů modelu a barev komponenty a také náhrady jedné komponenty druhou.
Tyto funkce jsou užitečné pro řízení různých konfigurací součástí nebo sestav.
Lze vytvořit model (součást nebo sestavu), který zahrnuje komponenty nutné k znázornění všech možných platných konfigurací výrobku. Tato metoda je známá jako „super modelování“. Když jsou komponenty součástí nebo sestavy příliš složité nebo je jich hodně a super modelování se stane nepraktickým, použijte funkci Component.Replace.
Chcete-li přejít k funkcím komponent, rozbalte na kartě „Systém“ v oblasti „Fragmenty“ dialogu „Upravit pravidlo modulu iLogic“ uzel „Komponenty (klasické)“.
Před odkazováním na názvy v pravidle si přizpůsobte názvy všech komponent. Pokud změníte název komponenty z výchozího názvu přiřazeného aplikací Autodesk Inventor, zajistíte, že se název nezmění, i když se změní název odkazovaného souboru IPT nebo IAM.
U komponent obsahového centra je změna názvu nutná pro funkci Component.IsActive a také pro funkci Component.Replace.
Nastavuje nebo čte stav vypnutí a struktury rozpisky komponenty sestavy. Použijte tuto funkci k zahrnutí nebo vyloučení komponenty z konfigurace sestavy.
Tato funkce funguje na vzoru jedné komponenty nebo vzoru komponent. Pro vzory použijte názvy vzorů. Vzor musí být ve stejné úrovni sestavy jako pravidlo a nesmí být v podsestavě.
Podkomponenty nevypínejte. Lepší alternativou je provedení vypnutí z pravidla uvnitř komponenty.
Například sestava nazvaná Sestava nejvyšší úrovně obsahuje Podsestavu:1 a tato podsestava obsahuje Vzorovou součást:1.
Pro vypnutí vzorové součásti:1 použijte pravidlo uvnitř podsestavy. Toto pravidlo může mít parametr, který řídí stav vypnutí a tento parametr můžete řídit pomocí pravidla v sestavě nejvyšší úrovně.
Když k vypnutí komponenty použijete vlastnost Component.IsActive, struktura rozpisky komponenty se nastaví na možnost Reference. Tato akce zamezuje tomu, aby se komponenta objevila v rozpisce. Objevuje se v zobrazení Data modelu, ale ne ve strukturovaném zobrazení nebo v zobrazení Pouze součásti. Pokud komponenta není vypnutá (pomocí vlastnosti Component.IsActive), vrací modul iLogic komponentu do stavu před vypnutím (Normální, Neoddělitelný, Zakoupený nebo Skrytý).
Syntaxe
Component.IsActive("ComponentName")
Příklady
Můžete použít hodnotu 1 namísto true a hodnotu 0 namísto false.
Nastavení stavu vypnutí a struktury rozpisky:
Component.IsActive("PartA:1") = false Component.IsActive("PartB:1") = 0 Component.IsActive("PartC:1") = false Component.IsActive("PartD:1") = 0
Čtení stavu vypnutí:
MyBooleanParam = Component.IsActive("ComponentName:1) If Component.IsActive("PartE") Then ' do something End If
Změna stavu Komponenta je aktivní. Tato funkce nastavuje nebo čte stav vypnutí komponenty iSoučásti nebo iSestavy. Jestliže ručně nezměníte název komponenty, pak iSoučásti a iSestavy vyžadují použití této vyhrazené syntaxe.
Doporučujeme, abyste provedli změnu názvu komponenty. Jestliže změnu provedete, pak můžete místo této funkce použít funkci Component.IsActive.
Syntaxe
Component.iComponentIsActive(“iPartParentName:1”)
Název nadřazené iSoučásti
Název součásti rodiny bez přípony názvu souboru .ipt.
Nastavuje nebo čte barvu komponenty.
Syntaxe
Component.Color(“iPartA:1”)
Příklady
Nastavení barvy:
Component.Color("iPartA:1") = "Green" Component.Color("iPartA:2") = "Aluminum (Cast)" Component.Color("iPartA:3") = "As Material"
Čtení barvy:
MyStringParameter = Component.Color("iPartA:1")
Nastavuje nebo čte viditelnost komponenty. Tato funkce nemění strukturu rozpisky komponenty.
Syntaxe
Component.Visible("componentName")
Příklady
Nastavení viditelnosti:
Component.Visible("Plate") = true Component.Visible("Bearing") = false
Čtení viditelnosti:
parameter = Component.Visible("Plate") parameter = Component.Visible("Bearing")
If Component.Visible("PartE") Then do something End If
Určuje, zda se dokument komponenty uloží, když se změní a pak je vypnut pravidlem.
Syntaxe
Component.SkipDocumentSave = True
Když je funkce nastavena na hodnotu True, dokument komponenty se neuloží.
Výchozí hodnota je False ( Component.SkipDocumentSave = False), dokument komponenty se uloží.
Nastavuje nebo čte aktivní stav modelu komponenty.
Syntaxe
Component.ActiveModelState(“ComponentName”)
Příklady
Component.ActiveModelState(“PartA:1”) = “Model State2”
Dim partB1_state = Component.ActiveModelState(“PartB:1”)
Výměna jedné součásti nebo podsestavy za druhou. Tuto funkci lze použít pouze pro výměnu vzorů komponent.
Použijte iVazby ve vyměňovaných komponentách pro zachování neporušenosti vazeb sestavy. Lze vyměnit součást za součást, součást za sestavu nebo sestavu za součást.
Tato funkce vyhledá v několika složkách soubor, který se má použít jako náhrada:
Název souboru může být relativní cesta (relativní k jakékoliv z těchto vyhledávacích oblastí).
Syntaxe
Component.Replace(“ComponentToReplaceName”, “OtherPartfilename.ipt”, <replaceAll>)
Název vyměňované součásti
Název vyměňované součásti nebo podsestavy.
Název souboru druhé součásti
Součást nebo sestava, která má být použita pro výměnu.
<replaceAll>
Nastavením této booleovské hodnoty na hodnotu True vyměníte všechny instance této komponenty. Nastavením této hodnoty na hodnotu False vyměníte pouze instanci s jedním názvem.
Příklad
If PartType = "Type A" Then Component.Replace("Widget","PartA.ipt", True) ElseIf PartType = "Type B" Then Component.Replace("Widget","PartB.ipt", True) End If
Tato variace funkce Component.Replace nahradí komponentu v sestavě jinou komponentou v určeném stavu modelu.
Syntaxe
Component.Replace("SubAssem:1", "OtherAssemFilename.iam<Model State>", <replaceAll>)
V této funkci je argument <replaceAll> stejný jako argument popsaný pro obecnější funkci Component.Replace.
Tuto funkci můžete použít také k nahrazení součásti nebo podsestavy stejnou součástí nebo podsestavou v jiném stavu modelu. Je však efektivnější použít funkci Component.ActiveModelState.
Tato funkce, požadovaná pro iSoučásti s uživatelskými parametry, je také doporučena pro standardní iSoučásti. Když je komponenta iSoučást, použijte tuto funkci místo funkce Component.Replace. Po výměně lze použít funkci iPart.ChangeRow nebo iPart.FindRow k změně specifické konfigurace iSoučásti.
Pro iSoučást s uživatelskými parametry uveďte seznam hodnot pro uživatelské parametry za číslem řádku. Hodnoty musí být uvedeny v pořadí, ve kterém jsou v tabulce.
Syntaxe
Component.ReplaceiPart("iPart1:1", "OtherPartfilename.ipt", True, rowNumber)
Pomocí funkce rowNumber vyměňte komponentu a současně zvolte řádek iSoučásti.
Příklady
Chcete-li nastavit uživatelské parametry, zopakujte v pravidle uživatelské hodnoty ve funkci Component.ReplaceiPart a znovu ve funkci iPart.ChangeRow nebo iPart.FindRow.
Funkce ChangeRow:
Component.ReplaceiPart("iPart1:1", "OtherPartfilename.ipt", True, rowNumber, customParam1, customParam2) iPart.ChangeRow("iPart1:1", rowNumber, customParam1, customParam2)
Funkce FindRow:
Component.ReplaceiPart("iPart1:1", "OtherPartfilename.ipt", True, rowNumber, customParam1, customParam2) i = iPart.FindRow("iPart1:1", "Dia", ">=", 3.0, "r;|", customParam1, customParam2)
Definování cesty k názvu komponenty v podsestavě. Při specifikování cesty uveďte všechny úrovně podsestavy v pořadí, ve kterém se vyskytují ve stromu. Tato funkce je nutná, jestliže chcete specifikovat název komponenty, když stejný název existuje také někde jinde v sestavě.
Syntaxe
MakePath(“SubassemblyComponentName”,“PartComponentName”)
Příklady
Component.Color(MakePath("SubAssem1:1", "Part2:1")) = “Green” Component.IsActive(MakePath("SubAssem1:1", "SubSubAssem2:1", "Part2:1")) = “Yellow”