How to get ViewSets,which i've created in PublishSettings?

How to get ViewSets,which i've created in PublishSettings?

Anonymous
Not applicable
1,980 Views
5 Replies
Message 1 of 6

How to get ViewSets,which i've created in PublishSettings?

Anonymous
Not applicable

I need to get Views ids from created View sets. How can i do that?

0 Likes
Accepted solutions (1)
1,981 Views
5 Replies
Replies (5)
Message 2 of 6

naveen.kumar.t
Autodesk Support
Autodesk Support
Accepted solution

Hi @Anonymous ,

To get view form view set

1)get all the view sheets from the view set.

2)from each viewsheet get the views.

try using the below code

ViewSet myViewSet;
 IList<View> myViews= new List<View>();
foreach(ViewSheet sheet in myViewSet)
               {
                    ISet<ElementId> viewIds = sheet.GetAllPlacedViews() as ISet<ElementId>;
                    foreach(ElementId viewID in viewIds)
                    {
                        View v = doc.GetElement(viewID) as View;
                        myViews.Add(v);
                    }                   
               }

Here IList<View> myViews contains all the views placed in the view sheets.

 

Is this what you want?

If not can you please explain your issue a bit more?

 

I hope this helps.


Naveen Kumar T
Developer Technical Services
Autodesk Developer Network

0 Likes
Message 3 of 6

Anonymous
Not applicable

Thank for your example, but unfortunately it doesn't work,because ViewSet myViewSet is unassigned.

I mean , i need to get Views from ViewSets that are already in the model, not created by myself.

0 Likes
Message 4 of 6

naveen.kumar.t
Autodesk Support
Autodesk Support

Hi @Anonymous ,

To collect viewset can you try using the below code

                FilteredElementCollector coll = new FilteredElementCollector(doc).OfClass(typeof(ViewSheetSet));
                List<ViewSheetSet> viewSets = coll.Cast<ViewSheetSet>().ToList();

Naveen Kumar T
Developer Technical Services
Autodesk Developer Network

0 Likes
Message 5 of 6

Anonymous
Not applicable

I have an error in the  foreach statement .Can't convert from ViewSheetSet to ViewSheet

0 Likes
Message 6 of 6

Anonymous
Not applicable

Thanks a lot, i've done my Task.

			FilteredElementCollector coll = new FilteredElementCollector(currentDocumnet).OfClass(typeof(ViewSheetSet));
			List<ViewSheetSet> viewSheetSet = coll.Cast<ViewSheetSet>().ToList();
		
			ViewSet viewSet = new ViewSet();
			foreach (var item in viewSheetSet)
			{
				if (item.Name=="NameThatWeNeed")
				{
					viewSet = item.Views;
				}
				
			}
		
			IList<View3D> myViews = new List<View3D>();
			foreach (View3D view in viewSet)
			{
				myViews.Add(view);
			}
0 Likes