第一篇:采矿CAD上机实验报告
采矿CAD上机实验报告
课程名称:采矿班
级:采矿姓
名:付孟雄学
号:指导老师:李宝富老师
CAD绘图实用教程 10-3班
311002010306
第二篇:上机实验报告
一. 题目1. 建立一个学生档案,内容包括学号,姓名,年龄,性别,数学,物理和英语3门功课成绩。要求实现以下功能:1)数据输入;2)查询某个学生的成绩;3)按平均排列输出;4)统计某门课各分数段人数;5)删除某个学生记录;2. 编程实现对二位数进行加,减,乘运算,每运行一次程序做10道题,完成后给出成绩(每题10分)。二. 设计思想和模块划分1.1.先定义所需要的条件,例如,姓名,学号,性别,三门功课的成绩,平均分等。2.输入姓名,学号,性别,年龄,三门功课的成绩后,就输出相应的姓名,学号,性别,年龄,三门功课的成绩。3.打印表头;4.在求出平均分,并打印出平均分。5.在查找学生,并打印出学生的相关资料;并按照平均分的高低排列;6.在统计学生各科成绩是否》=60分,如果是就是通过,否就是没通过,最后打印出最后的结果。7.删除学生,选中删除的学生,如果确定要,那么该学生的一切记录就变为0;2.1.随机调用函数,产生两个其值为10到99的随机整数分别放在c,d中用作运算时的运算数。2.随机调用函数,产生一个值为1到3 的随机整数放入b中,用来选择不同的运算。根据b的值选择不同的运算。当b=1时,去进行c+d的运算练习;当b=2 时,去进行c-d的运算练习;当b=3时,去进行c×d的运算练习。每完成一个算题就给出是否正确的信息。3.根据答案正确与否统计。正确时,显示’right’;错误时,显示’wrong’。4.步骤1.2.3.4.重复10次。5.输出学生成绩。三. 运行结果1.Input the 1 student :num:03name:wfage:18sex:fmath:98phy:75eng:65Input the 2 student :num:06name:scage:17sex:fmath:78phy:45eng:65Input the 3 student :num:09name:ytage:17sex:mmath:69phy:75eng:501.readin 2.finds 3.del 4.tj 5.exit1-----------------------------table----num name age sex math phy eng ave------3 wf 18 f 98.0 75.0 65.0 79.3------9 yt 17 m 69.0 75.0 50.0 64.7-------6 sc 17 f 78.0 45.0 65.0 62.7-------1.readin 2.finds 3.del 4.tj 5.exit2Into number:3---num name age sex math phy eng ave---3 wf 18 f 98.0 75.0 65.0 79.3----1.readin 2.finds 3.del 4.tj 5.exit3Into number:6---num name age sex math phy eng ave---6 sc 17 f 78.0 45.0 65.0 62.6---true? Y/Ny1----------------table------------------num name age sex math phy eng ave----3 wf 18 f 98.0 75.0 65.0 79.3-----9 yt 17 m 69.0 75.0 50.0 64.7-----0 0 0 f 0.0 0.0 0.0 0.0-----1.readin 2.finds 3.del 4.tj 5.exit4 1.input the math 2.input the phy 3.input the eng 1math: pass num is :3 no pass num is :02.32+82=114right!97*15=1455right!99-58=41right!76-66=10right!58+13=71right!37+49=86right!99+52=151right!49*69=5462wrong!73-38=31wrong!86+34=120right!mark is 80四. 主要错误改正方法1.在本题的编写过程中常出现begin 和end 不配对,只要始它们的个数相同就可以了,就可以了。在程序中常出现的’unknown identifier’没有定义的错误,只要在程序前加上定义,就可以了。还有就是type mismatch’的类型不匹配,只要根据前后内容,重新定义,就可以了。2.在本题编写中,题目要求是两个两位数运算,如果写成c:=random(100)在运行过程中,就会出现一位数运算,只要把它写成c:=random(90)+10,就可以了。五. 实习小结1.第一题的程序编写比较复杂,需要较多的定义,因而在后面的程序部分,就常出现标识符重复,而导致的类型不匹配。还有就是每个部分编好后,上下不能连接,而无法调用。2.第二题较第一题简单,和书上的例题类似,所以,比较简单,但从中也出现一些不问题。以上两大题中出现的问题,要在同学的帮助下,才能完成。总的来说两题程序比较困难六. 程序清单1.program twins;const m=3;n=3;typestudent=recordnum:integer;name:string[3];age:integer;sex:char;s:array[1..n] of real;math,eng,phy:real;ave:real;end;sarr=array[1..m] of student;ta=array [1..m] of student;f=string[6];varstu:sarr;ct:ta;k,d:integer;procedure readin(var stu:sarr);const wrong='0<=data<=100 ,again!';var j,i:integer;a:student;beginwriteln;writeln('Input ',m,' num name sex math phy eng',' of student.');for j:=1 to m dobeginwriteln;writeln('Input the ',j,' student :');with a dobeginwrite('num:');readln(num);write('name:');readln(name);write('age:');readln(age);write('sex:');readln(sex);while(sex<>'m')and(sex<>'f')dobeginwrite('sex:');readln(sex)end;for i:=1 to n do begincase i of1:begin write('math:');readln(s[i]);while(s[i]<0)or(s[i]>100)dobeginwriteln(wrong);write('math:');readln(s[i]);end;end;2:begin write('phy:');readln(s[i]);while(s[i]<0)or(s[i]>100)dobeginwriteln(wrong);write('phy:');readln(s[i]);end;end;3:begin write('eng:');readln(s[i]);while(s[i]<0)or(s[i]>100)dobeginwriteln(wrong);write('eng:');readln(s[i]);end;end;end;end;stu[j]:=a;end;writeln;end;end;procedure ave(var stu:sarr);var j,i:integer;k:real;beginfor j:=1 to m dobegink:=0;with stu[j] dobeginfor i:=1 to n do k:=k+s[i];ave:=k/nend;end;end;procedure px(var stu:sarr);var tm:ta;j,i,p:integer;beginfor j:=1 to m dobeginp:=j;for i:=j+1 to m doif stu[i].ave>stu[p].ave then p:=i;tm[1]:=stu[p];stu[p]:=stu[j];stu[j]:=tm[1];end;end;procedure head(ct:ta);var i:integer;beginwrite(' ');for i:=1 to 72 do write('-');writeln;write('',' num':4,' ','name':9,' ','age':8,' ','sex':5,' ','math':6,' ','phy':9,' ','eng':8,' ');writeln('ave':6,' ');write(' ');for i:=1 to 72 do write('-');writeln;with ct[1] dobeginwrite('',num:7,' ',name:8,' ',age:8,' ',sex:5,' ');for i:=1 to n do write(s[i]:7,' ');write(ave:10,' ');writeln;end;write(' ');for i:=1 to 72 do write('-');writeln;end;procedure find(var stu:sarr);var n,i:integer;u:boolean;beginu:=true;while u dobeginwrite('Into number:');readln(n);for i:=1 to m dobeginif stu[i].num=n then beginct[1]:=stu[i];u:=false;d:=iend;end;end;end;procedure del(var stu:sarr);var i:integer;b:char;beginhead(ct);write('true? Y/N');readln(b);if b='y' then begin write('1');with stu[d] dobeginnum:=0;name:='0';age:=0;sex:='f';for i:=1 to n do s[i]:=0;ave:=0end;endelseend;procedure tj(var stu:sarr);var w1,q1,q2,num,j:integer;h1,h2,h3:boolean;beginh1:=false;h2:=false;h3:=false;q1:=0;q2:=0;writeln(' ':30,'1.input the math 2.input the phy 3.input the eng ');readln(w1);case w1 of1:h1:=true;2:h2:=true;3:h3:=true;end;if h1 thenbeginbeginfor j:=1 to m dowith stu[j] doif stu[j].math>=60 thenq1:=q1+1elseq2:=q2+1;writeln('math:');end;if h2 thenbeginbeginfor j:=1 to m dowith stu[j] doif stu[j].phy>=60 thenq1:=q1+1elseq2:=q2+1;writeln('phy:');end;if h3 thenbeginbeginfor j:=1 to m dowith stu[j] doif stu[j].eng>=60 thenq1:=q1+1elseq2:=q2+1;writeln('eng:');end;end;end;end;writeln(' ':5,'pass num is :',q1);writeln(' ':5,'no pass num is :',q2);end;procedure head1(var stu:sarr);var j,i:integer;beginwriteln('----------------table--------------':60);writeln;write(' ');for i:=1 to 72 do write('-');writeln;write('',' num':4,' ','name':9,' ','age':8,' ','sex':5,' ','math':6,' ','phy':9,' ','eng':8,' ');writeln('ave':6,' ');write(' ');for i:=1 to 72 do write('-');writeln;for j:=1 to m do beginwith stu[j] dobeginwrite('',num:7,' ',name:8,' ',age:8,' ',sex:5,' ');for i:=1 to n do write(s[i]:7:1,' ');write(ave:10:1,' ');writeln;end;write(' ');for i:=1 to 72 do write('-');writeln;end;end;beginreadin(stu);ave(stu);k:=0;while k<>5 dobeginwriteln('1.readin 2.finds 3.del 4.tj 5.exit');read(k);readln;while(k<>1)and(k<>2)and(k<>3)and(k<>4)and(k<>5)dobeginwriteln(' mistake,please again');read(k)end;case k of1: begin px(stu);head1(stu)end;2: begin find(stu);head(ct)end;3: begin find(stu);del(stu);px(stu);head1(stu)end;4: begin tj(stu);end;5: writeln('exit!');end;end;end..2.program shadow;var a,b,c,d,e:integer;right:boolean;procedure s1;beginwriteln('right!');right:=trueend;procedure s2;beginwriteln('wrong!');right:=falseend;procedure s3(x,y:integer);var h:integer;beginwrite(x,'+',y,'=');readln(h);if h=x+y then s1else s2 end;procedure s4(x,y:integer);var h,w:integer;beginif x CAD实验报告 实验名称:进阶级练习14(钩子)的画法 实验目的: 了解CAD的基本绘图应用、精确定型定位、简单方便的编辑修改等基本功能。了解并掌握CAD做图的方法、步骤及一些操作技巧。 掌握CAD的命令启动方式,如命令、菜单、工具栏方式。实验原理: 实验步骤: ⑴先建辅助线、标注、边界线等图层,并设置好相关的线性、线宽、颜色等。⑵在辅助线层上作一条竖直线,在竖直线中心偏下部分做一水平线,将水平线分别向上、向下偏移40和30做两水平线。在此基础上做偏移(15,-15)的点。 ⑶启动工具栏中的直线工具,对象捕捉与临时追踪的应用,做钩子上边尺寸线,长度为48、42、50、55、10的线段。并做相应的倒角修改。 ⑷启动画圆工具做半径42.5与110的两个圆。 ⑸启动工具栏中的直线工具,从R42.5圆心处起画50度斜线。命令为@180<130,并向左右各偏移32.5.⑹启动画圆工具选择“相切、相切、半径(T)”做与右垂线和R110圆相切的R28的圆。 ⑺用工具栏中的“偏移”命令将R42.5的圆向外偏移 15、R110的圆向内偏移10.命令(偏移距离)15-偏移对象(R42.5)-指定偏移的方向(外)。 ⑻启动画圆工具选择“三相切”画与左垂线,50度上斜线、R42.5,R57.5、尺寸40上线、R100,尺寸30下线、R57.5、R110分别相切的三个圆。 ⑼按图修剪多余部分,以便画下边图、⑽启动画圆工具“相切、相切、半径(T)”画与50度斜线、R42.5的圆相切的R95的圆,与尺寸40上线、R95相切的R12的圆,与R12、R110相切的圆。 ⑾按图修剪多余部分。并标注所有的尺寸线、圆半径及角度等。实验结果 心得体会: 预习报告成绩: 指导教师审核(签名): 年 月 日 预习报告 1、实验目的 (1)了解完整的PCB板设计工序及方法;(2)掌握制作元件原理图库、封装库的方法;(3)掌握PCB板设计方法及其后处理。 2、实验用仪器设备、器材或软件环境 (1)微机(最低配置: Pentium 4 CPU, 128M内存);(2)Protel DXP软件(最低版本:V7.0); (3)Windows2000/XP环境、MS Office 2000以上版、Adobe Acrobat 5.0以上版。 3、设计要求 本实验要求在Protel DXP软件平台上设计GPS定位系统电路的PCB板,GPS定位系统电路图见附录1。具体要求如下: (1)采用双面板设计PCB(外形及尺寸根据具体电子系统合理布局);(2)PCB板中的过孔为穿透式、元件安装方式为单面安装; (3)PCB板中的信号导线的宽度≥10mil、电源导线宽度≥30mil,其他参数自定。 4、芯片封装信息 查找ATmega32芯片,在美国atmel公司http://www.xiexiebang.com/dyn/products/product_card.asp?part_id=2014网上查阅了芯片封装信息,详细数据如下: 内蒙古工业大学信息工程学院 内蒙古工业大学信息工程学院 实验报告成绩: 指导教师审核(签名): 年 月 日 实验报告 一、仪器设备型号及编号 LENOVO F41 二、实验器材或软件环境 (1)Protel DXP2004(2)Windows2002环境、MS Office 2007、Adobe Acrobat 5.0 三、实验步骤、程序调试方法 1、设计原理图元件 Protel DXP提供了丰富的原理图元件库,没有元件ATMEGA32,建立自己的元件库。 2、绘制原理图 找到所有需要的原理元件后,开始原理图绘制。完成原理图后,用 ERC(电气法则检查)工具查错。找到出错原因并修改原理图电路,重新查错到没有原则性错误为止。 3、设计元件封装 和原理图元件库一样,Protel DXP部分元件的封装。没有得元件须自行设计并建立新的元件装库。 4、设计 PCB板 确认原理图没有错误之后,开始 PCB板的绘制。首先绘出 PCB板的轮廓,确定工艺要求。然后将原理图传输到 PCB板中来,在网络表(简单介绍来历功能).设计规则和原理图的引导下布局和布线。 5、元器件的布局 Protel DXP 提供了强大的自动布局功能,在预放置元件锁定的情况下,可用自动布局放置其他元件。在Auto Place 对话框中选择自动布局器。Protel DXP提供布局。 6、自动布线 在布线质量满足设计要求的情况下,可使用自动布线器以提高工作效率装。 7、布线后的调整完善 布通之后,对布线进行手工初步调整。调整的内容有:需加粗的地线、电源线、功率输出线等进行手动加粗;某几根绕得太多,太过繁琐的线重布;消除部分不必要的过孔。 另外,我们还要切换到单层显示模式下将每个布线层的线拉整齐和美观。手工调整时应经常进行DRC,因为有时有些线会断开。快完成时可将每个布线层单独打印出来以方便改线。调整完毕后用VIEW3D功能查看实际效果。 四、实验数据处理及结果分析(1)GPS定位系统电路原理图 内蒙古工业大学信息工程学院 (2)ATMEGA32元件封装图 (3)PCB板正面 内蒙古工业大学信息工程学院 PCB板反面 (4)3D效果图 内蒙古工业大学信息工程学院 五、实验中存在的问题 protel 2004 dxp 在pcb布线时,手工放置几个焊盘后,想从其他元器件引线连接到焊盘上,导线变红,变红就是报错了,因为这时候放的焊盘和将要跟它连接到一起的元器件不在一个网络上。现在状态下修改的方法就是双击焊盘修改它的网络与将要跟它连接到一起的元器件网络一致,关闭设置对话框就可以了。再有就是把现在的焊盘删除,重新在导线上直接放置焊盘,之后载调节焊盘到合适位置。 六、体会及思考题 在实训的一周里我不仅了解到了实在的学习内容,并且对专业以外的知识做了很深的了解,当我们要去学习或研究一门技术或学问时,去了解有关这门技术或学问的历史背景是非常重要的,这也就是“寻根”。欲学习一门技术或学问却不去了解它的历史,将有如无根之萍,无法深入并获得其中的乐趣!我们每画的一个零件图就好象跟CAD的历史一样,一步一步的渐进,自己从中吸取很多的精华,例如,当尺寸没有按照标准画时,在标注尺寸的时候就需要修改数据,不仅影响到了图的雅观,还直接影响了图的真实性,所以在画图过程中就要很细心,一步一步慢慢来,做到精确,无误差,在比如,在修剪多余直线的时候很有可能会出先剪不掉的现象,我经常遇到,那是因为连线的时候线与线之间根本就没有连接在一起,表现出作图不扎实的意思,在老师的帮助下,我改正了这个不好的习惯,作图,就要用心去做,扎扎实实的完成任务! 总之,在本周的CAD实训中,我感觉我学到的东西比一个学期学的东西还多,绘图技巧在平常的学习中是学不到,我希望以后能够有更多的这种实训的机会,这一周感觉过的很充实,我也真正的融入到了学习当中去,别无他思,一切都还不错,感觉非常好 通信工程制图教程 课程实验报告 一、实验要求1、2、3、4、对老师所讲的CAD基础知识内容要求尽可能熟练掌握; 要求学生测量基站实验室,并测量记录相应的数据; 根据要求2的测量数据以及老师分发的参考数据材料,是使用CAD绘制软件做出机房平面图; 要求学生独立完成各自的测量、绘制实验,记录所遇困难,并做一份实验报告; 二、实验目的1、2、3、通过实验,绘制不同图形,以此增强学生对CAD命令知识的掌握使用熟练度; 通过实验,培养学生独立思考的能力,同一个效果图的不同方法的绘制学习思考; 使得学生善于发现问题,动手能力和耐心细心的培养; 三、所用知识要点(主) 1、常用简单命令的使用 在此项内容中,我将常用的简单命令做了以下的分类,其目的就是更好的使用最简单的命令来达到相同的效果图,使得我们更方便的记忆使用; A、直线 直线----最为基础的绘制手段,相对来说在初学阶段用的相当重要的一种绘制手法;我们可以使用直线绘图来绘制许多不同的线段图形,如:五角星、矩形等,但是在绘制的时候,因为在绘制的时候,我们需要算好其线段的倾斜角度,相对来数比较耽误时间,但是其最显著的一点便是其精确地很高,对于我们在图形的定位上有很大的帮助; 键盘输入命令快捷键:L 其主要功能选项: (1)角度:输入A,敲回车后系统提示键入线的角度,键入线的角度后则需要所要画的那条线的角度确定,与X正方向的夹角 (2)长度:输入L,敲回车后系统提示键入线的长度,键入线的长度后,则可输入我们所需绘制直线的具体长度 (3)撤销: 输入U,在此处使用Esc键更为方便 CAD绘图的严谨其尺寸的精确度是一个重要的标志,那么,我们绘制矩形框图的时候,大都都是要求具体的尺寸的标注的,D给了我们一个绘图的便利 (3)倒角C、标高E、旋转R、圆角F等实验所用甚少 多边形:在CAD绘制软件中,多边形的绘制可以精确到3~1024条边的正多边形,在基础学习的时候,使得我们对图形绘制的选择更丰富 键盘输入快捷键:POL 其主要功能选项: (1)默认【边数】是我们需要掌握的终点,是我们根据需要输入绘制正多边形的边数 (2)线宽W,具体作用和矩形线宽一样,修改线的宽度值(3)多个M、边缘E、边S等等; C、多段线、云线等 这两种命令的主要功能都是对我们绘制图形做一些细节处理的命令,故它们的操作要求不是很高,在实验中使用的次数也不是很多; 多段线:使用该命令可以绘制由若干直线和圆弧连接而成的不同宽度的曲线或折线,也可以绘制直线箭头和弧形箭头,并且无论该线段中包含了多少条直线或圆弧,它们都是一个整体 键盘输入快捷键:PL 其主要功能选项: (1)宽度W,会要求我们输入起始线宽和终点线宽,这个命令操作方便我们绘制箭头图形,如果我们不做处理的话,绘制出来的便和徒手绘线没有区别了 (2)角度A,主要用于圆弧的圆心角(3)角度A、中心CE、方向D、线段L 云线:该命令主要用于绘制云状或树状物体,在绘制建筑立体面图经行技术造型或绘制云彩、花草、树木等配景等处常用,其实质变是多段线 其主要功能选项: (1)弧长A,设置弧线长度,系统的缺省值为0.5,可设10-20(2)对象O、是否反转方向等 D、点、射线、构造线等 将它们放在一起的原因主要是因为我们在绘图的时候,往往需要对绘制的图形进行定位,那 【添加:拾取点】主要是我们用来选择所需要填充的位置,只要是在一个封闭的边界内,其中任意一点都可以选择,会自动寻找包含点的封闭区间 【添加:选择对象】用鼠标来选择需要填充的对象,常用在多个或重嵌套的图形【图案】我们可以通过该处的下拉菜单来选择我们所封闭区间所需要填充的图案,包括各种颜色的选择 【角度和比例】通过这个位置,我们可以对选择过后的图案进行比例大小的调整 3、常用编辑命令的使用 删除E或Delete键:主要用于删除图形绘制过程中多余的图案或线 移动M:将对象在指定的基点移动到另一个新的位置,在移动的过程中不改变对象的尺寸和方位。在实验过程中,我们需要移动命令的时候,最好是将对象捕捉打开,这样更方便我们对图形的移动。 旋转PO:将所选的对象围绕着指定的基点,移动鼠标经行旋转最好采用目标捕捉的方式 复制CO或CP:可以将任何一种目标对象选择,在指定的基点拷贝出来,在我们实验绘制是时候,我们需要对一些重复的图形进行复制,如:机柜、灯管等,这样能够很大程度上提高什么绘图的效率和精确度。 镜像MI:用于复制具有对称性或部分具有对称性的图样,将指定的对象线性处理:这个和旋转有着很大的相似性 阵列AR:对所选图形按照矩阵或者环形方式多重复制指定对象 如花瓣和美国旗五星的绘制,便是我们取巧使用该命令绘制而成的 4、标注的学习 之所以将标注的学习单独的列出来,主要是因为在我们进行实验绘图的时候,我们大部分的时间都是对绘制图形进行标注操作的。标注有着极其重要的准确性、精密性; 一个完整的标注由尺寸界线、尺寸线、尺寸文本、尺寸箭头、旁注线标注、中心标记等部分; 四、实验过程 我们实验要求是要绘制出三张机房平面图,在这个实验过程中,我主要记录两个内容,一是标注的操作;二是图形比例缩放处理 1、实验绘制中标注的操作 要对我们所绘制出来的图案进行标注之前,根据所绘制图纸的要求,我们需要在【格式】--【标注样式】中新建一个标注样式: 在【直线和箭头】选项中,我们根据实验要求,对下面三个红框进行处理第三篇:cad实验报告
第四篇:cad实验报告
第五篇:CAD实验报告