Ich stecke bei den UserParametern fest. (Inventor2009)
Von einer Baugruppe möchte ich die UserParameter aller beteiligten Teile auslesen bzw. deren Wert ändern. Das gelingt mir weder in der geöffneten Baugruppe via ComponentOccurrences noch im ApprenticeServer.
Zur Zeit liste ich im ApprenticeServer alle Komponenten, öffne diese einzeln und lese die Userparameter aus.
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik, Master Eng. IT-Security & Forensic
Beiträge: 2933 Registriert: 15.11.2006
Windows 10 x64, AIP 2020-2025
erstellt am: 28. Jan. 2010 12:53 <-- editieren / zitieren --> Unities abgeben: Nur für Speedy.X
Hallo
Ist zwar in VBA, aber probier's mal damit:
Code:Option Explicit
Private Sub UserParamDingens()
Dim oAssDoc As AssemblyDocument If ThisApplication.ActiveDocumentType = kAssemblyDocumentObject Then Set oAssDoc = ThisApplication.ActiveDocument Else MsgBox "Kein Baugruppendokument - Exit" Exit Sub End If
Dim oCompOcc As ComponentOccurrence Dim oUserParams As UserParameters Dim oUserParam As UserParameter Dim sValueOld As String Dim sValueNew As String Dim oprop As Property On Error Resume Next
For Each oCompOcc In oAssDoc.ComponentDefinition.Occurrences
If oCompOcc.SubOccurrences.Count = 0 Then If oCompOcc.DefinitionDocumentType = kPartDocumentObject Then
Set oUserParams = oCompOcc.Definition.Parameters.UserParameters
For Each oUserParam In oUserParams sValueOld = oUserParam.Value oUserParam.Value = "1234567890" 'Sollte mit was Sinnvollem gefüllt werden Debug.Print "Datei: " & oCompOcc.Definition.Document.FullFileName & " alterWert" & oUserParam.Value; " --- neuer Wert " & oUserParam.Value Next End If Else Call AllSubOccs(oCompOcc) End If
Next
MsgBox "Fertsch" End Sub
Private Sub AllSubOccs(ByVal oCompOcc As ComponentOccurrence) Dim oSubCompOcc As ComponentOccurrence Dim oUserParams As UserParameters Dim oUserParam As UserParameter Dim sValueOld As String Dim sValueNew As String
On Error Resume Next
For Each oSubCompOcc In oCompOcc.SubOccurrences If oSubCompOcc.SubOccurrences.Count = 0 Then If oSubCompOcc.DefinitionDocumentType = kPartDocumentObject Then
Set oUserParams = oSubCompOcc.Definition.Parameters.UserParameters
For Each oUserParam In oUserParams sValueOld = oUserParam.Value oUserParam.Value = "1234567890" Debug.Print "Datei: " & oSubCompOcc.Definition.Document.FullFileName & " alterWert" & oUserParam.Value; " --- neuer Wert " & oUserParam.Value Next Else Call AllSubOccs(oSubCompOcc) End If End If Next End Sub
Der erste komplett kostenlose ISYBAU Viewer! Laden Sie einfach eine Austauschdatei für Kanaldaten und prüfen den Inhalt. Mit dem ISYBAU-Viewer können alle Arten von ISYBAU Dateien und zusätzlich auch DWA-M 150 Austauschdateien geöffnet werden.