【转】PCB中3D相关功能详解

如果PCB Layout工程师能够在设计过程中,使用设计工具直观地看到自己设计板子的实际情况,将能够有效的帮助他们的工作。尤其现在PCB板的设计越来越复杂,密度越来越高,如果能够洞察多层板内部则可以帮助工程师避免很多不易察觉的错误。特别对于电子产品的机电一体化设计,Altium Designer对于STEP格式的3D模型的支持及导入导出,极大地方便了ECAD-MCAD之间的无缝协作。

Altium Designer 凭借其突出的 3D 设计能力,提供当今公认一流的三维 PCB 设计平台。PCB 编辑器也支持导入机械外壳,与板上所有元器件的精确3D模型一起,实现精确的 3D 违规检测。

PCB3D显示

      在PCB的设计环境下,按下快捷键“3”就可以进入3D显示状态。在3D状态下,我们就可以非常方便地实时查看正在设计板子的每一个细节。如,焊盘、过孔、丝印、阻焊、涂镀和安装孔等等。如下所列为3D显示过程中各种有用的快捷方式。

  • 按下鼠标滚轮并保持然后前后拖动鼠标,3D显示的板子就会快速放大或缩小;
  • 按下鼠标右键并保持然后按下Ctrl键并前后拖动鼠标,3D显示的板子也会快速放大或缩小;
  • 按下快捷键“0”, 3D显示的板子被水平与显示屏放置;
  • 按下快捷键“9”, 3D显示的板子被垂直与显示屏放置;
  • 快捷键组合“V+B”,则3D显示的板子沿着鼠标所在点处的纵轴翻转;
  • 按下Shift键并保持然后按下鼠标右键,上下左右移动鼠标,则3D显示的板子会根据鼠标的移动沿着相应的方向旋转;
  • 按下快捷键“2”,则从3D显示状态恢复到2D显示状态。

      按下快捷键“L”可以打开如下图所示的PCB3D显示设置对话框,可以根据板子的实际情况设置相应的板层颜色,存储或者调用已经存储的板层颜色设置。这样,3D显示的效果会更加逼真。  

      

PCB3D模型创建

手动创建3D体

手动创建3D体的方式一般用于比较简单易画的元器件,并且没有现成STEP模型可用,又不需要为元件提供特别精确的形状时,就可以采用这种方式达到您想要的结果。

稍微复杂点的元器件形状可以通过在机械层上放置多个3D体对象来组合。在PCB编辑器中使用Place > 3D Body命令就可以实现。

        打开3D体属性对话框。其中有四种选项,“Extruded”,“Cylinder”,“Sphere”以及通用3D模型“Generic 3D Model”。其中通用3D模型用于添加STEP文件。其余三种用于手动创建的简单几何形体。可先创建挤压体,点击色块,可以设置其颜色。以及设置其总体高度,和相对于PCB表面的悬浮高度。

接下来,可以放置几个圆柱体,选择圆柱体“Cylinder”,然后选择颜色“Color”,半径“Radius”,总体高度“Overall Height”,以及悬浮高度“Standoff Height”,如果需要,也可以设置各轴向的旋转角度。接下来在圆柱体的顶端放置球体。点击球体“Sphere”,设置其悬浮高度,为之前放置的圆柱体的高度。这样就可以在圆柱体的头上放置一个圆顶。

      如此,采用三种简单的几何形体进行组合,这样组合可以设计出复杂的3D模型。

导入元器件的STEP模型

        STEP是一个流行的数据交换格式,支持所有主流的MCAD软件。使用Place ? 3D Body 命令的通用3D模型“Generic 3D Model”选项,可以将STEP格式的元件模型导入到Altium Designer中。

你经常会发现创建的STEP模型和Altium Designer的封装方向不同,Altium Designer提供了许多的调整方向和对齐的工具来解决这些问题。

虽然他们可能有不同的方向,STEP模型往往和PCB的封装一样都有其原点。在模型的原点中添加捕捉点可以帮助他们进行对齐,最简单的添加捕捉点的方式是在3D体对话框(在已导入STEP模型的体对象上面双击),并单击添加按钮进行捕捉点的添加。

     在旋转对齐的过程中有如下技巧可以参考。

  • 使用PCB Inspector面板是在3D视图模式下进行封装旋转的好方法。
  • 在旋转对齐的过程中,可用M,M快捷键来移动STEP模型,单击该模型的原点作为控制点 。
  • 当STEP模型正在移动时,使用J,R快捷键跳转到封装的参考点,按下回车键来对模型进行放置。
  • STEP模型在移动的过程中也可以使用数字小键盘来旋转。按2 和 8,为X轴旋转。
  • 4 和6为Y轴旋转。
  • 空格和 Shift +空格键为Z轴旋转。
  • 任何数目的捕捉点都可以被添加到模型,以方便对封装进行移动和对齐。使用交互式的命令,在Tools ? 3D STEP Body Placement子菜单来实现。
  • Add Snap Point from Vertices命令有两种模式:用它在所选择的顶点来添加一个管理单元点,或按空格键切换到您所点击的2个顶点之间的中点模式。

