Разработчик и интегратор российского ПО
для управления жизненным циклом изделий
Тележка с продуктами   телефонная трубка   изображение конверта
Продукты Решения Услуги Загрузки и поддержка Купить Контакты О компании

Спирали в T-FLEX CAD 17

Автор: Сергей Тимофеев, программист-разработчик, Игорь Батюченко, руководитель группы разработки, ЗАО «Топ Системы»

T-FLEX CAD

Введение

Спирали различных форм встречаются в технике, архитектуре, быту и природе, например, раковины морских животных или молекулы ДНК (рис.1). Глобально их можно разделить на два типа: плоские и трёхмерные. Плоские спирали более интересны в плане науки, однако в технике чаще встречаются трёхмерные (как частный случай — пружины). По этой причине рассмотрим особенности построения именно трёхмерных спиралей и разберёмся с какими трудностями можно столкнуться в процессе работы.

 Рис. 1. Модель ДНК, созданная в T-FLEX CAD
Рис. 1. Модель ДНК, созданная в T-FLEX CAD

В T-FLEX CAD 17 в команды создания спиральной кривой и спирали был внесён ряд улучшений. Они затронули интерфейс ввода исходных данных, а также генерацию результирующих кривых и тел. Благодаря этим изменениям, команды Спиральный путь и Спираль теперь имеют схожий эргономический пользовательский интерфейс. Команды также получили новые инструменты управления формой спиралей, а кроме того, были повышены точность и производительность построения геометрии.

Команда Спиральный путь

Для создания спиральной кривой (проволочного тела) самой простой и общей формы, необходимы следующие исходные данные: ось, диаметр, значения двух из трёх параметров (длина, шаг, количество витков), определяющие габариты и периодичность витков. Тогда спиральный путь можно получить в виде сплайна, построив его по заранее рассчитанному массиву точек. Также можно написать функцию по расчёту координат будущих точек и производных в данном положении. В любом случае даже на основании исходных данных можно понять, какой результат должен получиться в итоге (рис. 2).

 Рис.2. Спиральный путь (ось построена по двум точкам)
Рис.2. Спиральный путь (ось построена по двум точкам)

Но что, если в качестве оси для будущего спирального пути нужно использовать не прямой отрезок, а кривую (или набор кривых) произвольной формы? Это могут быть кривые как второго порядка (аналитические кривые: парабола, гипербола, дуга окружности или эллипса), так и более высоких порядков (сплайн). В таком случае математическая сложность вычисления положения и количества опорных точек спиральной кривой вдоль осевой направляющей существенно влияет как на точность результирующей кривой, так и на производительность алгоритма построения. В связи с этим в T-FLEX CAD 17 используется альтернативный способ построения геометрии: на основе двумерной кривой и несущей поверхности.

Кроме того, в САПР T-FLEX CAD существует команда, в которой спиральные пути могут быть построены с помощью математических функций - «3D Путь по формуле», которая позволяет строить различные типы кривых, в том числе «Спираль» и «Спираль плоская». При этом данные можно задавать как в декартовой, так и в цилиндрической и сферической системах координат. С помощью данной команды наиболее удобно пополнять пользовательскую библиотеку стандартных функций.

 Путь по формуле
Путь по формуле

Возвращаясь к базовому примеру спиральной кривой (рис. 2), можно заметить, что она лежит на «воображаемой» цилиндрической поверхности (рис. 3). Каждая точка кривой, определяемая параметром t, соответствует конкретной точке на поверхности, совпадающей в трёхмерном пространстве и определяемой параметрами U и V. Таким образом, если мы сначала создадим цилиндрическую поверхность заданного диаметра, а затем в двумерном пространстве этой поверхности построим линию по двум точкам, соответствующим минимальным и максимальным значениям U и V, то в трёхмерном пространстве получим спиральный путь в один виток (рис. 4 сверху). Совокупность двумерной кривой (построенной в пространстве UV-параметров) и поверхности называется Кривая на поверхности.

 Рис.3. Использование команды спирального пути на примере сверла
Рис.3. Использование команды спирального пути на примере сверла

Для спиральной кривой с несколькими витками справедлив тот факт, что по «ширине» данная поверхность является замкнутой и периодической. В этом случае при построении двумерной кривой в UV-пространстве нужно умножить необходимое количество витков на максимальное значение параметра, определяющего «ширину» поверхности (то есть на период) (рис. 4 снизу).

 Рис.4. Спиральный путь в UV-параметрах (слева) и в трёхмерном пространстве (справа)
Рис.4. Спиральный путь в UV-параметрах (слева) и в трёхмерном пространстве (справа)

Если в качестве оси будет не отрезок прямой, а набор гладкосопряжённых произвольных кривых, то по такому осевому пути не получится построить цилиндрическую поверхность. Тем не менее подобный подход работает не только для цилиндрической, но и для любых циклических поверхностей (цилиндрическая поверхность лишь частный случай). Более того, если есть необходимость задания переменного диаметра по длине, то учитывать его нужно именно на этапе построения поверхности. Но в данном случае уже нельзя строить двумерную кривую в виде отрезка прямой по двум точкам. Необходимо учитывать (возможную) неравномерную параметризацию несущей сплайновой поверхности. В противном случае распределение витков по длине оси будет непропорциональным (шаг между витками будет непостоянным). Таким образом, получив массив двумерных точек в UV-координатах и построив по нему сплайн, можно получить спиральную кривую вдоль любой произвольной осевой направляющей (рис. 5).

 Рис.5. Спиральный путь вдоль оси в виде сплайна с переменным диаметром
