среда, 10 октября 2012 г.

Поворот картограммы относительно строительной сетки


С самого первого дня появления модуля картограммы, в 2007 году, к ней было много претензий со стороны пользователей. Сначала, где-то до 2009-2010 версии, она вылетала даже на простых поверхностях, затем стала работать стабильно, но имела одну особенность. Она всегда смотрела на север (строго вверх, вне зависимости, где север) и не при каких обстоятельствах не хотела менять своего направления, то бишь повернуться относительно строительной сетки. Например, GeoniCS или GeoCAD могли с легкостью справиться с этой задачей, а картограмма Civil 3D лишь гордо смотрела наверх. В принципе, все уже смирились с этим, в том числе и я, лишь ждали, когда Autodesk снизойдет до просьб пользователей и сделает такую функцию.
Но, буквально на днях, один из читателей моего блога, Станислав Попов, предложил способ, как развернуть картограмму нужным образом!
Способ Станислава мне показался несколько неудобным, т.к. работать с быстрыми ссылками могут не все, и требуется создавать дополнительные папки проектов. Я позволил себе его немного усовершенствовать и вот что получилось:
Итак, у нас имеется чертеж, в котором требуется повернуть картограмму, рисунок 1.

Рисунок 1. Исходный чертеж
 Если мы строим картограмму, то имеем привычный вид, рисунок 2:
Рисунок 2. Привычная картограмма Civil 3D


К сожалению, нам никак не обойтись без дополнительного файла. Создайте новый пустой чертеж. Затем выберете красную или черную поверхность, либо через навигатор, либо указанием на чертеже горизонтали этой поверхности. 
В появившейся панели на ленте найдите команду – Создать обрезанную поверхность, рисунок 3.
Рисунок 3. Расположение команды
Я уже давно собирался сделать отдельную статью по этой интересной команде, но вот выдался повод рассказать о ней в рамках чрезвычайно волнующей всех пользователей Civil 3D темы. Эта команда позволяет нам переместить поверхность в другой файл, причем полученная поверхность будет цельной. Т.е., если родительская поверхность была создана с помощью характерных линий, объектов профилирования или из коридора, то при копировании её за ней потянуться все элементы из которых она создавалась (характерные лини, коридоры и т.п.). Ну а при развороте эти характерные линии могут остаться в прежних координатах и ваша повёрнутая поверхность имеет риск того что картограмма посчиталась по уже испорченной поверхности, т.к. геометрия поменялась. Если же мы делаем обрезанную поверхность, то поверхность копируется цельной.
Более того, команда – Создать обрезанную поверхность позволяет нам, в случае необходимости, даже обрезать поверхность по нужному контуру.
Так вот, когда вы нажмете на иконку этой команды, то получите вот такое сообщение, рисунок 4.
Рисунок 4. Ошибка запуска команды
Конечно, приятно, что программисты Autodesk заботятся о пользователях и при запуске команды, которая может привести к фатальной ошибке, просят сохраниться. Но, за все время работы с этой командой она ни разу не привела к вылетам, но, зато, если после сохранения вы просто слегка измените масштаб или случайно запустите другую команду, то Civil снова попроситься сохраниться. Я эту функцию использую постоянно и данные не нужные сохранения уже очень надоели!
Вернемся к нашим задачам. После сохранения и повторного запуска создания обрезанной поверхности мы получим вот такое окно, рисунок 5.

Рисунок 5. Настройка обрезки поверхности

Такие параметры я рекомендую задать:
‑ Выбрать поверхность для обрезки. По умолчанию будет стоять поверхность, которую вы выбирали для запуска команды. Если это не то что нужно, то нажмите на название поверхности и справа появится кнопка с тремя точками, при нажатии на которую появится список из поверхностей, находящихся в чертеже, где можно выбрать нужную;

