Точки на 3д полилинии

Тема в разделе "ПЕСОЧНИЦА", создана пользователем Игорь Владимирович, 5 авг 2019.

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

    На скрине №1 показал чего бы я хотел добиться в итоге.
    №1.jpg
    На скрине №2 показал, что получается если пробовать размечать 3д полилинии командой "разметить" с равным шагом. 3д полилинии не параллельны, соответственно разной длины.
    №2.jpg
    На скрине №3 показал вершины 3д полилиний. Они не подходят под мой шаг поэтому проставить точки по вершинам тоже не то.
    №3.jpg

    Приложу исходный файл для примера в автокад2000.
     

    Вложения:

  2. ivsem

    ivsem Форумчанин

    Включи привязки Node Узел и Perpendicular Нормаль. Командой Copy Копировать (режим Multiple Несколько) копируй точки с оси на другие 3D полилинии.
     
  3. Этим методом мне надо каждую точку поправлять, так как ширина везде разная, а при копировании точки автоматически не привязываются на место пересечения отрезка перпендикулярного 3д полилинии. Или я сделал что-то не так? Я бы хотел максимально упростить процесс.
     
  4. ivsem

    ivsem Форумчанин

    Конечная цель какая? Построить поперечники по дороге через 25 метров?
     
  5. ivsem

    ivsem Форумчанин

    Написал программку. Нужно указать на оси вершину до точки и вершину после точки. Программа создаст пользовательскую систему координат. Далее совмещая на глаз ось координат с центром точки на оси садим четыре точки. И так по кругу. Выход из программы на запрос точки просто нажать Enter. Повторный запуск- набрать число 11 и нажать Enter.
     

    Вложения:

    • CopyPoint01.lsp
      Размер файла:
      1,1 КБ
      Просмотров:
      10
    config нравится это.
  6. Хитрый_глаз -(o)-

    Хитрый_глаз -(o)- Форумчанин

    Хех, когда сам ломал голову над такой проблемой и решил)) Я так понял, есть факт съёмка и для оформления поперечников(без гемора) нужны точки в местах пересечения бровок и оси дороги с линией сечения поперечника?
     
    Игорь Владимирович нравится это.
  7. Всё верно, нужны поперечники шагом 25 метров, думаю как максимально автоматизировать процесс)

    Как я понял этот лисп создаёт пользовательскую СК от точки до точки по осевой линии чтобы было проще найти перпендикуляр на дугах, но с этим у меня проблем нет.
    --- Сообщения объединены, 6 авг 2019, Оригинальное время сообщения: 6 авг 2019 ---
    Да, есть участок ад, проекта нет, есть начало и есть конец, делаем съемку по факту ~25 шагов, потом эту съемку обрабатываем, получаем 3д полилинии, их размечаем с нужным шагом, отметки поперечников в ведомость) Но просто размечать, то получается то, что имеем на скрине №2, а мне надо точки перпендикулярно осевой)
     
  8. Хитрый_глаз -(o)-

    Хитрый_глаз -(o)- Форумчанин

    Я делал так, строил сечения с нужным шагом(в вашем случае 25м и лучше сделать их по длине с запасом), разбивал до полилинии--в свойствах ставил уровень 0(важно!), то же и для 3д полилиний бровок и оси(лучше перенести все в новый чертеж)--далее в МЕНЮГЕО есть функция работа с полилиниями/проставить точки в местах пересечения(по моему так)--получаем точки автокада--преобразовываем в точки COGO--теперь точки COGO поднимаем на факт съемку(обязательно проверить присвоились ли отметки, я включал отображение отметок и смотрел) и добавляем в поверхность::biggrin24.gif:: После этого поперечники строятся красиво без "каши" и отметки показываются только на оси и бровках. Я надеюсь суть понятна)))

    P.S. Так же для автоматизации строил отдельные поверхности для отображения уклонов и расстояний на поперечниках, в ручную редактировал только подвал поперечников и то через блок(2 минуты), но это уже другая история)))
     
    Игорь Владимирович и FOXXX591 нравится это.
  9. Первая часть сообщения понятна точно, а вот с поднятием точек COGO на факт съёмку и добавлением в поверхность возникли вопросы, так как таким не занимался ещё)
    А может есть способ через цивил ещё упростить как-то? То есть у меня есть облако точек автокад с фактической съёмкой, преобразовать сразу в точки COGO и построить из этого облака поверхность, а на этой поверхности построить поперечники? Цивил плохо знаю)
     
    Ohr нравится это.
  10. Хитрый_глаз -(o)-

    Хитрый_глаз -(o)- Форумчанин

    Именно с этого и нужно начинать. По другому поперечники и не построите. Еще для построения нужна трасса(именно цивил), можно создать из объекта(ось дороги). Без поверхности и оси дороги поперечники не построить в цивиле.

    Это и есть самый простой способ, по моему мнению.

    Безымянный.png

    Выбрал нужные точки--поднять на поверхность--выбрал поверхность
     
    Игорь Владимирович нравится это.
  11. Хитрый_глаз -(o)-

    Хитрый_глаз -(o)- Форумчанин

    Перечитал повнимательней ваше сообщение. Конечная цель это создать ведомость отметок в ексель?
     
  12. Да, в конечном итоге я предоставляю для ПТО ведомость с отметками бровок, кромок, оси. Так же ширины покрытия от оси лево/право и ширина обочин. Пока что я нашёл 1 способ как быстро выгрузить точки автокад из чертежа в эксель. Я накладываю, допустим, на бровку полилинию, через МенюГео, Работа с точками, Точки - "Выбрать примитивы "point" лежащие на полилинии " выделяются все точки на этой полилинии, далее выгружаю их в файл. Если выгружать совсем все точки, то соответственно получается "каша" и там не разберёшь где отметки бровок, оси и кромок.
    Вот с аннотациями ширин и их выгрузкой пока не думал)
     
    VFM нравится это.
  13. FOXXX591

    FOXXX591 Форумчанин

    Для опытных цивилистов самый простой способ это построить коридор по фактической съёмке и воспользоваться потом ведомостью параметров земляного полотна.
    В вашем случае проще воспользоваться стандартной ведомостью точек из вкладки Панель инструментов. Там будет пикетаж, расстояние от оси и отметка точки. Только в Экселе потом придется повозиться сортируя их.
     
    Игорь Владимирович нравится это.
  14. ivsem

    ivsem Форумчанин

    Написал программу Poperechnik01.fas, наносит 3D точки на поперечник. Перед запуском программы нужно изменить цвет боковых плиний на 52 и расчленить их (осевую не расчленять !).
    Далее запустить программу, ввести шаг, выбрать осевую полилинию.
    Бегущие цифры в командной строке показывают сколько осталось обработать поперечников. На моем компе обработка вашего примера заняла 3 минуты.
    Повторный запуск- набрать число 11 и нажать Enter.
    Программа наносит 3D точки только на осевую полинию и отрезки цвета 52 пересекающие поперечник!
    Обработать начало и конец осевой полилинии можно ранее выложенной программой CopyPoint01.lsp.
    Тестирование и выявление ошибок возлагается на пользователя.
    01.jpg
     

    Вложения:

    Последнее редактирование: 7 авг 2019
  15. Для тех кто столкнётся с такой же задачей как я, давайте по этапам:

    1. Что имеем в исходных данных: 5 3д полилиний с примерными вершинами в 25 метров. Ось, две кромки, две бровки. Именно 3д полилиний, так как обычная полилиния не даст отметку, соответственно.
    2. Для начала я меняю цвет кромок и бровок на 52.
    цвет 52.png
    3. Пользуюсь командой "РАСЧЛЕНИТЬ" на 2 кромки и 2 бровки. Соответственно получаю отрезки вместо 3д полилиний.
    РАСЧЛЕНИТЬ.png
    4. Запускаю программу, ввожу шаг 25 метров, выбираю ось (не расчлененную 3д полилинию) и получаю точки с отметкой на кромках и бровках перпендикулярно осевой.
    точки.png
    Спасибо @ivsem за проделанную работу и экономию времени для других ::cool24.gif::
    У меня всё сработало на отлично::rolleyes24.gif::
     
  16. ivsem

    ivsem Форумчанин

    Мне кажется, в программу, для облегчения дальнейшей работы, нужно добавить нумерацию точек и вывод в текстовый файл N,X,Y,Z.
    Возможно и номер поперечника может потребоваться.
    --- Сообщения объединены, 7 авг 2019, Оригинальное время сообщения: 7 авг 2019 ---
    3D полилиний может быть сколько угодно ( бровка кювета, подошва, подошва, бровка кювета)
    На всех расчлененных полилиния цвета 52 ( отрезках) будут поставлены точки. Не расчлененные полилинии будут пропущены.
     
    Игорь Владимирович нравится это.
  17. Хитрый_глаз -(o)-

    Хитрый_глаз -(o)- Форумчанин

    Тут еще проще с расстояниями, если ты разобрался как правильно без "каши" вытащить точки в ексель. Они же приходят с координатами, в екселе задаёшь функцию для вычисления расстояния. Вспоминаем геометрию, а точнее формулу Пифагора для прямоугольного треугольника: Безымянный.png Безымянный 2.png
    где А(х1;y1) это точка на оси дороги, В(х2;y2) это точка на бровке(кромке), отсюда преобразовываем формулу: с=КОРЕНЬ((х12)2+(у12)2), вместо х1 х2 у1 у2 указанны ячейки с координатами. Первый раз главное правильно все забить, а дальше сохранишь как шаблон и на следующие объекты останется только менять координаты точек, расстояние будет вычисляться автоматически. Мог бы скинуть свой шаблон, но сейчас нет с собой((
     
    Игорь Владимирович нравится это.
  18. Хитрый_глаз -(o)-

    Хитрый_глаз -(o)- Форумчанин

    Главное следи что бы точки правильно с автокада приходили, хотя по формуле сразу видно будет, расстояния станут огромными! Ещё в екселе можно рассчитывать поперечные уклоны)))
    --- Сообщения объединены, 7 авг 2019, Оригинальное время сообщения: 7 авг 2019 ---
    Конечно рабочий)) только у меня цель другая была))
     
  19. ivsem

    ivsem Форумчанин

  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление