现代设计方法实验报告

合集下载

哈工大 机电产品现代设计方法实验报告

哈工大 机电产品现代设计方法实验报告

1 实验目的(1)掌握典型机电产品多学科协同优化设计软件环境组成,包括建模软件、分析软件、协同平台;(2)自主设计产品模型、分析过程、优化目标;(3) 对得到的优化结果进行定性分析,解释结果的合理性,编写上机实验报告。

2 实验内容(1) 轴或负载台的有限元分析(2) 基于Adams的运动学分析与仿真3实验相关情况介绍(包含使用软件或实验设备等情况)网络协同设计环境,如图1所示:包括产品CAD建模、有限元分析FEM、动力学仿真ADAMS和控制仿真MATLAB。

计算机网络硬件环境和相应软件环境。

图形工作站和路由器,安装协同设计仿真软件。

型图1 协同设计仿真平台组成典型机电产品协同设计仿真工作流程如下图2所示。

1)利用CAD建模工具,建立产品模型;2)利用ADAMS建立产品运动学模型;3)根据CAD和ADAMS传过来的结构模型和边界条件分析零件应力场和应变场;4)用ADAMS分析得到的运动参数(位移、速度)。

图2 协同设计仿真平台组成SysML语言是UML语言(Unified Modeling Language,统一建模语言,一种面向对象的标准建模语言,用于软件系统的可视化建模)在系统工程应用领域的延续和扩展,是近年提出的用于系统体系结构设计的多用途建模语言,用于对由软硬件、数据和人综合而成的复杂系统的集成体系结构进行可视化的说明、分析、设计及校验。

在这里我们绘制参数图如下。

在下面的参数图中,我们确定了系统中各部件的相互约束情况。

图4产品初步结构与SysML图4实验结果(含操作过程说明、结果记录及分析和实验总结等,可附页)(一)底座转台关键件有限元分析:1,在CAD中打开零件的三维模型图,导出为IGES格式模型文件(*.igs),在Ansys中运行file->import->IGSE...导入该模型; 或者按照以下步骤创建零件模型。

运行Preprocessor->Modeling->V olumns->Cylinder->Solide Cylinder,弹出如下对话框,在对话框中输入相应数值,。

现代设计黄金分割法、复合形法实验报告

现代设计黄金分割法、复合形法实验报告

《现代设计理论与方法》实验报告一、实验目的机械优化设计是一门实践性较强的课程,学生通过实际上机计算可以达到以下目的:1.加深对机械优化设计方法的基本理论和算法步骤的理解;2.培养学生独立编制或调试计算机程序的能力;3.掌握常用优化方法程序的使用方法;4.培养学生灵活运用优化设计方法解决工程实际问题的能力。

二、实验项目、学时分配及对每个实验项目的要求序号实验项目学时实验要求1 黄金分割法2 1.明确黄金分割法基本原理、计算步骤及程序框图;2.编制或调试黄金分割法应用程序;3.用测试题对所编程序进行测试;4.撰写实验报告。

2 复合形法41.明确复合形法基本原理、计算步骤及程序框图等;2.编制或调试复合形法应用程序;3.用测试题对所编程序进行测试;4.撰写实验报告。

