Matlab 与UG/Pro E 之间的数据交换方法 为了充分利用各种软件的优点,经常需要在不同软件之间进行数据传递
由于NURBS 曲线已成为CAD 领域的标准,而MATLAB 具有强大的数值计算功能
如果数据能在MATLAB 与常见的CAD 软件传递,可以很大程度提高设计、计算效率
在经过尝试后,实现了MATLAB 与UG\Proe 之间数据的双向传递,在此分享出来,供有需要的参考
一 三维模型导入到 MATLAB 不同的三维模型软件之间为了交换数据,美国某协会规定了目前三维软件之间一种通用的数据存储格式 STL ,对各种三维软件,生成STL 文件是很简单的,现以UG 和 ProE 分别说明
对 UG 这里输出类型选择文本,因为后面MATLAB 读取数据的程序是按照文本形式读取的
其余选项可以自己设置
UG 的文件保存路径不能含有中文
对ProE Step1 : 点文件——保存副本 Step2 :在类型中,选择 stl Step 3 在 导出STL 对话框中 选择 ASCII 导出格式,其他诸如弦高 好像是越大越好 2 MATLAB 读取STL 数据 STL 格式规定模型由三个顶点组成的小三角形面片,多个面片构成了各种形状的曲面
因此数据格式如下: 首先给出的是一个三角形面片的法向量(x,y,z):facet normal
然后给出三个顶点vertex
一个面片就确定了
读取程序就是要读取facet normal和vertex的内容
具体见附件中的ReadSTL
facet normal +0
0000000E+00 +0
0000000E+00 +1
0000000E+00 outer loop vertex -1
7387080E+02 -1
7447189E+02 +2
5000000E+01 vertex -2
255997