view3d collector

view3d collector

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

view3d collector

Anonymous
Not applicable

Hi,

 

I'd like to create a collector that contains all the 3d views of my project.

I've tested this collector :

 

FilteredElementCollector viewCollector = new FilteredElementCollector(doc).OfClass(typeof(View3D));
                    viewCollector.OfClass(typeof(Autodesk.Revit.DB.View));

 but it contains 3d templates too..

 

How can I get rid of ?

 

Thanks for your help !

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

Anonymous
Not applicable
Accepted solution

Here you go.

 

FilteredElementCollector viewCollector = new FilteredElementCollector(doc).OfClass(typeof(View3D));
List<View3D> view3dList = viewCollector.ToElements().Cast<View3D>().Where(x => x.IsTemplate == false).ToList();

0 Likes
Message 3 of 6

Anonymous
Not applicable

wow you're fast ! 🙂

thanks

0 Likes
Message 4 of 6

niteshpanchal
Contributor
Contributor

How to add this coder in Revit and work with it?

0 Likes
Message 5 of 6

AH_Yafim
Enthusiast
Enthusiast

Do you have an idea how to execute this in python?

I've tried:

collector = FilteredElementCollector(doc).OfClass(View3D)
view3D = collector.ToElements().Where(lambda x: x.IsTemplate == false).ToList()

 

but for some reason the collector doesn't recognize

.Where()

 

Thanks

0 Likes
Message 6 of 6

k.laszczych
Explorer
Explorer

You should try:

view_3d_collector = FilteredElementCollector(doc).OfClass(View3D).ToElements()
view_3d = [view for view in view_3d_collector if view.IsTemplate == False]
0 Likes