Часто определить атрибуты нескольких простых тел проще, чем атрибуты одного сложного тела. Объединение - это стратегия моделирования, с помощью которой можно моделировать тело как комбинацию более простых элементов тела. Сложение можно использовать для получения сложных геометрий и инерций, которые невозможно задать иначе (или легко). RightWing тело в sm_cam_flapping_wing модель, например, является продуктом этой стратегии моделирования.
Пример составного тела

Объединение трех общих форм выдавленного тела с использованием блоков жесткого преобразования для задания фиксированных пространственных отношений, совместно используемых опорными кадрами твердого тела. Результатом этого примера является не только составная твердотельная геометрия - это составное тело. Необходимо использовать намеренно неполную модельsmdoc_compound_link по умолчанию поставляется с установкой Simscape Multibody.

Начните с изучения smdoc_compound_link модель и геометрические переменные, определенные в ее рабочем пространстве:
В командной строке MATLAB введите имя примера модели, smdoc_compound_link. Откроется модель. В нем находятся шесть несвязанных блоков - три сплошных блока, два жестких преобразования и одна конфигурация решателя.
Твердотельные блоки представляют элементарные участки двоичной связи, а жесткое преобразование блокирует пространственные отношения между твердотельными опорными кадрами. Блок конфигурации решателя требуется только для визуализации в обозревателе Mechanics.
На вкладке Моделирование (Modeling) щелкните Обозреватель моделей (Model Explorer). Обозреватель моделей - это инструмент Simulink, который можно использовать для просмотра рабочего пространства модели. Здесь определяются все соответствующие размеры твердого тела, включая общие сечения выдавленного твердого тела.
На панели Иерархия модели (Model Hierarchy), расположенной слева, разверните узел с именем модели и выберите подузел Рабочее пространство модели (Model Workspace). Панель Рабочее пространство модели (Model Workspace) откроется справа с несколькими строками кода MATLAB.
% Body Geometry Parameters l = 20; % Hole-to-hole distance w = 2; % Link width d = 1.2; % Hole diameter t = 1; % Link thickness % Main Solid Cross-section: A = linspace(-pi/2,pi/2)'; B = linspace(pi/2,-pi/2)'; csRight = [l/2+w/2*cos(A) w/2*sin(A)]; csLeft = [-l/2 w/2; -l/2 + d/2*cos(B) d/2*sin(B); -l/2 -w/2]; csMain = [csRight; csLeft]; % Hole Solid Cross-section: C = linspace(pi/2,3*pi/2)'; D = linspace(3*pi/2,pi/2)'; csHole = [w/2*cos(C) w/2*sin(C); d/2*cos(D) d/2*sin(D)];
Этот код определяет координаты [x, y] поперечных сечений «Общее выдавленное твердое тело». Поперечные сечения параметризуются с учетом соответствующих размеров твердого тела, а именно длины, ширины и диаметра отверстия. Обратите внимание на размеры связи, указанные в коде. Расстояние между отверстиями звена (переменная l), составляет 20 в том, что позже будет единицами cm. Ширина звена (w) равно 2, а диаметр отверстия (d) 1.2 в тех же единицах.
Откройте каждое диалоговое окно твердотельного блока. На панели визуализации отображается твердотельная геометрия, частично полученная из кода в рабочем пространстве модели, соответствующего соответствующему блоку. Два тела являются общими блоками экструдированного твердого тела, а один является блоком цилиндрического твердого тела.

На панели визуализации нажмите кнопку «Переключить видимость рамок
». кнопка. На панели визуализации отображается твердотельная опорная рамка. Размещение опорной рамки относительно твердотельной геометрии становится важным при рассмотрении жестких преобразований, которые необходимо применить между различными твердотельными опорными рамами.
Завершите модель, жестко соединив тела и задав их пространственные соотношения:
Соедините твердотельные блоки, как показано на рисунке. Твердотельные опорные кадры на данный момент совпадают друг с другом.

