声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 6354|回复: 10

[共享资源] matlab中生成的点集导入proe中的方法

[复制链接]
发表于 2011-3-31 20:30 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
       最近一直在寻找matlab中生成的点集导入proe中的方法,经过论坛朋友们的帮助,终于解决了问题。应论坛教研室主任tenglang的要求,跟大家分享。
    利用Matlab可以实现对复杂的曲线进行数据处理和计算,然后将处理后的数据导入proE中,就可以极大扩展ProE对复杂曲线设计的能力。这里简单介绍下在Matlab中得到的数据生成ProE可识别的ibl文件的方法,从而在proe中绘制所需的曲线。
    .ibl文件是ProE中生成基准曲线的文件,在ProE中选择“插入”-“模型基准”-“曲线”,选择“从文件”,然后选择“完成”,再创建或选择一个曲线参照坐标系,就可以在出现的窗口中选择要打开的.ibl文件,在点击“确定”后曲线就生成了。
    以本人所得的matlab数据为例说明生成.ibl文件的方法。(即编写M脚本文件)
A=[1,1,1,1]    %准备一个矩阵
for i=1:46
x=[x11((1:6),i);x21((1:6),i);x31((1:44),i)]';   %x11 y11 z11 x21 y21 z21为6*46的矩阵
y=[y11((1:6),i);y21((1:6),i);y31((1:44),i)]' ;   %x31 y31 z31为44*46的矩阵
z=[z11((1:6),i);z21((1:6),i);z31((1:44),i)]';      %注意x y z均为1行56列的数据,
B=[1:56;x;y;z]';  %这里再求转秩就将B转换为56行4列的数据                                 
A=[A;B];           %再对A求迭代  56=6+6+44     
end
save cmlkz.ibl A -ascii    %保存为ibl文件,输出为A,精度为-ascii
编写完毕,运行得到结果
cmlkz.ibl
用记事本或者是写字板打开cmlkz.ibl文件,将第一行的4个1删除,然后再头上加一下两行
begin section
begin curve
因为i共有46个取值,所以曲线段有46条,在每一条的曲线的第一个点的那个行,前面插入一行,写入begin curve
然后保存。
现在就可将.ibl文件导入proe中生成曲线。
注意:.ibl文件中第一列为点的编号,proe就是按这个点编号顺序连点的,所以必须注意点的编号问题,否则虽然点的坐标相同,但由于连的顺序不同,得到的曲线定不相同。(本人刚开始就是没注意这个问题,结果出错)
附结果图:

                               
登录/注册后可看大图


                               
登录/注册后可看大图

点评

图片?  发表于 2011-4-1 00:06

评分

3

查看全部评分

回复
分享到:

使用道具 举报

发表于 2011-3-31 22:44 | 显示全部楼层
有个想法啊,能不能将proe的曲面或实体都转换成matlab的网格文件呢?这样就可以用matlab做有限元计算,只是看到这个帖子想到的,不一定有根据的。
 楼主| 发表于 2011-4-1 09:30 | 显示全部楼层
回复 2 # ghostzer 的帖子

这个我不大清楚,没用过。你可以在论坛里面讨论一哈撒
发表于 2011-9-20 16:53 | 显示全部楼层
学习了  正需要这方面的资料
发表于 2012-3-21 16:14 | 显示全部楼层
请问一下,我从matlab里得出[x,z]的点坐标,按照你说的添加上begin以后,导入proe中还是无法识别啊,请高手指教下
发表于 2012-3-22 10:55 | 显示全部楼层
学习了,正在试验中
发表于 2013-11-8 17:50 | 显示全部楼层
你好,能把你的那个包括齿轮的文件发送给我?一直想学习这个matlab数据导入pro/e的方法?谢谢!
发表于 2014-12-23 20:50 | 显示全部楼层
确实是好东西,受益匪浅
发表于 2016-8-14 18:08 | 显示全部楼层
这个程序我怎么运行是错误的 有谁知道么

点评

是这个错误吗? ??? Undefined function or method 'x11' for input arguments of type 'double'. Error in ==> shishi at 3 x=[x11((1:6),i);x21((1:6),i);x31((1:44),i)]'; %x11 y11 z11 x21 y21 z21为6*46  详情 回复 发表于 2016-8-15 08:29
回复 支持 1 反对 0

使用道具 举报

发表于 2016-8-15 08:29 | 显示全部楼层
xiaofeigecs 发表于 2016-8-14 18:08
这个程序我怎么运行是错误的 有谁知道么

是这个错误吗?
??? Undefined function or method 'x11' for input arguments of type 'double'.

Error in ==> shishi at 3
x=[x11((1:6),i);x21((1:6),i);x31((1:44),i)]';   %x11 y11 z11 x21 y21 z21为6*46的矩阵
发表于 2016-8-16 13:13 | 显示全部楼层
期待大神回复啊
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-26 05:43 , Processed in 0.123000 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表