主要内容

计算机辅助翻译

CAD模型的翻译

您可以将CAD模型转换为等效的模型Simscape™多体™框图。转换依赖于smimport函数以XML多体描述文件名为中心参数。XML文件传递给Simscape多体软件获取重建原始模型所需的数据——或者如果模型中存在不受支持的约束,则获取原始模型的近似值。金宝app

转换CAD模型分为两个步骤—导出和导入。导出步骤将CAD组装模型转换为XML多体描述文件和一组step或STL部件几何文件。导入步骤将多体描述和部件几何文件转换为SLX文件Simscape多体模型和M数据文件。该模型从数据文件中获取所有块参数输入。

CAD翻译步骤

翻译模型中有什么?

翻译后的模型表示CAD部件——在中称为体Simscape多体软件仿真软件金宝app®子系统由多个实体和组成刚性变换块。实体块提供主体几何形状、惯性和颜色。的刚性变换块为帧提供了物体之间连接所需的姿势。

考虑一个CAD机械臂模型的上臂体,如图所示。这个主体金宝app的Simulink子系统由一个连接到一对刚性变换块的实体块组成。实体块提供了上臂几何文件和从CAD模型导出的惯性特性的参考。刚性转换块提供连接到机器人底座和下臂体的框架。

金宝app子系统代表上臂体

CAD关节、约束和配合转换为Simscape多体软件作为关节和约束块的组合。在CAD机械臂例子中,上臂和下臂之间的约束转化为一个转动关节块。这个块位于代表上臂和下臂主体的Simulink子系统块之金宝app间。

金宝app子系统代表上臂体

默认情况下,翻译后的模型保留原始CAD模型的结构层次结构。如果源模型是具有多体子程序集的CAD模型,则子程序集转换为Simscape多体软件转化为多体Simulink子系统。金宝app再次考虑CAD机械臂模型。该模型包含一个七体握把多体子总成,如图示意图所示。

CAD机械臂模型层次结构

在转换过程中,握把子组件转换为一个包含七个Simulink子系统的Simulink子系统,每个子系统对应一个身体。金宝app

多体金宝app带体子系统金宝app子系统

数据文件中有什么?

翻译模型中的块用MATLAB参数化®数据文件中定义的变量。这些变量存储在以各种块类型命名的结构数组中。结构数组嵌套在名为smiData或者您指定的自定义字符串。

考虑一个导入的模型,其数据结构名为smiData.如果模型包含转动关节块,这些块的参数数据是结构数组smiData。RevoluteJoint.该结构数组包含许多数据字段,每个字段对应不同的块参数。

结构数组字段以块参数命名。的位置状态目标数据转动关节Blocks在一个名为Rz_Position_Target.如果模型有两个转动关节块,这个字段包含两个条目-smiData.RevoluteJoint (1) .Rz_Position_Target而且smiData.RevoluteJoint .Rz_Position_target (2)

每个结构数组索引对应于导入模型中的特定块。如果从更新的XML多体描述文件重新生成数据文件,则索引分配可能会发生变化。的smimport函数在指定时检查先前的数据文件,以确保索引分配保持不变。看到更新现有数据文件

导出CAD模型

从技术上讲,您可以从任何CAD应用程序导出CAD组装模型。的Simscape多体链接CAD插件提供了一种以有效的XML格式导出模型的方法。该插件兼容三个桌面CAD应用程序:SolidWorks®, PTC(列车自动控制系统)®Creo™和Autodesk®发明家®.该插件不仅生成XML多体描述文件,还生成在最终翻译的模型中可视化所需的任何几何文件。

Simscape多体smexportonshape函数提供了从名为Onshape的云应用程序导出CAD模型的另一种方法®.此函数以与更新的兼容的格式导出Simscape多体块。看到Onshape进口查看从Onshape帐户导出(和导入)CAD模型的更多信息。