Перетащите блоки жесткого преобразования на линии соединения, как показано на рисунке. Simulink автоматически подключает порты полки к соединительным линиям.

Обратите особое внимание на положение портов - порты B должны быть обращены к блоку выдавленного твердого тела с именемMain. Перекладка соединений портов изменила бы относительное расположение тел в конечном теле.
В диалоговом окне блока «Жесткое преобразование» с именем Main-to-Hole Transform, укажите перечисленные ниже параметры перевода. Эти параметры описывают перемещение половины длины двоичной связи вдоль оси -x базового (B) кадра - в этой модели удерживается совпадающим с опорным (B) кадром твердого тела с именемMain.
Метод: Standard Axis
Ось: -X
Смещение: l/2, ед. изм. cm
В диалоговом окне блока «Жесткое преобразование» с именем Main-to-Peg Transform, укажите перечисленные ниже параметры перевода. Эти параметры описывают перемещение половины длины двоичного звена вдоль оси + x и перемещение, равное толщине двоичного звена вдоль оси + z базового (B) кадра.
Метод: Cartesian
Смещение: [l/2 0 t], ед. изм. m
На вкладке Моделирование (Modeling) выберите Обновить модель (Update Model). Откроется Mechanics Explorer с визуализацией модели двоичной связи. Тело является составным - оно состоит из нескольких тел - и поэтому может быть визуализировано полностью только с помощью Mechanics Explorer. Для подчеркивания, твердые частицы показаны различными оттенками серого.

Пример задания общего сечения вытянутого твердого тела см. в разделе Попытка определения простого сечения. Поперечное сечение в этом примере основано на аналогичной, хотя и не идентичной модели двоичной связи. Это звено рассматривается как простое тело - смоделированное как единое тело - ни с колышками, ни с отверстиями. Однако продемонстрированная здесь стратегия применима и к другим поперечным сечениям общего экструдированного твердого тела. Расширение этого примера, показывающее, как включить отверстия в поперечное сечение, см. в разделе Try It: Define a Cross-Section with Two Holes.
Хотя он чаще используется для представления сложных геометрий, компаундирование также служит для представления сложных инерций. В частности, можно объединить инерцию положительной массы с инерцией отрицательной массы, эффективно вычитая одно из другого.
Эта стратегия используется для вычитания инерции, связанной с отверстием, из цилиндрического твердого тела, первоначально смоделированного без него. Представление плотной и полой областей с помощью блоков цилиндрического тела. Задайте длину цилиндра 1 м и радиус 0,25 м:
В командной строке MATLAB введите smnew. Откроется новая модель на основе шаблона Simscape Multibody. Модель содержит обычно используемые блоки и сконфигурирована с подходящими настройками решателя для моделей с несколькими телами.
Добавьте два блока цилиндрического тела и подключите их к блокам конфигурации решателя. Линия соединения рамок между блоками делает их опорные рамки совпадающими в пространстве. Остальные блоки можно удалить.

В диалоговом окне крайнего левого блока «Цилиндрическое твердое тело» задайте для параметра «Радиус» значение 0.25 mи параметр Length для 1 m. Имя этого блока Dense.
В диалоговом окне крайнего правого блока «Цилиндрическое тело» задайте для параметра «Радиус» значение 0.20 mи параметр Length для 1 m. Имя этого блока Hollow.
Задайте параметр Инерция (Inertia) > Плотность (Density) для Hollow блок к отрицательному значению, используемому в Dense блок: -1000 kg/m^3. Составное тело, представленное блоками цилиндрического тела, теперь имеет инерцию полого цилиндра с отверстием 0.2 m в радиусе.
Разверните узел «Инерция» > «Производные значения» и нажмите кнопку «Обновить» для отображения параметров инерции Hollow твердый. Сделайте то же самое для Dense твердый. Масса и моменты инерции имеют противоположные знаки, как и ожидалось из входных данных плотности.
