Community
Inventor - Deutsch
Das Forum für alle Fragen rund um Autodesk Inventor, iLogic, Factory Design, Automation und mehr. Der Ort zum Fragen stellen, Antworten erhalten und Wissen teilen.
abbrechen
Suchergebnisse werden angezeigt für 
Anzeigen  nur  | Stattdessen suchen nach 
Meintest du: 

iLogic/VBA - Benutzerparameter einer Komponente anzeigen lassen

5 ANTWORTEN 5
GELÖST
Antworten
Nachricht 1 von 6
fullevent
1468 Aufrufe, 5 Antworten

iLogic/VBA - Benutzerparameter einer Komponente anzeigen lassen

Hallo zusammen,

gibt es eine Möglichkeit sich die Benutzerparameter einer Komponente anzeigen zu lassen?

 

Ich habe eine ipt "Part1" mit den Benutzerparametern "bp_1" "bp_2" ... "bp_n"
diese wird in die Haupt-BG eingefügt

 

Kann man aus dieser heraus sich eine Liste ausgeben lassen? z.B. in der Form:

 

"Komponente  Part1:1 hat die

Benutzerparameter mit den Werten:
bp_1     "5,5"

bp_2     "string"

...          ...
bp_n      "15 grd"

 

 


Aleksandar Krstic
Produkt- und Projektmanager

5 ANTWORTEN 5
Nachricht 2 von 6
Juergen_Wagner
als Antwort auf: fullevent

Durch alle Componenten gehen und die UserParameter ausgeben

 

Sub Userparam()

    Dim asm As AssemblyDocument
     Set asm = ThisApplication.ActiveDocument
    Dim Text As String

    Dim occurrence As ComponentOccurrence
    For Each occurrence In asm.ComponentDefinition.Occurrences
    
        If Not occurrence.Suppressed Then
         
            Dim partCompDef As PartComponentDefinition
            Set partCompDef = occurrence.Definition
            Dim param As UserParameter
            For Each param In partCompDef.Parameters.UserParameters
                 Text = Text & vbCr & occurrence.Name & ":" & param.Name & "=" & param.Value
                 
            Next

        End If
     
    Next
 MsgBox (Text)
End Sub

 

Nachricht 3 von 6
S_Verbeek
als Antwort auf: Juergen_Wagner

Jürgen war mal wieder schneller Smiley (fröhlich)

 

Hier eine iLogic Regel. Wählt man eine Komponente aus, werde alle UserParameter aufgelistet.

 

SyntaxEditor Code Snippet

Dim List As New ArrayList
Dim Komp As Object
Dim Text As String
Dim UserParams As UserParameters
    Komp = ThisApplication.CommandManager.Pick(SelectionFilterEnum.kAssemblyOccurrenceFilter,"kompnente auswählen") 
    UserParams = ThisApplication.ActiveDocument.ComponentDefinition.Occurrences.ItemByName(Komp.Name).Definition.Parameters.UserParameters
    For Each Item In UserParams
            Text=Text+ Item.Name & "=" & Item.Value & vbLf 
            
    Next
    MessageBox.Show(Text, "Mensch und Maschine")
__________________________________________________________________________________

Stefan Verbeek
Mitarbeiter Support bei

Bild



Nachricht 4 von 6
fullevent
als Antwort auf: S_Verbeek

Hallo @Juergen_Wagner
Hallo @S_Verbeek

funktioniert beides natürlich einwandfrei.
Am Mittwoch bin ich wieder im Büro, dann werde ich mich ausführlicher damit beschäftigen. Vielen Dank schon mal für euren Input!

Das hat mir sehr geholfen Smiley (überglücklich)

PS: .."commandmanager.pick..." ist für den Anwender echt angenehm zum Hantieren Smiley (zwinkernd)


Aleksandar Krstic
Produkt- und Projektmanager

Nachricht 5 von 6
j_weber2
als Antwort auf: S_Verbeek

Hallo, 

das ist schon mal eine coole Sache. 

 

Geht das auch für benutzerdefinierte Eigenschaften. Ich meine, wenn in einem Bauteil eine Benutzereigenschaft angelegt ist, das man dann auch durch ausführen der Regel, anklicken des Bauteils, diese dann in einer Liste angezeigt bekommt. 

Das würde das Auswerten von Bauteilen sicher einfacher machen. 

 

bis dann

 

Jörg




Jörg Weber
CAD Systemtechniker für AutoCAD, Inventor, Vault





Nachricht 6 von 6
fullevent
als Antwort auf: j_weber2

 Hallo @j_weber2,

ja das sollte eigentlich kein Problem sein. 
In der Hauptgruppe für diese kann man z.B. mit dem Befehl

iProperties.Value("Custom", "max_Länge") = 100

das iProperty "max_Länge" mit dem Wert "100" erstellen oder falls es schon existent ist entsprechend auf "100" setzen.

 

Die iProperties der Unterkomponenten kann man bestimmt auch entsprechend auslesen und schreiben. 

Erstelle einfach einen neuen Beitrag mit deiner Frage und dir werden bestimmt entsprechende Ansätze/Lösungen vorgeschlagen.
Das wäre für mich vielleicht auch noch interessant.

Ansonsten werde ich in der kommenden Woche bisschen was in der Richtung machen und entsprechen hier posten falls noch nicht geschehen.



Aleksandar Krstic
Produkt- und Projektmanager

Sie finden nicht, was Sie suchen? Fragen Sie die Community oder teilen Sie Ihr Wissen mit anderen.

In Foren veröffentlichen  

Autodesk Design & Make Report