Funkce komponent – reference (modul iLogic)

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é)“.

Zadávání názvů komponent

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.

Component.IsActive

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

Component.iComponentIsActive

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.

Component.Color

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")

Component.Visible

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

Component.SkipDocumentSave

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ží.

Component.ActiveModelState

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”)

Component.Replace

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í).

Důležité: Před použitím této funkce „stabilizujte“ název komponenty, abyste zabránili jeho změně, když dojde k výměně. Stabilizaci názvu komponenty proveďte jeho změnou. Nový název nesmí odpovídat ani názvu aktuálního souboru, ani názvu žádného souboru, který je možné použít jako alternativní náhradní soubor. Místo toho by se měl použít obecný název, který komponentu obecně popisuje. Pokud neprovedete stabilizaci názvu, změní se komponenta během operace výměny tak, že bude odpovídat názvu jiného souboru. Pravidlo pak nemůže tuto komponentu najít, když se znovu spustí.

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

Component.Replace (určeným stavem modelu)

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.

Component.ReplaceiPart

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)

MakePath

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”