Всем привет! Я продолжаю создавать геодезические утилиты и сегодня я представляю вашему вниманию утилиту для построения триангуляции поверхности и горизонталей.
У меня есть знакомый, который отрисовывает топографические планы в чистом автокаде без довесков и утилит ... не будем говорить о том круто это или нет - таких людей довольно много. Так вот ... Мой друг держит Civil 3D только для того, чтобы строить в нем поверхность и горизонтали. Так что специально для таких людей и была создана данная утилита.
Утилита позволяет:
- построить триангуляцию по набору точек\блоков и структурным линиям
- построить цветовые карты высот и уклонов для наглядности
- построить горизонтали по этим данным.
Кроме того данная программа может обрабатывать огромные наборы данных поверхности на слабых компьютерах ... на очень слабых :)
Таким образом она позволит работать людям, которые ограничены в ресурсах.
Язык интерфейса русский.
TIN Builder — это инструмент для инженеров-геодезистов, специалистов по обработке топографических данных, проектировщиков и ГИС-аналитиков.
Программа предназначена для автоматизированного построения TIN-поверхности (Triangulated Irregular Network) на основе данных из DXF-файлов, последующего анализа качества данных, генерации карт, горизонталей и отчётной документации.
Приложение имеет полностью двуязычный интерфейс (Русский / English).
Основные возможности программы
1. Импорт и анализ DXF-файлов
Программа автоматически анализирует загруженный DXF-файл и определяет доступные типы данных:
точки AutoCAD (POINT с координатами XYZ);
блоки (INSERT) с координатой вставки как отметкой;
отметки из текстов (TEXT / MTEXT), содержащие числовые значения;
структурные линии в виде LINE, LWPOLYLINE, POLYLINE (включая замкнутые).
Пользователь может выбрать, какие типы данных использовать для построения поверхности.
2. Построение TIN-поверхности
TIN строится на основе алгоритма Delaunay Triangulation с дополнительными инженерными фильтрами:
Фильтрация треугольников
Пользователь может задать:
максимальную длину ребра треугольника — исключение чрезмерно растянутых треугольников;
минимальный угол треугольника — удаление узких «игольчатых» элементов;
минимальную площадь треугольника — исключение вырожденных поверхностей.
Это позволяет формировать корректную, чистую и инженерно-адекватную модель рельефа.
3. Структурные линии
Программа поддерживает breaklines — разрывные линии рельефа, влияющие на форму поверхности (бермы, подошвы откосов, вершины насыпей, ребра дорог и т. п.).
Структурные линии:
переводятся в сегменты,
проверяются на пересечения с треугольниками,
треугольники, пересекающие breakline неправильно, удаляются и перестраиваются.
Таким образом, итоговая TIN-поверхность корректно отражает реальную геометрию местности.
4. Поиск «вылетевших» точек (Outliers)
Программа автоматически обнаруживает аномальные точки — те, которые резко выбиваются по высоте из-за ошибок съёмки или некорректного ввода.
Используются параметры:
радиус поиска ближайших точек,
допустимая разница высот.
Найденные подозрительные точки:
выделяются в DXF красными окружностями,
включаются в отчёт,
отображаются на PNG-карте.
Это позволяет оперативно выявлять ошибки в данных и принимать решение о корректировке съёмки.
5. Генерация PNG-карт
TIN Builder создаёт две профессиональные визуализации:
Карта высот (Elevation Map)
раскраска от синего (низкие отметки) до красного (высокие);
отображение всей поверхности с пустыми зонами вне TIN.
Карта уклонов (Slope Map)
уклоны рассчитываются для регулярной сетки;
цвета отражают крутизну склонов;
outliers также помечаются.
6. Горизонтали (Contours)
Программа умеет создавать горизонтали по построенной поверхности:
произвольный шаг горизонтали (например, 0.5 м или 1 ft);
возможность выделять каждую N-ю горизонталь;
поддержка 3 уровней сглаживания (0–3);
экспорт в DXF с разделением по слоям:
Слой
Содержимое
TIN_TRIANGLES
Треугольники поверхности (3DFACE)
TIN_OUTLIERS
Вылетевшие точки
TIN_CONTOUR_MINOR
Обычные горизонтали
TIN_CONTOUR_MAJOR
Основные (утолщённые) горизонтали
Горизонтали не строятся в зонах, где нет треугольников — такие области автоматически вырезаются из сетки.
7. Отчёт (Report.txt)
Сохраняется полный отчёт, включающий:
параметры построения TIN,
статистику исходных данных,
диапазон отметок,
количество треугольников до/после фильтрации,
параметры поиска outliers,
список найденных вылетающих точек,
статистику уклонов,
параметры и статистику горизонталей,
перечень созданных слоёв и их назначение,
ссылки на созданные файлы (DXF, PNG, отчёт).
Отчёт доступен на русском или английском.
8. Пользовательский интерфейс
Особенности UI:
двуязычный режим RU/EN с мгновенным переключением;
структурированные группы параметров:
источник данных,
триангуляция,
вылетевшие точки,
горизонтали;
лог-панель для наблюдения за выполнением операций;
9. Применение
TIN Builder подходит для:
геодезических компаний,
проектировщиков дорог и инфраструктуры,
специалистов по моделям рельефа,
инженеров ГИС,
анализа топосъёмок UAV и лазерного сканирования (после экспорта в DXF),
предварительных инженерных расчётов,
контроля качества данных.
10. Преимущества программы
Полностью автономная — не требует Civil 3D или других тяжёлых пакетов.
Поддерживает любые DXF-файлы, в том числе экспортированные из полевых контроллеров.
Инженерная фильтрация TIN, а не примитивная визуализация.
Breaklines учитываются правильно, искажения рельефа не возникает.
Скачать v1 - эта версия была снята, поскольку не корректно работала на сложных поверхностях и в алгоритме имелись неоднозначности.
Выпустил новую версию, которая значительно переработана и уже гораздо больше похожа на полноценный редактор поверхности.
Сейчас она в режиме тестирования. Вы можете скачать программу и протестировать ее. Буду благодарен за обратную связь.
Группа для обсуждения программы
По сравнению со старой версией 2.* программа изменилась очень существенно. Если раньше TIN Builder был в первую очередь инструментом для построения инженерной TIN-поверхности из DXF с последующим экспортом результата, то версия 3.15 фактически превратилась в полноценный редактор цифровой модели рельефа.
При этом базовые принципы старой версии сохранены: корректная constrained-триангуляция, использование выбранных слоёв DXF как структурных линий, диагностика выбросов, контроль геометрии треугольников, горизонтали и безопасная подрезка длинных внешних треугольников.
Что нового по сравнению с 2.3
Полноценный формат проекта .dtm. Проект теперь можно сохранить и позднее открыть независимо от исходного DXF, TXT или LandXML. В проекте сохраняются точки, поверхность, structural lines, границы, маски и ручные изменения TIN.
Импорт NXYZC. Помимо DXF теперь можно напрямую загружать текстовые файлы формата N X Y Z C с номером, координатами, высотой и кодом точки.
Полноценная работа с LandXML 1.2. Реализованы импорт и экспорт CgPoints, Pnts/Faces, Breaklines, внешних границ и void boundaries. При открытии готовой LandXML-поверхности программа старается сохранить её исходную триангуляцию, а не перестраивать поверхность без необходимости.
Ручное создание структурных линий. Breaklines теперь можно не только получать из выбранных слоёв DXF, но и рисовать непосредственно в проекте по существующим точкам.
Границы поверхности. Можно создавать несколько внешних контуров, внутри которых разрешено построение TIN.
Дырки и маски. Можно исключать отдельные области из поверхности — например здания, водоёмы или участки без достоверных данных. Внутри таких областей не строятся ни TIN, ни горизонтали.
Редактирование точек. Через контекстное меню точку можно принять как корректный outlier, исключить из ЦМР, вернуть обратно, изменить её отметку или полностью удалить.
Проверку outliers (вылетевших точек) теперь можно полностью отключить. Это особенно удобно при работе с уже проверенной LandXML-поверхностью или рельефом с резкими реальными переломами.
Редактирование самой TIN-сетки. Добавлены инструменты flip ребра, удаления ребра вместе с соседними треугольниками и удаления отдельного треугольника. Ручные изменения сохраняются в проекте.
Интерактивный план. Север ориентирован вверх, Восток вправо. Можно включать подписи номера точки, отметки и кода, выбирать точки, линии и элементы TIN непосредственно на экране.
Полноценное 3D-представление. Поверхность можно просматривать с окраской по высоте или уклону, в нейтральном режиме, с wireframe, breaklines, горизонталями и outliers. Есть изменение вертикального масштаба Z ×1 / ×2 / ×5 / ×10.
Отдельная вкладка анализа. Основные параметры и предупреждения по построенной поверхности теперь доступны непосредственно в программе.
Независимая DXF-подложка. Можно подключить дополнительный DXF только как фон для контроля положения модели, не включая его геометрию в расчёт поверхности. Для подложки регулируется прозрачность.
Настраиваемый экспорт DXF. Теперь можно отдельно определять, какие объекты экспортировать, задавать имена AutoCAD-слоёв и цвета ACI 1–255, а также выбирать между проектными точками и фактическими вершинами финальной TIN.
Настраиваемый экспорт LandXML. Можно выбирать состав выдачи: точки, Faces, structural lines, boundaries и masks, задавать имя поверхности, группу точек, точность координат и тип футов.
HTML-отчёт вместо старого простого текстового отчёта. Отчёт стал значительно информативнее и отражает текущее состояние модели и параметры её построения.
Полностью переработан интерфейс. Вместо старого классического окна появился современный интерактивный интерфейс с отдельными режимами 3D поверхность, План / Breaklines и Анализ.
Три варианта оформления: тёмная тема, серая инженерная и светлая прозрачная.
Встроенная подробная справка. В ней описаны форматы данных, система координат, параметры TIN, работа с breaklines, boundaries, masks, outliers, ручное редактирование поверхности, DXF/LandXML export и типовые рабочие сценарии.
Главное изменение версии 3.15 — теперь результат работы не заканчивается на кнопке «Построить TIN». Поверхность можно открыть, проверить в плане и 3D, исправить исходные точки, добавить структурные линии и границы, вручную изменить топологию TIN, сохранить всё как самостоятельный проект и затем выдать результат в DXF или LandXML.
Скачать TIN Builder 3.15 - в архиве основная программа, тестовые примеры и руководство по программе