三、测试题1.黄金分割法程序测试题1) ,取,,程序如下:#include<stdio.h>#include<conio.h>#include<math.h>#define e 0.00001#define tt 0.01float function(float x){float y=pow(x,2)-10*x+36;//求解的一维函数 return(y);}void finding(float a[3],float f[3]){float t=tt,a1,f1,ia;int i;a[0]=0;//初始区间的下界值f[0]=function(a[0]);for(i=0;;i++){a[1]=a[0]+t;f[1]=function(a[1]);if(f[1]<f[0]) break;if(fabs(f[1]-f[0])>=e){t=-t;a[0]=a[1];f[0]=f[1];}else{if(ia==1) return;t=t/2;ia=1;}}for(i=0;;i++){a[2]=a[1]+t;f[2]=function(a[2]);if(f[2]>f[1]) break;t=2*t;a[0]=a[1];f[0]=f[1];a[1]=a[2];f[1]=f[2];}if(a[0]>a[2]){a1=a[0];f1=f[0];a[0]=a[2];f[0]=f[2];a[2]=a1;f[2]=f1;}return;}float gold(float *ff){float a1[3],f1[3],a[4],f[4];float aa;int i;finding(a1,f1);a[0]=a1[0];f[0]=f1[0];a[3]=a1[2];f[3]=f1[2];a[1]=a[0]+0.382*(a[3]-a[0]);a[2]=a[0]+0.618*(a[3]-a[0]);f[1]=function(a[1]);f[2]=function(a[2]);for(i=0;;i++){if(f[1]>=f[2]){a[0]=a[1];f[0]=f[1];a[1]=a[2];f[1]=f[2];a[2]=a[0]+0.618*(a[3]-a[0]);f[2]=function(a[2]);}else{a[3]=a[2];f[3]=f[2];a[2]=a[1];f[2]=f[1];a[1]=a[0]+0.382*(a[3]-a[0]);f[1]=function(a[1]);}if((a[3]-a[0])<e){aa=(a[1]+a[2])/2;*ff=function(aa);break;}}return(aa);}void main(){float xx, ff;xx=gold(&ff);printf("\n The Optimal Design Result Is:\n"); printf("\n\tx*=%f\n\tf*=%f", xx, ff);getch();}运行结果:2) ,取,,程序如下:#include<stdio.h>#include<conio.h>#include<math.h>#define e 0.00001#define tt 0.01float function(float x){float y=pow(x,4)-5*pow(x,3)+4*pow(x,2)-6*x+60;//求解的一维函数 return(y);}void finding(float a[3],float f[3]){float t=tt,a1,f1,ia;int i;a[0]=0;//初始区间的下界值f[0]=function(a[0]);for(i=0;;i++){a[1]=a[0]+t;f[1]=function(a[1]);if(f[1]<f[0]) break;if(fabs(f[1]-f[0])>=e){t=-t;a[0]=a[1];f[0]=f[1];}else{if(ia==1) return;t=t/2;ia=1;}}for(i=0;;i++){a[2]=a[1]+t;f[2]=function(a[2]); if(f[2]>f[1]) break;t=2*t;a[0]=a[1];f[0]=f[1];a[1]=a[2];f[1]=f[2];}if(a[0]>a[2]){a1=a[0];f1=f[0];a[0]=a[2];f[0]=f[2];a[2]=a1;f[2]=f1;}return;}float gold(float *ff){float a1[3],f1[3],a[4],f[4];float aa;int i;finding(a1,f1);a[0]=a1[0];f[0]=f1[0];a[3]=a1[2];f[3]=f1[2];a[1]=a[0]+0.382*(a[3]-a[0]);a[2]=a[0]+0.618*(a[3]-a[0]);f[1]=function(a[1]);f[2]=function(a[2]);for(i=0;;i++){if(f[1]>=f[2]){a[0]=a[1];f[0]=f[1];a[1]=a[2];f[1]=f[2];a[2]=a[0]+0.618*(a[3]-a[0]);f[2]=function(a[2]);}else{a[3]=a[2];f[3]=f[2];a[2]=a[1];f[2]=f[1];a[1]=a[0]+0.382*(a[3]-a[0]);f[1]=function(a[1]);}if((a[3]-a[0])<e){aa=(a[1]+a[2])/2;*ff=function(aa);break;}}return(aa);}void main(){float xx, ff;xx=gold(&ff);printf("\n The Optimal Design Result Is:\n");printf("\n\tx*=%f\n\tf*=%f", xx, ff);getch();}运行结果如下:3) ,其中,取,,程序如下:#include<stdio.h>#include<conio.h>#include<math.h>#define e 0.00001#define tt 0.01float function(float x){float y=(x+1)*pow((x-2),2);//求解的一维函数return(y);}void finding(float a[3],float f[3]){float t=tt,a1,f1,ia;int i;a[0]=0;//初始区间的下界值f[0]=function(a[0]);for(i=0;;i++){a[1]=a[0]+t;f[1]=function(a[1]); if(f[1]<f[0]) break;if(fabs(f[1]-f[0])>=e){t=-t;a[0]=a[1];f[0]=f[1];}else{if(ia==1) return;t=t/2;ia=1;}}for(i=0;;i++){a[2]=a[1]+t;f[2]=function(a[2]); if(f[2]>f[1]) break;t=2*t;a[0]=a[1];f[0]=f[1];a[1]=a[2];f[1]=f[2];}if(a[0]>a[2]){a1=a[0];f1=f[0];a[0]=a[2];f[0]=f[2];a[2]=a1;f[2]=f1;}return;}float gold(float *ff){float a1[3],f1[3],a[4],f[4];float aa;int i;finding(a1,f1);a[0]=a1[0];f[0]=f1[0];a[3]=a1[2];f[3]=f1[2];a[1]=a[0]+0.382*(a[3]-a[0]);a[2]=a[0]+0.618*(a[3]-a[0]);f[1]=function(a[1]);f[2]=function(a[2]);for(i=0;;i++){if(f[1]>=f[2]){a[0]=a[1];f[0]=f[1];a[1]=a[2];f[1]=f[2];a[2]=a[0]+0.618*(a[3]-a[0]);f[2]=function(a[2]);}else{a[3]=a[2];f[3]=f[2];a[2]=a[1];f[2]=f[1];a[1]=a[0]+0.382*(a[3]-a[0]);f[1]=function(a[1]);}if((a[3]-a[0])<e){aa=(a[1]+a[2])/2;*ff=function(aa);break;}}return(aa);}void main(){float xx, ff;xx=gold(&ff);printf("\n The Optimal Design Result Is:\n"); printf("\n\tx*=%f\n\tf*=%f", xx, ff);getch();}运行结果如下:2.复合形法程序测试题1)取:程序如下:#include "math.h"#include "stdio.h"#include "stdlib.h"#define E1 0.001#define ep 0.00001#define n 2#define k 4double af;int i,j;double X0[n],XX[n],X[k][n],FF[k];double a[n],b[n];double rm=2657863.0;double F(double C[n]){double F;F=pow(C[0]-2,2)+pow(C[1]-1,2);return F;}int cons(double D[n]){if((D[1]-pow(D[0],2)>=0)&&((2-D[0]-D[1])>=0)) return 1;elsereturn 0;}void bou(){a[0]=-5,b[0]=6;a[1]=-5,b[1]=8;}double r(){double r1,r2,r3,rr;r1=pow(2,35);r2=pow(2,36);r3=pow(2,37);rm=5*rm; if(rm>=r3){rm=rm-r3;}if(rm>=r2){rm=rm-r2;}if(rm>=r1){rm=rm-r1;}rr=rm/r1;return rr;}void produce(double A[n],double B[n]){int jj;double S;s1: for(i=0;i<n;i++){S=r();XX[i]=A[i]+S*(B[i]-A[i]);}if(cons(XX)==0){goto s1;}for(i=0;i<n;i++){X[0][i]=XX[i];}for(j=1;j<k;j++){for(i=0;i<n;i++){S=r();X[j][i]=A[i]+S*(B[i]-A[i]);}}for(j=1;j<k;j++){for(i=0;i<n;i++){X0[i]=0;for(jj=1;jj<j+1;jj++){X0[i]+=X[jj][i];}X0[i]=(1/j)*(X0[i]);}if(cons(X0)==0){goto s1;}for(i=0;i<n;i++){XX[i]=X[j][i];}while(cons(XX)==0){for(i=0;i<n;i++){X[j][i]=X0[i]+0.5*(X[j][i]-X0[i]); XX[i]=X[j][i];}}}}main(){double EE,Xc[n],Xh[n],Xg[n],Xl[n],Xr[n],Xs[n],w; int l,lp,lp1;bou();s111:produce(a,b);s222:for(j=0;j<k;j++){for(i=0;i<n;i++){XX[i]=X[j][i];}FF[j]=F(XX);}for(l=0;l<k-1;l++){for(lp=0;lp<k-1;lp++){lp1=lp+1;if(FF[lp]<FF[lp1]){w=FF[lp];FF[lp]=FF[lp1];FF[lp1]=w;for(i=0;i<n;i++){XX[i]=X[lp][i];X[lp][i]=X[lp1][i];X[lp1][i]=XX[i]; }}}}for(i=0;i<n;i++){Xh[i]=X[0][i];Xg[i]=X[l][i];Xl[i]=X[k-1][i];}for(i=0;i<n;i++){Xs[i]=0;for(j=0;j<k;j++){Xs[i]+=X[j][i];}Xs[i]=1/(k+0.0)*Xs[i];}EE=0;for(j=0;j<k;j++){EE+=pow((FF[j]-F(Xs)),2); }EE=pow((1/(k+0.0)*EE),0.5); if(EE<=E1){goto s333;}for(i=0;i<n;i++){Xc[i]=0;for(j=1;j<k;j++){Xc[i]+=X[j][i];}Xc[i]=1/(k-1.0)*Xc[i]; }if(cons(Xc)==1){af=1.3;ss:for(i=0;i<n;i++){Xr[i]=Xc[i]+af*(Xc[i]-Xh[i]); }if(cons(Xr)==1){if(F(Xr)>=F(Xh)){if(af<=ep){for(i=0;i<n;i++){Xh[i]=Xg[i];}af=1.3;goto ss;}else{af=1/2.0*af;goto ss;}}else{for(i=0;i<n;i++){X[0][i]=Xr[i];}goto s222;}}else{af=1/2.0*af;goto ss;}}else{for(i=0;i<n;i++){if(Xl[i]<Xc[i]){a[i]=Xl[i];b[i]=Xc[i];}else{a[i]=Xc[i];b[i]=Xl[i];}}goto s111;}s333:printf("F(Xmin)=%f\n",F(Xl));for(i=0;i<n;i++){printf("\n The X%d is %f.",i,Xl[i]); }}运行结果如下:2)取:程序如下:#include "math.h"#include "stdio.h"#include "stdlib.h"#define E1 0.001#define ep 0.00001#define n 4#define k 6double af;int i,j;double X0[n],XX[n],X[k][n],FF[k];double a[n],b[n];double rm=2657863.0;double F(double C[n]){double F;F=100*pow(C[1]-C[0],2)+pow(1-C[0],2)+90*pow(C[3]-(pow(C[2],2)),2)+pow(1-C[2],2)+10*(pow(C[0]-1,2)+pow(C[3]-1,2))+19.8*(C[1]-1)*(C[3]-1);return F;}int cons(double D[n]){if((D[0]>=-10)&&(D[1]>=-10)&&(D[2]>=-10)&&(D[3]>=-10)&&(D[0]<=10)&&(D[1]<=10)&&(D[2]<=10)&&(D[3]<=10))return 1;elsereturn 0;}void bou(){a[0]=-10,b[0]=10;a[1]=-10,b[1]=10;a[2]=-10,b[2]=10;a[3]=-10,b[3]=10;}double r(){double r1,r2,r3,rr;r1=pow(2,35);r2=pow(2,36);r3=pow(2,37);rm=5*rm;if(rm>=r3){rm=rm-r3;}if(rm>=r2){rm=rm-r2;}if(rm>=r1){rm=rm-r1;}rr=rm/r1;return rr;}void produce(double A[n],double B[n]){int jj;double S;s1: for(i=0;i<n;i++){S=r();XX[i]=A[i]+S*(B[i]-A[i]);}if(cons(XX)==0){goto s1;}for(i=0;i<n;i++){X[0][i]=XX[i];}for(j=1;j<k;j++){for(i=0;i<n;i++){S=r();X[j][i]=A[i]+S*(B[i]-A[i]); }}for(j=1;j<k;j++){for(i=0;i<n;i++){X0[i]=0;for(jj=1;jj<j+1;jj++){X0[i]+=X[jj][i];}X0[i]=(1/j)*(X0[i]);}if(cons(X0)==0){goto s1;}for(i=0;i<n;i++){XX[i]=X[j][i];}while(cons(XX)==0){for(i=0;i<n;i++){X[j][i]=X0[i]+0.5*(X[j][i]-X0[i]);XX[i]=X[j][i];}}}}main(){double EE,Xc[n],Xh[n],Xg[n],Xl[n],Xr[n],Xs[n],w; int l,lp,lp1;bou();s111:produce(a,b);s222:for(j=0;j<k;j++){for(i=0;i<n;i++){XX[i]=X[j][i];}FF[j]=F(XX);}for(l=0;l<k-1;l++){for(lp=0;lp<k-1;lp++){lp1=lp+1;if(FF[lp]<FF[lp1]){w=FF[lp];FF[lp]=FF[lp1];FF[lp1]=w;for(i=0;i<n;i++){XX[i]=X[lp][i];X[lp][i]=X[lp1][i];X[lp1][i]=XX[i]; }}}}for(i=0;i<n;i++){Xh[i]=X[0][i];Xg[i]=X[l][i];Xl[i]=X[k-1][i];}for(i=0;i<n;i++){Xs[i]=0;for(j=0;j<k;j++){Xs[i]+=X[j][i];}Xs[i]=1/(k+0.0)*Xs[i];}EE=0;for(j=0;j<k;j++){EE+=pow((FF[j]-F(Xs)),2);}EE=pow((1/(k+0.0)*EE),0.5);if(EE<=E1){goto s333;}for(i=0;i<n;i++){Xc[i]=0;for(j=1;j<k;j++){Xc[i]+=X[j][i];}Xc[i]=1/(k-1.0)*Xc[i];}if(cons(Xc)==1){af=1.3;ss:for(i=0;i<n;i++){Xr[i]=Xc[i]+af*(Xc[i]-Xh[i]); }if(cons(Xr)==1){if(F(Xr)>=F(Xh)){if(af<=ep){for(i=0;i<n;i++){Xh[i]=Xg[i];}af=1.3;goto ss;}else{af=1/2.0*af;goto ss;}}else{for(i=0;i<n;i++){X[0][i]=Xr[i];}goto s222;}}else{af=1/2.0*af;goto ss;}}else{for(i=0;i<n;i++){if(Xl[i]<Xc[i]){a[i]=Xl[i];b[i]=Xc[i];}else{a[i]=Xc[i];b[i]=Xl[i];}}goto s111;}s333:printf("F(Xmin)=%f\n",F(Xl));for(i=0;i<n;i++){printf("\n The X%d is %f.",i,Xl[i]); }}运行结果下:3)取:程序如下:#include "math.h"#include "stdio.h"#include "stdlib.h"#define E1 0.001#define ep 0.00001#define n 2#define k 4double af;int i,j;double X0[n],XX[n],X[k][n],FF[k];double a[n],b[n];double rm=2657863.0;double F(double C[n]){double F;F=pow(C[0],2)+pow(C[1],2)-C[0]*C[1]-10*C[0]-4*C[1]+60; return F;}int cons(double D[n]){if((D[0]>=0)&&(D[1]>=0)&&(6-D[0]>=0)&&(8-D[1]>=0)) return 1;elsereturn 0;}void bou(){a[0]=0,b[0]=6;a[1]=0,b[1]=8;}double r(){double r1,r2,r3,rr;r1=pow(2,35);r2=pow(2,36);r3=pow(2,37);rm=5*rm;if(rm>=r3){rm=rm-r3;}if(rm>=r2){rm=rm-r2;}if(rm>=r1){rm=rm-r1;}rr=rm/r1;return rr;void produce(double A[n],double B[n]) {int jj;double S;s1: for(i=0;i<n;i++){S=r();XX[i]=A[i]+S*(B[i]-A[i]);}if(cons(XX)==0){goto s1;}for(i=0;i<n;i++){X[0][i]=XX[i];}for(j=1;j<k;j++){for(i=0;i<n;i++){S=r();X[j][i]=A[i]+S*(B[i]-A[i]);}}for(j=1;j<k;j++){for(i=0;i<n;i++){X0[i]=0;for(jj=1;jj<j+1;jj++){X0[i]+=X[jj][i];X0[i]=(1/j)*(X0[i]);}if(cons(X0)==0){goto s1;}for(i=0;i<n;i++){XX[i]=X[j][i];}while(cons(XX)==0){for(i=0;i<n;i++){X[j][i]=X0[i]+0.5*(X[j][i]-X0[i]);XX[i]=X[j][i];}}}}main(){double EE,Xc[n],Xh[n],Xg[n],Xl[n],Xr[n],Xs[n],w; int l,lp,lp1;bou();s111:produce(a,b);s222:for(j=0;j<k;j++){for(i=0;i<n;i++){XX[i]=X[j][i];FF[j]=F(XX);}for(l=0;l<k-1;l++){for(lp=0;lp<k-1;lp++){lp1=lp+1;if(FF[lp]<FF[lp1]){w=FF[lp];FF[lp]=FF[lp1];FF[lp1]=w;for(i=0;i<n;i++){XX[i]=X[lp][i];X[lp][i]=X[lp1][i];X[lp1][i]=XX[i]; }}}}for(i=0;i<n;i++){Xh[i]=X[0][i];Xg[i]=X[l][i];Xl[i]=X[k-1][i];}for(i=0;i<n;i++){Xs[i]=0;for(j=0;j<k;j++){Xs[i]+=X[j][i];}Xs[i]=1/(k+0.0)*Xs[i];}EE=0;for(j=0;j<k;j++){EE+=pow((FF[j]-F(Xs)),2);}EE=pow((1/(k+0.0)*EE),0.5);if(EE<=E1){goto s333;}for(i=0;i<n;i++){Xc[i]=0;for(j=1;j<k;j++){Xc[i]+=X[j][i];}Xc[i]=1/(k-1.0)*Xc[i];}if(cons(Xc)==1){af=1.3;ss:for(i=0;i<n;i++){Xr[i]=Xc[i]+af*(Xc[i]-Xh[i]); }if(cons(Xr)==1){if(F(Xr)>=F(Xh)){if(af<=ep){for(i=0;i<n;i++){Xh[i]=Xg[i];}af=1.3;goto ss;}else{af=1/2.0*af;goto ss;}}else{for(i=0;i<n;i++){X[0][i]=Xr[i];}goto s222;}}else{af=1/2.0*af;goto ss;}}else{for(i=0;i<n;i++){if(Xl[i]<Xc[i]){a[i]=Xl[i];b[i]=Xc[i];} else{a[i]=Xc[i];b[i]=Xl[i];}}goto s111;}s333:printf("F(Xmin)=%f\n",F(Xl));for(i=0;i<n;i++){printf("\n The X%d is %f.",i,Xl[i]);}}运行结果如下:四、实验心得与体会1.通过本次实验熟悉了黄金分割法与复合形法上机步骤。

