cad实验报告3

时间:2024.4.27

太原理工大学现代科技学院

              课程 实验报告

专业班级                  

学    号                  

姓    名                  

指导教师                  


       实验三  Protel99SE印刷电路板的设计                                     

一.实验目的:                                                                     

1.了解有关印刷电路板的基础知识和对PCB编辑器的初步认识                          

2.掌握PCB编辑器的基本操作                                                          

3.掌握元件、焊盘、导线等对象的放置方法和属性设置                                 

4.掌握双面板进行手工布局的整个操作过程,要特别掌握电路板布线框的绘制,元件封装库的加载和对布局进行调整的操作方法                                              

5.掌握手工布局和手工布线的操作步骤                                               

6.掌握由原理图生成网络表                                                        

7.理解电路板的物理边界和电气边界的区别及绘制方法,了解由向导生成电路板的过程         

8.掌握PCB各种常用报表的功能与生成方法                                          

9.掌握PCB的打印输出的操作过程,掌握分层打印和叠层打印的操作方法                 

二.实验内容                                                                      

1.在实验1创建的设计数据库下,新建一个PCB图文件,命名为“你的姓名全拼_甲乙类放大器.pcb”(比如:Lixiaofang_甲乙类放大器.pcb)。                                 

2.分别设置可视栅格、捕获栅格、元件栅格和电气栅格的数值,并在工作窗口练习体会四种栅格的区别。                                                                  

3.人工设计“你的姓名全拼_甲乙类放大器.pcb”印刷电路板。                           

4.使用电路板生成向导,再创建一个“你的姓名全拼_甲乙类放大器.pcb”印刷电路板。      

5.分别生成“你的姓名全拼_甲乙类放大器.pcb”的电路板信息报表、NC钻孔报表和元件报表。                                                                           

6.将“你的姓名全拼_甲乙类放大器.pcb”的顶层、底层和顶层丝印层分层打印出来。      

7.打开一个PCB文件,使用Edit | Jump命令,练习跳转到不同的对象。                 

8.打开一个PCB文件,在PCB管理器中按上面所讲知识,分别浏览网络和元件;练习对网络元件和焊盘的编辑、选取、放大和跳转等操作。                                    

三.实验步骤:                                                                    

1.     在实验1中的设计数据库的Documents下,新建一个PCB图文件,命名为“你的姓名全拼_甲乙类放大器.pcb”。                                                           

2.     按菜单操作Design | Options,分别设置可视栅格、捕获栅格、元件栅格和电气栅格的数值,并在工作窗口练习体会四种栅格的区别。                                       

3.     人工设计“你的姓名全拼_甲乙类放大器.pcb”印刷电路板,                          

具体步骤如下:                                               

a)       打开实验1绘制的“你的姓名全拼_甲乙类放大器.sch”文件                   

b)      执行操作Design | Create Netlists,生成网络“你的姓名全拼_甲乙类放大器.net”文件                                                                         

 (3) 在新建的“你的姓名全拼_甲乙类放大器.pcb”文件中,执行操作Design | Load Netlists(加载网络表),找到“你的姓名全拼_甲乙类放大器.net”文件并加载             

(4) 如果加载网络表报错,分析原因,返回“你的姓名全拼_甲乙类放大器.sch”原

                                                                                   

理图中进行修改。                                                             

(5) 重新生成网络表。                                             

(6) 返回“你的姓名全拼_甲乙类放大器.pcb”文件中,再次加载网络表,如果没有错误,点击“Execute”按钮,至步骤(7);如果网络表仍然有错,重复步骤(4)、(5),直至无错,至步骤(7)。                                                             

(7) 将PCB文件的工作层调到“KeepOut Layer”,在元件外围画布线框。                 

(8) 采用群集式方式自动布局,执行菜单操作:Tools | Auto Placement | Auto Placer中的“Cluster Place”                                                           

