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);
Exemple #2
0
 /// <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));
 }