You can also access the results directly to loop over the ones you want. It's not the cleanest:
for icase, (obj, res_name) in self.result_cases.items():
node_centroid = obj.get_location(*res_name)
class_name = obj.__class__.__name__
if class_name == 'DisplacementResults2': # ForceResults2
print(' disp')
print(obj)
self.cycle_results(icase)
break
continue
The sidebar stuff is a bit fancier and doesn't have a clean API. It's very focused on using the GUI. In that case, you'd call the set_sidebar_args method and then cycle the results. That's going to be slightly different per result.