(9) 全局自动布线完成元件的布线,执行菜单操作:Auto Route | All | Route All;如有兴趣,可手动布局布线试一下。                                                    

(10) 将人工设计的“你的姓名全拼_甲乙类放大器.pcb”PCB图粘贴到实验报告中(需截图)。                                                                    

4.     采用向导设计“你的姓名全拼_甲乙类放大器.pcb”印刷电路板:新建一个边长为1500mil的正方形电路板,在电路板的四角开口,尺寸为100mil×100mil,无内部开口,双层板,过孔不电镀,使用针脚式元件,元件管脚间只允许一条导线穿过,最小走线宽度为10mil,走线间距15mil。加载Advpcb.ddb中的PCB Footprint.Lib元件封装库。                

实施如下步骤:                                                                

(1) 按照向导一步一步创建PCB电路板。                                          

(2) 在创建出来的电路板上,重新加载“你的姓名全拼_甲乙类放大器.net”网络表。     

(3) 使用统计式方法进行自动布局,执行菜单操作:Tools | Auto Placement | Auto Placer中的“Statistical Place”,并使用手工方法对布局进行调整。                                 

(4) 采用全局自动布线,执行菜单操作:Auto Route | All | Route All。                    

(5) 将向导设计的“你的姓名全拼_甲乙类放大器.pcb”PCB图粘贴到实验报告中。          

5.        (选做)分别生成“你的姓名全拼_甲乙类放大器.pcb”的电路板信息报表、元件报表和NC钻孔报表,并将上述报表粘贴到实验报告中。                                        

实现步骤如下:                                                                

a)           执行菜单Reports | Board Information,点击“Report”按钮。                        

b)          在设计数据库的Documents下,创建CAM文件,双击“CAMManager1.cam”,在向导中选择Bom文件(元件报表),选择报表格式为“Spreadsheet”,元件排列格式为“List”,其他默认,结束向导。在生成的Bom Output 1上右键单击,选择“Generate CAM Files”,即生成元件报表文件。                                          

c)           在设计数据库的Documents下,创建CAM文件,双击“CAMManager1.cam”,在向导中选择NC Drill文件(NC钻孔报表),选择单位“Inches”,数据格式为“2:3”,其他默认,结束向导。在生成的NC Drill Output 1上右键单击,选择“Generate CAM Files”,即生成NC钻孔报表文件。                                               

6.     (选做)将“你的姓名全拼_甲乙类放大器.pcb”的顶层、底层和顶层丝印层分层打印出来。

具体步骤如下:                                                                 

a)       执行菜单操作:File | Print/Preview,生成“Preview你的姓名全拼_甲乙类放大器.ppc”文件,                                            

b)      在“Preview你的姓名全拼_甲乙类放大器.ppc”编辑器中,执行菜单操作:

c)       Tools | Create Final,点击“Yes”按钮,分别浏览“你的姓名全拼_甲乙类放

d)      大器.pcb”的顶层、底层和顶层丝印层,                                            

e)       将上述工作层的打印版粘贴到实验报告中。                                     

                                                            

 四.实验结果                                                                      

五.思考题(1、2小题必答,其他任选4道回答)                                     

1.绘制印刷电路板图一般包括哪些步骤?在各步中主要完成什么工作?(必答)                    

答:1)进入电路板图编辑环境,呈现电路板图设计环境;                                 

    2)电路板图环境设置,完成画紫色框为自动布局和自动布线做准备;                  

                                                            

    3)载入网络表,用来检测设计是否有错;                                                    

    4)自动布局使原件都放在边框内;                                                 

    5)手工调整布局,进行边框调整,视图调整,原件调整。                          

    6)自动布线;                                                                  

    7)手工调整布线,使布线更合理;                                                 

    8)机械尺寸调整,用来调整板型尺寸和焊盘尺寸;                                

    9)存盘退出,对设计的板进行保存;                                             

    10)送电路板厂加工。                                                               

