I don't think I have ever tried that. But is there a way to just make it a button?
Why yes there probably is. I'm not a programmer, but I'm pretty sure it could be done with a Macro.
Edit to add: Here's a macro that rolls back feature by feature. I'm sure it could be edited to create a Roll to Top and Roll to Bottom macro.
I couldn't find a command to drag onto a Command Manager tab (to be fair I don't have a lot of time to look right now), but you can set a keyboard shortcut for each. Would that work for you?
Well Roll to Previous is not moving to the function prior to it. Why would that be?
Roll to Previous will roll to the last location the Roll Back bar was placed. It means Roll Back to previous location, not Roll Back 1 feature.
Do you need to step back by feature or all the way to the top of the tree?
Well both would be nice. I have occasions where I would use both, but back 1 feature would be used more.
Sorry Kassandra, unfortunately, I don't see a method of grabbing the current roll back bar location in the API documentation. If I can't get the current location, I don't know how to tell it to move 1 space from its current location. I'm not saying it is not there, but I can't find it. But, I'm not a real programmer, either. So, you may have better luck asking over in the API/macros section for a macro that will roll the rollback bar 1 feature back and a separate one that will roll it forward 1 feature. If someone can create 1, the other should be trivial to create.
However, I was able to modify an example from the help to be able to roll the roll back bar all the way to the origin. If it doesn't get it right to the origin, you can change the number in the macro to make it work:
Here's the macro (you get no warranties or guarantees). Please test it on something not important until you are sure it isn't going to cause you any problems (I'm not sure how it would, but this is always good practice). Like I said I'm not a real programmer...I just play one on these forums sometimes.
' Delay in seconds
Const DELAY As Single = 1#
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swModelView As SldWorks.ModelView
Dim swPart As SldWorks.PartDoc
Dim swAssy As SldWorks.AssemblyDoc
Dim swFeatMgr As SldWorks.FeatureManager
Dim swFeat As SldWorks.Feature
Dim featFace As Variant
Dim swFace As SldWorks.Face2
Dim rect As Variant
Dim featName() As String
Dim timeNow As Single
Dim docType As Long
Dim i As Long
Dim j As Long
Dim status As Boolean
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swModelView = swModel.ActiveView
Set rect = Nothing
Set swFeatMgr = swModel.FeatureManager
Set swFeat = swModel.FirstFeature
docType = swModel.GetType
Select Case docType
Set swPart = swModel
Set swAssy = swModel
Debug.Print "Open a part or assembly document, then rerun this macro."
Do While Not swFeat Is Nothing
featName(UBound(featName)) = swFeat.Name
ReDim Preserve featName(UBound(featName) + 1)
Set swFeat = swFeat.GetNextFeature
' MsgBox ("featname" & featName(16))
status = swFeatMgr.EditRollback(swMoveRollbackBarToBeforeFeature, featName(16))
status = swFeatMgr.EditRollback()
I will look into this, thanks.