решения для геодезистов

Расчет отклонений

Общеек содержанию

Скрипт предлагает альтернативный способ автоматического расчета отклонений, будет полезен геодезистам, работающим в строительстве.

Принцип действия очень прост, файлы с проектными данными и их измеренным положением отправляются на сервер, после автоматического расчета сразу же высылается результат обработки: DXF файл, в котором указаны плановые и высотные отклонения

DXF - открытый формат файлов для обмена графической информации между приложениями Систем Автоматизированного ПРоектирования (САПР). Наиболее распространенными САПР являются AutoCad, MicroStation.

В настоящее время существует возможность рассчитать отклонения 3 способами, которые отличаются типом исходных данных проектного файла и файла измерений:

  • Проектный DXF файл с объектами в координатах и ASCII файл с измеренными точками
  • Проектный DXF файл с объектами в координатах и DXF файл с измеренными точками
  • Проектный ASCII файл с теоретическими точками и ASCII файл с измеренными точками


Существует ограничение на загружаемые файлы - 1 Мб

В настоящий момент скрипт работает в тестовом режиме, пожалуйста, проверьте все отклонения с помощью средств измерений CAD программы.

Для визуального контроля правильности расчета, все теоретические точки, от которых даны отклонения, соединены линией.

Расчет отклонений может производиться от следующих примитивов: линия, полилиния, 3дполилиния, дуга, окружность.

Виды исходных файловк содержанию

В настоящее время при расчете отклонений скрипт может считывать данные из 3х типов файлов:
  • DXF файл с проектным положением объектов в координатах
  • DXF файл с измеренными точками
  • ASCII файл с точками

Рассмотрим каждый подробнее.

DXF файл с проектным положением объектов в координатахк содержанию

Загружается в форме:


При обработке измеренных данных, геодезист пользуется проектным файлом, который содержит линии, полилинии, дуги, окружности, 3дполилинии (в AutoCad). Далее будем называть их объекты.

Перед использованием скрипта, DXF файл содержит много лишней информации, которая помешает полноценно воспользоваться расчетом, для этого его нужно определенным образом подготовить:
  1. Сохраните DWG файл, который содержит объекты в координатах, с понятным для вас названием. Например: ваше название_for_site.dwg
  2. Удалите все объекты, которые не имеют к расчету никакого отношения: размеры, штриховки, линии осей. Оставьте только те, от которых вам нужно рассчитать отклонения, например линии стен, или фундамента и т.д.
  3. Удостоверьтесь, что наши объекты не являются блоками, в противном случае взорвите их, команда explode в AutoCad
  4. Сделайте очистку, это может значительно сократить размер файла.
    • в AutoCad 2007 File > Drawing Utilities > Purge
    • в MicroStation File > Compress > Design
    Очистка удалит все не используемые блоки, которые хранятся в библиотеке файла и могут занимать значительные объемы, пустые слои, не используемые стили, линий размеров.
  5. Сохраните файл как DXF File > Save As.. желательно версии не более 2004 года
Если вы все сделали правильно, файл должен получиться небольшого размера.
Например: DXF файл, содержащий 1300 объектов, занимает всего 294 кБ.

Объекты теоретического DXF файла

Линия, полилиния, 3дполилиния.

Порядок расчета плановых отклонений от объектов: линия, полилиния, 3дполилиния.


Рис.1

На рисунке 1 изображена линия и 4 измеренные точки.
Первыми считаются отклонения, которые попадают в зону поиска (расстояние, в пределах которого рассчитываются отклонения d) от вершин линии (показаны на рис.2).



Рис.2

Мы видим, что точки 1 и 4 попадают в зону расчета от вершин, автоматически генерируется блок в виде стрелки и величины отклонения (рис.3)



Рис.3

Стрелки, рассчитанные от вершин линий, развернуты по осям X и Y (ортогональны)
Затем рассчитываются отклонения от точек, которые находятся на указанном расстоянии от линии по всей длине (рис.4)


Рис.4

Стрелки, рассчитанные от линии развернуты перпендикулярно. Точка 2 на рис.5


Рис.5

Точка 3 находится на расстоянии больше d и отклонения от нее не генерируются.
Связующая линия, желтого цвета, показывает от какой части объекта рассчитываются отклонения.

Окружность

Порядок расчета плановых отклонений от объекта: окружность.


Рис.1

На рисунке 1 изображена окружность и 4 измеренные точки.
Первыми считаются отклонения, которые попадают в зону поиска (расстояние, в пределах которого рассчитываются отклонения d) от центра окружности (показаны на рис.2).