2.在Protel 99 SE系统中,提供了哪些工作层的类型?各个工作层的主要功能是什么?(必答)

答:                                                                                       

3.什么是印刷电路板?它在电子设备中有何作用?

答:印刷电路板是覆盖有导电图形层的绝缘板。在电子设备中作用包括:1)提供各种电子原件固定、装配的机械支撑;2)实现各种电子元器件的布线和电气连接;3)提供所需要的电器特性;4)为元件插装、检查、维修提供识别字符和图形。                                     

4.在印刷电路板中,焊盘与过孔的作用有何不同?                                             

答:焊盘就是元件的引脚。焊盘上的号码就是管脚号码。焊盘的号码必须与原理图中元件的引脚一致否则就会出现缺少网络节点的错误。焊盘的号码、尺寸、位置十分重要,如果错了电路板也就不能使用了。                                                               

5.在进行PCB设计中,装入网络表和元件发生网络宏错误时,应如何解决?                 

6.简述 Protel 99 SE提供了哪些元件布局的规则?群集式和统计式布局方式各适用于什么场合?                                                                               

7.在Protel 99 SE系统中,导线与连线有何区别?                                         

答:导线的执行操作Edit | Move | Drag。连线用Wire命令而不是用Line(/)命。导线有电气特性。                                                                     

8.PCB中可视栅格、捕获栅格、元件栅格和电气栅格的区别是什么?                                                                                        

9.在PCB文件Browse PCB浏览器的视窗中拖动虚线框(如图1),看看工作窗口有何变化?缩小虚线框之后,工作窗口中的图有什么变化(缩小或放大)?                        

                                                                                   

                                                                                 

                                                             

                                                                                    

                                                                                            

图1 Browse PCB浏览器的视图窗口

10.    打开一个PCB文件,在工作窗口按住鼠标右键,光标是不是变成手形?移动它,工作窗口有何变化?                                                                    

附:实验1中的“甲乙类放大器”电路原理图,及其元件表:                                

文本框: Q2文本框: Q3

甲乙类放大电路电路原理图                                 甲乙类放大电路电路原理图元件表                           

                                                                                          

                                                                                                    

                                                                                    

                                                                                     

                                                                                       

                                                                

                                                                                            

                                                                                                    


第二篇:CAD二次实验报告3


CAD开发实验(四)

实验三  AutoCAD图形块的创建与应用

一、主要内容

1、创建块定义及插入块参照

2、创建带有属性的块定义及插入带有属性的块参照

3、在对话框中查看块定义的图标

4、在当前文件中插入外部文件中的块

5、在当前文件中插入其他DWG文件

二、学时安排:2学时

三、预习内容

理解块的含义,回顾块和带属性块的定义

四、AutoCAD图形块的创建与应用

4.1创建块定义及插入块参照

4.1.1 创建块定义

 

代码://创建块

        public Document pDoc = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument;

        [CommandMethod("CreateBlock")]

        public void CreateBlock()

        {    Database acCurDb = pDoc.Database;

            using (Transaction acTrans = acCurDb.TransactionManager.StartTransaction())

            {        BlockTable acBlkTbl = acTrans.GetObject(acCurDb.BlockTableId,

                                             OpenMode.ForWrite) as BlockTable;

                // 创建新的块表记录

                BlockTableRecord acBlkTblRec = new BlockTableRecord();

                string blkname = "三角点";

                acBlkTblRec.Name = blkname;

                acBlkTblRec.Origin = new Point3d(0, 0, 0);

                Point3d pCenter = new Point3d(0, 0, 0);

                //创建中心点

                DBPoint pDBPt = new DBPoint(pCenter);

                //创建圆

                Circle pCir = new Circle(pCenter, new Vector3d(0, 0, 1), 0.25);

                //创建三角形

                Polyline pTri = new Polyline(4);

                pTri.AddVertexAt(0, new Point2d(0, 1), 0, 0, 0);

                pTri.AddVertexAt(1, new Point2d(0.866, -0.5), 0, 0, 0);

                pTri.AddVertexAt(2, new Point2d(-0.866, -0.5), 0, 0, 0);

                pTri.AddVertexAt(3, new Point2d(0, 1), 0, 0, 0);

                //给定块的原点

                acBlkTblRec.Origin = new Point3d(0, 0, 0);

                //将图形实体添加到块表记录

                acBlkTblRec.AppendEntity(pDBPt);

                acBlkTblRec.AppendEntity(pCir);

                acBlkTblRec.AppendEntity(pTri);

                //将块记录添加到块表

                acBlkTbl.Add(acBlkTblRec);

                acTrans.AddNewlyCreatedDBObject(acBlkTblRec, true);

                // 提交修改并销毁事务

                acTrans.Commit();

            }

        }

