Как узнать длину сплайна
Дело вот в чем: создаем, например, любой изогнутый сплайн, дублируем его, пихаем их в Loft Nurbs и создаем поверхность. Потом на эту поверхность кидаем bitmap’ный материал. Но для того, что бы точно знать размеры битмапной картинки необходимо знать длину сплайна, чтобы материал адекватно распределился по нему.
Раньше как-то приходилось делать банер натянутый на радиальную поверхность. Но там выкручивался при помощи Circle и старой доброй геометрии через углы, длину сектора окружности, когда длину текстуры для банера высчитывал в ручную.
Есть и еще куча моментов когда нужно знать длину сплайна.
Блольше чем уверен, что вопрос этот с длинной бородой, как борода старика Хотабыча. Долго мучил ослика, однако в инете гольняк. Или не там искал?
Может есть какие-нибудь далекие закоулки синьки, где можно подчерпнуть эту информацию или есть плагины?
Владислав (sapiens)
Мастер
cinematek
Пользователь сайта
Владислав (sapiens)
Мастер
cinematek
Пользователь сайта
m_arik
Активный участник
Доброго времени суток. Прочитав первые сообщения (перепалку между дядей Владей и cinematek), смеялся минут пять. Потом чуть ли не всплакнул.
Дядя Владя спасибо вам (прошу прощение за выражение) "за адекватную реакцию" //"- . я лично не вижу, чем вы человеку помогли в сообщении."// И спасибо cinematek — значит не я один такой.
Смеялся я по той причине, что вопорс о длине сплайна возникает не только в синиме. На одном форуме по 3D Max одного парня прямо таки загнобили из-за того, что он задает дурацкие вопросы. Дескть "Накой она тебе нужна? Задаешь вопрос, но ради чего?" Парень не смог ответить. С другой стороны, в одном из примеров того-же Макса (http://www.silicontaiga.ru/home.asp?artId=6430) говориться следующее: "Узнайте длину сплайна, который является формой пути для гусеницы. Сделать это просто, достаточно выделить сам сплайн и воспользоваться утилитой Measure (Линейка), находящейся на вкладке Utilities (Сервис) панели управления. Там, в группе Shapes (Формы), будет указана длина сплайна" — длина сплайна требуется для построения размера трака кусеницы, которая будет анимирована по сплайну.
Я далек от 3D Max (пытался изучить, но после синьки он показался мудреным), однако при всем уважении, не может быть такого, что бы MAXON’овцы не предусматрели такой загвоздки. Пытался мурыжить инструмент Measure & Construction в синьке, по аналогу Макса, но не допер.
Буду презнателен, если эта тема не сгинет на страницах форума, а будет дан конкретный ответ. Если "Да", то как, если НЕТ, значит пора писать ноту протеста в MAXON.
Сплайны
Под сплайном в AutoCAD понимается сглаженная кривая, проходящая через заданные пользователем опорные точки (кривая Безье). Для построения сплайна применяется команда Spline или кнопка Spline (Сплайн), расположенная в инструментальной группе Draw (Рисование) вкладки Ноте (Главная).
При отработке команды построения сплайна AutoCAD сначала запрашивает координаты всех точек и только потом – положение касательной (сперва в начальной точке, а затем в конечной). Протокол построения при этом имеет такой вид:
Command: Spline
Specify first point or [Object]: <Ввод координат начальной точки или выбор параметра 0>
Specify next point: сОбозначение координат последующей точки>
Specify next point or [Close/Fit tolerance] <start tangent>: сОбозначение координат последующей точки или выбор одного из двух параметров (С или F)>
Specify next point or [Close/Fit tolerance] <start tangent>: сОбозначение координат последующей точки или выбор одного из двух параметров (С или F)> Specify next point or [Close/Fit tolerance] <start tangent>:
с Enter – для завершения ввода узловых точек> Specify start tangent: сОбозначение положения касательной в начальной точке сплайна или ввод Enter для использования параметров по умолчанию>
Specify end tangent: сОбозначение положения касательной в точке конца сплайна или ввод Enter для использования параметров по умолчанию>
Параметры команды следующие:
- Object – позволяет преобразовать полилинию, сглаженную сплайном, в сплайн. Это означает, что перед использованием параметра преобразования полилинии в сплайн ее необходимо предварительно обработать (сгладить) командой Pedit;
- Close – используется для соединения начальной и конечной точек сплайна. При этом система предлагает задать касательное направление сплайна в начальной точке;
Fit tolerance – определяет, как близко кривая будет проходить возле узловых точек.
Чем меньше значение параметра Fit tolerance, тем ближе к опорным точкам проходит сплайн. Если же задано значение 0, то сплайн пройдет через эти точки (рис. 5.21).

Пример 5.10 Построение сплайна
В задании необходимо построить сплайн, приведенный на рис. 5.22 (пунктирная линия), проходящий через 4 узловые точки с параметром Fit tolerance = 50 и направляющей в конечной точке, проходящей через заданную точку. Сплошной линией на рис. 5.22 показан сплайн, имеющий те же характеристики, с тем отличием, что положение направляющей принимается AutoCAD по умолчанию.
Рассмотрим порядок выполнения задания (листинг 5.12).

- Для начала необходимо ввести команду Spline и на первый вопрос системы указать координаты начальной (точка 1) и точки сплайна (70,50).
- Затем на второй вопрос следует установить положение второй точки (имеющей координаты 100,100).
- После этого вопрос, задающий положение третьей точки, пропускается; вместо координат следует ввести параметр Fit tolerance и в строке Specify fit tolerance задать значение параметра, определяемого в соответствии с рис. 5.22.
- На последующие два вопроса нужно указать координаты очередных узловых точек (точка 3: 140,10; точка 4:170,60).
- На следующий аналогичный вопрос необходимо нажать Enter для завершения ввода узловых точек.
- Затем необходимо определить положение начальной и конечной направляющих – касательное направление сплайна. Первый вопрос, задающий геометрию сплайна в начальной точке, пропускается (нажатие Enter), а на второй следует ввести координаты точки, через которую будет проходить направляющая конечной точки сплайна (точка 5: 190,80).
Построение сплайна с измененной направляющей Command: Spline
Specify first point or [Object]: 70,50 Specify next point: 100,100
Specify next point or [Close/Fit tolerance] <start tangent>: F Specify fit tolerance <0.0000>: 50
Specify next point or [Close/Fit tolerance] <start tangent>:
140,10
Specify next point or [Close/Fit tolerance] <start tangent>:
170,60
Specify next point or [Close/Fit tolerance] <start tangent>: J Specify start tangent: J Specify end tangent: 190,80
Примечание. На вопрос Specify start tangent можно ввести координаты точки – тогда касательная будет проходить через нее и первую узловую точку.
Объект Сплайн в Автокад
Существует несколько типов сплайнов, но все они обладают аналогичными свойствами.
- Сплайн в AutoCAD разделен на сегменты (подобно полилинии), которые называются «узлами». Если узлы (сегменты) неравномерно распределены вдоль сплайна, то сплайн в Автокад называется неоднородным B-сплайном.
- Для придания формы сплайну AutoCAD используются «определяющие точки» и «управляющие вершины». Определяющие точки по умолчанию лежат на линии сплайна, а управляющие вершины — вне ее.
- Порядок сплайна Автокад определяет, сколько раз его кривизна может меняться в пределах одного сегмента. Кривая первого порядка — прямая линия. Кривая второго порядка имеет постоянную кривизну (дуга). По умолчанию сплайн в Автокад представляет собой сочетание сегментов кривых полиномов 3-степени (также называемых «кубическими кривыми» — могут иметь одно изменение кривизны на сегмент. Кривые четвертого порядка — два изменения и т.д, вы можете довести его значение до 10.
Команда Сплайн
Отвечает за построение сплайна в AutoCAD команда Сплайн. Вызвать которую можно (начать построение сплайна):
- Создать сплайн в Автокад можно из строки меню пункт Рисование — строка Сплайн в раскрывающемся списке две строки с возможностью выбора способов построения: «сплайн Автокад по определяющим точкам» и «сплайн по управляющим вершинам».
- Построить сплайн Автокад вы можете из вкладки «Главная» ленты инструментов — в группе инструментов «Рисование» — две кнопки с возможностью выбора способов построения: «сплайн по определяющим точкам» и «сплайн Автокад по управляющим вершинам»;
- Нарисовать сплайн также можно из классической панели инструментов «Рисование» — кнопка Автокад Сплайн;
- Начертить его вы можете, прописав наименование команды в командной строке «Сплайн».



Построение сплайна AutoCAD по определяющим точкам
Вызываем в Автокад команду Сплайн из командной строки. В командной строке появится запрос:
В командной строке также отображаются текущие настройки сплайна Автокад: «Способ=Определяющие», «Узлы=Хорда». Укажем первую его определяющую точку. По умолчанию отобразится штриховая линия желтого цвета, которая будет следовать от первой определяющей точки до курсора-перекрестия. Программа выдаст запрос:
Если вы хотите задать касание в начальной точке сплайна Автокад, то выберите опцию Касание в начале, т.к. после указания второй определяющей точки эта опция будет недоступна. Укажем координаты второй определяющей точки сплайна щелчком мыши на чертеже. Программа вычертит часть сплайна в Автокад, а также отобразит штриховую линию желтого цвета, которая будет следовать от второй определяющей точки до курсора-перекрестия. Система отобразит запрос:
Зададим следующую определяющую точку сплайна. Программа отобразит запрос:
После указания третьей определяющей точки появилась опция Замкнуть, которая замыкает сплайн.
Можете выбрать опцию Допуск, которая позволяет изменить точность обводки определяющих точек сплайном (не распространяется на крайние точки). Значение допуска 0 строит в Автокад сплайновую кривую, которая проходит точно через все опорные точки. Значение допуска больше 0, строит сплайновую кривую, которая проходит поблизости от опорных точек в пределах допуска.
Опция Касание в конце позволяет задать условие касания в конечной точке сплайна.
Для завершения построения сплайна в Автокад нажмите «Enter».
Как построить (сделать) сплайн в Автокад различными математическими способами
Сплайны в AutoCAD строятся математически точно. Построение сплайна по определяющим точкам содержит опцию «Узлы», которая позволяет выбирать математические способы построения сплайна.
«Хорда». (Способ определения длины хорды) . Размещение узлов, соединяющих каждую кривую компонента, пропорционально расстояниям между каждой связанной парой определяющих точек.
«Квадратный корень». (Центростремительный способ). Размещение узлов, соединяющих каждую кривую компонента, пропорционально квадратному корню расстояния между каждой связанной парой точек сглаживания. Этот метод обычно создает «более мягкие» кривые.
«Равномерно». (Равнопромежуточный способ). Размещает узлы для каждого компонента кривой на равном расстоянии друг от друга независимо от расстояния между точками сглаживания. Этот способ часто создает кривые, удлиняющие определяющие точки.
Построение сплайна AutoCAD по управляющим вершинам
Вызываем команду Сплайн в Автокад, затем выбираем опцию «Способ — УВ/CV». В командной строке отобразится запрос:
Укажем первую точку сплайна Автокад щелчком мыши на чертеже. По умолчанию отобразится штриховая линия желтого цвета, которая будет тянуться от первой точки до курсора-перекрестия. Система выдаст запрос:
То есть нам необходимо указать координаты первой управляющей вершины сплайна Автокад, т.к. первая указанная точка таковой не является. При использовании метода построения сплайна по управляющим вершинам первая и конечная точки сплайна задаются определяющими точками. Зададим управляющую вершину сплайна в Автокад щелчком мыши на чертеже. Как только мы укажем управляющую вершину, отобразится эскиз сплайна, который будет тянуться от первой определяющей точки до курсора-перекрестия. Штриховая линия желтого цвета будет тянуться от управляющей вершины до курсора-перекрестия. Отобразится штриховая линия белого цвета, которая начинается в первой определяющей точке сплайна и проходит через указанную управляющую вершину сплайна до курсора перекрестия. Программа выдаст следующий запрос:
Укажем следующую управляющую вершину сплайна Автокад щелчком мыши на чертеже. Штриховая линия желтого цвета будет тянуться от последней заданной управляющей вершины сплайна до курсора-перекрестия. Штриховая линия белого цвета будет начинаться в первой определяющей точке сплайна и проходить через указанные управляющие вершины до курсора перекрестия. Эскиз сплайна в Автокад также будет тянуться от первой определяющей точки до курсора перекрестия.
Обратите внимание, как строится сплайн в Автокад по управляющим вершинам (частный случай). Штриховая линия белого цвета, соединяющая управляющие вершины, образует ломаную линию. Сплайн вписан в ломаную линию и проходит через конечные вершины ломаной, а также через средние точки промежуточных звеньев ломаной в случае перегиба сплайна на этих участках.
В командной строке появится запрос:
Укажем конечную определяющую точку сплайна щелчком мыши на чертеже. Для завершения команды Автокад Сплайн нажмите «Enter».
Длина линий в Автокаде. Команда «Измерить»

Рассмотрим, как в AutoCAD можно измерять расстояние между двумя точками и целой последовательностью. Например, для определения длины полилинии. На этапе выполнения чертежа это бывает необходимым условием для проверки точности построения.
Мы уже говорили о том, как в Автокаде измерить площадь и объем. И рассмотрели соответствующие инструменты команды «Измерить», расположенные на вкладке «Главная» на панели «Утилиты». Вопрос, как измерить длину в Автокаде, разберем быстро, т.к. инструмент «Расстояние» относится к одной и той же группе команд (см. рис.).

Как измерить расстояние в Автокаде?
Как измерить линию в Автокаде:
1) Выбрать команду «Расстояние».
2) Указать первую точку, затем вторую. Нажать Enter. Длина отрезка отобразится в командной строке (см. рис.).

Если нужна сумма длин отрезков в Автокаде, можно обратиться к параметру данной команды «Несколько точек». Последовательно указываем в графическом пространстве нужные точки. Сумма длин AutocAD отобразится в командной строке.
ПРИМЕЧАНИЕ: Чтобы раскрыть Журнал командной строки, нажмите F2.
У команды «Расстояние» есть еще одна важная особенность, с помощью которой определяется длина дуги в Автокаде. Для этого следует использовать параметр «Дуга». Последовательный алгоритм приведен на рис.

В качестве альтернативного варианта определения рассмотренных характеристик можно использовать простановку размеров.