Можно перевести Модель CAD в эквивалентную блок-схему Simscape™ Multibody™. Преобразование использует smimport
функция, показывающая имя файла описания мультитела XML в качестве его центрального аргумента. XML-файл передает программному обеспечению Simscape Multibody данные, это должно воссоздать исходную модель — или приближение его, если неподдерживаемые ограничения существуют в модели.
Вы переводите Модель CAD на двух шагах — экспорт и импорт. Шаг экспорта преобразует модель блока CAD в файл описания мультитела XML и набор ШАГА или файлы геометрии части STL. Шаг импорта преобразует описание мультитела и файлы геометрии части в модель SLX Simscape Multibody и файл данных M. Модель получает все входные параметры параметров блоков из файла данных.
Шаги перевода CAD
Переведенная модель представляет части CAD — называемый телами в программном обеспечении Simscape Multibody — использование подсистем Simulink®, которые включают несколько блоки Rigid Transform и тело. Твердые блоки обеспечивают конфигурации тела, инерцию и цвета. Блоки Rigid Transform предоставляют системам координат необходимые положения для связи между телами.
Рассмотрите тело плеча модели роботизированной руки CAD, показанной на рисунке. Подсистема Simulink для этого тела состоит из одного твердого блока, соединенного с парой блоков Твердого Преобразования. Блок Solid обеспечивает ссылку на файл геометрии плеча и инерционные свойства, выведенные из Модели CAD. Блоки Твердого Преобразования обеспечивают системы координат для связи с основой робота и телами предплечья.
Подсистема Simulink, представляющая тело плеча
Соединения CAD, ограничения и помощники переводят в программное обеспечение Simscape Multibody как комбинации ограничительных блоков и соединения. В примере роботизированной руки CAD ограничения между плечом и предплечьем переводят в блок Revolute Joint. Этот блок находится между блоками Подсистемы Simulink, которые представляют тела плеча и предплечья.
Подсистема Simulink, представляющая тело плеча
По умолчанию переведенная модель сохраняет структурную иерархию исходной Модели CAD. Если исходной моделью является Модель CAD с компонентами мультитела, компоненты преобразуют в программном обеспечении Simscape Multibody в Подсистемы Simulink мультитела. Рассмотрите снова модель роботизированной руки CAD. Модель содержит компонент мультитела власти с семью телами, показанными схематично в фигуре.
Иерархия модели роботизированной руки CAD
Подсистема Simulink мультитела с подсистемами Simulink тела
Блоки в переведенной модели параметризованы в терминах переменных MATLAB®, заданных в файле данных. Эти переменные хранятся в массивах структур, названных в честь различных типов блока. Массивы структур вкладываются в родительской структуре данных под названием smiData
или пользовательская строка, которую вы задаете.
Рассмотрите импортированную модель со структурой данных под названием smiData
. Если модель содержит блоки Revolute Joint, данные о параметре для этих блоков являются массивом структур smiData.RevoluteJoint
. Этот массив структур содержит много полей данных, каждый соответствующий различным параметрам блоков.
Поля массива структур называют в честь параметров блоков. Например, целевые данные о состоянии положения для блоков Revolute Joint находятся в поле под названием Rz_Position_Target
. Если модель имеет два блока Шарнирного соединения, это поле содержит две записи — smiData.RevoluteJoint(1).Rz_Position_Target
и smiData.RevoluteJoint(2).Rz_Position_target
.
Каждый индекс массива структур соответствует определенному блоку в импортированной модели. Присвоения индекса могут измениться, если вы регенерируете файл данных из обновленного файла описания мультитела XML. smimport
функционируйте проверяет предшествующий файл данных, когда задано, чтобы гарантировать, что присвоения индекса остаются то же самое. Смотрите Обновление Существующего Файла данных.
Можно технически экспортировать модель блока CAD из любого приложения CAD. Плагин Simscape Multibody Link CAD обеспечивает, каждый означает экспортировать модель в допустимом формате XML. Плагин совместим с тремя настольными приложениями CAD: SolidWorks®, PTC® Creo™ и Autodesk® Inventor®. Плагин генерирует не только файл описания мультитела XML, но также и любые файлы геометрии, требуемые для визуализации в финале переведенная модель.
Simscape Multibody
smexportonshape
функция обеспечивает, другой означает экспортировать Модель CAD из "облачного" приложения под названием Onshape®. Эта функция экспорт в формате, совместимом с более новым Simscape Multibody, блокируется только. См. Импорт Onshape для получения дополнительной информации об экспорте (и импорт) Модели CAD из учетной записи Onshape.
Если вы используете неподдерживаемое приложение CAD, можно создать программу, которая использует API CAD и XML-схему Simscape Multibody, чтобы сгенерировать описание мультитела и файлы геометрии части. Эта задача требует знания XML-документов, определений схемы XSD и API CAD. Смотрите веб-сайт схемы для определений схемы XSD. Смотрите, что MATLAB, Центральный для примера программы, основывался на API SolidWorks CAD.
Если конвертер URDF существует для вашего приложения CAD, можно смочь экспортировать модель в формате URDF и импортировать файл URDF в среду Simscape Multibody. Обратите внимание, однако, что спецификация URDF запрещает топологию модели закрытой цепи, такую как те из четырёхзвенников и блоков механизма. Для получения дополнительной информации см. Импорт URDF.
Если плагин Simscape Multibody Link не может экспортировать файл геометрии части или перевести ограничительное множество CAD, программное обеспечение выдает ошибку сообщение. Сообщение об ошибке опознает тела с недостающими файлами геометрии и любыми неподдерживаемыми ограничениями. Можно импортировать сгенерированный файл описания мультитела XML в программное обеспечение Simscape Multibody, но получившаяся модель не может точно представлять исходную модель блока CAD.
Вы импортируете файл описания мультитела XML с помощью Simscape Multibody
smimport
функция в ее режиме импорта по умолчанию. Функция анализирует файл и генерирует модель Simscape Multibody и сопоставленный файл данных. Для постепенных инструкций относительно импортировать модель блока CAD через ее файл описания мультитела XML, смотрите Импорт Модель блока CAD.
Начиная с версии R2017b программного обеспечения плагин Simscape Multibody Link экспортирует в формате XML, совместимом только с программным обеспечением Simscape Multibody Second Generation. Необходимо импортировать все такие XML-файлы с помощью smimport
функция. Модели, сгенерированные с этой функцией, включают только блоки второго поколения — доступные путем ввода команды sm_lib
в командной строке MATLAB.
Однако, если у вас есть какие-либо более старые XML-файлы в формате, совместимом с программным обеспечением Simscape Multibody First Generation, можно продолжить импортировать их использующий mech_import
функция. Модели, сгенерированные с этой функцией, включают только блоки первого поколения — доступные путем ввода команды mechlib
в командной строке MATLAB.
Если файл геометрии части недопустим или пропавшие без вести, соответствующее тело не может показать в утилите визуализации Simscape Multibody. Если модель блока CAD содержит неподдерживаемую ограничительную комбинацию между телами, программное обеспечение Simscape Multibody соединяет тела с твердой связью. Твердая связь может принять форму прямой линии связи, блока Rigid Transform или блока Weld Joint.
Твердая связь из-за неподдерживаемых ограничений
Если программное обеспечение Simscape Multibody не может перевести ограничительную комбинацию CAD, оно выпускает предупреждающее сообщение на окне команды MATLAB, опознающем затронутые тела и их системы координат связи. Например:
Warning: The set of constraints between upperarm_1_RIGID and forearm_1_RIGID could not be mapped to a joint. A rigid connection has been added between port F of upperarm_1_RIGID and port F1 or forearm_1_RIGID for these constraints.
Можно импортировать Модель CAD с упрощенной топологией. Так, чтобы можно было сделать это, smimport
функция обеспечивает ModelSimplification
аргумент. Можно установить этот аргумент на:
bringJointsToTop
сгруппировать каждый набор жестко соединенных частей в новую подсистему и продвинуть все соединения верхний уровень иерархии модели.
groupRigidBodies
сгруппировать жестко соединенные части в подсистемы (и отпуск соединяется в их исходных местах в иерархии модели).
None
импортировать модель, как, без упрощения.
Используйте bringJointsToTop
или groupRigidBodies
опция, если ваша Модель CAD имеет много жестко соединенных компонентов, таких как основные детали, что вы предпочитаете группироваться — например, более интуитивно схватывать ключевые компоненты модели сразу блок-схемы.
Используйте bringJointsToTop
опция, если ваша Модель CAD имеет соединения в компонентах и вы предпочитаете отсоединять их в верхнем уровне — например, работать с объединенным приведением в действие и распознающимися сигналами, не имея необходимость искать соединения в различных подсистемах.
Обратите внимание на то, что упрощение модели доступно для импорта CAD только. Модели URDF имеют плоскую топологию с небольшой потребностью в упрощении.
Вы регенерируете файл данных для ранее импортированной модели путем выполнения smimport
функция в dataFile
режим. Вы задаете этот режим с помощью дополнительного ImportMode
Name,Value
парный аргумент. Функция использует предшествующий файл данных, чтобы сохранить отображение между индексами массива структур и блоками сопоставимым.
Прежде, чем регенерировать файл данных, необходимо экспортировать новый файл описания мультитела XML из обновленной модели блока CAD. smimport
функционируйте использует данные в новом файле описания мультитела, чтобы сгенерировать новый файл данных.
Функция не обновляет блок-схему, когда запущено в dataFile
режим. Если вы добавляете или удаляете тела в источнике модель блока CAD, необходимо вручную добавить или удалить соответствующие блоки в ранее импортированной модели.
Обновление CAD