机构运动创新设计方案实验报告

机构运动创新设计方案实验报告

机构运动创新设计方案实验报告实验报告:机构运动创新设计方案一、引言在现代科技的快速发展下,机构运动在各个领域中得到广泛的应用。

机构运动是指通过构建一系列架构、链接和驱动来实现物体的特定运动方式。

本实验旨在开发一种创新的机构运动设计方案,以提高机构系统的效率和性能。

二、实验目标1. 设计一种能够实现特定运动方式的机构系统,并验证其效果。

2. 通过对机构系统的优化,提高其运动效率和性能。

3. 分析机构系统的运动原理和特点,探讨其应用前景。

三、实验方法1. 设计和构建机构系统:基于机械原理和运动学知识,设计并构建一种机构系统,以实现特定的运动方式。

2. 制作实验样本:使用3D打印技术或其他材料制作出机构系统的实验样本。

3. 进行运动实验:通过施加外力或输入动力,观察机构系统的运动过程,并记录关键参数。

4. 优化机构系统:根据实验结果,对机构系统的结构和驱动方式进行优化,提高其运动效率和性能。

四、实验结果与分析经过多次实验和优化,我们得到了一种创新的机构运动设计方案。

通过调整机构系统的结构和驱动方式,我们成功实现了特定的运动方式,并达到了预期的效果。

