Форумчане, добрый день!
Мне по очереди необходимо открывать семейства по указанному пути и заменять определенные параметры в них. Для удобства использую Win form, в которой отображаются найденные семейства и их параметры. Тут же пользователь выбирает какие из параметров под замену.
Насколько мне известно без открытия семейства внести изменения в него не выйдет, поэтому по очереди пытаюсь открыть семейство, найти выбранный параметр и выполнить замену (не самый оптимальный путь, но пока так).
Открытие семейства выполняю с помощью
commandData.Application.OpenAndActivateDocument(fToOpen);
Далее пытаюсь заменить параметр семейства
using (Transaction replaceFamilyParametr = new Transaction(doc,"ReplaceParam"))
{
fm.ReplaceParameter(fp, externalDefinition, paramGroup, fpIsIstanse);
}
И вот при первой же попытке замены получаю сообщение "A sub-transaction can only be active inside an open Transaction"
Собственно вопрос как сделать, чтобы заработало?)