среда, 12 декабря 2012 г.

Как избавиться от значка промилле в профиле, сечении и плане?


Эта, вроде бы несложная, задача вызывает не малое количество вопросов у всех, кто работает в Civil 3D. В особенности, если значок нужно убрать из подпрофильной таблицы.
Но, давайте начнем с самого очевидного - это смогли уже сделать многие, а именно избавиться от значка промилле в плане, рисунок 1.

Рисунок 1.Метки до и после

Для получения такого значка используем чрезвычайно полезную функцию – Выражения. Эти Выражения существуют почти для каждой метки объектов Civil 3D, выглядит это как на рисунке 2.

Рисунок 2. Расположение выражения
Как вы уже, наверное, знаете, все стили, команды и выражения находятся во вкладке Параметры, там находим тип объектов для которого нужно создать Выражение (в нашем случае это Поверхность) и находим раздел Стили меток, затем находим коллекцию  Откос и там, на ряду со всеми стилями, последним будет пункт  Выражения. Нажмите на него ПКМ и выберете создать. Откроется диалог, как на рисунке 3.

Рисунок 3. Настройка выражений
Итак, что же это за таинственные выражения? Они позволяют вам формировать значения меток объектов Civil 3D с учетом арифметических, тригонометрических и алгебраических функций. Т.е., если вам нужно к значению меток прибавить что-то, извлечь корень, получить только дробную часть, вычислить арккосинус метки и т.п., то вам сюда.
В поле Имя введите название вашего выражения (у меня Без промилле), как и все другие названия в Civil 3D оно должно быть максимально говорящим. Здесь это особенно важно, т.к. вам нужно будет потом найти это выражение среди стандартных функций автоматического вычисления значения меток.
И вот, мы переходим к самому главному, в поле Выражение: вам нужно сформировать код вашей метки. Нам здесь нужно значение откоса поверхности умножить на 1000, т.к. это значение формируется в виде тысячной доли (1ед=0.001). Нажимаем на кнопку 1 (Рисунок3) и в выпадающем меню выбираем автоматически формируемое значение Откос поверхности, цифра 2 (рисунок 3). Таким образом, в поле Выражение: появится код {Откос поверхности}. С клавиатуры дописываем к этому коду, *1000. Т.е. теперь значение откоса умножится на 1000. Больше ничего в выражениях нам делать не надо. Но, стоит сказать еще немного ослов о них. Как я говорил, это чрезвычайно интересная функция, и, если вы нажмете на кнопку со значком F(x), то в выпавшем списке вы увидите серьезный набор дополнительный функций и операторов по преобразованию значений меток. Этот список слишком обширный чтобы выкладывать его здесь, но в справке всё исчерпывающее описано. А также Выражения могут использовть операторы IF, AND, OR, что открывает просто безграничные возможности. Если же кому-то требуется более точное описание возможностей Выражений, то пишите в комментариях, объясню.
Итак, мы нажали ОК и создали выражение под названием Без промилле. Теперь находим стиль метки откоса поверхности, который выглядит как надо, но есть только лишний значок промилле. Заходим в редактирование этого стиля и находим вкладку Компоновка, рисунок. Там, в компоненте Уклон (если вы редактируете стиль, созданный не на основе пакета адаптации, то компонент, отвечающий за формирование значение откоса может называться по-другому) зайдите в редактирование пункта Содержимое.

Рисунок 4. Режим компоновки метки откоса
Рисунок 5. Настройка компоновки
В появившемся окне, рисунок 5, в выпадающем списке (1) выберете наше выражение под названием Без промилле, и затем точность сделайте 1 (2, рисунок 5) и если вам не нужно указание отрицательного значения промилле, то в разделе знак (3) сделайте не отображать знак. Осталось выполнить самое главное, это очень часто люди забывают сделать, а именно – нажать на стрелочку, которая формирует код, номер 4 рисунка 5.


 Вот и всё, ваш стиль в плане готов.

Теперь, перейдем к самому интересному. К созданию стиля без значка промилле для подпрофильной таблицы профиля и сечения.
Признаюсь честно, у меня не получилось придумать способ элегантного избавления от этого значка. Прежде всего, из-за того, что отсутствуют выражения для стилей подпрофильной таблицы профиля и сечения. Поэтому пришлось выкручиваться, но выглядит всё как надо, рисунок 6.

Рисунок 6. Уклон длина, без значка промилле.
 Если кто-то знает более красивый способ, то делитесь в комментариях. Я решил эту проблему следующим способом:
