Diskuzní fórum a databáze tipů a utilit pro AutoCAD, Inventor, Revit a další produkty Autodesk - od firmy CAD Studio [www.cadforum.cz]
Česky Slovensky English Deutsch
Přihlášení:
▶ Registrace

 právě nás čte: 2516 
RSS tipy RSS kanál - CAD tipy
RSS diskuze RSS kanál - CAD diskuze

Diskuze Diskuzní fórum, poradna

NápovědaCAD diskuze, rady, výměna zkušeností

CAD Fórum - Homepage Veřejné diskuzní fórum k CAD aplikacím - ptejte se na libovolné otázky týkající se oboru CAx, podělte se o vaše znalosti a zkušenosti s programy AutoCAD, Inventor, Revit, Fusion 360, 3ds Max a s dalšími CAD aplikacemi. Zaregistrujte se nebo se přihlašte a zašlete váš příspěvek do odpovídajícího fóra. Viz další informace o CAD Fóru. Nechcete se registrovat? Zeptejte se v naší Facebook poradně.
Fórum nenahrazuje technický support firmy CAD Studio - přímá podpora pro zákazníky funguje na helpdesk.cadstudio.cz
  FAQ FAQ  Prohledat fórum   Události   Registrovat Registrovat  Přihlásit Přihlásit

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

 Odpovědět Odpovědět archiv
Autor
Lukáš Záruba Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 02.lis.2007
Lokalita: ČR (SČ)
Používám:
inventor 2015
Stav: Offline
Bodů: 387
Možnosti příspěvku Možnosti příspěvku   Poděkování (0) Poděkování0   Citace Lukáš Záruba Citace  OdpovědětOdpověď Přímý odkaz na tuto zprávu Téma: VYPLNĚNÍ HODNOT PŘIDANÝCH PARAMETRŮ
    Zasláno: 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:


Připojené náhledyPřihlaste se pro zobrazení plné verze - 4903/POLE_EXCEL_2019-02-15_11-34-07.JPG


Budu rád za radu i případně všelijaké postřehy.
Zpět nahoru
Navara Zobrazit panel
CAD Studio support
CAD Studio support
Avatar
CAD Studio s.r.o.

Přihlášen: 08.zář.2008
Lokalita: ČR (Pha)
Používám:
Inventor
Stav: Offline
Bodů: 1247
Možnosti příspěvku Možnosti příspěvku   Poděkování (0) Poděkování0   Citace Navara Citace  OdpovědětOdpověď Přímý odkaz na tuto zprávu Zasláno: 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
Zpět nahoru

Pro technickou podporu CAD
kontaktujte Helpdesk

Příbuzné CAD tipy:
Tip 3859:Jak nakreslit vyplněný kruh?
Tip 10718:Jak do výkresu přidat název pravidla rozvinu plechu?
Tip 6192:VIPRychlé poloprůhledné výplně pro zobrazení i tisk (Map, Civil).
Tip 3817:Jak rozložit bloky AutoCADu se zachováním hodnoty atributů?
Tip 4096:Proč vyplněná plocha v Revitu 7 nepřekryje kresbu v pozadí?
Tip 2004:Kde jsou uloženy styly vyplnění (původně .RPF)?


 Odpovědět Odpovědět

Přejít na fórum Oprávnění fóra Zobrazit panel



Stránka byla vygenerována za 0,391 sekund.