//查找具有指定名字关键字的窗
public List<FamilyInstance> GetWindowsWithNameKey(Document doc, string key)
{
List<FamilyInstance> elements = new List<FamilyInstance>();
try
{
FilteredElementCollector collector = new FilteredElementCollector(doc);
ElementClassFilter classFilter = new ElementClassFilter(typeof(FamilyInstance));
ElementCategoryFilter catFilter = new ElementCategoryFilter(BuiltInCategory.OST_Windows);
LogicalAndFilter logicalFilter = new LogicalAndFilter(classFilter, catFilter);
collector.WherePasses(logicalFilter);
FilteredElementIterator eit = collector.GetElementIterator();
eit.Reset();
while (eit.MoveNext())
{
FamilyInstance element = eit.Current as FamilyInstance;
if (element == null)
continue;
if (element.Name.IndexOf(key) != -1)
elements.Add(element);
}
}
catch (System.Exception)
{
}
return elements;
}