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

📄 main_form_data_plot.m

📁 FEM tools for caculation of nonlinear problems
💻 M
字号:
function main_form_data_plot (handles,in_data,pax,plot_dyn)

% plot location of DOF for output from dynamic analysis on the main form

axes(pax);

dofN = handles.in_data.dofN;
if isfield(handles.in_data.dynam,'TIMEHPL')
    if length(in_data.dynam.TIMEHPL)~=0
        if handles.in_data.type == '2dbeam'
            vr = ceil(in_data.dynam.TIMEHPL(1)/dofN);
            node = find(in_data.ND(:,1)==vr); hold on;
            if  plot_dyn
                plot(in_data.ND(node,2),in_data.ND(node,3),'b.','MarkerSize',14);
                plot(in_data.ND(node,2),in_data.ND(node,3),'bo','MarkerSize',18);
            end
            labx = (max(in_data.ND(:,2)) / 13); laby = (max(in_data.ND(:,3)) / 13);
            labx = min([labx laby]); laby = labx;
            if in_data.dynam.TIMEHPL(1)-dofN*vr==0
                if  plot_dyn
                    plot(in_data.ND(node,2),in_data.ND(node,3),'bs','MarkerSize',15);
                end
            end
            if in_data.dynam.TIMEHPL(1)-dofN*vr==-1
                if  plot_dyn
                    plot([in_data.ND(node,2) in_data.ND(node,2)], ...
                        [in_data.ND(node,3)-laby*2  in_data.ND(node,3)+laby*2],'b-','LineWidth',2);
                end
            end
            if in_data.dynam.TIMEHPL(1)-dofN*vr==-2
                if  plot_dyn
                    plot([in_data.ND(node,2)-labx*2 in_data.ND(node,2)+labx*2], ...
                        [in_data.ND(node,3)  in_data.ND(node,3)],'b-','LineWidth',2);
                end
            end
            rotate3d(gca); set(gcf,'Pointer','arrow');
            pause(0.001); hold off;
        end;
        if handles.in_data.type == '3dbeam'
            vr = ceil(in_data.dynam.TIMEHPL(1)/dofN);
            node = find(in_data.ND(:,1)==vr); hold on;
            if  plot_dyn
                plot3(in_data.ND(node,2),in_data.ND(node,3),in_data.ND(node,4),'b.','MarkerSize',14);
                plot3(in_data.ND(node,2),in_data.ND(node,3),in_data.ND(node,4),'bo','MarkerSize',18);
            end
            labx = (max(in_data.ND(:,2))/9); laby=(max(in_data.ND(:,3))/9); labz=(max(in_data.ND(:,4))/9);
            labx = min([labx laby labz]); laby = labx;  labz=labx;
            if in_data.dynam.TIMEHPL(1)-dofN*vr==0 | ...
                    in_data.dynam.TIMEHPL(1)-dofN*vr==-1 | in_data.dynam.TIMEHPL(1)-dofN*vr==-2
                if  plot_dyn
                    plot3(in_data.ND(node,2),in_data.ND(node,3),in_data.ND(node,4),'bs','MarkerSize',15);
                end
            end
            if in_data.dynam.TIMEHPL(1)-dofN*vr==-3
                if  plot_dyn
                    plot3([in_data.ND(node,2) in_data.ND(node,2)], ...
                        [in_data.ND(node,3)  in_data.ND(node,3)],...
                        [in_data.ND(node,4)-labz in_data.ND(node,4)+labz],'b-','LineWidth',2);
                end
            end
            if in_data.dynam.TIMEHPL(1)-dofN*vr==-4
                if  plot_dyn
                    plot3([in_data.ND(node,2) in_data.ND(node,2)], ...
                        [in_data.ND(node,3)-laby  in_data.ND(node,3)+laby],...
                        [in_data.ND(node,4) in_data.ND(node,4)],'b-','LineWidth',2);
                end
            end
            if in_data.dynam.TIMEHPL(1)-dofN*vr==-5
                if  plot_dyn
                    plot3([in_data.ND(node,2)-labx in_data.ND(node,2)+labx], ...
                        [in_data.ND(node,3) in_data.ND(node,3)],...
                        [in_data.ND(node,4) in_data.ND(node,4)],'b-','LineWidth',2);
                end
            end
            rotate3d(gca); set(gcf,'Pointer','arrow');
            pause(0.01); hold off;
        end;
        if handles.in_data.type == 'cstcsq'
            vr = ceil(in_data.dynam.TIMEHPL(1)/dofN);
            node = find(in_data.ND(:,1)==vr); hold on;
            if  plot_dyn
                plot(in_data.ND(node,2),in_data.ND(node,3),'bo','MarkerSize',14);
                plot(in_data.ND(node,2),in_data.ND(node,3),'b.','MarkerSize',18);
            end
            labx = (max(in_data.ND(:,2)) / 22); laby = (max(in_data.ND(:,3)) / 22);
            labx = min([labx laby]); laby = labx;
            if in_data.dynam.TIMEHPL(1)-dofN*vr==0
                if  plot_dyn
                    plot([in_data.ND(node,2) in_data.ND(node,2)], ...
                        [in_data.ND(node,3)-laby  in_data.ND(node,3)+laby],'b-','LineWidth',2);
                end
            end
            if in_data.dynam.TIMEHPL(1)-dofN*vr==-1
                if  plot_dyn
                    plot([in_data.ND(node,2)-labx in_data.ND(node,2)+labx], ...
                        [in_data.ND(node,3)  in_data.ND(node,3)],'b-','LineWidth',2);
                end
            end
            rotate3d(gca); set(gcf,'Pointer','arrow');
            pause(0.01); hold off;
        end;
        if handles.in_data.type == '3dbrik'
            vr = ceil(in_data.dynam.TIMEHPL(1)/dofN);
            node = find(in_data.ND(:,1)==vr); hold on;
            if  plot_dyn
                plot3(in_data.ND(node,2),in_data.ND(node,3),in_data.ND(node,4),'b.','MarkerSize',14);
                plot3(in_data.ND(node,2),in_data.ND(node,3),in_data.ND(node,4),'bo','MarkerSize',18);
            end
            labx = (max(in_data.ND(:,2))/9); laby=(max(in_data.ND(:,3))/9); labz=(max(in_data.ND(:,4))/9);
            labx = min([labx laby labz]); laby = labx;  labz=labx;
            if in_data.dynam.TIMEHPL(1)-dofN*vr==0
                if  plot_dyn
                    plot3([in_data.ND(node,2) in_data.ND(node,2)], ...
                        [in_data.ND(node,3)  in_data.ND(node,3)],...
                        [in_data.ND(node,4)-labz in_data.ND(node,4)+labz],'b-','LineWidth',2);
                end
            end
            if in_data.dynam.TIMEHPL(1)-dofN*vr==-1
                if  plot_dyn
                    plot3([in_data.ND(node,2) in_data.ND(node,2)], ...
                        [in_data.ND(node,3)-laby  in_data.ND(node,3)+laby],...
                        [in_data.ND(node,4) in_data.ND(node,4)],'b-','LineWidth',2);
                end
            end
            if in_data.dynam.TIMEHPL(1)-dofN*vr==-2
                if  plot_dyn
                    plot3([in_data.ND(node,2)-labx in_data.ND(node,2)+labx], ...
                        [in_data.ND(node,3) in_data.ND(node,3)],...
                        [in_data.ND(node,4) in_data.ND(node,4)],'b-','LineWidth',2);
                end
            end
            rotate3d(gca); set(gcf,'Pointer','arrow');
            pause(0.01); hold off;
        end;
        if handles.in_data.type == 'bciz  '
            vr = ceil(in_data.dynam.TIMEHPL(1)/dofN);
            node = find(in_data.ND(:,1)==vr); hold on;
            if  plot_dyn
                plot(in_data.ND(node,2),in_data.ND(node,3),'b.','MarkerSize',14);
                plot(in_data.ND(node,2),in_data.ND(node,3),'bo','MarkerSize',18);
            end
            labx = (max(in_data.ND(:,2)) / 9); laby = (max(in_data.ND(:,3)) / 9);
            labx = min([labx laby]); laby = labx; SCz = .5; labz = SCz/2;
            if in_data.dynam.TIMEHPL(1)-dofN*vr==0
                if  plot_dyn
                    plot3([in_data.ND(node,2) in_data.ND(node,2)], ...
                        [in_data.ND(node,3)-laby  in_data.ND(node,3)+laby],...
                        [0 0],'b-','LineWidth',2);
                end
            end
            if in_data.dynam.TIMEHPL(1)-dofN*vr==-1
                if  plot_dyn
                    plot3([in_data.ND(node,2)-labx in_data.ND(node,2)+labx], ...
                        [in_data.ND(node,3) in_data.ND(node,3)],...
                        [0 0],'b-','LineWidth',2);
                end
            end
            if in_data.dynam.TIMEHPL(1)-dofN*vr==-2
                if  plot_dyn
                    plot3([in_data.ND(node,2) in_data.ND(node,2)], ...
                        [in_data.ND(node,3)  in_data.ND(node,3)],...
                        [0-labz 0+labz],'b-','LineWidth',2);
                end
            end
            rotate3d(gca); set(gcf,'Pointer','arrow');
            pause(0.01); hold off;
        end;
        %----
        
        
        if handles.in_data.type == '3dtrus'
            vr = ceil(in_data.dynam.TIMEHPL(1)/dofN);
            node = find(in_data.ND(:,1)==vr); hold on;
            if  plot_dyn
                plot3(in_data.ND(node,2),in_data.ND(node,3),in_data.ND(node,4),'b.','MarkerSize',14);
                plot3(in_data.ND(node,2),in_data.ND(node,3),in_data.ND(node,4),'bo','MarkerSize',18);
            end
            labx = (max(in_data.ND(:,2))/3); laby=(max(in_data.ND(:,3))/3); labz=(max(in_data.ND(:,4))/3);
            labx = min([labx laby labz]); laby = labx;  labz=labx;
            if in_data.dynam.TIMEHPL(1)-dofN*vr==0
                if  plot_dyn
                    plot3([in_data.ND(node,2) in_data.ND(node,2)], ...
                        [in_data.ND(node,3)  in_data.ND(node,3)],...
                        [in_data.ND(node,4)-labz in_data.ND(node,4)+labz],'b-','LineWidth',2);
                end
            end
            if in_data.dynam.TIMEHPL(1)-dofN*vr==-1
                if  plot_dyn
                    plot3([in_data.ND(node,2) in_data.ND(node,2)], ...
                        [in_data.ND(node,3)-laby  in_data.ND(node,3)+laby],...
                        [in_data.ND(node,4) in_data.ND(node,4)],'b-','LineWidth',2);
                end
            end
            if in_data.dynam.TIMEHPL(1)-dofN*vr==-2
                if  plot_dyn
                    plot3([in_data.ND(node,2)-labx in_data.ND(node,2)+labx], ...
                        [in_data.ND(node,3) in_data.ND(node,3)],...
                        [in_data.ND(node,4) in_data.ND(node,4)],'b-','LineWidth',2);
                end
            end
            rotate3d(gca); set(gcf,'Pointer','arrow');
            pause(0.01); hold off;
        end;
            
        %----

        end;
end;

⌨️ 快捷键说明

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