《CADCAM实验报告.docx》由会员分享,可在线阅读,更多相关《CADCAM实验报告.docx(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、CADCAM实验报告 二叉树的遍历试验 一、试验名称:二叉树的遍历试验。 二、试验目的: 1、驾驭CAD/CAM系统中常用的数据结构二叉树的概念、存储结构以及二叉树遍历技术。2、娴熟应用C语言编写二叉树的建立,以及用先序、中序、后序遍历方法遍历二叉树的程序。三、试验内容 用TC或VC编程,将图2-14所示的二叉树建立链表存储结构,并分别用先序、中序、后序遍历方法遍历该二叉树 1、程序流程图 2、程序 #include<stdio.h> #include<malloc.h> struct btree char data; struct btree *lchild,*rch
2、ild; *node9; void preorder(struct btree *node) if(!node) return ; printf(“%c“,node->data); preorder(node->lchild); preorder(node->rchild); void inorder(struct btree *node) if(!node) return ; inorder(node->lchild); printf(“%c“,node->data); inorder(node->rchild); void postorder(struc
3、t btree *node) if(!node) return ; postorder(node->lchild); postorder(node->rchild); printf(“%c“,node->data); void main() int i; for(i=0;i<9;i+) nodei=(struct btree *)malloc(sizeof(struct btree); nodei->data=A+i; nodei->lchild=NULL; nodei->rchild=NULL; node0->lchild=node1; nod
4、e0->rchild=node2; node1->lchild=node3; node2->lchild=node4; node2->rchild=node5; node3->lchild=node6; node3->rchild=node7; node4->rchild=node8; printf(“按先序遍历:“); preorder(node0); printf(“n按中序遍历:“); inorder(node0); printf(“n按后序遍历:“); postorder(node0); getchar(); return 0; 试验结果如下:
5、 三、主要仪器设备 计算机(C+语言环境) 试验二 数表的程序化处理 一、 试验名称:数表的程序化处理 二、试验目的 1、 驾驭对工程手册和设计规范中的各种数据表格(包括数值、数表、线图)的计算机处理技术。2、 娴熟应用C语言或VC金星编程数据处理程序。三、 试验内容 用TC或VC编写一个线性插值程序,以下表为基本节点参数,插值计算90-160范围内随意角度的包角修正系数K。 /() 90 100 110 120 130 140 150 160 K 0.68 0.74 0.79 0.83 0.86 0.89 0.92 0.95 1、程序流程图 2、程序 #include<stdio.h&
6、gt; #include<math.h> #include<stdlib.h> void main() int i,j; int a8=90,100,110,120,130,140,150,160; double k8=0.68,0.74,0.79,0.83,0.86,0.89,0.92,0.95; double m; for(;) do printf(“请输入包角值:(包角范围为90至160)n“); scanf(“%d“,j); if(j<90|j>160) printf(“包角输入错误,请重新输入。n“); printf(“按回车键接着查询,按Ctrl
7、+C键退出n“); getchar(); getchar(); system(“cls“); while(j<90|j>160); for(i=0;i<8;i+) if(j=ai) m=ki; if(j>aij<ai+1) m=(ki+1*(j-ai)+ki*(ai+1-j)/(ai+1-ai); printf(“包角为%d的包角修正系数为%.3lfn“,j,m); printf(“请按随意键接着查询,按Ctrl+C键退出n“); getchar(); getchar(); system(“cls“); 试验三 机械零件三维造型 一、 试验目的 四、 了解三维造型
8、技术的基本原理; 五、 熟识三维造型软件的基本运用方法; 六、 驾驭用三维造型软件构造三维实体零件的步骤。 二、 试验内容 用ProE构造支架零件 三、 试验报告 1、 三维零件模型 2、 零件构成过程是CSG树 试验四 排料图编程绘制 3、 试验目的 七、 熟识AutoCAD中的二次开发工具AutoLISP的各项功能函数; 八、 了解AutoLISP的编程过程和方法; 九、 驾驭在AutoCAD下实现排料图的绘制技术。4、 试验内容 已知板材尺寸为LB,在该板料上气割若干个半径为R的圆板,假如不计割缝,按试验图中排版方式,问用这块板最多可以割下多少块圆板?编程绘制出排料图。说明: 1.L=2
9、000,B=1000,R=(班号*10).学号,如2班3号,R=20.03。2.圆板数用CN变量表示。3.输出圆板数,并绘制排料图。 5、 试验报告 1、画出程序流程图 2、编写程序并调试运行出程序结果 (1)试验程序 (defun c:PL() (setq L (getreal “n请输入板料长度L:“) (setq B (getreal “n请输入板料厚度B:“) (setq R 50.17) (setq CL (fix (/ L (* 2 R) (setq CB (fix (/ B (* 2 R) (command “zoom“ “w“ (0 0) (L B) (setq p1 (get
10、point “n输入绘图基点p1“) (setq p2 (polar p1 (/ pi 2) B) (setq p3 (polar p2 0 L) (setq p4 (polar p1 0 L) (command “pline“ p1 p2 p3 p4 “c“) (setq M 0) (while (< M CB) (setq ph (polar p1 (/ pi 2) (* R (+ (* M 2) 1) (setq pc (polar ph 0 R) (setq N 0) (while (< N CL) (command “circle“ pc R) (setq pc (polar pc 0 (* 2 R) (setq N (+ N 1) ) (setq M (+ M 1) ) (setq CN (* CL CB) (prompt (strcat “n-圆板数:“ (itoa CN) “-n“) ) (2)运行结果 输入:L=2000,B=1000 输出NC=171