4.1.2插入卡块参照

代码:   //插入块

        [CommandMethod("InsertBlock")]

        public void InsertBlock()

        {

            Database acCurDb = pDoc.Database;

            // 启动一个事务  Start a transaction

            using (Transaction acTrans = acCurDb.TransactionManager.StartTransaction())

            {

                BlockTable acBlkTbl = acTrans.GetObject(

                    acCurDb.BlockTableId, OpenMode.ForWrite) as BlockTable;

                // 以写方式打开模型空间块表记录  

                BlockTableRecord acBlkTblRec = acTrans.GetObject(

                    acBlkTbl[BlockTableRecord.ModelSpace], OpenMode.ForWrite) as BlockTableRecord;

                //获取三角点块,并创建块引用

                BlockTableRecord pBlockTableRecord = acTrans.GetObject(

                 acBlkTbl["三角点"], OpenMode.ForRead) as BlockTableRecord;

                BlockReference bref = new BlockReference(

                   new Point3d(10, 10, 0), pBlockTableRecord.ObjectId);

                BlockReference bref2 = new BlockReference(

                   new Point3d(30, 30, 0), pBlockTableRecord.ObjectId);

                acBlkTblRec.AppendEntity(bref2);

                acTrans.AddNewlyCreatedDBObject(bref2, true);

                acTrans.Commit();

            }

        }

4.2创建带有属性的块定义及插入带有属性的块参照

4.2.1 创建带有属性的块定义

→创建一个名为“三角点”的带属性块的记录,包括以下实体:

Ø  一个点

Ø  一个圆

Ø  一个三角形

Ø  一个名为三角点的属性

