Ярослав, кажется понял что вы имеете ввиду.
Дело в том, что при создании объекта, значение общего параметра типа Да/Нет не задано. Говоря языком программирования, оно равно
null. Т.е. его значение на Да ни Нет.
После создания объекта в значении параметра видим вот что:
Значение параметра помечено серым цветом, значит оно не задано. И то что оно помечено галочкой, это не значит, что значение равно
Да.
Поэтому при чтении параметра вы получили 0.
Если воспользоваться RevitLookup, то можно увидеть и значение самого параметра и значение свойства
HasValue. Как видно, оно по умолчанию равно
False.
Как я описал, значение корректно устанавливается. Если у вас не получилось, значит где-то ошибка в коде.
Я пробовал вот так:
var collector = new FilteredElementCollector(doc);
var walls = collector.OfClass(typeof(Wall)).ToElements();
using (var t = new Transaction(doc, "Изменение параметра"))
{
t.Start();
foreach (var element in walls) {
var parameter = element.GetParameters("ADN-CIS").FirstOrDefault();
parameter.Set(1);
}
t.Commit();
}