IPC封装向导生成STEP模型

      使用手动创建的方法,对于简单的封装是很容易的。但是当器件焊盘数量很多,而且该器件符合IPC封装标准的时候,我们可以使用IPC封装向导来添加3D模型。操作步骤是,到工具“Tools”的下拉菜单,选择“ICP Compliant Footprint Wizard”,即可开启向导。我们只需按照步骤来创建封装。点击下一步,这里我们看到可以创建的,各种封装的类型。选择其中一种封装类型,然后按照向导一步步操作,输入元器件数据手册中的各种参数值。封装创建完毕之后,其STEP模型也顺便一起生成。如下图所示。

PCB3D之ECAD-MCAD交互

        Altium Designer为MCAD设计工具提供了强大的接口支持,包括在PCB编辑器中的三维可视化,以及STEP文件模型的导入和3D文件的导出。已完成的PCB文件可以输出为3DSTEP格式的文件供机械设计软件调用。

之前您也看到,可以导入3D STEP模型,如元件和外壳,到PCB的原理图和PCB的编辑器,也可以导入2D IDF和DXF的数据,用于PCB外形板框的设计。

要输出一个STEP格式的文件,从菜单选择File ? Save As,并从保存类型列表中选择Export STEP。STEP Export Options对话框将会出现,这样您可以设定输出内容以及如何输出元件。如上图所示。如果可能的话最好删除孔信息,因为包含孔信息会增加文件容量。

下图即是我们经典的SL1水平尺的PCB板,导出的整板STEP数据文件。

PCB3D检查与测量

        对于紧凑、复杂的新产品的普遍要求是在交付加工制板或对壳体进行测量之前就能够测试板子与外壳的相符合程度。

Altium Designer支持将任何3D模型直接导入PCB编辑器,如壳体或安装支架。在PCB设计完成之后,各元器件都包含3D模型的情况下,可以导入电路板PCB的外壳。然后同样使用数字键盘上的空格和箭头键,来调整模型的位置,或使用PCB Inspector面板来测试不同的旋转设置。

当您单击并按住移动模型到一个位置,可使它的顶点在模型中。您也可以加入自己的捕捉点,无论是通过3D body对话框(双击导入的模型来打开它),或通过Tools ? 3D Body Placement ? Add Snap Points From Vertices命令。

把PCB面板设置到3D模式,选择模型,并使用Highlighted Models下拉改变透明度。来进行外壳的装配,并检查匹配情况。如下图所示,左边是装有3D模型的元件,右边是装有外壳的底部的3D显示。

      如上图所示,确保机械外壳与PCB板以及板上元器件都匹配良好。

3D的测量在Altium Designer中也可以轻松进行操作,实时检查和测量元件与元件之间,元件与PCB板之间,以及整板与外壳之间的相互装配情况。如下图所示,可以轻松测量两个3D对象之间的水平距离,垂直距离以及直线距离。

3D Movie及PDF输出

        对于我们完成的3DPCB板,为方便查看,还可以创建对应的3D动画,包含各种状态和显示角度的一帧帧画面,组成3D动画Movie。然后再将该3Dmovie输出到3DPDF以供文档保存。

首先使用3D Movie编辑器“PCB 3D movie editor”,预先定义3D视图,进行3D movie 的创建。

       

      然后将3D Movie进行PDF输出。File > Export > PDF3D 。导出页面的设置中勾选“Use 3D Movie view”。

      如上所述,本篇文章综合介绍了PCB3D的应用。包括PCB3D的显示,3D模型的创建与STEP模型导入,ECAD-MCAD的交互,PCB3D的检查和测量,以及PCB3D的文档输出。

来源

原文地址:https://www.cnblogs.com/skullboyer/p/9157227.html

时间: 2024-10-06 01:27:52

【转】PCB中3D相关功能详解的相关文章

【PHP发展史】PHP5.2 到 PHP5.6 中新增的功能详解

截至目前(2014.2), PHP 的最新稳定版本是 PHP5.5, 但有差不多一半的用户仍在使用已经不在维护的 PHP5.2, 其余的一半用户在使用 PHP5.3. 因为 PHP 那“集百家之长”的蛋疼语法,加上社区氛围不好,很多人对新版本,新特征并无兴趣. 本文将会介绍自 PHP5.2 起,直至 PHP5.6 中增加的新特征. PHP5.2 以前:autoload, PDO 和 MySQLi, 类型约束 PHP5.2:JSON 支持 PHP5.3:弃用的功能,匿名函数,新增魔术方法,命名空间

Netty中execution包功能详解