Рис.2

Затем рассчитываются отклонения от самой окружности


Рис.3

DXF файл с измеренными точкамик содержанию

Загружается в форме:


Измеренными точками в этом файле скрипт определяет такие объекты: point, circle, block reference.
У этих объектов определяются координаты x, y, z


Пример файла с точками в виде объекта point

ASCII файлк содержанию

Загружается в формах:


ASCII файл - это обыкновенный текстовый файл, данные в котором состоят из ASCII символов.
Точки в этом файле, обычно, хранятся в виде строк, в которых указаны разные параметры, например номер, или символьный код, но для нас важны только x,y,z Разделителем между параметрами обычно являются запятые, точки с запятой или пробелы.
Для успешного декодирования, и извлечения измеренных или проектных точек из ASCII файла, нужно ввести правильный формат строк в файле.
Составим формат на примере файла:

1,FUND,219.782,14.045,0.517
2,FUND,24.898,14.059,0.499
3,FUND,27.942,14.067,0.522
4,FUND,30.695,14.064,0.500
5,FUND,33.968,13.967,0.499
6,FUND,33.947,10.983,0.478
7,FUND,30.636,8.486,0.505
8,FUND,27.944,6.195,0.507
9,FUND,24.966,4.033,0.512
10,FUND,23.584,3.927,0.499
11,FUND,21.974,3.964,0.478
12,FUND,22.068,8.411,0.510
13,FUND,21.921,11.853,0.509
14,FUND,21.978,14.045,0.515
15,OTV,27.649,12.739,0.512
16,OTV,32.620,12.715,0.517
17,FUND,30.906,6.376,0.522
18,OTV,23.730,12.340,0.522
19,PNT,29.835,5.290,0.522

Скрипт считывает данные в соответствии с форматом, который нужно ввести в форме
Рассмотрим формат для нашего файла на примере первой строки

1,FUND,219.782,14.045,0.517

Разделителем в строках является запятая, значит в формате разделителем будет она же:
1 - номер или название точки в формате будет n параметр отмеченный этим символом, будет в полученном, после расчета, DXF файле в слое name_points_...
FUND - Код или любой текстовый параметр в формате будет ноль (этот параметр не важен) 0
219.782 - координата y в формате - y
14.045 - координата x в формате - x
0.517 - координата z в формате - z

X и Y в формате выбираются в соответствии с геодезической системой координат


Для данной строки, и соответственно файла, формат будет n,0,y,x,z ,такой как стоит по умолчанию.
Пример рассчитанного отклонения, символом n отмечен параметр номер

Если бы мы захотели увидеть в полученном файле возле точки не номер, а код - формат должен быть 0,n,y,x,z
Пример рассчитанного отклонения, символом n отмечен параметр код

При вводе неправильного формата или ошибке при извлечении точек, будет показана таблица со всеми параметрами, отделенными символом разделителя. Нужно выбрать X Y Z над соответствующим столбцом.


Пример таблицы выбора X Y Z

Пример таблицы выбора X Y Z с выбранными параметрами

Слоик содержанию

Все добавляемые элементы (стрелки, и т.д.) создаются в специальных слоях.




Параметры расчетак содержанию

Расстояние от примитива, в пределах которого будет произведен расчет отклонений в миллиметрах


Основной параметр при расчете отклонений. Нужен для того, чтобы отклонения рассчитывались не от всех примитивов, которые находятся в проектном чертеже, а только от тех, которые находятся на расстоянии заданном пользователем. Далее будем называть его зона поиска


Пример: на рисунке черным цветом показана линия фундамента, расстояние от примитива мы задали 100мм. Точка 1 находится на меньшем расстоянии от линии и от нее автоматически отрисовались отклонения, точка 2 находится дальше.

Действия с высотойк содержанию



Следующие три параметра дают нам возможность управлять высотными значениями, вы можете:

  • не показывать высотную отметку


  • показать высотное отклонение от примитива
  • Если проектный чертеж нарисован в 3д (все объекты в чертеже находятся на высоте в соответствии проектом)

    линия на рис. расположена на высоте 500 мм, точка на отметке 0,522 м.
    Синим цветом указана разница между примитивом и точкой +22



  • показать отметку в миллиметрах

Размер стрелокк содержанию


Этот параметр регулирует размер вставляемых блоков, единицы измерения в миллиметрах

Размер стрелок 500

Размер стрелок 1000

Использовать примитивы из слоя Тк содержанию

