Как разделить линию в Автокаде. Видеоурок
Команды Поделить и Разметить не пользуются особой популярностью в Автокаде, тем не менее они не заменимы при необходимости разделить линию на равные интервалы или участки определенной длины (разбить пикетаж по трассе, выполнить разбивку закруглений и т.п.).
Данных команд нет на стандартных панелях инструментов, если затрудняетесь с тем, как добавить их, читайте здесь.
Поделить линию на сегменты
Команда ПОДЕЛИТЬ (_DIVIDE) выполняет деление линии на заданное количество равных сегментов в следующем порядке:
1. Запустите команду из верхнего меню Рисование → Точка → Поделить или введя в командную сроку ПОДЕЛИТЬ (_DIVIDE).
2. Укажите линию (отрезок, полилиния, сплайн, окружность, дуга и т.п.) для деления на сегменты.
3. На запрос «Число сегментов или [Блок]:» пока укажите количество требуемых интервалов, опцию [Блок] рассмотрим позже.
Важно. Скорее всего, вы не увидите результата и решите, что команда не работает, но это не так. Дело в том, в качестве разделителей используются точки, внешний вид которых необходимо настроить для отображения на экране.
Вид точки в Автокаде
Настройка отображения вида точки выполняется так:
1. Вызовите окно «Отображение точек» выбрав в верхнем меню Формат → Отображение точек…
Или введя в командную сроку ДИАЛТТОЧ (_DDPTYPE).
2. Настройте отображение внешнего вида точки и размера к примеру как указано ниже.
Разметить линию на отрезки заданной длины
Деление линии на отрезки определенной длины происходит так:
1. Запустите команду из верхнего меню Рисование → Точка → Разметить .
Или введите в командную сроку РАЗМЕТИТЬ (_MEASURE).
2. Укажите объект для деления на отрезки сегменты определенной длины (трасса к примеру).
3. На запрос «Длина сегмента или [Блок]:» на этот раз выберите опцию блок (к примеру условное обозначение пикета).
Примечание. У вас должен быть заранее быть подготовлен блок, который будет выступать в качестве разделителя (его роль в предыдущем примере выполняла точка).
4. Заранее выпишите или скопируйте имя блока, которое необходимо будет ввести на запрос «Имя блока для вставки:».
5. Далее необходимо указать будет ли блок вращаться относительно линии на запрос «Согласовать ориентацию блока с ориентацией объекта? [Да/Нет] :»
6. Осталось только указать длину сегмента (скажем 100 м) и усе.
Полезно. Как посчитать сумму длин несколько линий читайте здесь.
Разделить линию на участки. Видеоурок
Подготовка видео по делению линии на участки в процессе…
как поделить дугу на хорды заданногтьо размера
Собственно нужно расположить отверстия по дуге с заданным растоянием по хорде. Поиском ничего не нашел.
Просмотров: 9284
Регистрация: 28.12.2004
Сообщений: 312
По длине хорды можно через формулы геометрии найти длину дуги заключенно между концами хорды, а далее командой _measure разметить точки.
Регистрация: 28.12.2004
Сообщений: 312
Длина дуги L на окружности радиусом R между двумя точками хорды длиной l равна
L=R*arcsin (l/(2*R))
Вроде так получилось
Регистрация: 29.10.2004
Сообщений: 16,333
_Andre_, формулы тут не нужны.
1 Нарисовать окружность радиусом равным хорде и с центром в точке начала дуги.
2 нарисовать окружность с диаметром равным диаметру отверстия с центром в точке пересечения дуги и окружности
3 сформировать круговой массив из отверстий с центром в центре дуги
Регистрация: 14.05.2007
Новосибирск
Сообщений: 893
Сообщение от Хмурый
_Andre_, формулы тут не нужны.
1 Нарисовать окружность радиусом равным хорде и с центром в точке начала дуги.
2 нарисовать окружность с диаметром равным диаметру отверстия с центром в точке пересечения дуги и окружности
3 сформировать круговой массив из отверстий с центром в центре дуги
Так ведь масив строится по углам а не по хордам.
Регистрация: 29.10.2004
Сообщений: 16,333
ну, ежели не можешь указать угол на чертеже.
Регистрация: 29.10.2004
Сообщений: 16,333
из окружности, изобразающей отверстие, создать блок с точкой вставки в центре отверстия. (имя блока в примере 1)
возьми команду _measure (ПОДЕЛИТЬ) и дугу дугу блоками
_measure
Select object to measure:
Specify length of segment or [Block]: b
Enter name of block to insert: 1
Align block with object? [Yes/No] Y>:
Specify length of segment: 20 (здесь укажешь длину полученной дуги над заданной хордой)
PS длину дуги снять с чертежа из её свойств. без вычислений
Последний раз редактировалось Хмурый, 12.01.2009 в 10:11 .
Регистрация: 14.05.2007
Новосибирск
Сообщений: 893
здесь укажешь длину полученной дуги над заданной хордой
«Просто добавь воды»!
Если вычислил, замерил или украл длину дуги то и вопросов нет — _measure и поехали.
И зачем блок?
Регистрация: 29.10.2004
Сообщений: 16,333
сразу их расположишь по дуге
Регистрация: 11.05.2005
Сообщений: 6,991
Jonas,
1. Превращаешь дугу в дуговой сегмент полилинии.
2. Нужно скачать и установить Новые команды для работы с полилинией
3. PL-NoArc —Аппроксимация дуговых сегментов полилинии
4. См. опции и картинку
*** ДОБАВЛЕНО ***
Длина хорды будет точна до определенного знака, т.к. высчитывается по формулам.
Можно рисовать круги диаметром=диаметру хорды. Сначала из начальной точки, потом из точки пересечения предыдущего круга и так пока есть пересечения круга и дуги.
__________________
Как использовать код на Лиспе читаем здесь
Последний раз редактировалось VVA, 12.01.2009 в 10:39 .
Регистрация: 14.05.2007
Новосибирск
Сообщений: 893
До сих пор делал так :
— рисовал окружность радиусом равным хорде и с центром на начале дуги,
— разрывал дугу в точке пересечения дуги и окружности
— измерял длину полученного отрезка дуги,
— и далее делил дугу на отрезки равные полученному результату.
Все замечательно, и точность достаточна но многодельно.
Регистрация: 08.02.2008
Сообщений: 8,460
Много чего еще будет многодельного. Значит надо привыкать.
Но, говорят, скоро выпустят малодельный Кад, типа шепнул ему фразу из ниспадающего списка и Кад амаганавенна это выполнил.
И замечательно будет и ничегонедельно будет.
Регистрация: 14.03.2006
Сообщений: 863
вот пока так
(defun c:da2c (/ lenc ed cp rl sa ea aa ca) (defun entmake_circle (cp rr) (entmake (list (cons 0 "CIRCLE") (cons 10 cp) (cons 40 rr) ) ;_ list ) ;_ entmake ) ;_ defun (setq lenc 50 ;(getreal "задайте длину хорды:") ed (entget (ssname (ssget ":S" '((0 . "ARC"))) 0)) cp (cdr (assoc 10 ed)) rl (cdr (assoc 40 ed)) sa (cdr (assoc 50 ed)) ea (cdr (assoc 51 ed)) lenc (/ lenc 2) aa (atan (/ lenc (sqrt (- (* rl rl) (* lenc lenc))))) aa (+ aa aa) ca sa ) (while (< ca ea) (progn (entmake_circle (polar cp ca rl) lenc) (setq ca (+ ca aa)) ) ) (* 180.0 (/ aa pi)) )
только срабатывает программка в случае если начальный угол дуги меньше конечного и обход делает против часовой стрелки, да и проверок никаких нет конечно же
как правильно определить направление обхода дуги никак собразить не получается - может подскажет кто?
Как разбить дугу на равные отрезки?
Форумы CADUser → Autodesk → AutoCAD → Как разбить дугу на равные отрезки?
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Сообщения 4
#1 Тема от Олеся 29 марта 2006г. 17:00:09
Тема: Как разбить дугу на равные отрезки?
Конкретный пример: по криволинейному подиуму идет ограждение и надо расставить балясины с определенным шагом.
Как разбить плавную кривую на равные отрезки? В лучшем случае этой кривой окажутся части кругов, значит есть радиус, но дальше я что-то туплю
Пожалуйста, подскажите.
#2 Ответ от Hrenn 29 марта 2006г. 17:03:31
Re: Как разбить дугу на равные отрезки?
_divide
Превратите кривые подиума в единую полилинию.
#3 Ответ от Олеся 31 марта 2006г. 01:01:33
Re: Как разбить дугу на равные отрезки?
Спасибо огромное, а я собиралась проводить много-много радиусов при помощи polar.
#4 Ответ от hrk 3 апреля 2006г. 20:53:04
Re: Как разбить дугу на равные отрезки?
Если надо разбить кривую (или прямую) на n равныx частей-команда_divide.Если же надо получить n отрезков заданной длины, то-команда Draw-Point-Measure.
В любом случае набор кривых надо объедuнить в polyline командой pedit (Modify-Objekt-Polyline).
Сообщения 4
Тему читают: 1 гость
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форумы CADUser → Autodesk → AutoCAD → Как разбить дугу на равные отрезки?
Форум работает на PunBB , при поддержке Informer Technologies, Inc
Деление дуги на равные части. Измерение этих частей
Автокад 2010.
Задача максимум. Поделить дугу на равные части по условию, что размер этих частей не должен быть более известного значения, но максимальным для этого условия.
Задача минимум.
Подставляю различное количество частей. То есть методом тыка.
Да, разбивает красиво. Вот как узнать длину этих частей. Он мне не выделяет кусок дуги от маркера до маркера, а всю дугу целиком!(((
Помогите плиз!)
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Деление массива на равные части
Здравствуйте! Есть задание: "написать функцию, которая проверяет возможно ли поделить массива на.
Деление массива на равные части (JS)
Как можно в JS поделить массив на равные интервалы? Например, на 4 равных интервала. for.
деление множество точек на две равные части
Есть у меня множество точек и окружность с произвольным радиусом. Мне нужно найти такие две точки.
Веревку длиной k метров разрезали на 2 части. Найти длины этих частей веревки
веревку длиной k метров разрезали на 2 части, одна из них на n процентов длиннее второй. Найти.
428 / 256 / 23
Регистрация: 23.11.2010
Сообщений: 278
1 2 3 4 5 6 7 8 9 10 11 12 13 14
(defun C:F() ((lambda (selection size) ((lambda (data) ((lambda (angle radius) ((lambda (count) (command "_.DIVIDE" selection (+ (fix count) (if (> count (fix count)) 1 0)))) (/ (* radius (+ angle (if ( angle 0) (* 2 pi) 0))) size))) (- (cdr (assoc 51 data)) (cdr (assoc 50 data))) (cdr (assoc 40 data)))) (entget (car selection)))) (entsel "\nSelect arc: ") (getreal "\nInput size: ")))
287 / 92 / 11
Регистрация: 29.05.2011
Сообщений: 2,386
VH, большое спасибо!
Простите мне мою безграмотность. вопросы.(
Это решение задачи максимум или минимум?
Что делать с этим скриптом? Я можно сказать впервые открыл автокад.
Какие данные и куда вставлять в этот скрипт?
Еще раз прошу прощения за невежество.(
428 / 256 / 23
Регистрация: 23.11.2010
Сообщений: 278
Это текст программы на языке AutoLISP, которая добавляет в AutoCAD команду F, выполняющую необходимую Вам работу:
- запрос указания контура объекта (дуги) 'Select arc: '
- запрос ввода значения размера 'Input size: '
- вычисление количества частей дуги
- деление дуги
Проще всего выделить текст программы, скопировать его в буфер, затем вставить в командную строку AutoCAD (если в командной строке слева есть символы ((_>, то нажать Enter). После этого на приглашение 'Команда: ' можно ввести имя команды F, нажать Enter и отвечать на запросы команды.