通过实验观察和参数记录,我们得到了机构系统的运动特点和性能。

与传统的机构运动方式相比,我们的设计方案具有以下优点:1. 精确度和稳定性:通过优化机构结构和驱动方式,我们的设计方案能够实现更精确和稳定的运动,减小误差和波动。

2. 高效性:通过改进机构系统的传动和驱动机制,我们的设计方案能够提高运动效率,减少能量损失。

3. 可控性和可调节性:我们的设计方案允许用户对运动参数进行调整和控制,以满足不同场景和需求的运动要求。

4. 可扩展性和灵活性:基于我们的设计方案,可以进一步扩展和改进机构系统,以适应更复杂和多样化的运动需求。

五、结论和展望本实验成功设计并优化了一种创新的机构运动方案,通过实验验证了其效果和性能。

我们的设计方案在精确度、稳定性、高效性、可控性和可扩展性方面具有优势,具有较大的应用潜力。

设计模式实验报告总结(3篇)

设计模式实验报告总结(3篇)

第1篇一、实验背景随着软件工程的不断发展,设计模式作为一种解决软件开发中常见问题的有效方法,越来越受到广泛关注。

本次实验旨在通过学习设计模式,提高编程能力,掌握解决实际问题的方法,并加深对设计模式的理解。

二、实验目的1. 理解设计模式的基本概念和分类;2. 掌握常见设计模式的原理和应用;3. 提高编程能力,学会运用设计模式解决实际问题;4. 培养团队协作精神,提高项目开发效率。

三、实验内容本次实验主要涉及以下设计模式:1. 创建型模式:单例模式、工厂模式、抽象工厂模式、建造者模式;2. 结构型模式:适配器模式、装饰者模式、桥接模式、组合模式、外观模式;3. 行为型模式:策略模式、模板方法模式、观察者模式、责任链模式、命令模式。

四、实验过程1. 阅读相关资料,了解设计模式的基本概念和分类;2. 分析每种设计模式的原理和应用场景;3. 编写代码实现常见设计模式,并进行分析比较;4. 将设计模式应用于实际项目中,解决实际问题;5. 总结实验经验,撰写实验报告。

五、实验结果与分析1. 创建型模式(1)单例模式:通过控制对象的实例化,确保一个类只有一个实例,并提供一个访问它的全局访问点。

实验中,我们实现了单例模式,成功避免了资源浪费和同步问题。

(2)工厂模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类。

实验中,我们使用工厂模式创建不同类型的交通工具,提高了代码的可扩展性和可维护性。

(3)抽象工厂模式:提供一个接口,用于创建相关或依赖对象的家族,而不需要指定具体类。

实验中,我们使用抽象工厂模式创建不同类型的计算机,实现了代码的复用和扩展。

(4)建造者模式:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。

实验中,我们使用建造者模式构建不同配置的房屋,提高了代码的可读性和可维护性。

2. 结构型模式(1)适配器模式:将一个类的接口转换成客户期望的另一个接口,使原本接口不兼容的类可以一起工作。

平面构成设计实验报告(3篇)

平面构成设计实验报告(3篇)

第1篇一、实验目的本次平面构成设计实验旨在通过理论与实践相结合的方式,培养我们对图形的抽象理解和创造能力。

通过学习点、线、面等基本构成元素及其在平面设计中的应用,提升我们的审美能力和设计思维,为今后从事相关设计工作打下坚实的基础。

二、实验背景平面构成是现代艺术设计的基础课程之一,它通过研究点、线、面等基本元素在二维空间中的组合关系,探讨视觉规律和审美原则,为平面设计提供理论支持和实践指导。

在本次实验中,我们将学习平面构成的四大基本形式:重复、渐变、近似和发射,并尝试运用这些形式进行创作。

三、实验内容1. 点、线、面构成- 点构成:通过不同大小的点、不同形状的点以及点的疏密排列,表现不同的视觉效果。

- 线构成:通过不同粗细、不同方向的线以及线的曲直变化,表现不同的视觉效果。

- 面构成:通过不同形状、不同大小的面以及面的疏密排列,表现不同的视觉效果。

2. 重复构成- 重复构成是指将同一图形或图形元素按照一定的规律重复排列,形成有序的视觉效果。

- 在本次实验中,我们将尝试使用不同的图形和排列方式,表现重复构成的节奏感和韵律感。

3. 渐变构成- 渐变构成是指将图形或图形元素按照一定的规律进行渐变处理,形成渐变效果。

- 在本次实验中,我们将尝试使用颜色渐变、形状渐变、大小渐变等方式,表现渐变构成的层次感和空间感。

4. 近似构成- 近似构成是指将不同图形或图形元素进行近似处理,形成具有相似特征的视觉效果。

- 在本次实验中,我们将尝试使用形状近似、颜色近似、纹理近似等方式,表现近似构成的和谐感和统一感。

5. 发射构成- 发射构成是指以一个点为中心,将图形或图形元素按照一定的规律向外发射,形成辐射状的视觉效果。

- 在本次实验中,我们将尝试使用不同的发射方向和发射数量,表现发射构成的动态感和扩张感。

四、实验步骤1. 准备材料:收集各种图形素材,包括点、线、面等基本元素,以及各种颜色、形状、纹理等。

