Hallo,
es scheint so, dass per Makro die UI Parameter nicht gesetzt werden können. Es gibt einen Workaround, der nur den Folder löscht, ohne Komponenten und auch ohne die Feature in den Komponenten.
Ich habe diesen Workaround per Makro umgesetzt:
Sub DeleteIntelligentComponentFolder() '(Compname As String)
Dim swApp As Object
Dim Part As Object
Dim boolstatus As Boolean
Dim myFeature As Object
Dim myName As String
Dim Compname As String
Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
Compname = "MyComponentName"
boolstatus = Part.Extension.SelectByID2(Compname, "COMPONENT", 0, 0, 0, False, 0, Nothing, 0)
Set myFeature = Part.FeatureManager.InsertFeatureTreeFolder2(swFeatureTreeFolderType_e.swFeatureTreeFolder_Containing)
myName = myFeature.Name
boolstatus = Part.Extension.SelectByID2(myName, "FTRFOLDER", 0, 0, 0, False, 0, Nothing, 0)
boolstatus = Part.Extension.ReorderFeature(myName, "", swMoveLocation_e.swMoveToEnd)
Part.EditDelete
End Sub
Das Löschen der Feature in den Komponenten falls gewünscht, muss dann noch zusätzlich erfolgen. Dazu muss man die Komponente bearbeiten und das Feature löschen mit:
boolstatus = swModel.Extension.SelectByID2(FeatureName, "BODYFEATURE", 0, 0, 0, True, 0, Nothing, 0)
swModel.EditDelete
Wobei FeatureName gleich dem Namen des Intelligenten Folders ist.
Den Workaround habe ich von Austin Schukar erhalten, wo das Ganze per UI aufgezeigt wird:
https://www.youtube.com/watch?v=TPZz4cyhcwQ
Gruß Bernd
[Diese Nachricht wurde von Bernd Knab am 17. Dez. 2021 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP