public static List<DuctType> GetDuctTypes(this Document doc)
{
var collector = new FilteredElementCollector(doc);
collector.WherePasses(new ElementClassFilter(typeof(DuctType)));
return collector.OfType<DuctType>().ToList();
}
private static List<DuctType> GetDuctTypes(Document doc, string shapeType)
{
var result = new List<DuctType>();
foreach (var type in doc.GetDuctTypes())
{
var shapeName = type.get_Parameter(BuiltInParameter.ALL_MODEL_FAMILY_NAME);
if (shapeName.AsString() == shapeType)
{
result.Add(type);
}
}
return result;
}