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:
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 )
Kluczem jest uzyskanie odpowiedniego wyniku.
2 polubienia