2. 构思创意:根据实验目的和要求,结合个人兴趣和审美观念,构思创意主题。

家具设计实验报告

家具设计实验报告

家具设计实验报告一、实验目的本次家具设计实验旨在探索创新的设计理念,结合人体工程学和现代审美趋势,创造出既实用又美观的家具作品,以满足人们日益多样化的生活需求。

二、实验背景随着人们生活水平的提高,对于家具的要求不再仅仅局限于功能性,更注重其设计感、舒适度和个性化。

传统的家具设计模式逐渐难以满足市场的需求,因此需要通过实验来开拓新的设计思路和方法。

三、实验材料与工具1、材料:实木板材(如橡木、胡桃木)、人造板材(如刨花板、中密度纤维板)、金属管材(如不锈钢、铝合金)、皮革、布料、海绵等。

2、工具:电锯、电钻、砂光机、缝纫机、焊接设备、测量工具(尺子、角度尺等)、绘图工具(铅笔、绘图板、橡皮擦等)。

四、实验过程1、设计构思首先,进行了大量的市场调研和用户需求分析,了解当前流行的家具风格和消费者的喜好。

然后,结合人体工程学原理,确定家具的尺寸和功能布局。

例如,对于椅子的设计,考虑到人的坐姿和脊椎曲线,确定了合适的座高、座深和靠背角度。

最后,通过手绘草图和计算机辅助设计软件(如 CAD、3DMAX 等),绘制出家具的初步设计方案。

2、模型制作根据设计方案,选择合适的材料进行模型制作。

对于实木板材,使用电锯进行切割和修整,然后用砂光机打磨光滑;对于金属管材,使用焊接设备进行连接和塑形。

在制作过程中,不断对模型进行调整和改进,以确保其结构的稳定性和合理性。

3、样品制作在模型制作完成并经过评估和修改后,开始制作样品。

使用与实际生产相同的工艺和材料,尽可能还原设计方案的效果。

对样品进行严格的质量检测,包括外观检查、尺寸测量、强度测试等,确保其符合设计要求和相关标准。

4、用户体验测试邀请了一批志愿者对样品进行使用体验测试,收集他们的反馈意见和建议。

志愿者们从舒适度、实用性、美观度等方面对家具进行评价,并提出了一些改进的意见,如增加扶手的柔软度、调整抽屉的开合力度等。

五、实验结果与分析1、功能实现设计的家具在功能上基本满足了预期的要求。

设计构成实验报告

设计构成实验报告

一、实验目的本次实验旨在通过实践操作,让学生了解和掌握设计构成的基本原理和方法,培养学生的创新思维和动手能力,提高学生在设计领域的综合素质。

二、实验原理设计构成是现代设计领域的基础课程,主要包括以下内容:1. 设计构成的基本元素:点、线、面、体等。

2. 设计构成的基本方法:重复、对比、对称、均衡、节奏、比例等。

3. 设计构成的应用:平面构成、立体构成、色彩构成等。

三、实验内容1. 平面构成实验(1)实验目的:通过平面构成实验,使学生掌握平面构成的基本元素和基本方法。

(2)实验步骤:①准备材料:纸张、铅笔、橡皮、尺子等。

② 绘制基本元素:点、线、面。

③ 运用基本方法:重复、对比、对称、均衡、节奏、比例等,进行平面构成设计。

④ 完成作品,并提交实验报告。

2. 立体构成实验(1)实验目的:通过立体构成实验,使学生掌握立体构成的基本元素和基本方法。

(2)实验步骤:① 准备材料:泡沫板、剪刀、胶水、颜料等。

② 切割、组合泡沫板,形成立体构成作品。

③ 运用基本方法:重复、对比、对称、均衡、节奏、比例等,进行立体构成设计。

④ 完成作品,并提交实验报告。

3. 色彩构成实验(1)实验目的:通过色彩构成实验,使学生掌握色彩构成的基本原理和方法。

(2)实验步骤:① 准备材料:颜料、画笔、纸张等。

② 学习色彩理论,了解色彩的基本属性。

③ 运用色彩构成的基本方法:对比、调和、互补等,进行色彩构成设计。

④ 完成作品,并提交实验报告。

四、实验结果与分析1. 平面构成实验实验结果表明,学生在平面构成方面掌握了一定的基本元素和基本方法,能够运用这些方法进行平面构成设计。

2. 立体构成实验实验结果表明,学生在立体构成方面具备了一定的动手能力,能够运用泡沫板等材料进行立体构成设计。

3. 色彩构成实验实验结果表明,学生在色彩构成方面掌握了色彩的基本属性和基本方法,能够运用这些方法进行色彩构成设计。

五、实验总结本次实验通过平面构成、立体构成和色彩构成三个方面的实践操作,使学生了解了设计构成的基本原理和方法,提高了学生的创新思维和动手能力。

优化设计的实验报告

优化设计的实验报告

优化设计的实验报告一、设计目的和背景现代工程设计中,优化设计是提高产品性能和降低成本的重要手段之一、优化设计的目标是通过合理的设计改进产品的形状、结构、材料和工艺等方面,使得产品在给定的约束条件下达到最优性能。

本实验旨在通过优化设计的方法,提高一个结构件的刚度。

二、实验内容实验采用有限元分析软件对原始结构件进行建模和分析,确定初始的结构刚度。

然后,在对初始结构进行可行性分析的基础上,采用一种优化算法,按照给定的约束条件进行优化设计,得到改进后的结构。

最后,再次使用有限元分析软件对改进后的结构进行分析,得到新的结构刚度。

三、实验步骤1.建立原始结构件的有限元模型。

首先,使用有限元分析软件将原始结构件的几何形状转换为一个虚拟三维模型。

然后,在模型上划分网格,并设置结构件材料的力学参数,以及边界条件等。

2.进行有限元分析。

对于原始结构件的有限元模型,进行静态或动态分析,得到相应的位移和应力场。

