Diskuzní fórum a databáze tipů a utilit pro AutoCAD, Inventor, Revit a další produkty Autodesk - od firmy Arkance Systems [www.cadforum.cz]
CZ | SK | EN | DE
Přihlášení
či registrace
   právě nás čte: 17760 
RSS kanál - CAD tipy RSS tipy
RSS 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 Arkance Systems (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

Téma uzavřenoPŘ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ů: 429
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
Arkance Systems

Přihlášen: 09.zář.2004
Lokalita: ČR (JČ)
Používám:
Dodáváme produkty Autodesk
Stav: Online
Bodů: 21434
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)
Arkance Systems s.r.o. - www.arkance-systems.cz
(podpora viz hd.cads.cz)
Zpět nahoru
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ů: 429
Přímý odkaz na tuto zprávu Zasláno: 17.pro.2019 v 11:23
Zdravím, 

Potřebuji dostat do sestavy cca 6 parametrů booleovských parametrů (ANO/NE), do sestavy. Chtěl bych to dostat pomocí i-logicu. Jak to napíšu? jde to vůbec?
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
Arkance Systems

Přihlášen: 09.zář.2004
Lokalita: ČR (JČ)
Používám:
Dodáváme produkty Autodesk
Stav: Online
Bodů: 21434
Přímý odkaz na tuto zprávu Zasláno: 17.pro.2019 v 12:40
Výše je to naznačeno - např.:

Dim customPropertySet = ThisDoc.Document.PropertySets.Item("Inventor User Defined Properties")
Try
 customPropertySet.Add(True, "AntikorozníÚprava")
 customPropertySet.Add(False, "AplikujPískování")
Catch
End Try

Vladimír Michl (moderátor)
Arkance Systems s.r.o. - www.arkance-systems.cz
(podpora viz hd.cads.cz)
Zpět nahoru
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ů: 429
Přímý odkaz na tuto zprávu Zasláno: 17.pro.2019 v 13:17
Děkuji, 
na uživatelské i-vlastnosti mi to funguje ale potřebuji to dostat do uživatelských parametrů sestavy. 
Budu rád za radu i případně všelijaké postřehy.
Zpět nahoru
Navara Zobrazit panel
Arkance Systems support
Arkance Systems support
Avatar
Arkance Systems

Přihlášen: 08.zář.2008
Lokalita: ČR (Pha)
Používám:
Inventor
Stav: Offline
Bodů: 1636
Přímý odkaz na tuto zprávu Zasláno: 17.pro.2019 v 13:30
Je to stejné, jako u parametru text
ActiveAsm.ComponentDefinition.Parameters.UserParameters.AddByValue("MyBoolParam", True, "BOOLEAN")
Zpět nahoru
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ů: 429
Přímý odkaz na tuto zprávu Zasláno: 17.pro.2019 v 14:52
DÍKY UŽ MI TO FUNGUJE
Budu rád za radu i případně všelijaké postřehy.
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 7212:Rozdíl mezi xrefy, datovými zkratkami a Vaultem v Civil 3D.
Tip 3931:Lze provozovat Vault Server i na ne-serverových Windows?


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