1、CADCAM上机试验报告学 号: 0120701080516课 程 设 计题 目CAD/CAM基础上机试验学 院材料科学与工程学院专 业材料成型及控制工程班 级成型0705班姓 名唐维龙指导教师常明2010年12月12日课程设计任务书学生姓名: 唐维龙 专业班级: 成型0705班 指导教师: 常明 工作单位: 材料学院 一、图形程序设计编程与调试二、图形变换程序设计与调试三、参数化绘图程序设计与调试四、子图形法绘图程序设计与调试五、实体造型题 目: 初始条件:图形几何形状尺寸信息要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)一、绘制如图1所示的图案二、用线性
2、表的形式存储如图4所示结构的几何尺寸信息,要求能实现三视图的绘制。(不要求进行消隐操作)三、利用参数法绘图绘制如图5所示的螺栓图形.四、.利用子图形法绘制如图6所示的的阶梯轴(轴的尺寸可自行确定)五、任选一款CAD造型软件,实现图7-10种任一图形的三维造型。时间安排:时间完成任务2010-12-6图形程序设计编程与调试2010-12-7图形变换程序设计与调试2010-12-9参数化绘图程序设计与调试2010-12-10子图形法绘图程序设计与调试2010-12-11完成实体造型2010-12-12完成课程设计报告指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日实验一 图形程序设
3、计编程与调试1、题目:绘制如图一所示的图案图1.1所示的图案外貌看似很复杂,但它是由基本图形(正方形)经过变换而构成的。2、图形分析 从图1所示的图案中可以分析出:它是由16个相似的方块拼接而成;每一个方块是一个由正方形形成的螺旋图案,而每个相邻方块的螺旋方向相反。假设逆时针旋转为正,顺时针旋转为负(反),则图案中螺旋方块的正、反拼接结构如图2所示。组成整个图案的每个方块,是由正方形边旋转和缩小形成,且经过旋转和缩小的正方形的四个顶点刚好在前一个正方形的四条边上,见图3所示。 下面讨论两个相邻正方形之间的几何关系:设两个正方形的外接圆半径分别为R1和R2,边长为al和a2,旋转角度为。则两个正
4、方形之间的缩小系数为: f = a2/a1 经过旋转和缩小后的正方形2的四个顶点刚好位于正方形1的四条边上,所以,这个缩小系数和转角紧密相关。从图3中可看出,在直角三角形PQS中: QS = a2sin PS = a2cos QS十PS = al = a2(sin十cos)所以: f = a2/a1 = 1 / (sin十cos) 考虑到转角可以取正值(逆时针转)或负值(顺时针转),但缩小系数f总为正值,所以我们在求缩小系数f时,取转角的绝对值。即: f = 1/ (sin十cos) 求得了两个正方形之间的缩小系数后,则可以得到两个正方形外接圆半径之间的关系: R2 = fR1 且:, 转角关
5、系为:2 = 1 + 3、 程序设计 根据上面对图案的分析,我们便可以着手设计绘制图案的程序。从功能来分,构成图案的工作大致可以分三部分: 绘制正方形方块1 绘制第一行方块 绘制二三四行方块图形绘制用MATLAB画直线命令,通过三级循环实现上面说的三步,而方块的相对位置通过坐标移动即可。4、程序代码如下:clear,format compacta1=input(a1=); 输入第一个正方形外接圆半径b=input(b=); 输入下一个正方形相对前一个正方形旋转角度n=input(n=); 输入单个方块内正方形个数t=pi/4;i=0;k=1;f=1;while f=4while k=4whil
6、e i=n s=t+b*(-1)(k+f)*i;a=a1/(sin(abs(b)+cos(abs(b)i);x=a*cos(s)+a1*(k-1)*sqrt(2),a*cos(s+pi/2)+a1*(k-1)*sqrt(2),a*cos(s+pi)+a1*(k-1)*sqrt(2),a*cos(s+3*pi/2)+a1*(k-1)*sqrt(2),a*cos(s)+a1*(k-1)*sqrt(2); / 正方形y坐标y=a*sin(s)+a1*(f-1)*sqrt(2),a*sin(s+pi/2)+a1*(f-1)*sqrt(2),a*sin(s+pi)+a1*(f-1)*sqrt(2),a*
7、sin(s+3*pi/2)+a1*(f-1)*sqrt(2),a*sin(s)+a1*(f-1)*sqrt(2); /正方形x坐标plot(x,y,-b),hold on;i=i+1;endi=0;k=k+1;endk=1;f=f+1; 绘图结束end5、绘图结果如下运行程序:输入a1=100 b=pi/48 n=50实验二 图形变换程序设计与调试1、题目:用线性表的形式存储如图4所示结构的几何尺寸信息,要求能实现三视图的绘制。(不要求进行消隐操作) 2、题目分析:在当前坐标下算出各点三维坐标,实际上也就知道了其几何尺寸。用c语言画直线命令连接各点。画主视图时用x和z坐标;画俯视图用x和y坐标
8、;画左视图用y和z坐标。3、c语言程序代码如下:includeint dx20=70,70,0,0,20,30,70,70,55,55,0,0,0,20,10,10,55,55,30,0;int dy20=0,40,40,40,40,40,40,0,0,0,0,30,30,30,30,10,10,10,10,0;int dz20=0,0,0,27,27,10,10,10,10,42,42,42,27,27,42,42,42,10,10,0;int ld34=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,5,0,7,1,6,8,17,9,16,13
9、,4,12,3,11,14;int tl34=0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1;int i,j,x,y,vh=200,vw=200,x0=400,y0=400;main()int driver=DETECT,mode=0;initgraph(&driver,&mode,);setbkcolor(BLUE);setcolor(YELLOW);zu();fu();zo();getch();closegraph();zu()for(i=0;i34;i+)j=ldi;x=x0-dxj;y=y0-dzj
10、;if(tli=0)moveto(x,y);lineto(x,y);fu()for(i=0;i34;i+)j=ldi;x=x0+dyj-vw;y=y0+dxj-vh;if(tli=0)moveto(x,y);lineto(x,y);zo()for(i=0;i34;i+)j=ldi;x=x0+dyj-vw;y=y0-dzj;if(tli=0)moveto(x,y);lineto(x,y);4、运行结果如下图:实验三 参数化绘图程序设计与调试1、题目:利用参数法绘图绘制如图5所示的螺栓图形.2、图形分析:b=2d d0=0.85dc=0.15d R1=1.5dD=2d H=0.7d螺栓是标准件,只
11、需要知道螺栓的公称直径d,和长度L,其它尺寸均可通过计算得出: 3、程序设计运用AutoCAD内部的autolisp二次开发工具。输入参数d和L,将各点坐标用d和L算出来,然后调用CAD画直线与圆弧的命令连接接各点即可。将各个点标定如下图:4、程序代码如下:(defun c:featurey()(setq p0(getpointn插入点:)(setq alf(getangle p0n旋转角:)(setq d(getdist p0n公称直径:)(setq l(getdist p0n长度L:)(setq p1(polar p0(+(* 0.5 pi) alf) (* 0.5 d) 确定各点坐标(s
12、etq p2(polar p0(+(* 1.5 pi) alf) (* 0.5 d)(setq p3(polar p1 alf (- l (* 2.0 d) )(setq p4(polar p3(+(* 1.5 pi) alf) d)(setq p5(polar p3 alf (-(* 2.0 d) (* 0.707 0.15 d)(setq p6(polar p4 alf (-(* 2.0 d) (* 0.707 0.15 d)(setq p7(polar p3(+(* 1.5 pi) alf) (* 0.707 0.15 d)(setq p8(polar p4(+(* 0.5 pi) al
13、f) (* 0.707 0.15 d)(setq p9(polar p7 alf (* 2.0 d)(setq p10(polar p8 alf (* 2.0 d)(setq p11(polar p0 (+(* 0.5 pi) alf) d)(setq p12(polar p0 (+(* 1.5 pi) alf) d)(setq p19(polar p0 alf (* 0.8 d)(setq p13(polar p1(+ pi alf) (-(*(sqrt 2.0)d) (* 0.8 d)(setq p14(polar p13(+(* 1.5 pi) alf) d)(setq p15(pola
14、r p13(+(* 0.5 pi) alf) (* 0.5 d)(setq p16(polar p14(+(* 1.5 pi) alf) (* 0.5 d)(setq p20(polar p0 (+ pi alf) (* 0.7 d)(setq p19(polar p0 alf (* 0.8 d)(setq p17(polar p20 (+(* 0.5 pi) alf) (* 0.75 d)(setq p18(polar p20 (+(* 1.5 pi) alf) (* 0.75 d)(command line p13 p5 p9 p10 p6 p14 ) 连接各点(command line
15、p5 p6 )(command line p3 p4 )(command line p7 p9 )(command line p8 p10 )(command line p15 p11 p12 p16 )(command arc p13 p20 p14)(command arc p15 p17 p13)(command arc p14 p18 p16)(command line p17 p18 )4、绘图结果如下:(L=60 d=20)实验四 子图形法绘图程序设计与调试1、 题目:利用子图形法绘制如图6所示的的阶梯轴(轴的尺寸可自行确定)2、图形分析:阶梯轴各段特征如下图:将阶梯轴分段用aut
16、olisp编程画出来,然后调用各段程序将轴段拼合。3、程序设计 各形状特征的命令名称、功能和需要交互方式输入的参数如下表所列形状特征名功能参数Featurea绘制倒角P0 alf d cFeaturea绘制开口矩形轴段P0 alf d bFeaturea绘制退刀槽P0 alf d d1 bFeaturea绘制矩形轴段P0 alf d bFeaturea绘制带圆角轴段P0 alf d b rFeaturea绘制带键槽轴断面P0 alf d t bFeaturea绘制键槽P0 alf l b3、程序代码如下(defun c:featurea()(setq p0 (getpoint n 插入点:)(
17、setq alf (getangle p0 n 旋转角:)(setq d (getdist p0 n 轴径:)(setq c (getdist p0 n 倒角宽:)(setq p2 (polar p0 (+(* 0.5 pi) alf) (-(* 0.5 d) c)(setq p1 (polar p2 (+(* 0.25 pi) alf) (* 1.414 c)(setq p3 (polar p2 (+(* 1.5 pi) alf) (- d (* 2 c)(setq p4 (polar p1 (+(* 1.5 pi) alf) d)(command Line p1 p2 p3 p4 )(de
18、fun c:featureb()(setq p0 (getpoint n 插入点:)(setq alf (getangle p0 n 旋转角:)(setq d (getdist p0 n 轴径:)(setq b (getdist p0 n 轴段宽:)(setq p2 (polar p0 (+(* 0.5 pi) alf) ( * 0.5 d)(setq p1 (polar p2 alf b)(setq p3 (polar p2 (+(* 1.5 pi) alf) d)(setq p4 (polar p3 alf b)(command Line p1 p2 p3 p4 )(defun c:fea
19、turec()(setq p0 (getpoint n 插入点:)(setq alf (getangle p0 n 旋转角:)(setq d (getdist p0 n 轴径:)(setq d1 (getdist p0 n 退刀槽宽处轴径:) (setq b (getdist p0 n 退刀槽宽:)(setq p1 (polar p0 (+(* 0.5 pi) alf) ( * 0.5 d)(setq p2 (polar p0 (+(* 0.5 pi) alf) ( * 0.5 d1)(setq p3 (polar p2 (+(* 1.5 pi) alf) d1)(setq p4 (polar
20、 p1 (+(* 1.5 pi) alf) d)(setq p5 (polar p2 alf b)(setq p6 (polar p3 alf b)(command Line p1 p4 )(command Line p2 p5 )(command Line p3 p6 )(defun c:featured()(setq p0 (getpoint n 插入点:)(setq alf (getangle p0 n 旋转角:)(setq d (getdist p0 n 轴径:)(setq b (getdist p0 n 轴段宽:)(setq p2 (polar p0 (+(* 0.5 pi) alf
21、) ( * 0.5 d)(setq p1 (polar p2 alf b)(setq p3 (polar p2 (+(* 1.5 pi) alf) d)(setq p4 (polar p3 alf b)(command Line p1 p2 p3 p4 c)(defun c:featuree()(setq p0 (getpoint n 插入点:)(setq alf (getangle p0 n 旋转角:)(setq d (getdist p0 n 轴径:)(setq b (getdist p0 n 轴段宽:)(setq r (getdist p0 n 园角半径:)(setq p2 (polar
22、 p0 (+(* 0.5 pi) alf) ( * 0.5 d)(setq p1 (polar p2 alf (- b r)(setq p3 (polar p2 (+(* 1.5 pi) alf) d)(setq p4 (polar p3 alf (- b r)(setq p5 (polar p1 (+(* 0.5 pi) alf) r)(setq p6 (polar p5 alf r)(setq p7 (polar p4 (+(* 1.5 pi) alf) r)(setq p8 (polar p7 alf r)(command arc p1 c p5 p6)(command Line p1
23、p2 p3 p4 )(command arc p8 c p7 p4)(defun c:featuref()(setq p0 (getpoint n 插入点:)(setq alf (getangle p0 n 旋转角:)(setq d (getdist p0 n 轴径:)(setq b (getdist p0 n 键槽宽:)(setq c (getdist p0 n 键槽处轴径:)(setq r (* 0.5 d) b1 (* 0.5 b)(setq l (sqrt (-(* r r)(* b1 b1)(setq e (-(* r r) (* b1 b1) (setq sit (atan b1
24、l) (setq p1 (polar p0 (+ alf sit) r)(setq p2 (polar p0 (+ alf pi) r)(setq p3 (polar p0 (- alf sit) r)(setq p4 (polar p3 (+ alf pi) (- d c)(setq p5 (polar p1 (+ alf pi) (- d c)(command arc p1 p2 p3)(command Line p3 p4 p5 p1)(defun c:featureg()(setq p0 (getpoint n 插入点:)(setq alf (getangle p0 n 旋转角:)(s
25、etq l (getdist p0 n 键槽长:)(setq b (getdist p0 n 键槽宽:)(setq r (* 0.5 b) l1 (- l b) (setq p1 (polar p0 (+(* 0.5 pi) alf) r)(setq p2 (polar p1 alf l1)(setq p3 (polar p2 (+(* 1.5 pi) alf) b)(setq p4 (polar p1 (+(* 1.5 pi) alf) b)(command pLine p1 p2 ap3 l p4 a cl)4、运行结果如下:4.1 单个轴段特征如下:4.2最终阶梯轴图形如下:实验五 实体造型1、题目:任选一款CAD造型软件,实现图7的三维造型。2、 题目分析:AutoCAD三维画图 该实体分为两个部分:底面和侧面。2.1绘图步骤:在俯视图画底面的平面图,然后在东南等轴测拉伸即得底面实体 同上方法画小孔实体 对底面实体与小孔取差集 左视图画侧面图形,换东南等轴测拉伸得侧面实体、 对底面和侧面实体取并集3、 结果如下图 本科生课程设计成绩评定表姓 名性 别专业、班级课程设计题目:课程设计答辩或质疑记录:成绩评定依据:最终评定成绩(以优、良、中、及格、不及格评定)指导教师签字: 年 月 日