Vytisknout stránku | Zavřít okno

VYPLNĚNÍ HODNOT PŘIDANÝCH PARAMETRŮ

Vytištěno z: CAD Fórum
Kategorie: Autodesk - stavebnictví, strojírenství, CAD/GIS
Název fóra: iLogic a ETO
Popis fóra: Funkce a makra iLogic, Inventor Engineering to Order (ETO), automatizace a konfigurace výrobků
URL: https://www.cadforum.cz/forum/forum_posts.asp?TID=28418
Datum vytištění: 07.kvě.2026 v 10:27


Téma: VYPLNĚNÍ HODNOT PŘIDANÝCH PARAMETRŮ
Odeslal: Lukáš Záruba
Předmět: VYPLNĚNÍ HODNOT PŘIDANÝCH PARAMETRŮ
Datum odeslání: 15.úno.2019 v 11:34
Zdravím,

Jak mi pan Navara v předchozím dotazu ukázal, tak jsem schopen přidat jakoukoliv vlastnost nebo parametr. Teď bych potřeboval vědět jak vložím hodnoty do těchto parametrů.
Mám toto pravidlo, které mi založí UŽIVATELSKÉ PARAMETRY :
 
Sub Main()
    Dim userParams As UserParameters = GetUserParams(ThisDoc.Document)
 
    EnsureParameterMM(userParams, "DELKA", comment:="D�LKA CEL�HO PROFILU")
    EnsureParameterMM(userParams, "PU_DIRA_PRVNI_Z_LEVA", comment:="N��RT - PRVN� V �AD� OD HRANY")
    EnsureParameterMM(userParams, "PU_DIRA_POSLEDNI_Z_LEVA", comment:="N��RT - POSLEDN� V �AD� OD HRANY")
    EnsureParameterUL(userParams, "PU_DIRA_POCET", comment:="POLE - PO�ET PRVK�")
    EnsureParameterMM(userParams, "PU_DIRA_ROZTEC", comment:="POLE - ROZTE� PRVK�")
    EnsureParameterMM(userParams, "PU_DIRA_LINIE", comment:="LINIE - D�LKA CEL�HO POLE")
    EnsureParameterMM(userParams, "PU_DIRA_ROZTEC_ODSAZENI", comment:="MIN. ODSAZEN� OD HRANY ( DOPO�ET ROZD�LU)")
    EnsureParameterMM(userParams, "PU_DIRA_ROZTEC_ODSATENI_OD_KONCU", comment:="MIN. ODSAZEN� OD HRANY")
    EnsureParameterMM(userParams, "PU_DIRA_ROZTEC_DOPORUCENA", comment:="P�IBLI�N� ROZTEC")
    EnsureParameterUL(userParams, "PU_VYKRES_POCET_ROZTECI", comment:="PRO V�KRES")
    EnsureParameterMM(userParams, "PU_VYKRES_DIRA_ROZTEC", comment:="PRO V�KRES")

 
End Sub

Function GetUserParams(doc As Document) As UserParameters
    If (doc.DocumentType = DocumentTypeEnum.kAssemblyDocumentObject) Then
        Dim asm As AssemblyDocument = doc
        Return asm.ComponentDefinition.Parameters.UserParameters
    ElseIf (doc.DocumentType = DocumentTypeEnum.kPartDocumentObject) Then
        Dim prt As PartDocument = doc
        Return prt.ComponentDefinition.Parameters.UserParameters
    Else
        Throw New ArgumentOutOfRangeException("Document can be AssemblyDocument or PartDocument")
    End If
End Function
 
Function EnsureParameterMM(
                userParams As UserParameters,
                paramName As String,
                Optional defaultValue As Double = 0,
                Optional units As String = "mm",
                Optional comment As String = "") As Parameter
    Dim p As Parameter
    Try
        p = userParams(paramName)
    Catch ex As Exception
        p = userParams.AddByValue(paramName, defaultValue, units)
        p.Comment = comment
    End Try
    Return p
End Function
 
Function EnsureParameterUL(
                userParams As UserParameters,
                paramName As String,
                Optional defaultValue As Double = 0,
                Optional units As String = "ul",
                Optional comment As String = "") As Parameter
    Dim p As Parameter
    Try
        p = userParams(paramName)
    Catch ex As Exception
        p = userParams.AddByValue(paramName, defaultValue, units)
        p.Comment = comment
    End Try
    Return p
End Function

Funguje to skvěle.

Já bych ještě potřeboval ukázat jak mám do těchto přidaných parametrů vložit hodnoty, v tomto případě se nejedná jen o konkrétní čísla ale i o vzorce. Viz tabulka níže:




-------------
Budu rád za radu i případně všelijaké postřehy.



Odpovědi:
Odeslal: Navara
Datum odeslání: 15.úno.2019 v 11:42
Návratovou hodnotou funkce EnsureParameter je objekt typu Parameter. Doporučuju si přečíst dokumentaci k tomuto objektu.
 
Nejdůležitější jsou pro vás v tuto chvíli p.Value a p.Expression



Vytisknout stránku | Zavřít okno