Статьи

Задачка про две пирамиды, или ещё раз про объёмы

Алла Землянская

Один из относительно легко воспринимаемых жанров — небольшие этюды, грамотно и живо характеризующие решения некоторых конкретных компактных задач геометрического моделирования и релевантных приложений. Пример такого жанра — 9 заметок Аллы Землянской, за последние несколько лет воспроизведённых на isicad.ru, как и сегодняшняя, из блога автора.

Отметим, что на фоне роста популярности асконовского геометрического ядра C3D, вероятно, в некоторых контекстах стоит с осторожностью использовать сокращение C3D для Civil 3D.

Анализ поверхности по отметкам – весьма полезный инструмент, который позволяет быстро вывести в таблицу объёмы по диапазонам высот. Горняки бы сказали «по горизонтам». Казалось бы, офигенная вещь, бери и делай. Но этот тип анализа работает не совсем так, как кажется на первый взгляд. Сейчас разберёмся, в чём там дело.

Перед тем как перейти к смысловой части, уточню, что далее по тексту везде «пирамида» следует читать как «усечённая пирамида». Мне почему-то казалось, что второе – это такой частный случай первого, типа просто площадь параллельного основанию сечения равна нулю. Но если немножко подумать, прежде чем писать, то, конечно, нет, это два разных многогранника. На что мне и указал в комментах пользователь Nick Zed. Ну, теперь поехали.

Поводом к написанию статьи стал вопрос на форуме про две пирамиды: «Возник вопрос при подсчете объема с помощью "Анализа поверхности". Фигура одна, а объемы разные, данная ошибка никак не влияет на другие подсчеты. Согласно формуле объем пирамиды равен = Высота пирамиды*(Площадь основания + Площадь Вершины + корень(Площадь основания + Площадь Вершины). Как все-таки корректнее произвести быстрый подсчет для примера, или "Анализ поверхности" просто не использовать, если нужен подсчет выемки». И картинка:

Землянская 2 пирамиды

Открываю приложенный файл, там два простых объекта профилирования, две пирамиды, одна из которых перевёрнута, но это две одинаковых фигуры высотой 10.
Землянская 2 пирамиды

По объектам построены две поверхности, и каждая проанализирована по высотам с шагом 2 метра. Мы видим, что в таблицах на первой картинке результаты действительно разнятся (в столбце 5 выводится как раз объём, хоть и подписан столбец как «Площадь 2D кв.м»). Короче, что не так с объёмами?

Дело в том, что Civil 3D считает не объёмы твёрдого тела, а объём между поверхностями, разбитый на кучу более простых объёмов. Поэтому формула расчёта объёма пирамиды нам если и нужна, то только для того, чтобы проверить вычисленный результат. И поэтому же для корректного расчёта нужны две поверхности — базовая и поверхность сравнения.

Почему не подходит инструмент Анализ поверхности? Главным образом потому, что он не использует две поверхности, а анализирует только одну. В момент настройки диапазонов программа автоматически выбирает минимальную отметку (это значение можно изменить) и устанавливает диапазоны с указанным шагом снизу вверх:

Землянская 2 пирамиды

Это ключевые слова. Потому что в случае с выемкой программа строит плоскость на самой минимальной отметке (в данном случае -10 м) и от этой плоскости начинает считать объём до поверхности. Ну и у неё получается совсем другое тело, не пирамида никакая, а что-то такое:
Землянская 2 пирамиды

И уже вот эта фигура бьётся на горизонты и по ним даётся объём.

Поэтому, внимание. Когда мы считаем объём выемки, анализ поверхности – это не то, что нужно. Используйте Пульт управления объёмами, через него как раз сравниваются именно поверхности (базовую на нулевой отметке придётся дополнительно создать), поэтому получаются равные объёмы:

Землянская 2 пирамиды

Надеюсь, теперь вся математика и логика Civil 3D стали более понятны. А ещё я поняла, что стоит включить такую главу в мой курс по расчёту объёмов, который в следующий раз стартует 9 января 2018 года. Там мы моделируем поверхности, разбираем основы расчётов объёмов, сравниваем методы. И, конечно, разбираем ваши конкретные примеры, такие, как этот.


Насколько мы понимаем, по причинам, зависящим от Disqus, отображение и добавление комментариев для некоторых регионов временно функционирует не очень стабильно. Мы работаем над восстановлением.

Читайте также: