1. ВНИМАНИЕ! В течении пары дней +- будет переезд форума на более защищённый сервер. Возможны перебои в работе.
    Dismiss Notice

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

Discussion in 'ПЕСОЧНИЦА' started by Игорь Владимирович, Aug 5, 2019.

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

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

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

    Attached Files:

  2. ivsem

    ivsem Форумчанин

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

    ivsem Форумчанин

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

    ivsem Форумчанин

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

    Attached Files:

    config likes this.
  6. Хитрый_глаз -(o)-

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

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

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

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

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

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

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

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

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

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

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

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

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

    FOXXX591 Форумчанин

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

    ivsem Форумчанин

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

    Attached Files:

    Last edited: Aug 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.
    Возможно и номер поперечника может потребоваться.
    --- Сообщения объединены, Aug 7, 2019, Оригинальное время сообщения: Aug 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)- Форумчанин

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

    ivsem Форумчанин

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice