• RU
  • icon На проверке: 0
Меню

ПЛАНИРОВКА 0.2 - Создание цифровой модели местности на основании плоского чертежа AutoCAD

  • Добавлен: 24.01.2023
  • Размер: 1 MB
  • Закачек: 1
Узнать, как скачать этот материал

Описание

ПЛАНИРОВКА 0.2 - Создание цифровой модели местности на основании плоского чертежа AutoCAD

Состав проекта

icon
icon Справка.doc
icon
icon
icon Пример 2.dwg
icon Примыкание.dwg
icon
icon dots.txt
icon Пример 1.dwg
icon Dots.dwg
icon Elevation 0.2.dvb
icon
icon img_008.bmp
icon img_014.bmp
icon img_007.bmp
icon img_013.bmp
icon img_010.bmp
icon img_004.BMP
icon img_003.BMP
icon img_006.bmp
icon img_012.bmp
icon img_015.bmp
icon img_005.BMP
icon img_011.bmp
icon img_009.bmp
icon img_001.bmp
icon img_002.BMP
icon
icon m_point_02.dwg
icon m_slope_01.dwg
icon m_point_01.dwg

Дополнительная информация

Контент чертежей

icon Справка.doc

Copyright © 2008-2010 by Mike Grigoriev
УСТАНОВКА ПРИЛОЖЕНИЯ3
2 Функции создания точек6
6 Редактирование точек11
ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ ПРИЛОЖЕНИЯ15
ИЗВЕСТНЫЕ ОШИБКИ В РАБОТЕ ПРОГРАММЫ17
АНАЛОГИЧНЫЕ ПРОГРАММЫ18
ПЛАНИРОВКА – приложение для AutoCAD предназначенное для создания цифровой модели местности на основании «плоского» чертежа а также для решения простейших задач вертикальной планировки территории.
Приложение написано и протестировано под AutoCAD 2006. Проверить работу в более поздних версиях нет возможности (и необходимости) но в принципе должно работать как минимум вплоть до 2010 в том случае если установлена поддержка VBA. Что к чему и как это сделать смотри ссылки:
Приятное" известие для любителей программировать на VBA
VBA support in AutoCAD 2010
Download the Microsoft Visual Basic for Applications Module
УСТАНОВКА ПРИЛОЖЕНИЯ
Разархивировать и скопировать папку Elevation 0.2 на локальный диск компьютера. Данная папка содержит все необходимые для работы приложения файлы.
Запустить AutoCAD и выполнить команду _appload
В появившемся окне (рисунок 1) выбрать файл Elevation 0.2.dvb (он расположен в папке Elevation 0.2) нажать кнопку Load а затем кнопку Close.
Рисунок 1. Загрузка проекта Elevation 0.2.dvb
Выполнить команду _vbarun
В появившемся окне (рисунок 2) выбрать из списка макрос InitMain (он имеет описание: Запуск приложения ПЛАНИРОВКА 0.2) и нажать кнопку Run.
Рисунок 2.Запуск приложения ПЛАНИРОВКА 0.2
В случае успешной загрузки приложения в AutoCAD появится дополнительное меню Планировка и две панели – Планировка: точки уклоны горизонтали и Планировка: редактирование точек (рисунок 3). Меню содержит все доступные функции приложения панели предназначены для быстрого вызова основных команд.
Рисунок 3. Панели инструментов приложения
Чтобы не повторять пункты 2-3 при каждом запуске AutoCAD необходимо добавить приложение в автозагрузку. Это можно сделать с помощью кнопки Contents.. окна LoadUnload Applications (рисунок 1).
Точки создаются в виде блоков (точнее в виде вхождений блока Block Reference). Вся информация о точке (высота номер код и т.п.) хранится в виде атрибутов блока. Видимость отдельных атрибутов можно включитьотключить и таким образом настроить внешний вид блока. Помимо управления видимостью отдельных атрибутов можно настраивать точность отображения координат точки взаимное расположение атрибутов масштаб и угол поворота блока. Координаты точки в плане соответствуют точке вставки блока. При этом предполагается следующий масштаб чертежа в AutoCAD: 1 ед.чертежа = 1 м. Геодезическая ось OX (направление на север) соответствует в AutoCAD оси OY и направлена снизу вверх геодезическая ось OY (направление на восток) соответствует в AutoCAD оси OX и направлена слева направо.
Высота вставки блока принимается равной либо нулю (2D блок) либо высоте точки которую данный блок изображает (3D блок). Данный параметр настраивается в окне Планировка – Настройка – Параметры создания новых точек – Тип блока.
Таблица 1. Атрибуты блока отметка
Северная координата точки с заданной точностью
Восточная координата точки с заданной точностью
Высота точки с заданной точностью
Описание точки. Произвольная строка состоящая не более чем из 8 символов.
Номер точки. Целое число в диапазоне от -2147483 648 до 2147483 647
Код точки 1. Целое число в диапазоне от -2147483 648 до 2147483 647
Код точки 2. Целое число в диапазоне от -2147483 648 до 2147483 647
Код точки 3. Целое число в диапазоне от -2147483 648 до 2147483 647
По умолчанию в качестве блока для отображения точек используется блок m_point_01. На основе данного блока можно создать любой другой блок и указать его в качестве блока для вставки точек (Планировка – Настройка – Параметры создания новых точек: Имя блока для вставки точки). Главное чтобы созданный блок содержал те же атрибуты что и блок m_point_01 (Таблица 1).
Предусмотрено три способа выбора слоя в который будут вставлены созданные точки:
Текущий – точки будут вставлены в текущий слой
По описанию точки – точки будут вставлены в слой имя которого соответствует описанию точки. Если описание точки содержит строку которая не может быть именем слоя то точка будет вставлена в текущий слой.
Определенный – точки будут вставлены в слой определенный пользователем.
Способ определения слоя для вставки точек указывается в окне Планировка – Настройка – Параметры создания новых точек – Слой точки.
2 Функции создания точек
Вручную – положение точки в плане задается с помощью курсора высота вводится с клавиатуры.
По превышению – положение точки в плане задается с помощью курсора высота определяется по заданному превышению относительно предварительно выбранной базовой точки.
По уклону – положение точки в плане задается с помощью курсора высота определяется по заданному уклону относительно предварительно выбранной базовой точки. Уклон задается в промилле. При отрицательном значении уклона точка будет вставлена ниже базовой при положительном выше (рисунок 4).
Рисунок 4. Уклон между 2-мя точками
Уклон i промилле линии АВ определяется следующим образом:
Zb – высота точки В м;
Za – высота точки А м;
S – горизонтальное проложение линии АВ м;
По интерполяции – положение точки в плане задается с помощью курсора высота определяется по линейной интерполяции между двумя предварительно выбранными точками в зависимости от расстояния между искомой и базовыми точками (рисунок 5).
Рисунок 5. Определение высоты точки по линейной интерполяции между двумя точками
Высота Zc м точки С определяется следующим образом (рисунок 5):
Zc = Za + d1·(Zb-Za)(d1+d2)
Za м – высота точки А;
Zb м – высота точки В;
d1 м – расстояние в плане от точки А до точки С;
d2 м – расстояние в плане от точки B до точки C;
Точка С может не принадлежать линии АВ (рисунок 5).
На плоскости – положение точки в плане задается с помощью курсора высота точки определяется из условия расположения точки в заданной плоскости. Плоскость задается с помощью трех предварительно выбранных точек.
Рисунок 6. Определение высоты точки принадлежащей заданной плоскости
Высота Zd м точки D определяется следующим образом (рисунок 6):
A·X + B·Y + C·Z + D = 0
Определяем коэффиценты ABCD:
D = -(A·Xa+B·Ya+C·Za)
Определяем высоту точки D:
Zd = -(A·Xd+B·Yd+D)C
При этом точки ABC не должны совпадать или лежать на одной прямой. Точка D может находиться вне треугольника ABC.
Из текста – положение точки в плане задается с помощью курсора высота точки определяется из выбранного однострочного текста содержащего число в виде строки.
В качестве разделителя целой и дробной части может использоваться либо точка либо запятая. Данное правило справедливо для любого ввода действительных чисел в приложении.
Группа из текста – функция аналогична функции Из текста. Точки создаются из выбранных однострочных текстовых строк. Высота точки определяется из содержимого текстовой строки а положение в плане определяется в зависимости от
точки вставки текста и заданных величин смещения txtX и txtY (Планировка – Настройка – Параметры создания новых точек – Создание из текста – Координаты текста).
Рисунок 7. Определение координат точки в зависимости от координат текста
Координаты точки в плане определяются следующим образом (рисунок 7):
Восточная координата:
ptE = txtE+txtY·sin(a)-txtX·cos(a)
Северная координата:
ptN = txtN –txtY·cos(a)-txtX·sin(a)
При txtX=0 и txyY=0 координаты точки в плане будут соответствовать координатам точки вставки текста.
Уклон – функция определяет уклон между двумя выбранными точками и вставляет указатель уклона в виде блока. Стрелка блока направлена в сторону точки с меньшей высотой. Над стрелкой подписывается уклон между точками в промилле под стрелкой расстояние в метрах. Точность отображения уклона и расстояния а также видимость атрибутов блока масштаб и слой для вставки настраиваются с помощью окна Планировка – Настройка – Параметры создания указателей уклонов.
Информация – функция определяет параметры взаимного расположения двух точек: дирекционный угол расстояние в плане уклон превышение. Если вторая точка расположена ниже первой то уклон и превышение будут отрицательными.
Дирекционный угол – горизонтальный угол отсчитываемый от северного направления осевого меридиана или линии ему параллельной по ходу часовой стрелки до направления данной линии (рисунок 8). Дирекционный угол одной и той же линии в разных ее точках одинаков и изменяется от 0 до 360°.
Рисунок 8. Определение дирекционного угла
Горизонтали – функция строит горизонтали внутри треугольника заданного тремя выбранными точками. Шаг горизонталей задается непосредственно перед их построением. Слой в котором они будут созданы выбирается в окне Планировка – Настройка – Дополнительные настройки – Слой горизонталей.
Горизонтали строятся в виде отрезков. С помощью данной функции можно построить горизонтали на небольших площадках (вернее при небольшом количестве точек). Для построения горизонталей на больших участках данная функция конечно не годится.
Приложение позволяет экспортировать блоки точки либо в текстовый файл либо в точки AutoCAD. Это дает возможность использовать информацию о построенных точках в других программах и приложениях.
В текстовый файл - функция экспортирует выбранные точки в текстовый файл в формате:
Описание – Номер – Восток – Север – Высота – Код1 – Код2 – Код3
С помощью окна Планировка – Настройка – Дополнительные настройки можно указать разделитель столбцов в виде кода символа и разделитель целой и дробной части действительных чисел. Код символа это целое число в диапазоне 0..255. Коды некоторых символов приведены в таблице 2.
Таблица 2. Коды символов
В точки AutoCAD – данная функция экспортирует выбранные точки в точки AutoCAD. При этом будут потеряны такие сведения как описание номер код1 код2 и код3.
Приложение поддерживает импорт точек из текстового файла и из точек AutoCAD.
Из текстового файла – функция импорта точек из текстового файла. Настройки по импорту точек и предварительный просмотр файла осуществляется в окне Импорт точек из текстового файла (рисунок 9).
Рисунок 9. Импорт точек из текстового файла
Файл должен состоять из строк каждая из которых описывает одну точку. В каждой строке записаны координаты точки ее описание номер код и т.п. Значения (столбцы) разделяются между собой с помощью некоторого символа (указывается в поле Разделитель столбцов в виде кода символа или непосредственно вводится сам символ). Порядок столбцов может быть любым но одинаковым для всего файла. Значение каждого столбца указывается в полях Значения столбцов. Разделителем целой и дробной части для действительных чисел может быть либо точка либо запятая. Символы разделителя целой и дробной части и разделитель столбцов должны быть различны. Перед строками с описанием точек может располагаться произвольное количество строк со служебной информацией. Данные строки будут пропущены. Номер строки с которой необходимо начать чтение точек задается в поле Первая строка.
Пример текстового файла для импорта точек:
1023.369 5263.987 125.369 CL 5
1025.452 5260.452 124.658 CL 5
1022.851 5252.321 126.354 BL 322
В данном файле первые две строки – служебная информация затем идет пустая строка а затем описание 3 точек. Описание каждой точки состоит из 6 столбцов разделенных пробелом и обозначающих номер точки северную и восточную координаты высоту описание и код точки соответственно.
Из точек AutoCAD – функция импорта точек из точек AutoCAD. Точки создаются на основе выбранных точек AutoCAD. Координаты созданных точек соответствуют координатам выбранных остальные атрибуты заполняются по умолчанию в соответствии с настройками в окне Параметры создания новых точек (рисунок 11).
6 Редактирование точек
Функции предназначенные для редактирования уже созданных точек. Позволяют настраивать внешний вид точек (масштаб поворот точность отображения координат видимость атрибутов) а также изменять их высоту.
Обновить. При переносе или копировании блока отображающего точку изменяются его координаты вставки. Для отображения этих изменений в атрибутах блока East и North служит функция Обновить. Блок-точка имеет два атрибута отображающих высоту: Z и Elevation. Во всех вычислениях используется атрибут Z в котором хранится точная высота точки с максимально возможной точностью. Атрибут Elevation предназначен только для отображения высоты точки с заданной точностью. Поэтому при ручном редактировании атрибута блока Z например с помощью окна AutoCAD Properties (Свойства) необходимо обновить атрибут блока Elevation. Это также можно сделать с помощью команды Обновить.
При изменении любых параметров блока-точки с помощью команд приложения все атрибуты обновляются автоматически.
Масштабировать. Функция позволяет масштабировать блоки-точки относительно их точки вставки. Коэффициент масштабирования – действительное число больше нуля.
Повернуть. Функция поворачивает выбранные блоки-точки относительно их точки вставки на заданный угол. Положительное значение угла соответствует повороту против часовой стрелки.
ПоднятьОпустить – изменение высот выбранных точек на заданную величину.
Внешний вид – функция настройки внешнего вида выбранных блоков-точек. Настройка осуществляется с помощью соответствующего окна (рисунок 10). Для изменения одного из параметров (Значения атрибутов Видимость атрибутов Точность отображения координат Слой точек) необходимо отметить галочкой соответствующее поле задать требуемое значение параметра выбрать точки с помощью кнопки Выбор точек и нажать кнопку Принять.
Рисунок 10. Окно настройки внешнего вида выбранных точек.
Параметры создания новых точек – данное окно (рисунок 11) предназначено для задания свойств точек принимаемых по умолчанию.
Рисунок 11. Окно Параметры создания новых точек. Общие
На вкладке Общие (рисунок 11) задаются следующие параметры:
Значения по умолчанию – значения отмеченные галочкой будут приняты равными значению введенному в соответствующее поле остальные параметры будут запрашиваться при вставке каждой точки.
Видимые атрибуты – при создании новых точек видимыми будут только значения тех атрибутов которые отмечены в данном списке
Точность отображения координат – установка количества знаков после запятой при отображении координат точки
Слой точки – указан тип слоя либо его название в который будут помещаться вновь создаваемые точки.
Масштаб вставки блока – назначение этого поля полностью соответствует его названию.
Имя блока для вставки точки – данное поле содержит полный путь к файлу содержащему блок для отображения точки. Для выбора другого блока с помощью проводника используется кнопка [ ] расположенная справа от поля ввода.
Тип блока – определяет высоту вставки блоков точек. 2D блок – блоки вставляются с нулевой высотой; 3D блок – блоки вставляются с высотами равными высотам отображаемых ими точек.
Принять – применить настройки. В случае недопустимости значения одного из параметров будет выведено соответствующее предупреждение.
Отмена – закрытие окна без сохранения изменений.
Вкладка Создание из текста (рисунок 12) задает значения для следующих параметров:
Рисунок 12. Окно Параметры создания новых точек. Создание из текста
Координаты текста – определяет значение смещения точки вставки текста от координат вставляемой точки (подробно см. выше функцию Группа из текста).
Угол поворота – устанавливает значение угла поворота блока-точки при его вставке. При создании точек с помощью функций Из текста и Группа из текста угол поворота может быть принят либо равным углу поворота текста (выбрано По тексту) либо значению указанному в поле Определенный. При создании точек с помощью других функций угол поворота блока равен значению поля Определенный. Значение вводится в градусах положительное направление против хода часовой стрелки.
Параметры создания указателей уклонов – данное окно (рисунок 13) предназначено для установки свойств блоков-уклонов. Назначение всех настроек аналогично настройкам параметров блока-точки.
Рисунок 13. Окно Параметры создания указателей уклонов
Дополнительные настройки – окно предназначено для настройки отображения горизонталей и настройки вывода точек в текстовый файл (рисунок 14).
В левой части окна на панели Слой горизонталей задается тип и название слоя в котором будут начерчены горизонтали.
На панели Экспорт в текстовый файл задается код разделителя столбцов (таблица 2) и разделитель целой и дробной части. Данные параметры применяются при экспорте точек в текстовый файл с помощью одноименной функции.
Рисунок 14. Окно Дополнительные настройки
ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ ПРИЛОЖЕНИЯ
Создание цифровой модели рельефа на основании чертежа в формате dwg. Чертеж содержит плановое положение точек и их высоты в виде однострочного текста (либо многострочного текста или блоков)
Порядок выполнения примера:
Загружаем приложение Планировка 0.2
В окне Планировка – Настройка – Параметры создания новых точек устанавливаем следующие значения:
- Значения по умолчанию – отметить все кроме Высота и Код 1
- Видимые атрибуты – отметить поля Высота и Код 1
-вставки блока – 0.25
- Слой точки – Определенный Dots
В окне Планировка – Настройка – Дополнительные настройки устанавливаем следующие значения:
- Код разделителя столбцов – 32 (пробел)
- Разделитель целой и дробной части - . (точка)
С помощью функции Планировка – Экспорт – В текстовый файл записываем созданные точки в текстовый файл dots.txt
Созданный файл dots.txt может быть импортирован в качестве файла точек в программы работающие с поверхностями (например Credo или Robur) для дальнейшей работы.
Примечание: Если отметки подписаны с помощью многострочного текста (MText) то его можно преобразовать в однострочный текст с помощью команды _explode. Если же отметки отображены с помощью блоков то преобразовать их в однострочный текст можно с помощью команды _burst (входит в состав Express Tools).
Создание вертикальной планировки на парковках и примыканиях к автомобильной дороге
- Значения по умолчанию – отметить все кроме Высота
- Видимые атрибуты – отметить поле Высота
С помощью функции Планировка – Создание точек – По интерполяции определяем высоты общих точек примыкания и основной дороги (между 12522 и 12486 точка 12501; между 12486 и 12452 точка 12461-пересечение оси съезда с кромкой основной дороги; между 12452 и 12420 точка 12422)
Предположим что в конце примыкания мы пристыковываемся к существующей дороге с отметками 12501; 12509; 12501. Проставляем эти отметки на чертеже с помощью функции Создание точек - Вручную
С помощью функции Измерения – Уклон определяем продольный уклон по оси примыкания (между точками 12461 и 12509). Уклон равен 18 промилле что меньше максимально допустимого значения 40 промилле
С помощью функции Горизонтали чертим горизонтали с шагом 0.1 м в пределах примыкания последовательно выбирая созданные точки: 12422-12501-12452; 12452-12501-12509; 12509-12452-12461; 12461-12509-12486; 12486-12509-12501;12501-12486-12501. От порядка выбора точек зависит положение начерченных горизонталей.
Обрезаем созданные горизонтали по границам примыкания и подписываем их значения
ИЗВЕСТНЫЕ ОШИБКИ В РАБОТЕ ПРОГРАММЫ
Утечка памяти при вставке блоков (более подробно см. VBA: утечка памяти при вставке блоков ). Данная проблема становится ощутимой при вставке большого числа точек (например при импорте из текстового файла).
При импорте точек из текстовых файлов данные записываются в объект ListBox. Данный объект не может содержать более 10 столбцов (ограничение VBA) поэтому из текстового файла будут прочитаны только первые 10 столбцов остальные будут пропущены.
После закрытия AutoCAD приложение сохраняет все настройки в файл Settings.ini в том числе сохраняется и положение панелей инструментов приложения. При прикреплении их к одной из сторон окна AutoCAD их положение восстанавливается некорректно.
При повторном создании точек значения (все кроме высоты) введенные для предыдущей точки не отображаются в качестве значений по умолчанию при создании текущей точки. Поэтому например при создании подряд нескольких точек с одинаковым кодом приходится вводить код для каждой точки.
АНАЛОГИЧНЫЕ ПРОГРАММЫ
В сети Интернет можно найти следующие бесплатно распространяемые программы для создания цифровой модели местности c помощью AutoCAD (комментарии к приложениям взяты из описаний программ авторами)
Relief Master – генерация поверхности рельефа по заданным точкам
VBA_AutoCAD_Programs
Программы на VBA-AutoCAD для геодезистов маркшейдеров. Экспорт из Аутокада в Кредо исполнительные съемки отклонений в плане по X и Y (для свай и для шпунта) экспорт различных точек линий полилиний из Аутокада в файлы тахеометров Sokkia SDR20 SDR33 и в текстовый файл с различными разделителями полей - для выноса проектных точек в натуру построение от проектной оси 3d-проектных траншейнасыпей для последующего подсчета объемов вырезкаврезка 3d-фрагментов поверхностей в АутоКАД'е
Программа триангуляции облака точек
В данной программе используется простой итеративный алгоритм с использованием супер структуры - треугольника. Эта программа создавалась с задачей обработки очень больших наборов точек при тестировании с файлом 100000 точек время выполнения на моем компьютере 32 секунды это с учетом обработки выбора и по окончанию рисования всех треугольников примитивами 3dFace
Исходный код приложения написан в основном на VBA. В процессе работы программа создает новые файлы производит запись и чтение данных из них. Данные операции могут восприниматься некоторыми антивирусными программами (например Антивирус Касперского) как потенциально опасные. В действительности приложение не содержит в себе вирусов и любого другого вредоносного кода. Убедиться в этом можно просмотрев исходный код который является открытым.
Приложение распространяется бесплатно. Автор с удовольствием примет все пожелания и замечания по поводу идеи и ее реализации.
Copyright © 2008-2010 Григорьев Михаил

icon Примыкание.dwg

Примыкание.dwg

icon Пример 1.dwg

Пример 1.dwg

icon Dots.dwg

Dots.dwg
up Наверх