[ADSK] Новая квартирография для шаблонов
Экскурс в историю.
С недавним обновлением шаблонов ADSK (декабрь 2022) мы выпустили доработанный скрип по работе с квартирографией на шаблонах ADSK. Но как выяснилось, не смотря на улучшения и частичную переработку кода, проблема осталась. А именно: округление значений площадей для квартир.
Дело в том, что в спецификации шаблона имеются расчетные параметры для вычисления жилой площади, площади квартиры и общей площади квартиры, с учетом коэффициентов для балконов и лоджий. При расчете в спецификациях используются формулы округления значений, чтобы при использовании этих параметров цифры, что называется “бились” друг с другом, и не набегали сотые доли за счет суммирования без округления. Скрипт на Dynamo работает с теми же значениями параметров, однако механизм округления внутри Dynamo и внутри Revit немного отличаются, и на выходе мы имеем отличия в виде сотых долей площадей. Это происходит не для всех квартир, а только для некоторых, в состав которых входят помещения, имеющие “пограничные” значения площади. Например, для значения 5,365 м² спецификация Revit округляет его как 5,37 м², а в Dynamo получаем 5,36 м².
Если посмотреть на значения площадей, которые мы получаем через Dynamo, то там не все так гладко, у каждого значения имеется большая погрешность. Происходит это, как мне кажется, из-за того, что при работе из такого рода величинами происходит перевод единиц измерения из метров в футы и обратно, так и накапливается эта погрешность.
На рисунке выше видно, что на самом деле значение, которое округляет Dynamo не 5,365, а 5,3649999… При округлении до 2 знаков после запятой девятки просто игнорируются, и мы видим округленное значение 5,36.
Что мы придумали?
Для решения выше обозначенной проблемы мне пришла в голову мысль: если Dynamo и Revit округляют значения по разному и мы имеем нужные значения в спецификации, то почему бы их не взять прямо оттуда? Так родилась идея переписать скрипт, учитывая новую логику получения параметров.