Właściwości specyficzne dla konfiguracji

Witam

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  >:(

1 polubienie

Witam.

Możesz wypróbować program Batch Custom Properties Program

Przejdź do opcji, aby wyświetlić właściwości konfiguracji 

Witam

Ten link powinien Ci pomóc

https://bluebyte.biz/macros/delete-all-properties-for-the-active-configuration-solidworks-macro/

 

Pozdrowienia 

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.

1 polubienie

Dziękuję za odpowiedzi

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.

Aby usunąć w każdej konfiguracji:

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

 

1 polubienie

Witam

W przeciwnym razie w BatchProperties, jeśli umieścisz * w nazwie właściwości, usunie wszystkie właściwości

Eliminuje to konieczność otwierania plików w SOLIDWORKS w celu uruchomienia makra i oszczędza czas.

Miłego dnia

Philippe

2 polubienia

Nikiel

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.

Wielkie dzięki!