3.可行性分析。

根据分析结果,评估是否存在结构刚度不足问题,以及可能的改进方向。

4.优化设计。

根据可行性分析的结果,选择一种适当的优化算法进行设计优化。

将原始结构件的有限元模型作为初始解,通过迭代更新模型参数,直到满足约束条件。

5.进行新结构的有限元分析。

在得到优化后的结构模型后,使用有限元分析软件进行新结构的分析,得到新的位移和应力场。

6.结果分析和比较。

对比优化前后的分析结果,分析改进的效果,验证优化设计的可行性和有效性。

四、实验结果和分析根据实验中的步骤,首先对原始结构进行有限元分析,得到其初始的位移和应力场。

然后,根据初始分析结果进行可行性分析,发现结构刚度不足的问题。

在优化设计过程中,采用遗传算法对结构进行优化,设置约束条件为使结构刚度提高20%。

经过多次迭代后,得到优化后的结构。

最后,再次进行有限元分析,得到新的位移和应力场。

通过对比优化前后的分析结果,发现新结构在刚度方面有了显著的提高,并且在位移和应力方面也有所改善。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程名称:现代设计方法实验报告实验项目:1.AutoCAD使用的基本知识2.AutoCAD基本命令使用3.学习AutoCAD图形显示、图层和线性实验一AutoCAD使用的基本知识一、实验目的与要求:(1)掌握AutoCAD的安装和起动(2)了解AutoCAD操作界面组成二、实验设备:AutoCAD安装软件、多媒体电脑等。

三、实验内容(实验步骤及操作方法):1. AutoCAD的安装非常方便,同其它软件包的安装基本一样,其要点如下: 在光盘上找到SETUP.EXE文件并执行; 在序列号对话框中输入正确的软件序列号;在目标位置对话框中,可考虑将AutoCAD安装在空间相对富裕的驱动器下; 在安装类型对话框中,根据需要以及硬盘空间大小,合理选择安装类型为典型、完全、精简或自定义;在文件夹名称对话框中,为AutoCAD指定一个程序文件夹。

2. AutoCAD操作界面的组成及作用 标题栏标题栏位于工作界面的最上面,用来显示AutoCAD的程序图标以及当前正在运行文件的名字(第一个文件和没打开其他图形显示的是Drawing1.dwg)等信息。

单击位于标题栏右侧的按钮,可分别实现窗口的最小化、还原、最大化以及关闭AutoCAD等操作。

单击标题栏最左边AutoCAD的小图标,会弹出一个AutoCAD窗口控制下拉菜单,利用该下拉菜单中的命令,也可以进行最小化或最大化窗口、恢复窗口、移动窗口或关闭AutoCAD等操作,双击该控制图标可以关闭应用程序。

工具栏工具栏是AutoCAD提供的一种调用命令的方式,它包含多个由图标表示的命令按钮,单击这些图标按钮,就可以调用相应的AutoCAD命令。

菜单栏与快捷菜单AutoCAD的菜单栏由“文件”、“编辑”、“视图”、“插入”、“格式”、“工具”、“绘图”、“标注”及“修改”等菜单组成,这些菜单包括了AutoCAD几乎全部的功能和命令。

绘图区绘图区是用户进行绘图和显示图形的区域,类似于手工绘图时的图纸。

当鼠标指针位于绘图区时,会变成十字光标,其中心有一个小方块,称为目标框,可以用来选择对象,使其变成可编辑状态。

命令区与命令窗口绘图区的下方是命令行及命令窗口。

命令行用于显示用户从键盘、菜单或工具栏中按钮中输入的命令内容(命令不分大小写,可完整缩写);命令窗口中含有AutoCAD启动后所用过的全部命令及提示信息。

用户可通过按F2键来打开它。

状态栏AutoCAD的最下部是状态栏,状态栏左边显示了当前十字光标所在位置的三维坐标,状态栏中部是一些按钮,表示绘图时是否启用正交模式、栅格捕捉、栅格显示等功能,以及当前的绘图空间等。

选项卡每当新建一张CAD图时,选项卡都会有“模型”、“布局1”、“布局2”、3个选择项目。

选择不同的项目,就会在绘图区显示该选项的内容。

工具选项板工具选项板是一种可由用户定制的工具面板,为一些常用的工具实现更为快捷的调用。

四、思考题:1、AutoCAD在工业上的应用范围?现在的许多工业和结构设计项目,都是通过先进的CAD技术来完成的,比如AutoCAD软件。

为了保证各种工程学科之间的协调性,设计人员可以通过AutoCAD 软件,把这些学科的一些操作过程和结构细节,集中到一个共享的总体布置(GA)模型中。

该模型可以很容易的帮助设计人员,来完成多点负载或悬挂负载的框架设计,如管道,电力管道和起重机等。

AutoCAD的软件功能,还有助于用户减少在初始阶段产生的成本预算,并全面的完善材料清单。

2、AutoCAD的绘图界面都有哪些内容?3、1、标题栏;2、菜单栏;3、工具栏;4、绘图区;5、命令窗口;6、状态栏。

实验二AutoCAD基本命令使用一、实验目的与要求:(1)进一步加深对AutoCAD软件的认识。

(2)掌握AutoCAD的基本操作方法。

二、实验设备:AutoCAD软件、多媒体电脑等。

三、实验内容(实验步骤及操作方法):1. AutoCAD文件操作:启动AutoCAD系统,进入用户操作界面。

在命令行输入“Open”并回车,启动“选择文件”对话框,打开一个已有图形文件。

在命令行输入“Save”或“Saveas”并回车,启动“选择文件”对话框,将为当前文件保存为图形格式文件(.dwg) 2. AutoCAD绘图环境设置: 绘图界限设置1)在命令行输入“Limits”并回车设置绘图界限。

2)输入绘图界限的左下角坐标,右上角坐标。

3)单击状态栏的“栅格”按钮,观察绘图区中的绘图界限。

