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"
Gelöst! Gehe zur Lösung
Gelöst von S_Verbeek. Gehe zur Lösung
Gelöst von Juergen_Wagner. Gehe zur Lösung
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
Jürgen war mal wieder schneller
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")
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
PS: .."commandmanager.pick..." ist für den Anwender echt angenehm zum Hantieren
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
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.
Sie finden nicht, was Sie suchen? Fragen Sie die Community oder teilen Sie Ihr Wissen mit anderen.