Моделирование сферического шарнира

В данной статье представлен пошаговый процесс моделирования сферического шарнира.

Создание геометрии:

Для начало необходимо построить модель в интерфейсе. В командной строке пропишите вручную команды для построения геометрической модели:

reset 
create Cylinder height 7 radius 5  
create Cylinder height 10 radius 3 
create Cylinder height 10 radius 2 
create sphere radius 4  
subtract volume 2 from volume 1  
subtract volume 3 from volume 4  
subtract volume 4 from volume 1 keep_tool  
webcut volume all with plane xplane offset 0  
webcut volume all with plane yplane offset 0  
delete Volume 1 4 
unite volume 5 9 7  
unite volume 6 10 8  
move Volume all x 5 y 5 z 5 include_merged 

Три четверти модели взяты лишь для наглядности процесса моделирования.

Для создания сферического шарнира необходимо сделать несколько операций:

  • Создание центра вращения шарнира;
  • Создание СК;
  • Создание соответствующих Блоков;
  • Задание трех связей (связи могут быть как жесткими, так и интерполяцией). При желании можно сделать сферический шарнир между сущностью модели и неподвижной точкой.

Для удобства поверхности, участвующие в данном шарнире, выписаны с соответствующими тегами (поверхность на сфере - мастер, сферическая поверхность на цилиндре - побочная):

#{master_surf = 78} 
#{slave_surf = 66} 

Центр сферы найдем с помощью операции центр поверхности, для этого нам необходимо построить полную сферу, имея лишь одно тело, в котором есть главная поверхность нашего шарнира. Для этого в командную строку введите:

Volume in surface {master_surf} copy  

На полученном объеме необходимо удалить поверхности, кроме той, которая совпадает с нашим мастером. Для этого сначала изолируем полученный объем, а именно, в дереве объектов нажмите на требуемый объем правой кнопкой мыши, далее нажмите Изолировать:

Затем удалите поверхности, для этого на панели команд выберите Режим - Геометрия, Объект - Поверхность, Действие - Изменить. Из выплывающего списка выберите Удалить и введите ID поверхностей. Нажмите Применить.

В результате получили замкнутую сферу. Теперь необходимо создать вершину в центре сферы, для этого на панели команд выберите Режим - Геометрия, Объект - Вершина, Действие - Создать. Из выпадающего списка выберите Расположение и нажмите на вкладку Расположение..., в появившемся диалоговом окне задайте необходимые параметры и нажмите Применить.

Закройте окно Задать положение и нажмите Применить.

Теперь необходимо скопировать созданную вершину (при создании вершины в командной строке пишется ее ID). На панели команд выберите Режим - Геометрия, Объект - Вершина, Действие - Создать. Из выплывающего списка выберите Копировать и изменить, укажите ID вершины и нажмите Применить.

После создания точки вращения можно удалять созданный объем, так как больше он нам не пригодится. На панели команд выберите Режим - Геометрия, Объект - Объем, Действие - Удалить. Введите ID объема и нажмите Применить.

Чтобы вернуть отображение оставшихся объемов, на экране кликните правой кнопкой мыши. В появившемся меню выберите Показать все.

Создайте новую СК в созданной точке, при необходимости ее можно вращать/перемещать. На панели команд выберите Режим - Система координат, Система координат - Создать. Задайте необходимы параметры и нажмите Применить.

Теперь необходимо разбить сетка на ранее созданных точках. На панели команд выберите Режим - Сетка, Объект - На вершинах, Действие - Построение сетки. Введите ID вершин и нажмите Построить сетку.

Создайте первый блок. На панели команд выберите Режим - Блоки, Объект - Блок, Действие - Добавить сущность в блок. Задайте необходимые параметры. Нажмите Применить.

Создайте второй блок. На панели команд выберите Режим - Блоки, Объект - Блок, Действие - Добавить сущность в блок. Задайте необходимые параметры. Нажмите Применить.

Задайте свойства первому блоку. На панели команд выберите Режим - Блоки, Объект - Блок, Действие - Свойства/параметры блока. Задайте необходимые параметры. Нажмите Применить.

Задайте свойства второму блоку. На панели команд выберите Режим - Блоки, Объект - Блок, Действие - Свойства/параметры блока. Задайте необходимые параметры. Нажмите Применить.

Теперь переходим к созданию связей. Первую связь создадим между мастер поверхностью и первой точкой. Тип связи может быть Расстоянием между сущности (RBE2) или Интерполяцией (RBE3). Для этого на панели команд необходимо выбрать Режим - Граничные условия, Объект - Связи, Действие - Создать.

Аналогичные операции необходимые проделать и с побочной поверхностью:

На последнем этапе создаем связь по Степеням свободы на созданных точках 81 и 82 (центр вращения нашего шарнира) и выбираем все перемещения, оставляя повороты свободными выбирая созданную нами СК:

ВАЖНО: При создании сферического шарнира с неподвижной точкой необходимо полностью закрепить точку 82 и не создавать связь между Побочной поверхностью и точкой 82.

Использование консольного интерфейсa

Ниже приведён код программы, позволяющий выполнить шаги описанного выше руководства

reset
create Cylinder height 7 radius 5 
create Cylinder height 10 radius 3
create Cylinder height 10 radius 2
create sphere radius 4 
subtract volume 2 from volume 1 
subtract volume 3 from volume 4 
subtract volume 4 from volume 1 keep_tool 
webcut volume all with plane xplane offset 0 
webcut volume all with plane yplane offset 0 
delete Volume 1 4
unite volume 5 9 7 
unite volume 6 10 8 
move Volume all x 5 y 5 z 5 include_merged
#{master_surf = 78}
#{slave_surf = 66}
Volume in surface {master_surf} copy 
remove surface 83 85 86 
create vertex location on surface 84 center 
Vertex 81 copy 
delete Volume 11
mesh vertex 81 82
set duplicate block elements off
block 1 add vertex 81
block 1 category point
set duplicate block elements off
block 2 add vertex 82
block 2 category point
create cs type cartesian origin vertex 81 dir1 vector 1 0 0 dir2 vector 0 1 0
create coupling master vertex 81 slave surface {master_surf} distance
create coupling master vertex 82 slave surface {slave_surf} distance
create coupling master vertex 81 slave vertex 82 dofs dof 1 dof 2 dof 3 cs 2