Рис.5. Спиральный путь вдоль оси в виде сплайна с переменным диаметром

При необходимости, можно подключить и закон изменения шага витков вдоль направляющей осевой кривой. В данном случае, не зависимо от типа поверхности, которую мы получили, нужно рассчитать массив точек в UV-координатах. На каждое значение координаты, отвечающей за «длину» (чаще всего это параметр V), у нас будет заданное количество витков, умноженное на период поверхности, то есть «ширина» (чаще всего это параметр U). Таким образом, имея в арсенале три перечисленные возможности: произвольные (в том числе замкнутые) осевые направляющие, переменный диаметр и переменный шаг, можно создавать спиральные кривые различного типа и формы (рис. 6, 7).

 Рис.6. Спиральный путь вдоль оси в виде сплайна с переменным диаметром и шагом
Рис.6. Спиральный путь вдоль оси в виде сплайна с переменным диаметром и шагом

 Рис.7. Использование команды «Спиральный путь» для построения провода телефона
Рис.7. Использование команды «Спиральный путь» для построения провода телефона

Если в модели уже существует циклическая поверхность, по которой нужно построить спиральную кривую, то описанный алгоритм сработает и в данном случае. Кривая будет создана на основе несущей поверхности выбранной грани, без создания вспомогательной геометрии (рис. 8). Такой подход позволяет создавать различные спиральные кривые (рис.9). При этом можно гарантировать, что они будут полностью принадлежать выбранной грани (поверхности). В свою очередь это позволит использовать команду По траектории, зафиксировав кручение профиля вдоль всей длины осевой направляющей (об этом далее).

 Рис.8. Спиральный путь по граням
Рис.8. Спиральный путь по граням

 Рис.9. Пример использования операции Спираль
Рис.9. Пример использования операции Спираль

Операция Спираль

Создание спирали (твердого тела) является логичным продолжением создания спирального пути, о котором говорилось ранее. Для получения результирующего тела желаемой формы можно воспользоваться командой «По траектории» и просто «протолкнуть» выбранный профиль вдоль заранее созданной спиральной кривой, которая в данном случае и будет траекторией. Однако в результате можно увидеть, что профиль начинает «крутить», и чем дальше мы продвигаемся вдоль оси, тем более заметно отклонение от исходной ориентации. На рисунке 10а видно, что грань, подсвеченная синим цветом, представляет собой внутренний габарит спирали в начале оси, но в конце она становится внешним габаритом.

Управлять кручением профиля поможет несущая поверхность, которая создаётся в спиральной кривой. В каждой точке траектории дополнительно вычисляется нормаль поверхности в данной позиции. Таким образом, можно «зафиксировать» исходное положение профиля и сохранить его ориентацию на всём протяжении вдоль осевой направляющей. В итоге алгоритм создания спирали сводится к следующему:

  • создаётся спиральная кривая, у которой в свою очередь создаётся поверхность, которой эта кривая и принадлежит («кривая на поверхности»);
  • выбранный профиль протягивается вдоль этой кривой, с учётом несущей поверхности;
  • сама кривая и её поверхность остаются невидимыми для пользователя.

В результате на рисунке 10б видно, что профиль не меняет свою ориентацию на всём протяжении вдоль осевой направляющей спирали.

 Рис.10. Спираль без учёта (а) и с учётом (б) вспомогательной поверхности
Рис.10. Спираль без учёта (а) и с учётом (б) вспомогательной поверхности

К описанным ранее возможностям Спирального пути (произвольный осевой путь, график диаметра и переменного шага) в команде Спираль можно добавить график переменного масштаба исходного профиля. Это может потребоваться, например, при моделировании резьбы на горлышке бутылки (рис. 11, 12).

 Рис.11. Спираль с переменным масштабом профиля
Рис.11. Спираль с переменным масштабом профиля

 Рис.12. Команда «Спираль» для построения горлышка бутылки
Рис.12. Команда «Спираль» для построения горлышка бутылки

На рисунке 13 показан практический пример моделирования спиралей в реальных технических изделиях.

 Рис. 13. Применение команды «Спираль» в червячной передаче редуктора
Рис. 13. Применение команды «Спираль» в червячной передаче редуктора

В графике переменного шага, заданного как Кубический сплайн, учитываются касательные условия для крайних точек. При задании соответствующих условий можно получить спирали, показанные на рисунке 14.

 Рис.14. Спирали с касательными условиями в крайних точках
Рис.14. Спирали с касательными условиями в крайних точках

Заключение

Алгоритм генерации на базе «кривой на поверхности» позволяет создавать геометрию с высокой точностью и большой производительностью, будь то проволочные тела (спиральный путь) или твердотельные операции (спираль)(рис.15). Также он позволяет создавать операции вдоль произвольных осевых направляющих. А возможность использования графиков для переменного диаметра, шага и масштаба делает обновлённые команды более функциональными, практически полностью закрывающими спектр требований конструкторов при работе со спиральными телами.

 Рис. 15. Использование спирали для моделирования пружины в конструкции термостата
Рис. 15. Использование спирали для моделирования пружины в конструкции термостата


Дополнительно


Поделиться ссылкой:

© 2024 АО «Топ Системы»