Jak pisać różne właściwości w wielu konfiguracjach

Witam
Posiadam pliki rodziny części do z dużą ilością konfiguracji. Dla każdej konfiguracji, która zawiera właściwość $Num ero, chcę zmienić nazwę konfiguracji w następujący sposób: $Num ero&(&Configuration&)& i utworzyć konfigurację Title = $Num ero.
Używam więc integracji, ale nagle pobiera właściwość $Num ero aktywnej konfiguracji i używa tej właściwości we wszystkich konfiguracjach
Czy istnieje rozwiązanie do odczytywania i zapisywania właściwości $Num ero każdej konfiguracji?

Powiązany temat: https://forum.lynkoa.com/t/comment-renommer-plusieurs-configurations-avec-le-module-integration-de-mycadtools/104255



Część mojego rozwiązania z właściwościami wsadowymi

1 polubienie

Aby zmienić nazwę konfiguracji zgodnie z właściwością, dlaczego nie zrobić tego bezpośrednio w rodzinie części, umieszczając =$Num ero w 1. kolumnie (nazwa konfiguracji=
Uważaj, aby wybrać " Standardowy " w formacie tej kolumny przed wprowadzeniem formuły. Tutaj w przykładzie używam wartości innej właściwości (D1), aby zmienić nazwę mojej konfiguracji:
image
Możesz zastosować to samo z $Num ero, a następnie po prostu rozciągnąć formułę Excela na dół tabeli (na wszelki wypadek wykonaj kopię zapasową pliku wcześniej)
Nie widzę sensu przechodzenia przez integrację, aby zmienić nazwy konfiguracji w rodzinie części, moim zdaniem sposób Excela jest znacznie prostszy.

3 polubienia

W przeciwnym razie poprzez integrację nie działa ani z rodziną części, ani bez rodziny części:


@fmarchand lub któryś z jego kolegów może być w stanie potwierdzić błąd w regule, jeśli taki istnieje, lub błąd w tej zmianie nazwy? (wersja 2022 Sp2.1)

1 polubienie

Tak, zgadzam się, że z tabelą Excela jest łatwiej.
Chodzi o to, że mam wiele plików do przetworzenia i kilka właściwości do wypełnienia, które wcześniej wyodrębniliśmy z naszego ERP. Dlatego szukam kuracji "na masę"
Cel pobierania danych w oprogramowaniu 3DEXPERIENCE
Dziękuję za odpowiedzi, podam newsa i @fmarchand również padło na pytanie

2 polubienia

W przeciwnym razie inne rozwiązanie za pośrednictwem makra vba.
Ten kod zmodyfikowany z codestack doskonale spełnia swoje zadanie, dla mnie testowaną właściwością był $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

Zmodyfikuj go za pomocą swojej właściwości i przetestuj go na części (po zapisaniu).
Jeśli to zadziała, aby uruchomić go wsadowo, utwórz regułę w Integracja z SOLIDWORKS= warunek systematyczny, a w operacji Różne makro i przejdź do znalezienia makra wcześniej zapisanego z powyższym kodem.

1 polubienie

Witam
W końcu użyłem Integracji z odrobiną dodatkowej manipulacji.
Pobieram wszystkie nazwy konfiguracji i nazwy plików moich różnych plików śrubowych za pomocą smartbom. Kojarzę je z moją macierzą właściwości w Excelu za pomocą WYSZUKAJ.PIONOWO, a następnie dzięki integracji mogę zapisać wszystkie właściwości w odpowiedniej konfiguracji (patrz zrzuty ekranu)


Uwaga: Nie poświęciłem czasu na przetestowanie makra @sbadenis (nie czuję się zbyt komfortowo z makrami :slight_smile: )

Kluczem jest uzyskanie odpowiedniego wyniku.

2 polubienia