⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pictoautocad_me.m

📁 基于力密度法的索杆张力结构找形程序
💻 M
字号:
function pictoautocad(x,y,z,C1,cab_num,cab_i,cab_j,cab_n,w,l,t,Etype,r,filename)
%计算跨中扰度
[M,N]=size(C1);
%%%%%%%%%1表示此杆件的一个端点,3为另一个端点,2为中间节点的坐标%%%%%%%%%%%%%%%%
cad=strrep(filename,'_date.txt','.scr')
fid=fopen(cad,'wt');     %自应力模态文件名smodel
if fid<0
    errordlg({'文件打开出错'});
else
     %如果文件已经打开
    for i=1:1:M
        if Etype(i)==0
           fprintf(fid,'line\n');
           fprintf(fid,'%f',x(cab_i(cab_n(i))));
           fprintf(fid,',');
           fprintf(fid,'%f',y(cab_i(cab_n(i))));
           fprintf(fid,',');
           fprintf(fid,'%f',z(cab_i(cab_n(i))));
                
           fprintf(fid,'\n');
        
          fprintf(fid,'%f',x(cab_j(cab_n(i))));
          fprintf(fid,',');
          fprintf(fid,'%f',y(cab_j(cab_n(i))));
          fprintf(fid,',');
          fprintf(fid,'%f',z(cab_j(cab_n(i))));
          fprintf(fid,'\n');
          fprintf(fid,'\n');
          
        elseif Etype(i)==1
            for j=1:1:N
                if C1(i,j)==1
                    X(i,1)=x(j);
                    Y(i,1)=y(j);
                    Z(i,1)=z(j);
                elseif C1(i,j)==-1
                    X(i,3)=x(j);
                    Y(i,3)=y(j);
                    Z(i,3)=z(j);
                end
            end
            f(i)=w(i)*r(i)/(8*t(i));
            X(i,2)=(X(i,1)+X(i,3))/2;
            Y(i,2)=(Y(i,1)+Y(i,3))/2;
            Z(i,2)=(Z(i,1)+Z(i,3))/2-f(i);
            
           fprintf(fid,'spline\n');
           fprintf(fid,'%f',X(i,1));
           fprintf(fid,',');
           fprintf(fid,'%f',Y(i,1));
           fprintf(fid,',');
           fprintf(fid,'%f',Z(i,1));
                
           fprintf(fid,'\n');
        
          fprintf(fid,'%f',X(i,2));
          fprintf(fid,',');
          fprintf(fid,'%f',Y(i,2));
          fprintf(fid,',');
          fprintf(fid,'%f',Z(i,2));
          fprintf(fid,'\n');
          
          fprintf(fid,'%f',X(i,3));
          fprintf(fid,',');
          fprintf(fid,'%f',Y(i,3));
          fprintf(fid,',');
          fprintf(fid,'%f',Z(i,3));
          
          fprintf(fid,'\n');
          fprintf(fid,'\n');
    end
  end
end
fclose(fid);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -