pictoautocad.m

来自「基于力密度法的索杆张力结构找形程序」· M 代码 · 共 45 行

M
45
字号
function pictoautocad(x,y,z,C1,w,l,t,Etype,r,filename2)
%计算跨中扰度
[M,N]=size(C1);
%%%%%%%%%1表示此杆件的一个端点,3为另一个端点,2为中间节点的坐标%%%%%%%%%%%%%%%%
smodelfile=strrep(filename2,'.txt','.scr');
fid=fopen(smodelfile,'wt');     %自应力模态文件名smodel
if fid<0
    errordlg({'文件打开出错'});
else
    for i=1:1:M
        if Etype(i)==0
            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
            fprintf(fid,'line %f,%f,%f %f,%f,%f \n',X(i,1),Y(i,1),Z(i,1),X(i,3),Y(i,3),Z(i,3));
        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 %f,%f,%f %f,%f,%f %f,%f,%f   \n',X(i,1),Y(i,1),Z(i,1),X(i,2),Y(i,2),Z(i,2),X(i,3),Y(i,3),Z(i,3));
        end
    end
end
% fprintf(fid,'\n');
fclose(fid);

⌨️ 快捷键说明

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