Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > ANSYS论坛
ANSYS论坛 ANSYS软件是融结构、流体、电磁场、声场和耦合场分析于一体的大型通用有限元分析软件
 
 
主题工具 显示模式
旧 2008-03-18, 15:41   #2
windows251
版主
 
windows251 的头像
 
注册日期: 2007-05-31
年龄: 39
帖子: 59
声望力: 21
windows251 是一个将要出名的人windows251 是一个将要出名的人
默认

源程序:
代码:
function mat2ans(filename,x,y,z) 
% 把MATLAB计算的曲线曲面导入ANSYS 
% author:paradiseboy 
% 2004-7-13 
% Henan Polytechnic University 

% www.dytrol.com 

if(ischar(filename)==0) 
error('Invalid filename'); 
end 

if(ndims(z)~=2) 
error('Variable z must be a 2-dimensional array'); 
end 

if any((size(x)~=size(z))|(size(y)~=size(z))) % size of x or y does not size of z 
if((length(x)==1)&(length(y)==1)) % Must be specifying dx and dy, so make vectors 
dx=x; 
dy=y; 
x=((1:size(z,2))-1)*dx; 
y=((1:size(z,1))-1)*dy; 
end 

if((length(x)==size(z,2))&(length(y)==size(z,1))) % Must be specifying vectors 
xvec=x; 
yvec=y; 
[x,y]=meshgrid(xvec,yvec); 
else 
error('Unable to resolve x and y variables'); 
end 
end 

fid=fopen(filename,'w'); 

if(fid==-1) 
error(sprintf('Unable to write to %s',filename)); 
end 

[m,n]=size(z); 
x=reshape(x',m*n,1); 
y=reshape(y',m*n,1); 
z=reshape(z',m*n,1); 
fprintf(fid,'/prep7\r\n'); % 进入前处理 
% 创建关键点 
for i=1:m*n 
fprintf(fid,'k,%4.d,%.5f,%.5f,%.5f,\r\n',i,x(i),y(i),z(i)); 
end 
% 创建样条线 
for i=1:m 
fprintf(fid,'FLST,3,%3.d,3\r\n',n); 
for j=1:n 
fprintf(fid,'FITEM,3,%4.d,\r\n',j+(i-1)*n); 
end 
fprintf(fid,'BSPLIN, ,P51X\r\n'); 
end 
% 由蒙皮技术创建面 
fprintf(fid,'FLST,2,%2.d,4\r\n',m); 
for i=1:m 
fprintf(fid,'FITEM,2,%d\r\n',i); 
end 
fprintf(fid,'ASKIN,P51X\r\n'); 
fprintf(fid,'ldele,all\r\n'); 
fprintf(fid,'kdele,all\r\n'); 
fprintf(fid,'aplot\r\n'); 
fprintf(fid,'NUMCMP,ALL\r\n'); 
fprintf(fid,'FINISH\r\n'); 

fclose(fid);
windows251 当前离线   回复时引用此帖
 


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 03:24


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.