IEnumerable<Element> findConcreteRamps( Document doc )
{
return new FilteredElementCollector( doc )
.WhereElementIsNotElementType()
.OfCategory( BuiltInCategory.OST_Ramps )
//.Where( e => e.Category.Id.IntegerValue.Equals(
// (int) BuiltInCategory.OST_Ramps ) )
.Where( e =>
{
ElementId id = e.GetValidTypes().First(
id2 => id2.Equals( e.GetTypeId() ) );
Material m = doc.GetElement( doc.GetElement( id )
.get_Parameter(
BuiltInParameter.RAMP_ATTR_MATERIAL )
.AsElementId() ) as Material;
return m.Name.Contains( "Concrete" );
} );
}