如果使用不支持的CAD应用程序,金宝app则可以创建一个使用CAD API和的程序Simscape多体XML模式生成多体描述和零件几何文件。这项任务需要XML文档、XSD模式定义和CAD api的知识。看到模式的网站获取XSD模式定义。看到MATLAB中央这是一个建立在SolidWorks CAD API上的示例程序。

如果您的CAD应用程序有URDF转换器,那么您可以将模型导出为URDF格式,并将URDF文件导入到Simscape多体环境。然而,请注意,URDF规范禁止闭链模型拓扑,例如那些四杆连杆和齿轮组件。有关更多信息,请参见导入URDF模型

关于导出错误的说明

如果Simscape多体链接插件无法导出零件几何文件或翻译CAD约束集,软件将发出错误消息。错误消息标识带有缺失几何文件和任何不支持的约束的主体。金宝app您可以将生成的XML多体描述文件导入Simscape多体软件,但得到的模型可能不能准确地代表原始的CAD装配模型。

导入CAD模型

方法导入XML多体描述文件Simscape多体smimport函数在其默认导入模式下。函数解析文件并生成一个Simscape多体模型和关联的数据文件。有关如何通过XML多体描述文件导入CAD程序集模型的详细说明,请参见导入CAD装配模型

请注意

从软件版本R2017b开始Simscape多体链接插件以只兼容的XML格式导出Simscape多体第二代软件。方法导入所有这样的XML文件smimport函数。用这个函数生成的模型只包含第二代块——通过输入命令可以访问的那些块sm_lib在MATLAB命令提示符。

Simscape多体第一代软件不再受支持金宝appmech_import函数不能再使用。

CAD导入错误

如果零件几何形状文件无效或丢失,则相应的主体不能显示在Simscape多体可视化工具。如果CAD装配模型在主体之间包含不受支持的约束组合,金宝appSimscape多体软件通过刚性连接将身体连接起来。刚性连接可以采取直接框架连接线的形式,刚性变换块,或焊缝块。

不支持的约束导致刚性连接金宝app

如果Simscape多体软件不能翻译CAD约束组合,它在MATLAB命令窗口上发出警告消息,识别受影响的主体及其连接帧。例如:

警告:在upperarm_1_刚和forearm_1_刚之间的约束集不能映射到关节。对于这些约束,在upperarm_1_stiff的F端口和F1或forearm_1_stiff端口之间添加了刚性连接。

简化模型拓扑

您可以导入具有简化拓扑的CAD模型。所以你可以这样做smimport函数提供了ModelSimplification论点。你可以将这个参数设置为:

  • bringJointsToTop将每一组严格连接的部件分组到一个新的子系统中,并将所有的关节提升到模型层次结构的顶层。

  • groupRigidBodies将严格连接的部分分组到子系统中(并将关节保留在模型层次结构中的原始位置)。

  • 没有一个按原样导入模型,不进行简化。

使用bringJointsToTopgroupRigidBodies选项,如果您的CAD模型有许多严格连接的组件(如螺母和螺栓),您希望将它们组合在一起—例如,可以更直观地在方块图中掌握模型的关键组件。

使用bringJointsToTop选项,如果您的CAD模型在子程序集中有关节,并且您更喜欢在顶层公开它们——例如,处理关节驱动和传感信号,而不必在不同的子系统中搜索关节。

注意,模型简化只适用于CAD导入。URDF模型具有平坦的拓扑结构,几乎不需要简化。

更新现有数据文件

可以为以前导入的模型重新生成数据文件smimport函数数据文件模式。可以使用可选参数指定此模式ImportMode名称,值对参数。该函数使用先前的数据文件来保持结构数组索引和块之间的映射一致。

在重新生成数据文件之前,必须从更新的CAD程序集模型导出新的XML多体描述文件。的smimport函数使用新的多体描述文件中的数据生成新的数据文件。

函数在运行时不更新框图数据文件模式。如果在源CAD组装模型中添加或删除体,则必须手动添加或删除先前导入的模型中的相应块。

计算机辅助设计更新