‑ Выбрать область обрезки. Щелкните на надпись <Метод выбора>, также появиться кнопка с тремя точками, после нажатия которой окно у вас свернется и программа запросит указать контур обрезки. Рекомендую в нашем случае просто создать прямоугольник, который бы был больше нашей поверхности, для этого укажите 2 точки диагонали вымышленного прямоугольника; 
‑ Чертеж для новой поверхности. Т.к. мы уже создали пустой чертеж, выберете Выбрать открытый чертеж, тогда автоматически заморозятся следующие 2 пункта;
‑ Выбрать открытый чертеж. Выберете чертеж, который вы создали за ранее;
‑ Имя новой поверхности. Рекомендую написать имя той поверхности, что мы копируем;
‑ Описание новой поверхности. По вашему усмотрению;
‑ Стиль поверхности. Выставьте тот стиль, который считаете нужным. 
После нажатия OK произойдет копирование на новый чертеж. Сделайте то же самое и со второй поверхностью, относительно которой вы хотите посчитать картограмму.
Теперь у вас имеется чертеж, на котором две цельные поверхности (при необходимости можете скопировать и другие), которые можно смело поворачивать.
Возвращайтесь на изначальный чертеж и посчитайте, на сколько градусов вам нужно повернуть картограмму относительно её направления строго вверх. У меня это 22 градуса.
На новом чертеже я поворачиваю все необходимые поверхности на 22 градуса. Базовой точкой рекомендую задать 0,0,0 (обязательно через запятую).
И производим построение картограммы. Не спешите разворачивать обратно вашу картограмму и поверхности на минус 22 градуса. Т.к., если вы это сделаете, то Civil снова перестроит картограмму с направлением на север. Перед поворотом вам необходимо отключить отображение поверхностей, т.к. картограмма следует за их поведением. Как только вы примените стиль отображения Ничего, сразу можете поворачивать обратно, т.е. на минус 22 градуса.
А затем скопируйте картограмму. В родительском чертеже осталось лишь вставить её в исходных координатах, и вы получите то, что необходимо, рисунок 7.

Рисунок 7. Повернутая картограмма

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

  1. Может перед поворотом картограммы ее стоит взорвать, так как повернув у меня ее она исчезла и осталась только граница. Сивил вроде все-равно привязывает картограмму к поверхностям и отключив их мы в принципе ничего не поменяли и повернув ее потерялась связь с поверхностями и она исчезла. Поэтому надо перед поворотом ее взорвать. Поправьте если не прав)

    ОтветитьУдалить
  2. Не надо ничего взрывать, т.к. картограмма это по сути набор штриховок, текста и блоков AutoCAD. Исчезла она, скорее всего из-за ошибки ввода базовой точки. А вот поверхности отключать обязательно, перед окончательным поворотом.

    ОтветитьУдалить
    Ответы
    1. То что это набор элементов CAD это понятно. Но попробовал несколько раз и всегда одно и то же. А что с базовой точкой может быть не так? Я просто беру круг с координатами центра 0,0,0 и от этой базовой точки поварачиваю...

      Удалить
    2. Тогда затрудняюсь ответить, нужно смотреть чертеж. Пришлите мне его на yrogachev(собачка)gmail.com

      Удалить
    3. Игорь, после того как удалил границу картограммы все получилось!
      Спасибо!

      Удалить
  3. Вот эту команду "создать обрезанную поверхность" в Сивил 2012 и 2012 я как раз и не нашёл. Игорь если не трудно,ремарку сделайте как её вывести в панель инструментов работы с поверхностью.Будем Вам ооочень признательны!Ваш блог просто бесценен!!!

    ОтветитьУдалить
    Ответы
    1. Спасибо.
      В 2012 она находится там же где и в 13-м. Т.е. нажимаете на поверхность в появившейся панели (Зеленого цвета) находите строчку "Инструменты работы с поверхностями", разворачиваете её и там будет нужная команда.

      Удалить
  4. Спасибо за кнопочку в 2012-м Сивиле! Но вот в 2013-м картограмма таки даже при выключенной поверхности(стиль "Ничего") всё равно не поворачивается, только после взрыва.А взорванная,ничего доворачивается куда надо.Ваабще то очень ценная статья,спасибо большое!!!!

    ОтветитьУдалить
  5. Где-то у вас ошибка, т.к. я это выполнял в 2013-м Civil. Все должно работать.

    ОтветитьУдалить
    Ответы
    1. Здравствуйте Игорь!
      Подскажите пожалуйста откуда можно скачать модуль картограмма для civil2013 и как его подключить.
      Заранее благодарен

      Удалить
  6. Замечательный блог! Я делал так же, через обрезанную и повернутую поверхность, только не забрасывал картограмму обратно, а к ней добрасывал все остальные объекты чертежа. Но Ваш вариант, пожалуй, проще) А главное, я теперь наверняка знаю, что это таки не мое незнание, а реальный бок автокад!

    ОтветитьУдалить
  7. Этот комментарий был удален автором.

    ОтветитьУдалить
  8. Ничего не получилось. У меня 2012 версия. Если признаться, я не понял вообще. Описание наверно для спецов. А можно как новичку более подробно описать? Если с видео, то было бы просто супер! Напишите на почту. Спасибо.

    ОтветитьУдалить