Квартирография Remastered

preview_player
Показать описание
(по сравнению с видео, добавлено дополнительное преобразования Convert.ToDecimal)
Формулы Revit:
Формула округления простой площади:
rounded_area = round(round(Площадь / 1 м² * 1000) / 10) * 1 м² / 100
Формула округления для площади с коэффициентом:
round_area_by_koef = (round(100 * (rounded_area * ADSK_Коэффициент площади) / 1 м²) * 1 м²)/100
Формула округления для площади с коэффициентом в одну строку:
round_area_by_koef_one_line = round(ADSK_Коэффициент площади * (round(round(Площадь / 1 м² * 1000) / 10) * 1 м² / 100) / 1 м² * 100) * 1 м² / 100
Рекомендации по теме
Комментарии
Автор

Я сталкивался с той же проблемой.
Решил по другому.
Срезал окончание после тысячной у одних цифр и переносил в другие. Тогда они округлялись одинаково
---
Тема круть :)

dronovdmitry
Автор

Алексей, скрипт скриптом, но давай к сути: зачем всё нужно было:
1. Заказчик проверяет циферки, складывая площади помещений, а не высчитывая их заново с плана. Так что исходное утверждение, что что-то где-то кто-то усмотрит - неверно.
2. Округление сначала до 3, потом до 2 цифр после запятой приведёт к ошибкам, смотри:
4, 4447 - округление до 2 даёт 4.44
4, 4447 - округление до 3 даёт 4.445, округление до 2 даёт 4.45. Налицо ошибка.
3. Проблема была в том, что в исходном коде скрипта было округление не такое, как в Revit.
4. Если учитывать п. 1 (что пересчитывать с плана не будут), то можно сделать не round до 2 цифры, а roundup с тем же эффектом.
ИТОГО: скрипт и формула в спеке, которые получились, могут накидывать к площади одну сотую метра там, где это не надо. Но они решают проблему того, что площадь в спеке с обработкой скриптом и в марке могут не биться.
Для тех, кто не пользуется скриптом - ничего не поменялось )))

EasysmArt
Автор

Здравствуйте Алексей, спасибо за видео. К сожалению читаю код питона не очень хорошо, а тема площадей больная (сам до нее еще не добрался)...
У вас присутствует пояснение в коде « # в версии 2.13 умножение на коэффициент было внутри, до второго округления, теперь умножение на коэффициент после всех веток округления», вам не кажется, что после коэффициента нужно еще раз округлить число (на всякий случай)?
Почему спрашиваю, например у нас есть коэффициент 0.3, но не всякое число делится на 3.
1/3 = но мы считаем 0, 33 и если мы суммируем три таких числа мы хотим видеть 0, 99. А Revit знает что 1/3 = 3 = 1, а не 0, 99
И вот когда мы применяем коэффициент без округления, есть шанс, что эти бесконечные цифры вылезут.

И еще интересно увидеть формулы в спецификации, вы показали формулу без применения коэффициента.
В марках вы такие же формулы используете как и в спецификации?

EvgeniyKBird
Автор

К сожалению, проблема с сотыми сохраняется, даже с двойной формулой округления в экспликации, просто для других квартир. Уже не столько важно соответствие с планом, сколько чтобы экспликация с маркой просто совпали...

ЛилияНагаева-ды
Автор

Подскажите пожалуйста, а как округлить до 10 знака?
Сейчас требуют подавать квартирографию в ЕГРН с площадями округленными до десятичного знака =(

иваниванов-коб
Автор

Алексей, добрый день! Revit 2020.2 Поменял только имена параметров на свои. Выдает ошибку над нодой скрипта операция не выполнена.
Traceback (most recent call last):
File "<string>", line 24, in <module>
ImportError: Cannot import name UnitTypeId.
В чем тут дело?

Dimkaya
Автор

Алексей, привет! Спасибо за скрипт, очень выручает) Однако в Revit 2022 он не работает. На скрипте Python выдаёт ошибку: операция не выполнена. Traceback (most recent call last): File "<string>", line 5, in <module> ImportError: Cannot import name DisplayUnitType. Можешь подсказать с чем связано и как поправить ?

NikitaTyukov