计算机辅助翻译
CAD模型的翻译
您可以将CAD模型转换为等效的模型Simscape™多体™框图。转换依赖于smimport
以XML多体描述文件名为中心参数的函数。XML文件传递给Simscape多体软件获取重建原始模型所需的数据——如果模型中存在不受支持的约束,则获取原始模型的近似值。金宝app
转换CAD模型分为两个步骤:导出和导入。导出步骤将CAD装配模型转换为XML多体描述文件和一组step或STL零件几何文件。导入步骤将多体描述和零件几何文件转换为SLXSimscape多体模型和M数据文件。该模型从数据文件中获取所有块参数输入。
CAD翻译步骤
翻译模型中有什么?
转换后的模型表示CAD部件,即CAD中的主体Simscape多体软件仿真软件金宝app®子系统包含多个实体和刚性变换块。实体块提供了身体的几何形状、惯性和颜色。的刚性变换块为身体之间的连接提供所需的姿势框架。
考虑CAD机械臂模型的上臂体,如图所示。该主体的金宝appSimulink子系统由一个连接到一对刚性变换块的实体块组成。实体块提供了上臂几何文件的参考,并从CAD模型中导出了惯性特性。刚性变换块提供连接到机器人基座和下臂体的框架。
金宝app代表上臂身体的子系统
CAD关节、约束和伙伴转换成Simscape多体软件是关节块和约束块的组合。在CAD机械臂示例中,上臂和下臂之间的约束转化为一个转动关节块。该模块位于代表上臂和下臂体的Simulink子系统模块之金宝app间。
金宝app代表上臂身体的子系统
默认情况下,转换后的模型保留了原始CAD模型的结构层次。如果源模型是具有多体子组件的CAD模型,则子组件转换为Simscape多体软件多体Simulink子系统。金宝app再次考虑CAD机械臂模型。该模型包含一个包含七个主体的握把多体子组件,如图所示。
CAD机械臂模型层次
多体金宝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_RIGID和forearm_1_RIGID之间的约束集合不能映射到关节。对于这些约束,在upperarm_1_RIGID的端口F和端口F1或forearm_1_RIGID之间添加了一个刚性连接。
简化模型拓扑
您可以导入具有简化拓扑结构的CAD模型。这样你就可以做这个了smimport
函数提供ModelSimplification
论点。你可以将这个参数设置为:
bringJointsToTop
将每一组刚性连接的部件组合成一个新的子系统,并将所有连接提升到模型层次结构的顶层。groupRigidBodies
将严格连接的部件分组为子系统(并将接头留在模型层次结构中的原始位置)。没有一个
按原样导入模型,不进行简化。
使用bringJointsToTop
或groupRigidBodies
选项,如果您的CAD模型有许多严格连接的组件,例如螺母和螺栓,您希望将它们组合在一起,例如,通过浏览框图更直观地掌握模型的关键组件。
使用bringJointsToTop
如果您的CAD模型在子组件内部有关节,并且您希望在顶层显示它们,则可以选择此选项-例如,使用关节驱动和传感信号而不必在不同子系统中搜索关节。
请注意,模型简化仅适用于CAD导入。URDF模型具有平坦的拓扑结构,几乎不需要简化。
更新现有数据文件
您可以为先前导入的模型重新生成数据文件smimport
函数数据文件
模式。指定此模式ImportMode
名称,值
对参数。该函数使用先前的数据文件来保持结构数组索引和块之间的映射一致。
在重新生成数据文件之前,必须从更新的CAD装配模型导出新的XML多体描述文件。的smimport
函数使用新多体描述文件中的数据生成新的数据文件。
该函数在运行时不更新框图数据文件
模式。如果您在源CAD装配模型中添加或删除主体,则必须在先前导入的模型中手动添加或删除相应的块。
计算机辅助设计更新