понедельник, 28 мая 2012 г.

От перемены мест слагаемых сумма меняется!


Сегодняшнюю запись я посвящу бредовой, на первой взгляд фразе, о том, что от перемены мест слагаемых сумма МЕНЯЕТСЯ. Да-да именно так, в  Civil 3D важна очередность суммирования объектов.
В первую очередь это касается поверхностей.  Давайте рассмотрим конкретный пример. У меня есть небольшая площадка, как на Рисунке 1. Её необходимо вписать в рельеф и выполнить вертикальную планировку. Сейчас я не буду рассказывать о методах проектирования генплана в Civil 3D, их несколько и для этой площадки я выбрал создание 2-х поверхностей.
Рисунок 1


У нас уже получены откосы и выполнена планировка площадки, но сделано это в разных поверхностях. Как показано на Рисунке 2 и 3
Рисунок 2. Поверхность откосов
Рисунок 3. Поверхность планировки
Как видите, поверхность площадки несколько больше самой площадки и, по-хорошему, необходимо удалить лишние треугольники, но я не буду этого делать, т.к. хочу получить общую поверхность и уже у неё отсечь лишнее.
Давайте попытаемся создать общую поверхность. Для этого пройдем в Навигатор, создадим новую поверхность и назовем её Общая. Раскроем все плюсики и найдем раздел Редактировать, по нажатию ПКМ появится контекстное меню, где выбираем пункт Вставить поверхность, как показано на Рисунке 4.

Рисунок 4. Добавление поверхности в другую

В появившемся окне надо выбрать те поверхности, которые мы хотим добавить. Можно выбрать сразу все поверхности, но тогда результат может быть не всегда таким как вам надо. Поэтому рекомендую добавлять поверхности по очереди.
Т.е., в данном примере, я сначала добавляю поверхность откосов, а затем - поверхность площадки, в результате получаю что-то невразумительное, как на Рисунке 5. 
Если же добавить сначала поверхность площадки, а затем уже откосов, то тогда общая поверхность будет выглядеть как на Рисунке 6, т.е. как надо. На модели в этом рисунке я удалил несколько лишних рёбер для более точного отображения проектной поверхности.
С чем связано такое странное поведение? В данном конкретном примере это связанно с тем, что поверхность площадки выходила за характерную линию начала откосов, поэтому, если вставляем поверхность откосов второй, то она отсекает собой лишние треугольники, а если сначала добавлять откосы, а затем площадку, то эти лишние треугольники будут включаться в общую поверхность, а не отсекаться.
Так что запомните: при использовании инструментов вставки нескольких поверхностей в одну, необходимо поэкспериментировать с очередностью вставки - это может давать совершенно неожиданные результаты.
Рисунок 5. Площадка+Откосы
Рисунок 6. Откосы+Площадка
Теперь давайте перейдем к другому примеру. Стоит задача получить существующую поверхность по имеющимся горизонталям с отметкой Z. Поначалу задача казалась примитивной, но присмотревшись повнимательнее, я увидел, что хитрые изыскатели не стали усложнять себе жизнь и не построили горизонтали по всем насыпям существующих дорог. В результате на месте дорог мы видим равнину, как на Рисунке 7

Рисунок 7. 3D горизонтали и полученная поверхность
Ну, что делать, надо обводить по точкам характерными линиями и внедрять их в поверхность в качестве структурных для получения красивых насыпей. Но, после трудоемкого процесса построения насыпей, вместо радующей глаз поверхности я увидел вот это: 
Рисунок 8. Поверхность после редактирования 
Набор непонятных кучек и никаких дорог! Все внимательно проверив, я пришел к выводу, что ошибок нет и все точно. Как же такое может быть? Civil воспринял характерные линии как набор точек, а не как линии определяющие направления построения рёбер триангуляции. После долгих экспериментов, я все-таки вспомнил, что перемена мест слагаемых в Civil меняет результат. Поэтому удалил уже построенную поверхность и начал построение земли не с построения по горизонталям, а путем добавления характерных линий проездов, и только потом уже горизонтали. В результате поверхность приобрела нужный вид!
Рисунок 9. Итоговая поверхность
Вот так вот, нарушив математический закон, можно в Civil получить совершенно разные результаты.





1 комментарий: