最近在研究把三维模型中的数据转换到MATLAB上进行仿真,初步知道了MATLAB工具包中Simscape可以进行物理建模。下面的内容主要是从迈斯沃克官方网站上看到的,当然也有一点自己的琢磨。
可以将CAD模型转换为等效的Simscape。转换依赖于smimport函数,该函数的中心参数是XML多体描述文件名。XML文件将重新创建原始模型所需的数据传递给Simscape Multibody,如果模型中存在不受支持的约束,则可以将其近似值传递给Simscape。
将CAD模型转换有导出和导入两个步骤。一是从三维建模软件导出,将CAD装配模型转换为XML多实体描述文件和一组step或STL零件几何文件。二是往matlab导入;将多实体描述和零件几何图形文件转换为SLX Simscape多实体模型和M数据文件。模型从数据文件也就是.m文件获取所有块参数输入。

转换后的模型表示在Simscape多实体软件中称为实体的CAD零件,使用Simulink子系统,这个子系统包含多个实体和刚性转换块。实体块提供了实体的几何图形、惯量和颜色。刚性变换块为框架提供实体之间连接所需的姿态。
**理论上讲,可以从任何CAD应用程序导出CAD部件模型。**但是需要通过XML来作信息媒介,而三维软件如何生成相关的XML是个问题。stp格式是可以用notepad读出来,但是并不是simscape能读取的格式,所以直接把stp文件后缀名改成xml是行不通的。
比如我现在用UG画了个无人机的模型,但是还没有找到合适的方法把模型参数转换到simscape可以识别的XML。
但是迈斯沃克官方推出了一个插件:Simscape Multibody Link CAD,可以以有效XML格式导出模型。但是这个插件目前只兼容三个桌面CAD应用程序:SolidWorks、Cre和Inventor。该插件不仅生成XML多体描述文件,还生成最终转换模型中可视化所需的任何几何体文件。

安装
一、下载
到迈斯沃克官网下载插件,按你实际需要的下载就行;https://www.mathworks.com/campaigns/offers/download_smlink.html

然后需要你留邮箱等信息,填上即可。最后下载插件到本地,压缩包不用打开;保存位置没有太多要求。
二、安装
以管理员身份运行MATLAB,然后在命令行窗口输入install_addon(‘zipname’),zipname就是对应的压缩文件名称,比如我下载的是smlink.r2018b.win64.zip,那么就是在命令行窗口输入install_addon(‘smlink.r2018b.win64.zip’)

上图是安装完成后命令行窗口的提示情况
三、注册MATLAB为自动化服务器
接着在命令行窗口输入regmatlabserver 然后MATLAB提示正忙,稍等片刻后如果没有其他提示,就意味着注册成功了。

四、solidworks软件使能
还是在MATLAB的命令行输入 smlink_linksw(别被小标题误导了,跑去sw操作,注意还是在MATLAB),成功后弹出下图

然后打开sw,在顶端工具栏找->插件->其他插件,勾选那个Simscape Multibody Link,如下图

打开要转换的零件,然后点击工具,就会看到有Simscape Multibody Link选项,点击Simscape Multibody Link-> Export ->Simscape Multibody


系统弹出对话框生成XML文件

和相应的STEP文件,自动生成的STEP文件为该装配模型中单个零部件的STEP模型。

接下来是导入部分。
导入是指将XML文件导入到Matlab,其输入是XML文件和一系列STEP文件,工具是Matlab,输出是关于该装配模型的slx文件,和其装配参数m文件。
更改Matlab目录到XML和STEP所在目录,输入“smimport(‘xmlname’)”,其中xmlname就是XML文件的名字,如下图

然后Mtalb打开Simulink,并根据XML信息生成对应的slx文件,和文件数据相关的.m文件


此时,整个转换过程基本完成。

除了用XML作为中间格式文件转换外,还有种方式就是用Urdf格式。后面再做深入研究。

三维建模模型STP格式与Matlab中simscape数据交换的问题相关推荐

  1. 【数学建模】基于matlab三维海浪模型仿真【含Matlab源码 1159期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[数学建模]基于matlab三维海浪模型仿真[含Matlab源码 1159期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: 付 ...

  2. matlab将数据输出到excel中,matlab数据输出为excel表格-如何把matlab中的数据导到excel表格中...

    如何将matlab工作空间的数据导出到excel 1.很简单的用xlswrite函数就可以了.首先打开matlab,输入你的代码 2.找到你要存放文件的位置复制绝对路径(致谢文件名的话就会存放在当前目 ...

  3. matlab将数据输出到excel中,matlab将数据保存为excel表格-怎样将MATLAB中的数据输出到excel中...

    怎样将MATLAB中的数据输出到excel中? xlswrite()函数可以将matlab中数据保存到excel中,请面例子: >> data = magic(5) % 示例数据 data ...

  4. load函数matlab,『matlab load函数的用法』如何把matlab中的数据导到excel表格中

    如何把matlab中的数据导到excel表格中 xlswrite('E:系数.xls',B,'','A2') E:系数.xls 是路径 B是需要导入的矩阵 A2是指矩阵从表格中的A2开始输入 希望可以 ...

  5. matlab中的数据导入和导出

    在编写一个程序时,经常需要从外部读入数据,或者将程序运行的结果保存为文件.MATLAB使用多种格式打开和保存数据.本章将要介绍 MATLAB中文件的读写和数据的导入导出. 13.1  数据基本操作 本 ...

  6. iOS 中 XML 数据交换格式

         XML 是一种自描述的数据交换格式,但是 XML 的数据交换格式并没有 JSON 来的轻便,但是无可否认的是,XML 的应用范围也是非常广泛的,比如在 ROS(一个开源机器人操作系统)中利用 ...

  7. matlab 日期排序_在Matlab中对数据进行排序(Sorting Data in Matlab)

    在Matlab中对数据进行排序(Sorting Data in Matlab) 我试图在Matlab中对以下数据进行排序,但没有得到我需要的预期输出. 这是数据: '1B-3A-5A' '1A-3A- ...

  8. Matlab中用于数据预测spline()函数的使用

    Matlab中用于数据预测spline()函数的使用 ​ 再matlab中spline函数是利用三次方样条数据插值 语法 s = spline(x,y,xq) pp = spline(x,y) s = ...

  9. MATLAB中的数据从double类型强制转化为uint8其舍入用的是四舍五入,附MATLAB基本数据类型

    MATLAB中的数据从double类型强制转化为uint8其舍入用的是四舍五入, 例子代码如下: A=[0.1 0.2 0.3;0.4 0.5 0.6;0.7 0.8 0.9]; B=uint8(A) ...

最新文章

  1. 多个敏捷团队同时做一个项目_您说您的团队很敏捷……但是这个词可能并不代表您的想法。...
  2. springaop事务逻辑原理_太狠了!阿里大牛手写的Spring核心面试笔记:IOC+AOP+MVC+事务...
  3. (双指针) bzoj 1071
  4. 笔记-项目范围管理-复习要点
  5. nowcoder20C 位数差
  6. 输入流中的read和readfully方法区别和原理
  7. winform教_电脑绝技教你22天学精Csharp之第十五天winform应用程序补充5
  8. mapping数据列表
  9. 高中计算机网络功能,高中生自我教育中如何发挥计算机网络信息的作用
  10. 创业者在创业时经常会问到的一个问题
  11. linux是一个类似unix操作系统,3种与Linux类似的UNIX操作系统
  12. 类似818tu.co微信小说分销系统设计之多公众号网页授权自动登录源码
  13. 基于Modelica的起落架摆震建模
  14. Python断言与isinstance()判断数据类型
  15. 搜狗浏览器异常问题 - 解决方案
  16. SPSS Modeler 数据整理之变量设定 (指南 第三章)
  17. WinMerge使用
  18. python实现RSA数字签名(纯算法实现)
  19. 你为什么要写博客?—— 优秀博主必读
  20. 计算机毕业设计之云日记设计与实现

热门文章

  1. 数据库特点、四大特征、并发事务引起的问题
  2. Oracle 行转列 LISTAGG
  3. 网易极客战记-KITHGARD地牢--再下一步 (需解锁)
  4. 防止sql拼接的Java方法,java程序防止sql注入的方法
  5. hibernate 一对多 多对一 关系表 增删改查大礼包ps二级查也有
  6. 如何在Ubuntu上搭建apache服务器
  7. 设置Apache服务器的重定向
  8. Git配置用户名和邮箱
  9. Shell入门(六)之Shell pipe(管道)
  10. ArcGis空间分析学习:森林火灾分析