《模具cad、cam实验报告》由会员分享,可在线阅读,更多相关《模具cad、cam实验报告(18页珍藏版)》请在金锄头文库上搜索。
1、 模具模具 CADCAD、CAMCAM 实验报告实验报告实验课程:学生姓名:学 号:专业班级:实 验 报 告模具 CAD/CAM1目 录实验一 基于 UG 的铸造模具设计 3 实验二 实验三数据资料的程序化处理 图形变换程序设计2 5 13南昌大学实验报告学生姓名: 学 号: 专业班级: 实验类型: 验证 综合 设计 创新 实验日期:实验成绩:实验一 基于 UG 的铸造模具设计一、实验项目名称 基于 UG 的铸造模具设计 二、实验目的学习掌握 UG 在模具设计中的运用,让学生能熟练的运用 UG 的基本功能建立铸件和模三、实验步骤1、绘制轴承座铸件2、绘制铸件三视图3南昌大学实验报告学生姓名:
2、学 号: 专业班级: 实验类型: 验证 综合 设计 创新 实验日期:实验成绩:3、绘制型心及浇注系统4、绘制上模5、绘制下模4南昌大学实验报告学生姓名: 学 号: 专业班级: 实验类型: 验证 综合 设计 创新 实验日期:实验成绩:6、绘制爆炸图7、绘制三维装配图5南昌大学实验报告学生姓名: 学 号: 专业班级: 实验类型: 验证 综合 设计 创新 实验日期:实验成绩:实验二 数据资料的程序化处理一、实验目的:在进行模具 CAD/CAM 过程中,常常会遇到数表问题。通常我们都要进行数表程序化操作。数表程序化就是用程序完整、准确的描述不同函数关系的数表,以便在运行过程中迅速、有效的检索和使用数表
3、中的数据。本实验的目的就是编写一段程序,解决键的查表问题,具体如下:将平键和键槽与轴径的尺寸关系数表程序化。要求在程序中输入轴径后,能输出相应的键和键槽的剖面尺寸。注:在满足传递所需要转矩条件下,允许用较小剖面的键,但应使键侧与轴槽及轮槽接触高度各为 h/2。二、实验步骤:1、问题分析从上表中可以看出数据有如下特点:6南昌大学实验报告学生姓名: 学 号: 专业班级: 实验类型: 验证 综合 设计 创新 实验日期:实验成绩:1) 项目多、确定而无规律。2) 每组键槽尺寸要适应一定范围尺寸的轴径使用。3) 标准附注功能应在程序中予以体现。为此,编程前需要推导出小一挡键的剖面尺寸 b、h、与轴径 d
4、 的几何关系,从而计算出 t 和 t1。根据上图所示的平键和键槽尺寸参数示意图,可以推导出以下关系:设 t和 t1为满足键侧与轴槽及轮槽接触高度各为 h/2 条件时键槽的尺寸参数,则有:其中,t和 t1为正常档次标准键槽尺寸参数。7南昌大学实验报告学生姓名: 学 号: 专业班级: 实验类型: 验证 综合 设计 创新 实验日期:实验成绩:2、编程思路根据上述分析,可采用定义多个一维数组或一个二维数组的办法存储数据,程序运行时,判断选取。至于是否选用小档键,应根据传递转矩的大小来决定,下图为程序流程图。3、编写程序#includeiostream /#includeiomanip /#includ
5、estring /#includemath.h /#includestdio.h /#includestdlib.h using namespace std;class Ax_bond /轴键 Axletree_bond 建立一个轴键参数的类8南昌大学实验报告学生姓名: 学 号: 专业班级: 实验类型: 验证 综合 设计 创新 实验日期:实验成绩:int d; int b; int h; double t; double t1; double t_next; double t1_next;public:Ax_bond(int D,int B,int H,double T,double T1,d
6、ouble T_n=0,double T1_n=0) d=D; b=B; h=H; t=T; t1=T1;t_next=T_n; t1_next=T1_n; Ax_bond() d=0; b=0; h=0; t=0; t1=0;t_next=0; t1_next=0; void insert(int D,int B,int H,double T,double T1,double T_n=0,double T1_n=0) d=D; b=B; h=H; t=T; t1=T1;9南昌大学实验报告学生姓名: 学 号: 专业班级: 实验类型: 验证 综合 设计 创新 实验日期:实验成绩:t_next=T
7、_n;t1_next=T1_n; void show() coutd(直径)=d ,b(键宽)=b ,h(键高)=h ,t(槽深)=t ,t1=t1endl; void next() t_next=t-(t+t1-h); t1_next=t1+(t+t1-h); void shown(int dia) coutd(直径)=dia ,b(键宽)=b ,h(键高)=h ,t(槽深)=t_next ,t1=t1_nextendl; int dia() return d; Ax_bond() ;/void insertItem(Ax_bond * head,Ax_bond * tail,Ax_bond
8、 * temp); /struct node / Ax_bond c; / node *next; / /;int main(int argc, char*argv) 10南昌大学实验报告学生姓名: 学 号: 专业班级: 实验类型: 验证 综合 设计 创新 实验日期:实验成绩:int d=0; Ax_bond array12;/存储数据 array0.insert(22,6,6,3.5,2.8); array1.insert(30,8,7,4.0,3.3); array2.insert(38,10,8,5.0,3.3); array3.insert(44,12,8,5.0,3.3); arra
9、y4.insert(50,14,9,5.5,3.8); array5.insert(58,16,10,6.0,4.3); array6.insert(65,18,11,7.0,4.4); array7.insert(75,20,12,7.5,4.9); array8.insert(85,22,14,9.0,5.4); array9.insert(95,25,14,9.0,5.4); array10.insert(110,28,16,10.0,6.4); array11.insert(130,32,18,11.0,7.4); coutLets begin!endl; cout输入轴径(d):;
10、cind; while(d130) cout轴径过大d130endl; cout请重新输入:; cind; int i; for(i=0;i+) if(d=arrayi+1.dia()darrayi.dia() arrayi+1.show(); bool change=true; cout想减小一档吗:(想输入 1、不想输入 0):; cinchange; if(change) arrayi+1.next(); arrayi+1.shown(d); break; else南昌大学实验报告学生姓名: 学 号: 专业班级: 实验类型: 验证 综合 设计 创新 实验日期:实验成绩: break;三、
11、实验结果:输入轴径(d):120d(直径)=130 ,b(键宽)=32 ,h(键高)=18 ,t(槽深)=11 ,t1=7.4想减小一档吗:(想输入 1、不想输入 0):1d(直径)=120 ,b(键宽)=32 ,h(键高)=18 ,t(槽深)=10.6 ,t1=7.8南昌大学实验报告实验三 图形变换程序设计 学生姓名: 学 号:专业班级: 实验类型: 验证 综合 设计 创新 实验日期:实验成绩:一实验目的:在模具 CAD 中,经常会遇到非基本变换的情况,需要相对于任意点或任意轴来进行变换。为了做到这一点,可通过计算多个基本变换矩阵的乘积来得到总的变换矩阵或称为复合变换矩阵,从而实现任意顺序的
12、组合变换。本实验的目的是就是利用课程中所学到的各种基本变换方法,编写一个程序,对一个简单图形进行复合变换,使得大家深入的了解图形变换的方法和技巧。二实验任务:需要变换的图形如下图所示:图中三角形的三个角点的坐标分别为:顶点(10,20) ,左角点(7,10) ,右角点(13,10) ,旋转中心点(10,14)要求图中的三角形绕旋转中心点逆时针旋转 60。三 问题分析:根据图形复合变换的方法,对整个变换进行基本变换分解,具体步骤如下:步骤 1:(将选择中心点通过平移变换移动到坐标原点)步骤 2:南昌大学实验报告学生姓名: 学 号: 专业班级: 实验类型: 验证 综合 设计 创新 实验日期:实验成
13、绩:(利用旋转变换,将图形绕坐标原点逆时针旋转60)步骤 3:(利用平移变换,将图形的旋转中心点平移回初始点,变换结束)用统一的变换矩阵表示如下:四 实验提示:程序编写可以采用两种方式来编写:1. 由于是进行同样形式的矩阵乘法,所以在编写程序是可以单独编写一个 3x1矩阵与 3x3 矩阵相乘的函数,在主程序中调用三次即可。该方法的好处是可以看到每一个变换步骤。2. 直接按照统一变换矩阵进行计算,可以一步到位的进行变换。五 实验要求:大家可采用任何语言进行编程,最后运行出结果,计算出变换后的三角形的三个顶点的坐标,并写出实验报告(附上源程序清单) 。六编写程序:南昌大学实验报告学生姓名: 学 号
14、: 专业班级: 实验类型: 验证 综合 设计 创新 实验日期:实验成绩: #includeiostream#includeiomanip/#includestring/#includemath.h/#includestdio.h/#includestdlib.husing namespace std;void matrix(double *,double *,double *);/矩阵(matrix);IER(乘数);被乘数(faciend) ;void show_dot(double *aim);/声明坐标输出函数int main(int argc, char*argv) double ac
15、me3=10,20,1;/acme(顶点) ;double dot_left3=7,10,1;/dot_left(左角点);double dot_right3=13,10,1;/dot_right(右角点);cout-变换前!-endl;cout左角点:;show_dot(dot_left);cout右角点:;show_dot(dot_right);cout顶点:;show_dot(acme);cout-endl;coutendl;cout转换中.endl;coutendl;double Acme3=0;/目标顶点) ;double Dot_left3=0;/目标(左角点);double Dot_right3=0