Gibt es eine Möglichkeit, alle "konfigurationsspezifischen" Eigenschaften einer Charge von Teilen auf die Seite eines SW-Tools, Mycad oder eines Makros zu übertragen? Oder wird nur die Tatsache hervorgehoben, dass es eine oder mehrere "konfigurationsspezifische" Eigenschaften gibt?
Es ist wirklich ärgerlich, eine Blase in einem Masterplan zu haben, die nach diesen Immobilien sucht, wenn wir alles sauber mit Smartbom oder Batchproperties gefüllt haben>:(
Geben Sie mit batchProperties den Namen der Eigenschaft (1) oder der zu löschenden Eigenschaften mit @Delete (2) als Wert ein, wählen Sie dann in den Optionen (3) in den Anwendungen der Eigenschaften die Option auf Alle Konfigurationen aus, und wenden Sie sie dann auf die Charge von Teilen oder Baugruppen an.
Ich habe mich für die Makro-Version von yannick.petit entschieden, um sie in der Mycad-Integration verwenden zu können. Der andere Vorteil ist, dass ich den Namen der zu löschenden Eigenschaften nicht angeben muss.
Ich habe den Code leicht geändert, um die manuelle Bestätigungsanforderung zu entfernen.
Im Idealfall müsste ich es noch einmal so modifizieren, dass es auf alle Konfigurationen wirkt und nicht nur auf die aktive.
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
Es stimmt, dass die Charge den Vorteil hat, dass sie fast augenblicklich erfolgt.
Ich gebe auch das Makro zurück, weil es nicht ungewöhnlich ist, dass ich meine Baugruppe sowieso durch das Werk gejagt habe. Die zusätzliche Integration dieser Funktion ist nicht teuer.