Приложению Revit не удалось выполнить CopyParameters
Приветствую, коллеги-проектировщики!
При переходе на Revit 2022 столкнулись с проблемой. При запуск макроса CopyParameters для создания спецификации - выходит ошибка.
Нашёл решение в сети. Но решил написать шпаргалку и для себя.
В макросе проблемы в нескольких строках на тему перевода размерности длин измерения.
Надо ручками заменить в скрипте пару строк. В исходной статье показаны скриншоты, но когда делаешь несколько раз подряд на разных ПК. Хочется-где-то быстро скопировать.
Заходим на закладку «Управление» ----> «Диспетчер макросов», выделяем макрос и нажимаем редактировать. Изменения будем вносить в 417, 444, 456 строку. А строки 966 и 1006 я просто закомментировал, т.к. пока не знаю, что с ними делать. Да и не использую я создание пространств по помещениям через макрос: хочется больше контроля
Для быстрого поиск рекомендую ввести в поиск "len = " и вы быстрой найдёте нужные строки. Номера редактируемых строк могут отличаться +/-.
417 строка — преобразование линейных единиц из футов в метры:
Меняем на
len = len*0.3048*GetPercentGlobal(doc);
Исходную строку лучше закомментировать. - //
Должно получиться так:
444 строка — преобразование объемных единиц из куб. футов в куб. метры:
len = len*0.02831685;
456 строка — преобразование площадных единиц из кв. футов в кв. метры:
len = len*0.092903;
В конце внесения всех изменений в код макроса в Sharp Develop нажимаем на выпадающее меню «Сборка» и выбираем «Собрать решение» (F8). Ошибок быть не должно. Ну максимум одно предупреждение про неиспользованную переменную. С переводными коэффициентами из футов в метры вроде тоже всё проверил
Если не можете найти последние 2 строки, которые надо закоментировать,то нажмите "Собрать проект" - и получите ошибки с номерами строк.
Строка 990
sp.get_Parameter(BuiltInParameter.ROOM_UPPER_OFFSET).Set(UnitUtils.ConvertToInternalUnits(defLimitOffset, DisplayUnitType.DUT_MILLIMETERS));
Строка 1030
wSpace.get_Parameter(BuiltInParameter.ROOM_UPPER_OFFSET).Set(UnitUtils.ConvertToInternalUnits(defLimitOffset, DisplayUnitType.DUT_MILLIMETERS));
Спасибо Евгению Кондакову. Источник: https://buildsoft.ru
Или закажите Kwork:
1. Проектирование отопления и вентиляции коттеджа
2. Расчёт системы отопления в программе audytor C.O.
3. Расчёт тепловых потерь
4. Консультация по системе отопления коттеджа
5. Консультация по системе вентиляции коттеджа