public static IList <ElementId> GetDependentElements(this Element element, ElementFilter filter) { try { using (var transaction = new Transaction(element.Document, nameof(GetDependentElements))) { transaction.Start(); var collection = element.Document.Delete(element.Id); if (filter is null) { return(collection?.ToList()); } return(collection?.Where(x => filter.PassesFilter(element.Document, x)).ToList()); } } catch { } return(default);
/// <summary> /// An element passes if it passes the ElementFilter /// </summary> /// <param name="elem"></param> /// <returns></returns> public override bool AllowElement(Element elem) { return(m_filter.PassesFilter(elem)); }