Для расчета отклонений от объектов расположенных в определенном слое, назовите этот слой латинской буквой T, и поставьте галочку.

Использовать диапазон высотк содержанию

Этот параметр позволяет ограничить по высоте зону расчета отклонений. Рассмотрим пример:
У нас есть DXF файл бетонного фундамента и съемка его геометрии после изготовления.

Вид сверху

Проектный файл отрисован в 3д


Вид в изометрии

Была произведена геодезическая съемка видимых (с точки съемки) граней


Красным цветом показаны измеренные грани.

Рассчитаем отклонения без использования диапазона высот




Вид сверху


Вид в изометрии

Отклонения посчитались от всех объектов, которые попали в зону поиска и расположены на разных высотах. Это явно видно по связующим линиям желтого цвета, которые соединяют нашу измеренную точку и место на линии, от которого был произведен расчет. Следствие этого большое количество мусора, "лишних" стрелок, которые мы не будем использовать при оформлении исполнительной, и нам пришлось бы их удалить, затратив некоторое количество времени.

С помощью параметра использовать диапазон высот, мы можем ограничить зону поиска и по высоте.

Поставим галочку и укажем величину 200



Вид слева
Красными стрелками указаны линии, от которых рассчитываются отклонения







Ограничив диапазон высот, мы видим, что отклонения посчитались только от линий, которые нас интересуют.


Разделитель по значению отклоненияк содержанию

Этот параметр дает нам возможность разделить отклонения по цвету и слою.

Посчитаем отклонения с разделителем равным зоне поиска.

Все отклонения окрашены синим цветом и находятся в слое _arrows_...

Разделим их величиной 50 мм и посчитаем снова.

Отклонения, которые превышают эту величину окрашены красным и расположены в слое _out_arrows_...

MicroStationк содержанию

Если вы работате в MicroStation поставьте галочку.
Измеренная точка будет объектом circle.

Показать отклонения в миллиметрах или сантиметрахк содержанию

Иногда бывает необходимость показать отклонения в сантиметрах, например при расчете отклонений свай, этот параметр позволяет выбрать единицу измерения.






Подробный пошаговый пример расчета
DAT или CSV файла с проектными точками и DAT или CSV c координатами измеренных точекк содержанию

Есть в наличии два DAT файла: в одном проектные координаты центров свай, во втором их измеренное положение
Теоретические данные
Измеренные данные
SV01,10000,25000,100
SV02,15000,25000,100
SV03,20000,25000,100
SV04,25000,25000,100
SV05,10000,30000,100
SV06,15000,30000,100
SV07,20000,30000,100
SV08,25000,30000,100
SV09,10000,40000,100
SV10,15000,40000,100
SV11,20000,40000,100
SV12,25000,40000,100
SV13,10000,45000,100
SV14,15000,45000,100
SV15,20000,45000,100
SV16,25000,45000,100
1;SVAYA;30.553;24.821;0.258
2;SVAYA;24.249;20.353;0.315
3;SVAYA;39.657;25.417;-0.241
4;SVAYA;45.544;24.966;0.412
5;NAVERNOE_SVAYA;45.470;20.708;-0.621
6;SVAYA;39.880;14.583;0.111
7;SVAYA;44.758;15.391;0.314
8;SVAYA;30.440;20.307;0.513
9;SVAYA;39.330;19.471;0.513
10;SVAYA;24.820;15.508;0.423
11;SVAYA;29.552;15.297;0.142
12;SVAYA_N_5;40.371;10.320;0.425
13;SVAYA;44.502;9.659;0.415
14;SVAYA;29.646;10.395;0.241
15;SVAYA;24.964;9.481;0.341
16;SVAYA;24.615;24.544;0.052

Для примера мы используем файлы с разными единицами измерения, разделителем и разными форматами.

Теоретические данные у нас в миллиметрах, а измеренные в метрах.

Определим формат для проектного файла, на примере первой строки:
SV01,10000,25000,100

Разделителем значений в строке у нас запятая.

Первое значение в строке у нас SV01 - это наименование точки или номер, в формате будет первый символ n,
второе значение у нас 10000 - это координата Х, второй символ формата x,
следующее значение после запятой у нас 25000 - это Y, третий символ формата y,
ну и последнее значение - 100, это высота, в формате z,
Собираем эти символы через запятую в одну строку - n,x,y,z, и получаем формат для теоретического файла

Мы видим, что второй DAT немного отличается, от первого (я имею ввиду количество значений через запятую), значит и формат будет отличаться.
Первая строка:1;SVAYA;30.553;24.821;0.258

