вторник, 30 января 2018 г.

Высотная отметка с округлением до 10мм

Задали мне вчера вот такой вопрос: можно ли сделать высотную отметку с округлением высоты до 10мм? То есть, если значение отметки "+7.836" - выводить "+7.840", и т.д.:

Казалось бы, что сложного? Взять да добавить округление, как в размерном стиле с округлением до 10мм:

Но не всё так просто!
За дальнейшими исследованиями прошу под кат.
Вообще я, как конструктор, даже размерами с округлением пользуюсь с осторожностью, а отметки всегда ставлю точно, но оказалось, что для архитекторов и инженеров это округление - востребованная задача.



Проблема

Напомню, что для получения вида отметки с тремя знаками после точки используется вывод значения в метрах с округлением до трех знаков без подавления концевых нулей:

В семействе заголовка уровня такой же принцип округления используется в настройке единиц "Метки":


 Нам же нужно округление до 10мм - то есть до двух знаков. Если просто поменять округление - получим отметку "+7.84":
Не совсем то!

Теоретически можно было бы сделать вывод отметок в миллиметрах, указать округление до 10мм, но отделять запятой тысячи. Для этого нужно добавить группировку в "Единицах проекта" и включить "Группирование цифр" в настройках единиц:
Но тогда будет неправильно выводиться отметка высоты менее 1 метра, "+0.150" превратится в "+150":

В крайнем случае можно сделать пользовательское округление "до 0.005", тогда значения отметок будут равны 0.000, 0.005, 0.010 и т.д.
Но всё-таки попытаемся победить и сделать округление до 10мм.

Отметка уровня

Очевидно, что для нужного вида числа нужно оставить округление до двух знаков после запятой, но в конец поставить цифру "0".
В семействе уровня это делается легко, можно просто добавить в "Метку" суффикс "0":

Вот получилось как надо:

Высотная отметка

Тут сложнее: её числовое значение настраивается не в семействе (там задаются только линии полки, стрелка и т.д.), а в самом стиле высотной отметки.
Первым делом сделаем округление до 0.01. Далее нужно как-то добавить "0" в конец числа.
В "Свойствах типа" высотной отметки есть "Суффикс альтернативных единиц", но он отображается только для этих "Альтернативных единиц".
"Суффикс" есть в "Свойствах экземпляра" - можно поставить там 0:


Но это придется делать для каждой отметки. Нехорошо!
Я уже был готов добавлять 0 внутрь самого семейства отметки, но в ходе дальнейших исследований меня привлекли мне настройки в свойствах типа, содержащие слова "префикс" и "суффикс". Сможем мы с ними каши сварить?

Во-первых, настройки "Указатель верха/низа". Эти настройки используются, когда высотная отметка устанавливается не "Фактическая", а "Верхняя/Нижняя":
"Нижняя" отметка позволяет установить на плане отметку низа плиты, а "Указатель низа" напоминает, что это именно отметка низа. Можно указать "н" как в начале, так и в конце числа.
Но эти префиксы не используются, когда ставится обычная "Фактическая" отметка...

Далее наш взгляд привлекает еще одна настройка: "Указатель отметки в виде префикса/суффикса". Что за зверь? Не очень понятно, переключаем - ничего не меняется. Высокотехнологичным научным методом определяем, что эта настройка связана с параметром "Указатель фасада". Непонятно, кто его так перевел, но это и есть желанный префикс:


Записываем туда "0", указываем "Суффикс" - но опять не то, некрасиво!
Ревит отделяет суффикс пробелом, поэтому нужно дополнительно включить "Подавлять пробелы":

Готово! Хитрость рук и никакого мошенничества.

Само собой, лучше предварительно создать новый тип высотной отметки, чтобы не изменить всё отметки в проекте, и задать для неё какой-то другой цвет для визуального выделения.
Вот так будет выглядеть окончательная настройка:


Я вряд ли буду пользоваться такими отметками, но кому-то точно пригодится. Добавлю в следующую версию шаблона. Успехов :)

Комментариев нет:

Отправить комментарий