Перевод CAD

Перевод модели CAD

Можно перевести Модель 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, один для каждого тела.

Подсистема 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 из любого приложения CAD. Плагин Simscape Multibody Link CAD обеспечивает, каждый означает экспортировать модель в допустимом формате XML. Плагин совместим с тремя настольными приложениями CAD: SolidWorks®, PTC® Creo™ и Autodesk® Изобретатель®. Плагин генерирует не только файл описания мультитела 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.

Импорт модели CAD

Вы импортируете файл описания мультитела XML с помощью Simscape Multibody smimport функция в ее режиме импорта по умолчанию. Функция анализирует файл и генерирует модель Simscape Multibody и сопоставленный файл данных. Для постепенных инструкций относительно импортировать модель блока CAD через ее файл описания мультитела XML, смотрите Импорт Модель блока CAD.

Примечание

Начиная с версии R2017b программного обеспечения плагин Simscape Multibody Link экспортирует в формате XML, совместимом только с программным обеспечением Simscape Multibody Second Generation. Необходимо импортировать все такие XML-файлы с помощью smimport функция. Модели, сгенерированные с этой функцией, включают только блоки второго поколения — доступные путем ввода команды sm_lib в командной строке MATLAB.

Программное обеспечение Simscape Multibody First Generation больше не поддерживается и mech_import функция не может больше использоваться.

Ошибки импорта CAD

Если файл геометрии части недопустим или пропавшие без вести, соответствующее тело не может показать в утилите визуализации 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