Как дугу поделить на отрезки в автокаде
Загрузка. Пожалуйста, подождите.

Сообщение сайта
(Сообщение закроется через 2 секунды)
Деление дуги, (AutoCAD)

EVV
![]()

Просмотр профиля
31/01/2008, 13:23
Группа: Пользователи
Сообщений: 125
Регистрация: 19/06/2005
Из: Moskow
Пользователь №: 14 270
Срочно нужна помощь по автокаду!
Как разделить дугу определенного радиуса на определенные отрезки? например дуга радиус=4000 отрезки от одного края 820, а от него 1205?
Или скажите где прочитать на эту тему!

bogg
![]()

Просмотр профиля
31/01/2008, 13:33
Группа: Пользователи
Сообщений: 348
Регистрация: 26/03/2006
Пользователь №: 26 237
команда девайд.

EVV
![]()

Просмотр профиля
31/01/2008, 13:55
Группа: Пользователи
Сообщений: 125
Регистрация: 19/06/2005
Из: Moskow
Пользователь №: 14 270
QUOTE(bogg @ 31/01/2008, 13:33) [snapback]1002792[/snapback]
команда девайд.
А как потом от новой точки отложить другой отрезок на этой же дуге?

Ashmadman
![]()

Просмотр профиля
01/02/2008, 12:39
Группа: Пользователи
Сообщений: 38
Регистрация: 14/08/2007
Из: Москва
Пользователь №: 56 106
Не совсем понял я — нужно отложить определенную длину именно по дуге, т.е. имеется ввиду именно криволинейный участок дуги, а не хорда?
Посторением дуги в каде так не сделать — можно задать только длину хорды.
Надо юзать команду LENGTHEN, выбрать TOTAL и забить туда нужную длину дуги
Сообщение отредактировал Ashmadman — 01/02/2008, 12:51

point111
![]()

Просмотр профиля
06/02/2008, 01:26
Группа: Участник
Сообщений: 2 191
Регистрация: 04/01/2005
Из: Ростов-на-Дону
Пользователь №: 9 262
QUOTE(EVV @ 31/01/2008, 13:55) [snapback]1002823[/snapback]
QUOTE(bogg @ 31/01/2008, 13:33) [snapback]1002792[/snapback]
команда девайд.
А как потом от новой точки отложить другой отрезок на этой же дуге?
тупо нарисовать окружность нужного радиуса с центром в «новой точке», пересечение дуги и окружности даст нужное расстояние

Ashmadman
![]()

Просмотр профиля
06/02/2008, 08:41
Группа: Пользователи
Сообщений: 38
Регистрация: 14/08/2007
Из: Москва
Пользователь №: 56 106
Нет — это будет длина хорды, криволинейный участок дуги будет больше.

Sagava
![]()

Просмотр профиля
06/02/2008, 13:09
Группа: Пользователи
Сообщений: 489
Регистрация: 02/08/2005
Из: Москва
Пользователь №: 15 271
QUOTE(EVV @ 31/01/2008, 13:23) [snapback]1002783[/snapback]
Срочно нужна помощь по автокаду!
Как разделить дугу определенного радиуса на определенные отрезки? например дуга радиус=4000 отрезки от одного края 820, а от него 1205?
Или скажите где прочитать на эту тему!
Смотри картинку.
После того как выбереш эту команду, программа попросит тебя указать объект который надо делить, (это твоя дуга). Далее программа спросит на какие отрезки поделить дугу, задай длину отрезков, после чего программа проставит точки через заданное растояние. Точки могут быть не видны, для этого зайди на второй рисунок и задай параметры.
Форумы 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 МБ) 784 скачивания
Были жалобы, что она не заработала на каких-то машинах
Запускать ее надо для каждой выделенной линии при работающей 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 с последующим обходом.
Как разбить дугу на сегменты?
Господа инженеры. Мне необходимо построить объёмную ферму-арку в AutoCad 3D. В сечении фермы равнобедренный треугольник, на одном конце со стороной 350, на другом 150. Образующие фермы построил из дуг, теперь передо мной встал вопрос как прорисовать обрешетку фермы (стойки, раскосы) проблема в том что на самой дуге не работает привязка, только центр и концы. Как привязатся к дуге? Или может как-то можно разбить её на сегменты?
Просмотров: 12389
Как разделить линию в Автокаде. Видеоурок
Команды Поделить и Разметить не пользуются особой популярностью в Автокаде, тем не менее они не заменимы при необходимости разделить линию на равные интервалы или участки определенной длины (разбить пикетаж по трассе, выполнить разбивку закруглений и т.п.).
Данных команд нет на стандартных панелях инструментов, если затрудняетесь с тем, как добавить их, читайте здесь.
Поделить линию на сегменты
Команда ПОДЕЛИТЬ (_DIVIDE) выполняет деление линии на заданное количество равных сегментов в следующем порядке:
1. Запустите команду из верхнего меню Рисование → Точка → Поделить или введя в командную сроку ПОДЕЛИТЬ (_DIVIDE).

2. Укажите линию (отрезок, полилиния, сплайн, окружность, дуга и т.п.) для деления на сегменты.
3. На запрос «Число сегментов или [Блок]:» пока укажите количество требуемых интервалов, опцию [Блок] рассмотрим позже.
Важно. Скорее всего, вы не увидите результата и решите, что команда не работает, но это не так. Дело в том, в качестве разделителей используются точки, внешний вид которых необходимо настроить для отображения на экране.
Вид точки в Автокаде
Настройка отображения вида точки выполняется так:
1. Вызовите окно «Отображение точек» выбрав в верхнем меню Формат → Отображение точек…

Или введя в командную сроку ДИАЛТТОЧ (_DDPTYPE).
2. Настройте отображение внешнего вида точки и размера к примеру как указано ниже.

Разметить линию на отрезки заданной длины
Деление линии на отрезки определенной длины происходит так:
1. Запустите команду из верхнего меню Рисование → Точка → Разметить .

Или введите в командную сроку РАЗМЕТИТЬ (_MEASURE).
2. Укажите объект для деления на отрезки сегменты определенной длины (трасса к примеру).
3. На запрос «Длина сегмента или [Блок]:» на этот раз выберите опцию блок (к примеру условное обозначение пикета).
Примечание. У вас должен быть заранее быть подготовлен блок, который будет выступать в качестве разделителя (его роль в предыдущем примере выполняла точка).
4. Заранее выпишите или скопируйте имя блока, которое необходимо будет ввести на запрос «Имя блока для вставки:».
5. Далее необходимо указать будет ли блок вращаться относительно линии на запрос «Согласовать ориентацию блока с ориентацией объекта? [Да/Нет] :»
6. Осталось только указать длину сегмента (скажем 100 м) и усе.
Полезно. Как посчитать сумму длин несколько линий читайте здесь.
Разделить линию на участки. Видеоурок
Подготовка видео по делению линии на участки в процессе…