Здравствуйте!
Из-за авралов на работе почти год не было времени принимать попытки автоматизации.
Сейчас есть время и вопрос:
В приложении необходимо (для последующей обработки) проверить наличие параметра во всех семействах определённой категории. При отсутствии его в некоторых семействах - добавлять в них.
Вроде самый простой способ - добавить этот параметр для данной категории в параметры проекта, но как я понял в форуме Джереми Таммика, эта возможность не предусмотрена. В связи с почти почти полным отсутствием опыта Revit API, не могу разобраться сам. Примеры из интернета, как я понял предусматривают загрузку параметра в семейство из файла общих настроек, мне же достаточно просто установить новый текстовой параметр "по экземпляру". Попытки просто считать список семейств по категории (при заранее установленным в Ревите параметром семейства), говорят, что параметр = null.
ICollection<FamilySymbol> famType = new FilteredElementCollector(doc)
.OfCategory(BuiltInCategory.OST_ElectricalEquipment)
.OfClass(typeof(FamilySymbol))
.Cast<FamilySymbol>()
.ToList();
foreach (FamilySymbol ft in famType)
{
var getPar = ft.LookupParameter(serParam);
if (ft.LookupParameter(serParam) == null)
serParam = "null";
else
serParam = "exist";
str += ft.Name + " " + ft.Family.Name + " " + serParam + Environment.NewLine;
}
Clipboard.SetText(str);
TaskDialog.Show("Systems", "Скопируйте текст в блокнот");
Есть ли какое-нибудь решение проблемы?