创建名称为flyName的族实例时,首先要坚持当前文档中是否含有该族文件,没有的话,需要载入该族文件,查找的方法可以简单如下:
Family family = new FilteredElementCollector(doc).OfClass(typeof(Family)).Select(p => p as Family).FirstOrDefault(p => p.Name == flyName);
if(family == null) doc.LoadFamily(flyPath,out family);
第一行的代码等同于:
foreach (Element eleF in new FilteredElementCollector(doc).OfClass(typeof(Family)).ToElements())
{
Family fly = eleF as Family;
if (fly == null) continue;
if (fly.Name == flyName)
{
family = fly;
break;
}
}