Перевод CAD

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

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

Вы переводите Модель CAD на двух шагах — экспорт и импорт. Шаг экспорта преобразовывает модель блока CAD в файл описания мультитела XML и набор ШАГА или файлы геометрии части STL. Шаг импорта преобразовывает описание мультитела и файлы геометрии части в модель SLX Simscape Multibody и файл данных M. Модель получает все входные параметры параметров блоков из файла данных.

Шаги перевода CAD

Что находится в переведенной модели?

Переведенная модель представляет части CAD — называемый телами в программном обеспечении Simscape Multibody — использование подсистем Simulink®, которые включают несколько Твердых и Твердых блоков Преобразования. Твердые блоки обеспечивают конфигурации тела, инерцию и цвета. Твердые блоки Преобразования предоставляют кадрам необходимые положения для связи между телами.

Рассмотрите тело плеча модели роботизированной руки CAD, показанной в фигуре. Подсистема Simulink для этого тела состоит из одного блока Solid, соединенного с парой Твердых блоков Преобразования. Блок 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. Если модель содержит блоки Шарнирного соединения, данные о параметре для этих блоков являются массивом структур smiData.RevoluteJoint. Этот массив структур содержит много полей данных, каждый соответствующий различным параметрам блоков.

Поля массива структур называют в честь параметров блоков. Например, целевые данные о состоянии положения для блоков Шарнирного соединения находятся в поле под названием 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® 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.

Импорт модели 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.

Ошибки импорта 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