注意 过滤出来的是族实例的元素 不包含系统类型的 如果想要过滤出系统类型的 可以先得到所有的再用Host对比是否相同
/// <summary>
/// 得到元素的子元素
/// </summary>
/// <param name="elem">元素</param>
/// <returns>集合</returns>
public List<Element> GetSubElement( Element elem)
{
List<Element> result = new List<Element>();
List<FamilyInstance> list = null;
得到所有主元素是elem的元素
list = (from f in elem.Document.FilterElements<FamilyInstance>((View)null)
where((f.Host != null) && (f.Host.Id == elem.Id)) || ((f.HostFace != null) && (f.HostFace.ElementId == elem.Id))
select f).ToList<FamilyInstance>();
Document doc = elem.Document;
list.ForEach(delegate(FamilyInstance p)
{
result.Add(p);
}
return result;
}