代码:  #region 创建带属性的块

        [CommandMethod("CreateAtrrBlock")]

        public void CreateAtrrBlock()

        {    Database acCurDb = pDoc.Database;

            using (Transaction acTrans = acCurDb.TransactionManager.StartTransaction())

            {   BlockTable acBlkTbl = acTrans.GetObject(acCurDb.BlockTableId,

                                             OpenMode.ForWrite) as BlockTable;

                BlockTableRecord acBlkTblRec = new BlockTableRecord();

                string blkname = "三角点";

                acBlkTblRec.Name = blkname;

                acBlkTblRec.Origin = new Point3d(0, 0, 0);

                Point3d pCenter = new Point3d(0, 0, 0);

                //创建中心点

                DBPoint pDBPt = new DBPoint(pCenter);

                //创建圆

                Circle pCir = new Circle(pCenter, new Vector3d(0, 0, 1), 0.25);

                //创建三角形

                Polyline pTri = new Polyline(4);

                pTri.AddVertexAt(0, new Point2d(0, 1), 0, 0, 0);

                pTri.AddVertexAt(1, new Point2d(0.866, -0.5), 0, 0, 0);

                pTri.AddVertexAt(2, new Point2d(-0.866, -0.5), 0, 0, 0);

                pTri.AddVertexAt(3, new Point2d(0, 1), 0, 0, 0);

                Polyline pPl = new Polyline(2);

                pPl.AddVertexAt(0, new Point2d(0.9, 0), 0, 0, 0);

                pPl.AddVertexAt(1, new Point2d(4.5, 0), 0, 0, 0);

                //定义属性

                Point3d pPosition = new Point3d(1, 0.2, 0);

                AttributeDefinition pAtrDef = new AttributeDefinition(

    pPosition, "洼地", "三角点名", "输入三角点名", acCurDb.Textstyle);

                pAtrDef.Height = 1;

                Point3d pPosition2 = new Point3d(1, -1.2, 0);

                AttributeDefinition pHVaue = new AttributeDefinition(

                    pPosition2, "0.00", "高程值", "输入高程值", acCurDb.Textstyle);

                pHVaue.Height = 1;

                //给定块的原点

                acBlkTblRec.Origin = new Point3d(0, 0, 0);

                //将图形实体添加到块表记录

                acBlkTblRec.AppendEntity(pDBPt);

                acBlkTblRec.AppendEntity(pCir);

                acBlkTblRec.AppendEntity(pTri);

                acBlkTblRec.AppendEntity(pPl);

                acBlkTblRec.AppendEntity(pAtrDef);

                acBlkTblRec.AppendEntity(pHVaue);

                //将块记录添加到块表

                acBlkTbl.Add(acBlkTblRec);

                acTrans.AddNewlyCreatedDBObject(acBlkTblRec, true);

                CreateBlockIcon cbi = new CreateBlockIcon(acBlkTblRec.Name);

                acTrans.Commit();

            }

        }

        #endregion

4.2.2 插入带有属性的块参照

代码:

        #region 插入带属性的块

        [CommandMethod("InsertAtrrBlock")]

        public void InsertAtrrBlock()

        {

            Database acCurDb = pDoc.Database;

            using (Transaction acTrans = acCurDb.TransactionManager.StartTransaction())

            {

                BlockTable acBlkTbl = acTrans.GetObject(acCurDb.BlockTableId,

                                             OpenMode.ForRead) as BlockTable;

  

                BlockTableRecord acBlkTblRec = acTrans.GetObject(acBlkTbl[BlockTableRecord.ModelSpace],

                                                OpenMode.ForWrite) as BlockTableRecord;

                BlockTableRecord pBlockTableRecord = acTrans.GetObject(

                                    acBlkTbl["三角点"], OpenMode.ForRead) as BlockTableRecord;

                BlockReference bref = new BlockReference(

                               new Point3d(10, 10, 0), pBlockTableRecord.ObjectId);

                acBlkTblRec.AppendEntity(bref);

                acTrans.AddNewlyCreatedDBObject(bref, true);

                foreach (ObjectId id in pBlockTableRecord)

                {

                    Entity ent = (Entity)acTrans.GetObject(id, OpenMode.ForRead, false);

                    //打开当前的对象!

                    if (ent is AttributeDefinition)

                    {

                        AttributeReference attRef = new AttributeReference();

                        AttributeDefinition attDef = (AttributeDefinition)ent;

                        attRef.SetPropertiesFrom(attDef);

                        attRef.Height = attDef.Height;

                        attRef.Rotation = attDef.Rotation;

                        attRef.Tag = attDef.Tag;

                        if (attDef.Tag == "三角点名")

                        {

                            attRef.Position = new Point3d(11.3, 10.3, 0);

                            attRef.TextString = "洼地";

                        }

                        else if (attDef.Tag == "高程值")

                        {

                            attRef.Position = new Point3d(11, 8.8, 0);

                            attRef.TextString = "65.99";

                        }

                        if (!bref.IsWriteEnabled)

                        {

                            bref.UpgradeOpen();

                        }

                        bref.AttributeCollection.AppendAttribute(attRef);

                        //通知事务处理添加新创建的属性参照

                        acTrans.AddNewlyCreatedDBObject(attRef, true);

                    }

                }

                acTrans.Commit();

            }

        }

        #endregion