Схема действия довольно проста, заходите в редактирование стиля вертикальной геометрии, я это сделаю на основе стиля из пакета адаптации под названием ГОСТ Р 21.1701-97 Уклон - Длина , рисунок 7.

Рисунок 7. Расположение базового стиля Уклон\длина
Там, во вкладке Параметры общих данных, для участков уклон вверх и вниз (рисунок 8) настраиваем метки нажимая на кнопку Составить метку.

Рисунок 8. Настройка стиля
Основной принцип прост – мы создадим пустой текстовый блок, который будем заслонять собой значок промилле.
Для этого в режиме Компоновка, создаем новый компонент, рисунок 9 (1).

Рисунок 9. Настройка метки заслоняющей значок промилле
 Это будет текст. Главное теперь правильно его расположить, так, чтобы он заслонял только один значок. Для того, чтобы текст всегда был в нужном месте, нам надо в пункте Элемент привязки выставить уклон (рисунок 9 п.2). Точка привязки – По середине и по центру, тогда текст будет присоединятся на середину уклона, а для того, чтобы он сдвинулся на значок промилле в Присоединение надо выставить Посередине слева (рисунок 9 п.4). Но, теперь надо чтобы вместо надписи в нашем блоке текста ничего не было. Как это сделать? Идите в Содержимое, удаляйте все, что там есть и просто поставьте 2 пробела, места этими пробелами будут зарезервированы, а значит и будет скрывающая маска.
В моем случае понадобилось еще задать смещение для пробелов (рисунок 9 п 5). И осталось только включить маску фона (рисунок 9 п 6). Всё. Размеры, смещение и количество пробелов регулируйте под себя.

















12 комментариев:

  1. Тут есть решение по значкам промилле в таблице:
    http://forums.autodesk.com/t5/AutoCAD-Civil-3D-%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9/%D0%9F%D0%BE%D0%B8%D1%81%D0%BA-%D0%B2%D1%8B%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9/m-p/3671824#M1198

    ОтветитьУдалить
  2. Какое-то время назад сломал много копий по убиранию промилле из подпрофильной таблицы. Мое решение, думаю, наиболее простое: Я просто их там оставил. Не взрываю и не удаляю (для логики можно легко убрать из боковика). Никому они не мешают, ни одного замечания по этому поводу не получил за несколько лет.

    ОтветитьУдалить
  3. Добрый день!
    Мне обычно больше симпатизирует способ вычисления уклона из курса университета: i=(H1-H2)/L.
    Отсюда и формула для выражения уклона: ({Первая точка отметки откоса поверхности}-{Вторая точка отметки откоса поверхности})/{Горизонтальная длина откоса поверхности}.
    По поводу отображения знака "-" в значении уклона. Тут я бы посоветовал всё же его оставить, т.к. он является индикатором уменьшения/увеличения отметок.
    Описанный выше способ хорош для метки Одноточечного откоса (когда Civil сам указывает направление откоса). Для метки же Двухточного откоса важно, где начало и где конец. Если что, занак "-" подскажет, что ошиблись с порядком указания точек )))

    ОтветитьУдалить
  4. Для того, чтобы метка уклона всегда указывала в сторону понижения, необходимо создать выражение IF({Откос поверхности}<0,0,пи) и задать его углу поворота стрелки)

    ОтветитьУдалить
  5. DeniSka молодец!

    ОтветитьУдалить
  6. Здравствуйте! Подскажите, пожалуйста, а можно ли составить метку т.о. чтобы она считала разность отметок пикетов. То есть отметка пикета минус отметка отметка предыдущего пикета?

    ОтветитьУдалить
  7. Много лет прошло, но в первый раз столкнулся с тем, что уклон на профилях требуют в промилле, но знак ставить нельзя. Вариант с маской хороший, но на коротких участках она перекрывает линии и тексты рядом, и при смещении знак всё равно появляется, после экспорта знак приходится убирать вручную.
    Т.к. шаблон заказчика, к счастью, был на shx-шрифте, сделал дубликат шрифта, в котором заменил символ промилле на пустоту:

    *02030,2, PROMILE
    2,0

    - назначил в стилях данных, где есть знак промилле, стиль текста со шрифтом без знака промилле.

    ОтветитьУдалить
    Ответы
    1. Добрый день подскажите как найти подгруженный шрифт чтобы его изменить.

      Удалить
    2. не получается открыть шрифт для редактирование, пишет какие то ероглифы. Чем его можно открыть кроме блокнота, ели как правильно открыть блокнотом?

      Удалить