Autodesk Revitにて選択されていない要素情報を取得する方法例です。
備忘録的なモノなので動作は保証しませんがヒントになれば幸いです。
/// <summary>
/// 要素IDコレクションを取得する
/// <param name="revit">ExternalCommandData</param>
/// <return>要素IDコレクション</return>
/// </summary>
private ICollection<ElementId> GetElementIds(ExternalCommandData revit)
{
UIApplication uiapp = revit.Application;
UIDocument uidoc = uiapp.ActiveUIDocument;
Application app = uiapp.Application;
Document doc = uidoc.Document;
// フィルターセット(例では解析モデル床でフィルタリング)
ElementCategoryFilter filter = new ElementCategoryFilter(BuiltInCategory.OST_FloorAnalytical);
FilteredElementCollector collector = new FilteredElementCollector(doc);
elementIds = collector.WherePasses(filter).WhereElementIsNotElementType().ToElementIds();
// 要素IDを取得する
return elementIds;
}