4.3在对话框中查看块定义的图标

代码:[CommandMethod("ViewBlock")]

        public void ViewBlock()

        {   ViewBlockfrm pViewBlockfrm = new ViewBlockfrm();

            pViewBlockfrm.acDoc = pDoc;

            pViewBlockfrm.Show();

        }

更多相关推荐:
cadcam实验报告

实实验课程学生姓名学号专业班级验报告计算机辅助设计与制造钱志伟5901108126机制083班20xx年12月30日0目录一实验一二维图形复合变换编程二实验二三次贝赛尔曲线生成三实验三三次B样条曲线生成1南昌大...

cadcam实验报告

实实验课程学生姓名学号专业班级验报201年月告南昌大学实验报告学生姓名学号专业班级实验类型验证综合设计创新实验日期实验成绩实验一二维图形复合变换编程一实验目的1掌握CAD图形处理的原理和方法2理解CAD对图形进...

cadcam标准实验报告

实验报告实验课程CADCAM学生姓名学号专业班级20xx年12月23日目录一实验一三次B样条曲线生成二实验二CADCAM集成1南昌大学实验报告学生姓名学号专业班级实验类型验证综合设计创新实验日期实验成绩实验一B...

贝塞尔曲线.B样条曲线.cadcam实验报告

C学院机电工程学院班级机制1001姓名范同梁学号5410020xx109AD实验报告一实验一二实验二年月日目录二维图形复合变换编程三次B样条曲线生成1南昌大学实验报告学生姓名学号专业班级实验类型验证综合设计创新...

cad实习报告

CAD实习报告经过这学期的理论和上机学习使我们对有了基本掌握对于CAD这个课程学习也有了一个系统的学习和掌握我学到的东西很多首先对于电脑绘图不熟悉的我有很大的帮助现在的我用AutoCAD绘图的速度快了很多而且知...

cad-4实验报告完整版

实验4尺寸标注实验11工管02班20xx0620薛茹玉实验4尺寸标注实验成绩一实验目的1掌握使用尺寸样式定义的方法2掌握线性标注的方法3掌握角度圆和弧的标注二实验项目内容1将图幅设置成3号图纸放大100倍单位为...

cad-5实验报告完整版

实验53D建模11工管02班20xx0620薛茹玉实验53D建模实验成绩一实验目的1掌握物体的标高和厚度3维坐标2掌握3维视图的两种坐标系统3掌握3D对象的一般编辑命令二实验项目内容1将图幅设置成3号图纸放大1...

CAD design实验报告

制造科学与工程学院实验报告ExperimentReportSchoolofManufacturingScienceampEngineering制造科学与工程学院实验报告二实验记录及数据处理RecordsofEx...

3d_max_课程设计报告

3DMAX设计报告设计题目办公室专业计算机科学与技术班级BU计算机091姓名金晓兰学号0911503106指导教师唐拥政完成时间20xx11223dmax设计办公室一设计任务和设计要求办公室基本上是每家企业必备...

3d max实训报告

厦门城市职业学院实践报告评审表1本表按专业班级填报由学部自行汇总存档备查厦门城市职业学院实践报告实践类型实验实训学部工程学部二09级专业班级学生姓名学号教务处编制年月日23

3dmax实训报告

3dsMax课程设计报告专业名称计算机应用技术系部名称信息工程系学生姓名班级名称指导教师目录前言2一实训课程的目的与任务3二实训课程要求3三进度计划表4四制作内容和步骤及难点最终效果图431任务一lt1gt苹果...

3Dmax实训报告

目录第一章摘要第二章操作步骤一建模二材质设置三灯光设置第三章参考文献1第二章制作步骤一建模1进入3dsmax8单击创建按钮进入创建命令面板创建一个圆柱体做未来住的基本模型通过修改按钮下拉菜单中的noise选项修...

cadcam实验报告(4篇)