技术点描述 Netty中关于多线程处理的代码很多(netty框架的实现本身就是异步处理机制),此文档仅针对于execution包的功能做详细解说. 以下是整个包的目录结构: 包中的调用关系如下图所示: 实现方案 参考源码包 以下是对此包中的源码的分析(请注意后四个类为此包中最重要的类) ChannelEventRunnableFilter 此接口定义了一个抽象方法: boolean filter(ChannelEventRunnable event); 如果传入的event是由Executor处

第一篇 特征提取以及openvslam中的相关实现详解

参考尺度空间理论 金字塔 当用一个机器视觉系统分析未知场景时,计算机没有办法预先知道图像中物体尺度,因此,我们需要同时考虑图像在多尺度下的描述,获知感兴趣物体的最佳尺度.所以在很多时候,我们会在将图像构建为一系列不同尺度的图像集,在不同的尺度中去检测我们感兴趣的特征.比如:在Harr特征检测人脸的时候,因为我们并不知道图像中人脸的尺寸,所以需要生成一个不同大小的图像组成的金字塔,扫描其中每一幅图像来寻找可能的人脸. 图像金字塔化的一般步骤:首先,图像经过一个低通滤波器进行平滑(这个步骤会使图像变

第三篇 视觉里程计(VO)的初始化过程以及openvslam中的相关实现详解

视觉里程计(Visual Odometry, VO),通过使用相机提供的连续帧图像信息(以及局部地图,先不考虑)来估计相邻帧的相机运动,将这些相对运行转换为以第一帧为参考的位姿信息,就得到了相机载体(假设统一的刚体)的里程信息. 初始化实例 在实例化跟踪器的时候会实例化一个初始化实例,有一些比较重要的参数需要注意下,看代码注释以及初始值,参数值也可以在yaml文件中自定义. // src/openvslam/module/initializer.h:83 //! max number of it

Dynamics CRM2013 1:N关系 sub-grid中的“添加现有项”和“添加新建项”功能详解

CRM2013中sub-grid的样式和2011中有了较大的变化,2013和2011界面对比如下 在2011的时候按钮是在ribbon区,1:N的父子关系实体直接点击添加新纪录就可以,但2013就不行了点加号首先会有个下拉框把现有的子实体数据列出来,你可以选择现有的也可以新建 既然你的关系实体是1:N的父子实体,那子的存在肯定是依赖于与父实体的,所以这个地方就压根不存在关联现有实体一旦关联就会报错,所以纯碎新建的话这边的步骤就繁琐了,同时也会给用户带来迷惑 所以这个地方这种情况下完全没必要添加现

在ASP.NET 5应用程序中的跨域请求功能详解

在ASP.NET 5应用程序中的跨域请求功能详解 浏览器安全阻止了一个网页中向另外一个域提交请求,这个限制叫做同域策咯(same-origin policy),这组织了一个恶意网站从另外一个网站读取敏感数据,但是一些特殊情况下,你需要允许另外一个站点跨域请求你的网站. 跨域资源共享(CORS:Cross Origin Resources Sharing)是一个W3C标准,它允许服务器放宽对同域策咯的限制,使用CORS,服务器可以明确的允许一些跨域的请求,并且拒绝其它的请求.CORS要比JSONP

ServletContext作用功能详解

ServletContext作用功能详解 ServletContext,是一个全局的储存信息的空间,服务器开始, 其就存在,服务器关闭,其才释放.request,一个用户可有多个:session,一个用户一个:而servletContext,所有用户共用一 个.所以,为了节省空间,提高效率,ServletContext中,要放必须的.重要的.所有用户需要共享的线程又是安全的一些信息. 换一种方式说吧,运行在JAVA虚拟机中的每一个Web应用程序都有一个与之相关的Servlet上下文.Servle

Linux下FFMPEG--H264--编码&&解码的C实现与相关原理详解

FFMPEG是很强大的一套视频音频处理库,不过,强大的功能一般免不了复杂的实现,或者更加现实地说,"麻烦"的部署和使用流程 关于"FFMPEG怎么部署"这事就放在另一篇文章啦,下面入正题.. 编码encoder模块和解码decoder模块都有init初始化方法和资源free方法 init初始化方法主要是进行ffmpeg所必需的编解码器的初始化和部分功能方法的参数配置,而free资源释放方法则是相应地进行必要的回收 Encoder模块的实现和细节分析 #include

.NET源码保护控件VMProtect免费下载及使用教程脱壳等功能详解

原文来自VMProtect龙博方案网www.fanganwang.com VMProtect是一款全新的软件保护工具.与其它大部分的保护程序不同,VMProtect可修改程序的源代码.VMProtect可将被保护文件中的部分代码转化到在虚拟机(以下称作VM)上运行的程序(以下称作bytecode)中.您同样可把VM想象为具备命令系统的虚拟处理器,该命令系统与Intel 8086处理器所使用的完全不同.例如,VM没有负责比较2个操作数的命令,也没有有条件与无条件的移转等.就象您现在看到的,黑客必须