So schreiben Sie unterschiedliche Eigenschaften für mehrere Konfigurationen

Hallo
Ich habe Teilefamiliendateien für Schrauben mit vielen Konfigurationen. Für jede Konfiguration, die eine $Num ero-Eigenschaft trägt, möchte ich die Konfiguration wie folgt umbenennen: $Num ero&(&Configuration&)& und erstellen Sie einen Konfigurationstitel = $Num ero.
Also verwende ich Integration, aber plötzlich nimmt es die $Num ero-Eigenschaft der aktiven Konfiguration und verwendet diese Eigenschaft in allen Konfigurationen
Gibt es eine Lösung, um die $Num ero-Eigenschaft jeder Konfiguration zu lesen und zu schreiben?

Verwandtes Thema: https://forum.lynkoa.com/t/comment-renommer-plusieurs-configurations-avec-le-module-integration-de-mycadtools/104255



Teil meiner Lösung mit batchproperties

1 „Gefällt mir“

Um den Namen der Konfiguration entsprechend der Eigenschaft umzubenennen, warum tun Sie dies nicht direkt in der Teilefamilie, indem Sie =$Num ero in die 1. Spalte einfügen (Name der config=
Achten Sie darauf, dass Sie im Format dieser Spalte " Standard " auswählen, bevor Sie die Formel eingeben. Hier im Beispiel verwende ich den Wert einer anderen Eigenschaft (D1), um meine Konfiguration umzubenennen:
image
Sie können das Gleiche mit $Num ero anwenden und dann die Excel-Formel einfach an den unteren Rand Ihrer Tabelle strecken (erstellen Sie vorher eine Sicherungskopie Ihrer Datei, nur für den Fall)
Ich sehe keinen Sinn darin, die Integration zu durchlaufen, um die Konfigurationen in einer Familie von Teilen umzubenennen, der Excel-Weg ist meiner Meinung nach viel einfacher.

3 „Gefällt mir“

Andernfalls funktioniert es über Integration weder mit Teilefamilie, noch ohne Teilefamilie:


@fmarchand oder einer seiner Kollegen kann den Fehler in der Regel bestätigen, falls es einen gibt, oder den Fehler bei dieser Umbenennung? (Version 2022 Sp2.1)

1 „Gefällt mir“

Ja, ich stimme zu, dass es mit der Excel-Tabelle einfacher ist.
Es ist so, dass ich viele Dateien verarbeiten und mehrere Eigenschaften ausfüllen muss, die wir zuvor aus unserem ERP extrahiert haben. Deshalb bin ich auf der Suche nach einer "Massen"-Behandlung
Zweck des Abrufens von Daten in 3DEXPERIENCE
Vielen Dank für die Antworten, ich werde Neuigkeiten geben und @fmarchand wurde auch zu der Frage gefragt

2 „Gefällt mir“

Ansonsten eine andere Lösung über Makro-VBA.
Dieser Code, der von Codestack modifiziert wurde, macht die Arbeit perfekt, für mich war die getestete Eigenschaft $PROPRIETE@NUMERO:

'**********************
'Copyright(C) 2022 Xarial Pty Limited
'Reference: https://www.codestack.net/solidworks-api/data-storage/custom-properties/rename-configurations-based-custom-property/
'License: https://www.codestack.net/license/
'**********************

Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2

Sub main()

    Set swApp = Application.SldWorks
    
    Set swModel = swApp.ActiveDoc
    
    If Not swModel Is Nothing Then
        
        Dim prpName As String
        
        'prpName = InputBox("Specify the property name to read the value from")
        prpName = "NUMERO" 'ici le nom de la propriété à modifier
        
        'If prpName <> "" Then
            
            Dim vConfNames As Variant
            Dim i As Integer
            
            vConfNames = swModel.GetConfigurationNames()
            
            For i = 0 To UBound(vConfNames)
                    
                Dim swConf As SldWorks.Configuration
                Set swConf = swModel.GetConfigurationByName(vConfNames(i))
                
                Dim prpVal As String
                
                If swConf.CustomPropertyManager.Get3(prpName, False, "", prpVal) Then
                    
                    If prpVal <> "" Then
                        swConf.Name = prpVal
                    End If
                    
                End If
                
            Next
            
        'End If
        
    Else
        MsgBox "Please open the model"
    End If
    
End Sub

Ändern Sie es mit Ihrer Eigenschaft und testen Sie es an einem Teil (nach dem Speichern).
Wenn es funktioniert, erstellen Sie zum Ausführen im Stapel eine Regel in der systematischen Bedingung Integration mit SOLIDWORKS= und in der Operation, Makro Verschiedenes und suchen Sie das Makro, das zuvor mit dem obigen Code gespeichert wurde.

1 „Gefällt mir“

Hallo
Am Ende habe ich die Integration mit ein wenig zusätzlicher Manipulation verwendet.
Ich rufe alle Konfigurationsnamen und Dateinamen meiner verschiedenen Schraubendateien mit Smartbom ab. Ich verknüpfe sie mit meiner Eigenschaftsmatrix in Excel über ein SVERWEIS und kann dann mit der Integration alle Eigenschaften in die richtige Konfiguration schreiben (siehe Screenshots)


Hinweis: Ich habe mir nicht die Zeit genommen , das @sbadenis Makro zu testen (ich bin mit Makros :slight_smile: nicht sehr vertraut)

Der Schlüssel ist, das richtige Ergebnis zu erzielen.

2 „Gefällt mir“