Czy istnieje sposób na wyczyszczenie wszystkich "specyficznych dla konfiguracji" właściwości partii części, do poziomu narzędzia programowego, Mycada lub makra? A może podkreśli tylko fakt, że istnieje jedna lub więcej właściwości "specyficznych dla konfiguracji"?
To naprawdę denerwujące, gdy w planie generalnym pojawia się bańka, która szuka tych właściwości, gdy wypełniliśmy wszystko czysto za pomocą smartbom lub wsadowych właściwości >:(
Za pomocą batchProperties umieść nazwę właściwości (1) lub właściwości, które mają zostać usunięte, za pomocą @Delete (2) jako wartość, a następnie w opcjach (3) w aplikacjach właściwości wybierz wszystkie konfiguracje, a następnie zastosuj do partii części lub zespołów.
Zdecydowałem się na wersję makr yannick.petit, aby móc jej używać w integracji z Mycad. Drugą zaletą jest to, że nie muszę podawać nazw właściwości, które mają zostać usunięte.
Zmieniłem nieznacznie kod, aby usunąć prośbę o ręczne potwierdzenie.
Idealnie byłoby mi go ponownie zmodyfikować tak, aby działał na wszystkich konfiguracjach, a nie tylko na aktywnej.
Option Explicit
Sub main()
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swConfig As SldWorks.Configuration
Dim swCustPropMgr As SldWorks.CustomPropertyManager
Dim vPropNames As Variant
Dim vPropName As Variant
Dim configNames As Variant
Dim configName As Variant
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
configNames = swModel.GetConfigurationNames
For Each configName In configNames
Set swConfig = swModel.GetConfigurationByName(configName)
Set swCustPropMgr = swConfig.CustomPropertyManager
vPropNames = swCustPropMgr.GetNames
For Each vPropName In vPropNames
swCustPropMgr.Delete vPropName
Next
Next
End Sub
To prawda, że partia ma tę zaletę, że jest niemal natychmiastowa.
Zwracam również makro, ponieważ nierzadko zdarza się, że i tak przepuszczam mój zestaw przez młyn. Integracja tej funkcji dodatkowo nie jest kosztowna.