怎么将matlab生成的贝塞尔曲线叶片导入到solidworks里建模

曲线程序部分已经编好,但是导出为txt部分一直导出失败,图形如下

img


自己摸索修改的转化为txt文件的程序:
c = (xe-xc)/0.01+1;
c1 = (xd-xb)/0.01+1;
fix(c)
fix(c1)
z1 = zeros(1,fix(c));
z2 = zeros(1,fix(c1));
%figure
%plot(s1,y1,s2,y2);
a = [xt1;yt1;z1]';
fid1=fopen(['d:','curve2.txt'],'w');
[l,m,n]=size(a);%利用size函数读取a矩阵的行,列,维
for i=1:l
for j=1:m
for k=1:n
fprintf(fid1,'%f\t',a(i,j,k));%fprintf?将a矩阵的数据以指定的格式写入文本中
end
end
fprintf(fid1,'\r\n');
end
fclose(fid1);
b = [xt2;yt2;z2]';
fid2=fopen(['d:','curve3.txt'],'w');
[l,m,n]=size(b);
for i=1:l
for j=1:m
for k=1:n
fprintf(fid2,'%f\t',b(i,j,k));
end
end
fprintf(fid2,'\r\n');
end
format long
两个弧线为贝塞尔曲线,参数方程。
两弧线分方程为
xt1=@(t) xc*(1-t)^3+3xm1t*(1-t)^2+3xm2t^2*(1-t)+xet^3
yt1=@(t) yc
(1-t)^3+3ym1t*(1-t)^2+3ym2t^2*(1-t)+yet^3
xt2=@(t) xb
(1-t)^3+3xn1t*(1-t)^2+3xn2t^2*(1-t)+xdt^3
yt2=@(t) yb
(1-t)^3+3yn1t*(1-t)^2+3yn2t^2*(1-t)+yd*t^3
运行结果报错如下

img


真诚求帮助 求这一段的程序

为啥要导出成txt文本?txt文档里保存曲线的横纵坐标吗?代码请用插入代码片功能重新提交一下,复制了运行不了

matlab画出的曲线,想要在Solid works里建模,必须得把x和y的坐标点集以txt的形式保存下来
但题主的matlab代码不全,没法画出贝塞尔曲线
参考:https://blog.csdn.net/s0302017/article/details/103763055
题主思路是没问题的,试试加入repmat函数

clc
clear

xt1=1:100
yt1=1:100
z1=1:100

a = [xt1;yt1;z1]';
fid1=fopen(['f:','curve2.txt'],'w');
[l,m,n]=size(a);          %利用size函数读取a矩阵的行,列,维
for i=1:l
for j=1:m
for k=1:n
fprintf(fid1,'%f\t',a(i,j,k));  %fprintf将a矩阵的数据以指定的格式写入文本中
end
end
fprintf(fid1,'\r\n');
end
fclose(fid1);

img

我自己假设了新的数据,xyz值,运行以后没有报错,且能正确输出txt格式,因此题主的报错,应该是xt1、yt1格式的问题

img

使用 MATLAB File Exchange


中的 Nurbs2IGES 工具箱

参考一下

https://baijiahao.baidu.com/s?id=1651433949872064512&wfr=spider&for=pc
希望对你有所帮助