绘图单位设置1)在命令行输入“Units”并回车,系统弹出“绘图单位”对话框。

2)在对话框中选择长度“类型”及“精度”,再选择角度“类型”及“精度”。

3)按“确定”按钮。

3. 认识AutoCAD坐标系:1)启动AutoCAD,进入用户操作界面。

2)在默认状态下,AutoCAD处于世界坐标环节中,观察左下角坐标系图标。

3)在命令行输入“ucs”并回车,输入“z”并回车,输入“45”并回车,此时系统处于用户坐标系环境中,再观察坐标系图标,与世界坐标系有何不同。

4)在命令行输入“ucs”并回车,输入“w”并回车,AutoCAD又返回至世界坐标系。

5)在命令行输入“ucs”并回车,输入“y”并回车,输入“180”并回车,再观察坐标系图标,与世界坐标系有何不同。

6)在命令行输入“Line”并回车,画一条直线。

输入“ucs”并回车,输入“Ob”并回车,选择直线的某一端。

4. 输入坐标:1)在命令行输入“Line”并回车,输入起点坐标(10,10),回车,输入终点坐标(50,60),回车。

再回车结束画线。

2)在命令行输入“Line”并回车,输入起点坐标,输入相对坐标(@30,50),回车。

再回车结束画线。

3)在命令行输入“Line”并回车,输入起点坐标(0,0),回车,输入绝对极坐标(100<50),回车。

再回车结束画线。

4)在命令行输入“Line”并回车,单击鼠标左键输入起点坐标,输入相对极坐标(@100<50),回车。

再回车结束画线。

5. 绘制图形:在绘图区中绘制一个边长为200的正五角星,其内角为36度。

四、思考题1、如何改变栅格间距?在菜单栏中选择“工具-绘图设置”命令,弹出“草图设置”对话框,选择“捕捉和栅格”选项卡,在栅格间距选项组中设置“栅格X轴间距”为20,“栅格Y 轴间距”为20。

2、AutoCAD的坐标输入有哪些方式?大分两种,普通坐标和极坐标。

小分四种。

1绝对坐标X,Y 2相对坐标@X,Y3绝对极坐标长<角度4相对极坐标@长<角度实验三学习AutoCAD图形显示、图层和线性一、实验目的与要求:(1)了解AutoCAD图层作用。

(2)掌握AutoCAD图层设置方法。

(3)掌握AutoCAD线型设置等操作方法。

二、实验设备:AutoCAD软件、多媒体电脑等。

三、实验内容(实验步骤及操作方法):1. AutoCAD图层设置和控制: 新建图层操作1)在命令行输入“Layer”并回车,启动“”图层特性管理器对话框。

2)单击“新建”按钮,将“图层1”改为“tc1”。

3)按照上步,再新建“tc2”、“tc3”、“tc4”三个图层。

设置当前层操作1)单击“tc2”选择图层,2)单击“当前”按钮,将“tc2”改为当前层,3)用“工具栏”设置当前图层。

删除图层操作1)单击“tc3”选择图层,2)单击“删除”按钮,删除图层“tc3”,3)用“Delete”键删除图层。

图层控制操作1)新建“tc1”“tc2”“tc3”“tc4”四个图层2)将“tc1”设置为当前层,用画线(Line)命令绘制一条直线。

3)将“tc2”设置为当前层,用画圆(Circle)命令绘制一个圆。

4)将“tc3”设置为当前层,用画弧(Arc)命令绘制一条弧。

5)将“tc4”设置为当前层,用画矩形(Rectangle)命令绘制一个矩形。

6)关闭“tc1”,冻结“tc2”,加锁“tc3”7)按“确定”按钮,观察有什么改变。

2. AutoCAD绘图线型及线宽设置: 线型设置1)单击“图层特性管理器”对话框;2)单击“tc1”的“线型”栏,打开“选择线型”对话框;3)单击“加载”按钮,打开“加载或重载线型”对话框;4)在线型库中选择线型,按“确定”按钮,返回“选择线型”对话框;5)在已加载的线型中选择一种线型,按“确定”按钮,返回“图层特性管理器”对话框;6)按照上述方法对“tc2”“tc3”“tc4”设置为不同的线型。

按“确定”按钮。

7)在命令行输入“Ltscale”并回车,输入比例因子并回车。

线宽设置1)单击“图层特性管理器”对话框;2)单击“tc1”的“线宽”栏,打开“线宽”对话框;3)选择新的线宽,按“确定”按钮;4)按照上述方法对“tc2”“tc3”“tc4”设置为不同的线宽。

按“确定”按钮。

5)单击“格式/线宽”菜单,打开“线宽设置”对话框;6)选择“显示线宽”选择框,按“确定”按钮。

颜色设置1)单击“图层特性管理器”对话框;2)单击“tc1”的“颜色”栏,打开“选择颜色”对话框;3)选择新的颜色,按“确定”按钮;4)按照上述方法对“tc2”“tc3”“tc4”设置为不同的颜色。

按“确定”按钮。

实体线型、颜色和线宽在不同的图层上绘制直线、圆弧、矩形等图形,用鼠标点击图形,观察“属性工具栏”的变化,认识“Bylayer”的含义。

四、思考题1、图层冻结以后该图层上的图形能否修改?能,1、将光标放在图形上,如果十字中心线旁出现锁,则该图形所在的层被锁定了;2、将光标放在图形上,如果是一片图形都被选中了,则可能是图形成块了,可用x打散;3、将光标放在图形上,如果是一片图形都被选中了,双击它时命令栏中出现参照的字样,则该2、图层锁定和图层冻结的区别是什么?打开与关闭:关闭的图层不显示、不编辑、不打印;冻结与解冻:冻结的图层不显示、不编辑、不打印,与关闭的区别:冻结图层可以减少系统重新生成图形的计算时间;锁定与解锁:锁定图层后不能编辑已有图形。

相关文档
最新文档