Hope you've made some progress in the last month, but I've got a few more suggestions.
If you want to retrieve elements from a view, you can use a FilteredElementCollector as follows:
Code:
Document doc; //the document you're dealing with
View view; //assuming you've already retrieved the detail view that you're dealing with
ElementMulticategoryFilter filter = new ElementMulticategoryFilter(new List<BuiltInCategory>{BuiltInCategory.OST_Curves, BuiltInCategory.OST_TextNotes, BuiltInCategory.OST_DetailComponents});
FilteredElementCollector coll = new FilteredElementCollector(doc, view.Id).WherePasses(filter);
//Access the elements or the element IDs, you shouldn't need both
var elements = coll.ToElements();
var elementIds = coll.ToElementIds();
Tweak the categories in the ElementMulticategoryFilter to suit your needs.
Once you have retrieved all of the elements that you want, you should be able to use the copy/paste API to copy these to a new view. You can also create the view programmatically if it doesn't already exist. Read the API docs for more info on how to do this.