Как разделить линию в Автокаде. Видеоурок
Команды Поделить и Разметить не пользуются особой популярностью в Автокаде, тем не менее они не заменимы при необходимости разделить линию на равные интервалы или участки определенной длины (разбить пикетаж по трассе, выполнить разбивку закруглений и т.п.).
Данных команд нет на стандартных панелях инструментов, если затрудняетесь с тем, как добавить их, читайте здесь.
Поделить линию на сегменты
Команда ПОДЕЛИТЬ (_DIVIDE) выполняет деление линии на заданное количество равных сегментов в следующем порядке:
1. Запустите команду из верхнего меню Рисование → Точка → Поделить или введя в командную сроку ПОДЕЛИТЬ (_DIVIDE).
2. Укажите линию (отрезок, полилиния, сплайн, окружность, дуга и т.п.) для деления на сегменты.
3. На запрос «Число сегментов или [Блок]:» пока укажите количество требуемых интервалов, опцию [Блок] рассмотрим позже.
Важно. Скорее всего, вы не увидите результата и решите, что команда не работает, но это не так. Дело в том, в качестве разделителей используются точки, внешний вид которых необходимо настроить для отображения на экране.
Вид точки в Автокаде
Настройка отображения вида точки выполняется так:
1. Вызовите окно «Отображение точек» выбрав в верхнем меню Формат → Отображение точек…
Или введя в командную сроку ДИАЛТТОЧ (_DDPTYPE).
2. Настройте отображение внешнего вида точки и размера к примеру как указано ниже.
Разметить линию на отрезки заданной длины
Деление линии на отрезки определенной длины происходит так:
1. Запустите команду из верхнего меню Рисование → Точка → Разметить .
Или введите в командную сроку РАЗМЕТИТЬ (_MEASURE).
2. Укажите объект для деления на отрезки сегменты определенной длины (трасса к примеру).
3. На запрос «Длина сегмента или [Блок]:» на этот раз выберите опцию блок (к примеру условное обозначение пикета).
Примечание. У вас должен быть заранее быть подготовлен блок, который будет выступать в качестве разделителя (его роль в предыдущем примере выполняла точка).
4. Заранее выпишите или скопируйте имя блока, которое необходимо будет ввести на запрос «Имя блока для вставки:».
5. Далее необходимо указать будет ли блок вращаться относительно линии на запрос «Согласовать ориентацию блока с ориентацией объекта? [Да/Нет] :»
6. Осталось только указать длину сегмента (скажем 100 м) и усе.
Полезно. Как посчитать сумму длин несколько линий читайте здесь.
Разделить линию на участки. Видеоурок
Подготовка видео по делению линии на участки в процессе…
Расчленить в Автокаде цельные объекты. Команда редактирования «Расчленить»
Как пользоваться командой «расчленить» в Автокаде (Аutocad):
- На вкладке «Главная» на панели «Редактирование» нужно выбрать команду «Расчленить».
- После в рабочем пространстве AutoCAD выделить объекты, которые нужно разбить.
- Нажатием Enter подтвердить выполнение команды.
Полное обучение: «AutoCAD на 100%»
Как в Автокаде расчленить блок
Блок представляет собой сложный объект, состоящий из совокупности различных элементов. Иногда возникает необходимость отредактировать один из блоков, то есть расчленить его в Автокаде (Аutocad). Чтобы при этом исходное описание не изменялось.
Как расчленить блок в Автокаде? Целесообразно воспользоваться командой «Расчленить», когда блок уже присутствует на чертеже. Следует учитывать, что значение атрибутов после расчленения удаляется, остается только их описание.
ПРИМЕЧАНИЕ: При выполнении команды «Расчленить» применительно к блокам происходит разбиение объектов одного уровня вложенности блоков. Если блок состоит из др. блоков или полилиний, то для их расчленения следует выполнить команду расчленить в Автокаде повторно.
Команда расчленить в Автокаде. Для чего ее можно применять
С помощью команды “Расчленить” в Автокаде (Аutocad) можно:
- разбить полилинию в Автокаде. При ее расчленении информация о ширине теряется;
- расчленять штриховки и размеры. При этом теряется ассоциативность между всеми элементами;
- разбить ассоциативный массив в Автокаде;
- разбить массив координатных осей, созданный с помощью модуля СПДС. Данную команду нужно выполнить дважды.
Вы узнали, как разбить объект и чертеж в Автокаде. Обязательно проработайте данный материал на практике и посмотрите другие уроки, чтобы правильно научиться работать в Автокаде.
Как разбить полилинию на участки различной длины? (Страница 1 из 3)
Форумы CADUser → Autodesk → AutoCAD → Как разбить полилинию на участки различной длины?
Страницы 1 2 3 Далее
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Сообщения с 1 по 25 из 53
#1 Тема от Олег 15 сентября 2005г. 10:51:32
Тема: Как разбить полилинию на участки различной длины?
есть ли способ разметить полилинию на участки с различной длиной?
#2 Ответ от kpblc 15 сентября 2005г. 11:00:20
Re: Как разбить полилинию на участки различной длины?
_divide, только перед этим через ddptype поставь вид точек (если разбивать точками будешь)
#3 Ответ от Олег 15 сентября 2005г. 11:07:59
Re: Как разбить полилинию на участки различной длины?
> kpblc
насколько я понял _divide разбивает на заданное количество отрезков одинаковой длины, мне же необходимо разбить на отрезки различной длины. Например чтобы полилинию длиной 100 разбило на участки длиной 10, 20, 45, 15, 10.
#4 Ответ от kpblc 15 сентября 2005г. 11:28:05
Re: Как разбить полилинию на участки различной длины?
Кроме как руками (для прмых кусков) тут тяжело предложить что-то имхо. И непонятно, что делать, если в новой части полилинии участвует вершина. А что делать с дуговыми сегментами?
#5 Ответ от Alena 15 сентября 2005г. 11:31:10
Re: Как разбить полилинию на участки различной длины?
проще вычертить..
берешь полилинию и последовательно, допустим по горизонтали, откладываешь 10, 20, 45, 15, 10.
в местах стыковки будет срабатывать привязка Endpoint
#6 Ответ от Alena 15 сентября 2005г. 11:36:22
Re: Как разбить полилинию на участки различной длины?
> kpblc
с дугами сложнее, там еще радиус присутствует.
как сделать дугу, определенного радиуса и определенного размера, и последовательность дуг 10, 20, 45, 15, 10.
#7 Ответ от Владимир Громов 15 сентября 2005г. 11:38:46
Re: Как разбить полилинию на участки различной длины?
В принципе для ортогональных полилиний можно воспользоваться программой, которая описана здесь:
https://www.caduser.ru/forum/topic19844.html
Т.е. можно в начале полилинии нарисовать точку, настроенную на крест, а потом копировать ее с нужным шагом.
#8 Ответ от kpblc 15 сентября 2005г. 12:08:44
Re: Как разбить полилинию на участки различной длины?
> Alena
Не совсем про то, но тем не менее: в случае полилинии с дуговыми сегментами как мерять расстояние? Если по прямой, то все очень просто делается руками. Если по дуге — то надо дополнительные вычисления производить.
И по поводу «прямых» кусков: допустим, длина первого сегмента 100, второго — 150, третьего — 125. Сегменты располагаются под произвольными углами друг к другу в общем случае, но для примера возьмем через 22,5 градуса; первый сегмент — под углом 30 градусов к горизонтали; начало полилинии — в (0,0,0) — чтобы не было совсем все просто. Надо разбить по длинам (начиная с первого): 35, 22, 100, 120, сколько осталось (оставим в стороне пока вопрос о случае, если длины полилинии не хватает на все отрезки).
И в результате: на первом сегменте располагаются 2 точки с координатами соответственно (30.31,17.5) и (49.36,28.5), а вот дальше начинается чехарда. До следующей точки меряем по прямой? Если да, то ее координаты будут (122.46,96.74), а если по полилинии (т.е. дошли до вершины, померяли расстояние, и от нее — дальше), то получается уже что-то около (121.30,95.22). Дальше — больше.
Казалось бы, разница копеечная, но при больших длинах набежит нехилая погрешность, если с этим делом не определиться.
Можете проверить — прав ли я, а то мне уже и самому интересно становится
—
И все это не совсем ИМХО.
Форумы GIS-Lab.info
Здравствуйте! Подскажите, пожалуйста, утилиту или способ для решения следующей задачи в MapInfo: необходимо в автоматическом режиме разбить полилинию на равные отрезки. Заранее спасибо!
Клим Интересующийся
Сообщения: 24 Зарегистрирован: 29 авг 2011, 16:51
Репутация: 1
Re: Как разбить полилинию на равные отрезки?
Сообщение Клим » 03 окт 2011, 06:30
Если полилиния прямая то никаких проблем просто с помощью mapcad строишь перпендикуляр и смещаешь его параллельно на заданное расстояние, в точках пересечения разрезаешь полилинию.
Если же нет то без программирования не обойтись, надо покапать в сторону функций objectinfo, ObjectLen. Если интересно могу расписать поподробнее.
Qwercus Новоприбывший
Сообщения: 14 Зарегистрирован: 17 сен 2011, 23:18
Репутация: 0
Re: Как разбить полилинию на равные отрезки?
Сообщение Qwercus » 03 окт 2011, 13:11
Спасибо за ответ!
Увы, полилиня кривая, изображает реку.
Поскольку в программировании не силён, прошу Вас, если это не затруднит, расписать подробнее.
Сообщения: 4205 Зарегистрирован: 10 апр 2006, 22:34 Статьи: 3 Проекты: 1
Репутация: 433 Откуда: Париж
Re: Как разбить полилинию на равные отрезки?
Сообщение Boris » 03 окт 2011, 13:15
описание задачи недостаточно для ее решения, т.к. имеет две неоднозначности:
а) направление полилиний — от начала к концу и от конца к началу — это будут совершенно разные точки
б) что происходит при достижении границы отрезка составляющего отдельный сегмент линии — счет прекращается или переноситься на следующий отрезок
Кроме того, при достаточно больших границах карты, отрезки не смогут точно передать линию, т.к. их концы будут сильно отстоять от самой линии. Эта тема уже несколько раз обсуждалась на форуме.
Сообщения: 4205 Зарегистрирован: 10 апр 2006, 22:34 Статьи: 3 Проекты: 1
Репутация: 433 Откуда: Париж
Re: Как разбить полилинию на равные отрезки?
Сообщение Boris » 03 окт 2011, 13:50
Кроме того, полилиния в мапинфо может состоять из нескольких сегментов — как ветви у дерева. Тут решение просто не возможно предсказать.
Qwercus Новоприбывший
Сообщения: 14 Зарегистрирован: 17 сен 2011, 23:18
Репутация: 0
Re: Как разбить полилинию на равные отрезки?
Сообщение Qwercus » 03 окт 2011, 14:14
Boris, спасибо за замечания!
а) В данной задаче не имеет значения направление, лучше, если это будет от начала к концу.
б) данный пункт не совсем понял, возможно, нижеприведённые объяснения снимут данный вопрос.
Как Вы справедливо заметили, я не совсем верно обрисовал задачу.
Дано: полилиния (река);
Необходимо (устроит два варианта решения):
1) полилинию от точки начала до точки конца или наоборот разбить на n полилиний равных по длине (1 км).
2) автоматически на исходной полилинии через каждый километр поставить точку.
Boris писал(а): Эта тема уже несколько раз обсуждалась на форуме
Прошу прощения, знаю. не приветствуется. Перед созданием данной темы я постарался ознакомиться с уже существующими, однако приемлемого способа решения не нашёл. Я надеялся, Boris, что Вы мне поможете, поскольку в одной из тем (viewtopic.php?f=2&t=6844&p=37643&hilit= . %B2#p37643), Вами было указано:
Boris писал(а): Программа для разбивки полилинии приводилась мной на форуме MapInfo
К сожалению, мне не удалось найти этого сообщения, но к счастью, Вы написали раньше, чем я успел к вам обратиться.
p.s. полилиния без ответвлений (просто кривая линия)
Сообщения: 4205 Зарегистрирован: 10 апр 2006, 22:34 Статьи: 3 Проекты: 1
Репутация: 433 Откуда: Париж
Re: Как разбить полилинию на равные отрезки?
Сообщение Boris » 03 окт 2011, 17:57
Вот программа на VisualBasic’е.
Pack2.rar (2.85 МБ) 776 скачиваний
Были жалобы, что она не заработала на каких-то машинах
Запускать ее надо для каждой выделенной линии при работающей MapInfo. Она реализована для произвольного размещения точек. Для регулярного — необходимо этот регулярный список создать.
—
Теперь относительно б)
Простая ломаная линии состоит из отдельных отрезков. Как обрабатывается случай, когда остаток длины отрезка меньше шага расстановки вдоль линии? Возможны два варианта — точка ставится в конце отрезка, или от начала следующего отрезка откладывается остаток, который не удалось отложить на предыдущем отрезке. Во втором случае новая полилиния будет «срезать» углы между двумя отрезками исходной линии, а то и игнорировать некоторые из отрезков.
Qwercus Новоприбывший
Сообщения: 14 Зарегистрирован: 17 сен 2011, 23:18
Репутация: 0
Re: Как разбить полилинию на равные отрезки?
Сообщение Qwercus » 03 окт 2011, 19:05
Boris, спасибо Вам!
К сожалению, программа не «увидела» мою MI. Однако я еще попробую на другой машине. Спасибо, утилита приятная!
Поскольку на данный момент задача всё ещё не решена, могу ли я спросить о других способах?
Что касается б) — в данном случае не критично. Подойдут оба варианта решения. Необходимости в очень точных результатах нет, погрешности длин в 5% приемлемы.
Сообщения: 4205 Зарегистрирован: 10 апр 2006, 22:34 Статьи: 3 Проекты: 1
Репутация: 433 Откуда: Париж
Re: Как разбить полилинию на равные отрезки?
Сообщение Boris » 04 окт 2011, 10:39
Задача проста для решения, но требует элементарного программирования. Самое очевидное решение — экспорт в текстовый формат MIF с последующим обходом.