Macro to delete all features which are in the rolled back state in SOLIDWORKS document
More 'Goodies'
This VBA macro deletes all features which are below the rollback bar.
Dim swApp As SldWorks.SldWorks Sub main() try_: On Error GoTo catch_ Set swApp = Application.SldWorks Dim swModel As SldWorks.ModelDoc2 Set swModel = swApp.ActiveDoc Dim vRolledBackFeats As Variant vRolledBackFeats = GetRolledBackFeatures(swModel) If False = swModel.FeatureManager.EditRollback(swMoveRollbackBarTo_e.swMoveRollbackBarToEnd, "") Then Err.Raise vbError, "", "Failed to roll forward" End If If swModel.Extension.MultiSelect2(vRolledBackFeats, False, Nothing) <> UBound(vRolledBackFeats) + 1 Then Err.Raise vbError, "", "Failed to select features" End If If False = swModel.Extension.DeleteSelection2(swDeleteSelectionOptions_e.swDelete_Absorbed) Then Err.Raise vbError, "", "Failed to delete features" End If GoTo finally_ catch_: swApp.SendMsgToUser2 Err.Description, swMessageBoxIcon_e.swMbStop, swMessageBoxBtn_e.swMbOk finally_: End Sub Function GetRolledBackFeatures(model As SldWorks.ModelDoc2) As Variant Dim isInit As Boolean Dim swFeats() As SldWorks.Feature Dim swFeat As SldWorks.Feature Set swFeat = model.FirstFeature While Not swFeat Is Nothing If False <> swFeat.IsRolledBack() Then If Not isInit Then isInit = True ReDim swFeats(0) Else ReDim Preserve swFeats(UBound(swFeats) + 1) End If Set swFeats(UBound(swFeats)) = swFeat End If Set swFeat = swFeat.GetNextFeature Wend If isInit Then GetRolledBackFeatures = swFeats Else GetRolledBackFeatures = Empty End If End Function