REVIT API — Получение списка параметров экземпляра

#c# #revit-api

Вопрос:

Получение списка параметров экземпляра

Привет,

я пытаюсь написать приложение для выборки всех параметров по всем категориям, семействам и типам (мне нужны только имена параметров, значения не нужны).

Для семейства rfa (не встроенного) все в порядке, например, я использую «поддельный» фиктивный экземпляр семейства в транзакции, который затем откатывается.

Но проблема заключается в семействах встроенных систем (типы элементов — например, стены, крыши, полы …)

Есть ли какой-либо способ получить все параметры, включая параметры экземпляра (или, по крайней мере, только параметры экземпляра) для системных семейств? Нужно ли мне сначала создавать каждый из них? Есть ли какой-либо способ избежать создания экземпляра первым для получения параметров экземпляра? Или любым способом простого создания экземпляра (правильное размещение не требуется, потому что я выполняю транзакцию отката) Теперь у меня есть этот код для получения параметров типа для семейства систем

 var systemTypes = new FilteredElementCollector(doc)  .OfClass(typeof(HostObjAttributes))  .ToList();   foreach ( ElementType s in systemTypes)  {  foreach (Parameter pp in s.Parameters)  {  Main.logger.log($"t{pp.Definition.Name}");  }  }