Начинается с 1 - аналогично предыдущему файлу ставим символ n,
второе значение у нас отличается от теоретического файла SVAYA - это код, он состоит из букв, для нашего расчета не имеет никакого значения, ставим ему ноль 0 если у вас в строках будет не одно такое значение, а несколько, то в формате следует указать их нолями, естественно через запятую, их может быть сколько угодно.
Дальше у нас идет 30.553 - это Y (еще одно отличие, в файле первым идет не X) символ формата y,
дальше по аналогии 24.821 - это x,
и 0.258 - высота в формате z Разделителем значений в строке у нас точка с запятой.
Собираем все вместе, и в итоге формат файла с измерениями у нас - n;0;y;x;z
С левой половиной окна расчетов кажется разобрались, добавлю еще, постарайтесь не перепутать местами формы загрузки файлов в верхней нужно выбирать проектный, в нижней с измерениями.

Справа у нас параметры расчета, кое-кто мог заметить, что порядок свай в теоретическом и измеренном файле у нас не совпадает.
И представляем вам первый параметр расчета, он самый важный.
Этот параметр отвечает на каком расстоянии от проектной точки будет произведен поиск измеренной, в нашем случае мы предполагаем, что отклонения свай могли быть не более метра, вводим значение 1000 (метр в миллиметрах, т.к. единица измерений в мм) и наш скрипт если найдет в заданном ограничении, в квадрате 2 на 2 метра, по 1 метру больше и меньше координаты X и соответственно Y, измеренную точку он посчитает и нарисует стрелки с отклонениями. Еще раз напомню, что это самый важный параметр, и, оперируя им, мы сможем получить результаты автоматического расчета, или не получить ничего. При задании в этом параметре очень малой величины, (например 10 мм), алгоритм не найдет ни одной сваи, и напишет, что-то наподобии: извини брат, но я не нашел ни одной сваи в десяти миллиметрах от проектных координат, попробуй увеличить зону поиска (ведь ты же должен увидеть на что я способен...)
Предположив, что наши измеренные сваи не будут забурены далеко от проекта, ведь мы выносили в натуру каждое положение, выберем зону поиска 1 метр т.е. 1000 миллиметров.
(Впоследствии, если вдруг, некоторые сваи удалены на большее расстояние, мы увеличим этот параметр и рассчитаем заново)



Следующие три параметра дают нам возможность управлять высотными значениями, вы можете не отображать высотную отметку, отобразить разницу между проектной точкой и измеренной, или просто показать отметку.
выберем показать разницу


Здесь мы указываем какой размер стрелок хотим получить, указывается в миллиметрах

одного метра будет достаточно


Следующий параметр, возможно, не сильно востребован при расчете свай, но опишем его на основе нашего примера.
Как мы заметим, проектная высота верха свай у нас 100 мм или 0,1 метр. Измеренные сваи имеют совсем не проектные отметки.
И мы (или заказчик) хотим рассчитать только те отклонения, которые у нас не ниже и не выше 300 миллиметров от проектного положения.
Именно для такого случая у нас и имеется этот параметр, мы ставим галочку, задействовать эту опцию, и вводим в форму ниже 300.
И теперь наш скрипт (по крайней мере так задумывалось..) посчитает только те отклонения, которые имеют высоту не более 400, и не менее -200 мм
(Не буду объяснять почему 400 и - 200, надеюсь понятно).


Цветовой разделитель по значению отклонения в мм. Все стрелки с отклонениями, которые будут больше того числа что мы сюда впишем, будут красного цвета, и лежать в отдельном слое от стрелок, которые имеют отклонения меньше этого числа, и которые синие.

увидим красными, те сваи которые отклонились более полуметра


Если это слово вам ничего не говорит, то переходите дальше, (и не забивайте себе голову всякой ерундой), а если вам знакомо данное название и вы даже работаете (как и мы) в этом программном продукте фирмы Бентли, поставьте эту галочку. Примитив - точка (point), будет заменен на примитив окружность (circle). (Что иногда весьма удобно, т.к. в MicroStation точка становится shared cell)


Последняя опция, была добавлена после вопроса на форуме, в нашем примере, для свай отклонения показываются в сантиметрах, а не миллиметрах.
жмём

Выбираем файлы в формах загрузки, вводим форматы, изменяем параметры расчета

Так выглядит наша страница перед отправкой файлов на расчет


Нажимаем отправить. и через несколько секунд получаем результат:



Рассмотрим одно из отклонений



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


Перейти на мобильную версию сайта