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: 2839 
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

PŘIDÁNÍ PARAMETRU ANO/NE POMOCÍ I-LOGIKU

 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ů: 369
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: PŘIDÁNÍ PARAMETRU ANO/NE POMOCÍ I-LOGIKU
    Zasláno: 12.čvc.2019 v 11:34
Zdravím, mám pravidlo viz níže, které mi přidává i-vlastnosti + parametry ( číselné i textové ). Potřebuji nyní přidat parametr ano/ne a jak tedy rozšířit toto pravidlo aby to fungovalo?


Sub Main()
    Dim userParams As UserParameters = GetUserParams(ThisDoc.Document)
 
    EnsureParameter(userParams, "NR0", comment:="NADPIS - ROZM�R")
    EnsureParameter(userParams, "NR1", comment:="NADPIS - ROZM�R")
    EnsureParameter(userParams, "NR2", comment:="NADPIS - ROZM�R")
    EnsureParameter(userParams, "NR3", comment:="NADPIS - ROZM�R")
    EnsureParameter(userParams, "NR4", comment:="NADPIS - ROZM�R")
    EnsureParameter(userParams, "NR5", comment:="NADPIS - ROZM�R")
    EnsureParameter(userParams, "PR1", comment:="POPIS - ROZM�R")
    EnsureParameter(userParams, "PR2", comment:="POPIS - ROZM�R")
    EnsureParameter(userParams, "PR3", comment:="POPIS - ROZM�R")
    EnsureParameter(userParams, "PR4", comment:="POPIS - ROZM�R")
    EnsureParameter(userParams, "PR5", comment:="POPIS - ROZM�R")
    EnsureParameter(userParams, "D�LKA", comment:="D�LKA PROFILU")
    EnsureParameter(userParams, "STRANA_A_Y", comment:="ROZM�R PRO OSU Y (V�T�INOU D�LKA)")
    EnsureParameter(userParams, "STRANA_B_X", comment:="ROZM�R PRO OSU X")
    EnsureParameter(userParams, "STRANA_C_Z", comment:="ROZM�R PRO OSU Z")
    EnsureParameterTEXT(userParams, "MAT", comment:="MATERI�L")
    EnsureParameterTEXT(userParams, "POPIS_DILU", comment:="GRAV�RA")
    EnsureParameterTEXT(userParams, "POLOTOVAR", comment:="PRO V�ECHNY")
    
    Dim customPropertySet = ThisDoc.Document.PropertySets.Item("Inventor User Defined Properties")
    
    EnsureProperty(customPropertySet, "N0")
    EnsureProperty(customPropertySet, "N0-M") 
    EnsureProperty(customPropertySet, "N1")
    EnsureProperty(customPropertySet, "N1-M")
    EnsureProperty(customPropertySet, "N2")
    EnsureProperty(customPropertySet, "N2-M")
    EnsureProperty(customPropertySet, "N3")
    EnsureProperty(customPropertySet, "N3-M")
    EnsureProperty(customPropertySet, "N4")
    EnsureProperty(customPropertySet, "N4-M")
    EnsureProperty(customPropertySet, "N5")
    EnsureProperty(customPropertySet, "N5-M")
    
    EnsureProperty(customPropertySet, "NR0")
    EnsureProperty(customPropertySet, "NR0-M")
    EnsureProperty(customPropertySet, "NR1")
    EnsureProperty(customPropertySet, "NR1-M")
    EnsureProperty(customPropertySet, "NR2")
    EnsureProperty(customPropertySet, "NR2-M")
    EnsureProperty(customPropertySet, "NR3")
    EnsureProperty(customPropertySet, "NR3-M")
    EnsureProperty(customPropertySet, "NR4")
    EnsureProperty(customPropertySet, "NR4-M")
    EnsureProperty(customPropertySet, "NR5")
    EnsureProperty(customPropertySet, "NR5-M")
    
    EnsureProperty(customPropertySet, "P1")
    EnsureProperty(customPropertySet, "P1-M")
    EnsureProperty(customPropertySet, "P2")
    EnsureProperty(customPropertySet, "P2-M")
    EnsureProperty(customPropertySet, "P3")
    EnsureProperty(customPropertySet, "P3-M")
    EnsureProperty(customPropertySet, "P4")
    EnsureProperty(customPropertySet, "P4-M")
    EnsureProperty(customPropertySet, "P5")
    EnsureProperty(customPropertySet, "P5-M")
    
    EnsureProperty(customPropertySet, "PR1")
    EnsureProperty(customPropertySet, "PR1-M")
    EnsureProperty(customPropertySet, "PR2")
    EnsureProperty(customPropertySet, "PR2-M")
    EnsureProperty(customPropertySet, "PR3")
    EnsureProperty(customPropertySet, "PR3-M")
    EnsureProperty(customPropertySet, "PR4")
    EnsureProperty(customPropertySet, "PR4-M")
    EnsureProperty(customPropertySet, "PR5")
    EnsureProperty(customPropertySet, "PR5-M")
    
    EnsureProperty(customPropertySet, "MAT")
    EnsureProperty(customPropertySet, "MAT-M")
    EnsureProperty(customPropertySet, "MAT2")
    EnsureProperty(customPropertySet, "MAT2-M")
    EnsureProperty(customPropertySet, "TYP1")
    EnsureProperty(customPropertySet, "TYP1-M")
    EnsureProperty(customPropertySet, "TYP2")
    EnsureProperty(customPropertySet, "TYP2-M")
    EnsureProperty(customPropertySet, "POPIS_REVIZE")
    EnsureProperty(customPropertySet, "POLOTOVAR")

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 EnsureParameter(
                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 EnsureParameterTEXT(
                userParams As UserParameters,
                paramName As String,
                Optional defaultValue As String= "",
                Optional comment As String = "") As Parameter
    Dim p As Parameter
    Try
        p = userParams(paramName)
    Catch ex As Exception
        p = userParams.AddByValue(paramName, defaultValue, "TEXT")
        p.Comment = comment
    End Try
    Return p
End Function

Function EnsureProperty(propertySet As PropertySet, propName As String, Optional defaultValue As String  = "") As [Property]
    Dim p As [Property]
    Try
        p = propertySet(propName)
    Catch ex As Exception
        p = propertySet.Add(defaultValue,propName)
    End Try
    Return p
End Function

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

Přihlášen: 09.zář.2004
Lokalita: ČR (JČ)
Používám:
Dodáváme produkty Autodesk
Stav: Offline
Bodů: 18344
Možnosti příspěvku Možnosti příspěvku   Poděkování (0) Poděkování0   Citace Vladimír Michl Citace  OdpovědětOdpověď Přímý odkaz na tuto zprávu Zasláno: 12.čvc.2019 v 14:07
To máte nějaké složité, mělo by stačit automatické vytváření správných typů parametrů - něco jako:
 
customPropertySet = ThisDoc.Document.PropertySets.Item("Inventor User Defined Properties")
customPropertySet.Add("Bukové dřevo", "NášMateriál")
customPropertySet.Add(False,"AplikujPískování")
 
asi obalené to Try/Catch
 
Vladimír Michl (moderátor)
CAD Studio s.r.o. - www.cadstudio.cz
(podporu najdete na helpdesk.cadstudio.cz)
Zpět nahoru

Pro technickou podporu CAD
kontaktujte Helpdesk

Příbuzné CAD tipy:
Tip 11257:Uzamčení parametru Ano/Ne v rodinách Revitu.
Tip 2572:Jak vypnout výzvy AutoCADu typu "Ano/Ne"?
Tip 292:Jak ochránit data výkresu před neoprávněnou modifikací? Ochrana výkresu jen pro čtení. Způsoby předání.
Tip 12180:Použití parametru ANO/NE ve výkazu Revitu.
Tip 3931:Lze provozovat Vault Server i na ne-serverových Windows?
Tip 9195:VIPPřidání vlastního uživatelského parametru do katalogu prvků.


 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,172 sekund.