Altium Designer 20板框设计全解析:从定义到拼板与Gerber输出
1. 板框不是画个矩形就完事先搞清楚它在AD20里到底管什么很多人第一次在AD20里画PCB打开PCB编辑器切到Keep-Out Layer拿画笔拉一个矩形觉得板框就搞定了。板子发出去打样工厂回来说外形不对或者拼板的时候发现V-Cut位置偏了又或者结构工程师给的DXF导入进来尺寸差了0.1mm。这些问题我几乎每次带新人都会遇到根源就一个没搞清楚AD20里板框到底由哪些元素构成各自管什么。在Altium Designer 20里真正决定板子物理外形的是板形轮廓Board Shape它定义的是PCB的物理边界也就是工厂切割时实际走刀的那条线。而你画的Keep-Out Layer上的线严格来说叫禁布线它约束的是布线、铺铜、过孔不能越界虽然很多时候大家拿它当板框用但两者在AD20的底层逻辑里是分开的。还有一个容易混淆的是机械层Mechanical Layer通常用Mechanical 1来画结构尺寸标注、拼板框、工艺边这些辅助信息。我见过太多项目板形轮廓是一个尺寸Keep-Out Layer画的是另一个尺寸机械层标注的又是第三个尺寸最后发板的时候自己都搞不清该以哪个为准。所以第一步先把这三个概念理清楚元素所在层作用是否决定物理切割板形轮廓 Board Shape内部定义不占层定义PCB物理边界是禁布线 Keep-OutKeep-Out Layer约束布线/铺铜/过孔否但工厂常参考结构框Mechanical 1/2…标注、拼板、工艺边否需转换理解这张表之后后面的所有操作你都会有一个清晰的判断什么时候该动Board Shape什么时候该画Keep-Out什么时候该用机械层。提示AD20默认新建PCB时板形轮廓是一个2000mil×2000mil的矩形Keep-Out Layer上什么都没有。如果你直接在这个默认板形上布局布线最后忘了改板形工厂就会按那个默认矩形给你切出来。2. 从零定义板形轮廓三种入口和它们各自的适用场景2.1 用Place Line在Keep-Out Layer画完再转换这是最常用的方式尤其适合板子外形是规则矩形或者简单多边形的情况。操作路径是切到Keep-Out Layer用Place Line画一个闭合轮廓然后全选这些线执行Design → Board Shape → Define from selected objects。AD20会自动把你选中的闭合线条转换成板形轮廓。这里有个细节很多人不知道转换时选中的线条必须是闭合的哪怕有一个像素的缺口AD20都会报错或者生成一个错误的形状。我通常画完之后会按ShiftC取消所有选择然后逐段检查线条端点是否重合。如果用的是Place Line而不是Place Polygon Pour Outline端点捕捉要确保Snap to Grid和Snap to Object都打开。另一个细节是线宽。Keep-Out Layer上的线宽在转换板形时会被忽略板形轮廓取的是线条的中心线。所以如果你画了一条10mil宽的线转换后的板形边界在中心线上不是线的外边缘。这一点在需要精确尺寸的时候特别重要比如结构要求板子宽度正好是50mm你画线的时候就要把中心线对准50mm的位置。2.2 用Place → Board Shape → Define Board Shape from 3D Body这个方式适合已经有3D结构模型的情况。比如结构工程师给了一个STEP文件里面包含了PCB的实体模型你可以直接从这个3D Body提取板形轮廓。操作是Place → Board Shape → Define Board Shape from 3D Body然后选择对应的3D Body。这个方法的优势是板形和结构完全一致不需要手动对尺寸。但前提是3D Body的底面必须是一个平面而且方向要对。我遇到过导入的STEP文件坐标系和PCB坐标系不一致的情况提取出来的板形是歪的这时候需要先在3D模式下调整Body的位置和旋转。2.3 从DXF/DWG导入板框结构工程师最常给的就是DXF文件。AD20导入DXF的路径是File → Import → DXF/DWG。导入的时候有几个关键设置Layer Mapping把DXF里的图层映射到AD20的层。通常结构给的板框在某个特定图层上你要把它映射到Keep-Out Layer或者Mechanical层。Scale确认单位是mm还是mil比例是不是1:1。我见过结构给的是1:2的图纸导入进来板子小了一半。Origin设置导入的原点位置通常选Absolute Origin或者Relative Origin看你的项目习惯。导入之后DXF的线条会变成AD20里的Track或者Arc。如果线条是断开的需要手动连接成闭合轮廓然后再用Define from selected objects转换成板形。注意DXF导入的线条有时候会有重复线段或者微小间隙肉眼看不出来但会导致板形转换失败。我通常导入后会执行Tools → Design Rule Check看看有没有未闭合的轮廓报错。2.4 三种方式的选择逻辑到底用哪种方式取决于你的输入条件如果板子外形简单自己画最快用方式一。如果已经有3D结构模型用方式二最准确。如果结构工程师给了DXF用方式三最省事但导入后的清理工作不能省。我个人的习惯是不管用哪种方式最终都会在Mechanical 1上再画一遍板框作为标注层这样出Gerber的时候机械层能清晰显示板子外形方便工厂核对。3. 板框裁剪与修改不是删了重画那么简单3.1 用Board Shape → Reshape修改局部边界板子画到一半发现某个角需要切掉或者某条边需要往外扩2mm很多人第一反应是重新定义整个板形。其实AD20提供了Reshape功能可以只修改局部边界。操作路径Design → Board Shape → Reshape。执行后鼠标会变成十字光标你可以在需要修改的边界附近点击并拖动AD20会实时预览新的边界形状。这个功能适合微调比如把直角改成圆角、把某条边往外推一点。但Reshape有个限制它只能修改已有的边界段不能增加新的顶点或者改变拓扑结构。如果你要把一个矩形改成L形Reshape是做不到的必须重新定义板形。3.2 用Board Shape → Move Board Shape整体平移有时候板子画完了发现原点位置不对或者需要把整个板形往某个方向移动。Design → Board Shape → Move Board Shape可以整体平移板形轮廓板子上的所有元素会跟着一起移动。这个操作在拼板的时候特别有用先把单板板形定义好然后复制多份每份用Move Board Shape调整位置。3.3 用Board Shape → Define Board Cutout挖孔板子上需要挖一个异形孔比如USB接口的避让槽、螺丝孔的沉孔、或者散热用的通风孔这时候要用Board Cutout。操作路径Design → Board Shape → Define Board Cutout。执行后你在板形内部画一个闭合轮廓AD20会把这个区域从板子上挖掉。这里有个关键点Cutout的轮廓不能和板形边界相交必须完全在板形内部。如果相交了AD20会报错。另外Cutout的轮廓也是取中心线所以如果你需要精确的孔径画线的时候要把中心线对准目标尺寸。我做过一个项目板子上要挖一个15mm×8mm的矩形孔给Type-C接口避让画Cutout的时候没注意线宽结果实际挖出来的孔小了0.2mm接口插不进去。后来改成用Place Line画中心线线宽设成0问题才解决。3.4 板框修改后的同步检查清单每次修改板形之后我都会做一遍以下检查Keep-Out Layer是否同步板形改了Keep-Out Layer上的禁布线如果没跟着改布线可能会超出新边界。铺铜是否重新灌注板形变化后铺铜区域需要重新灌注Tools → Polygon Pours → Repour All否则铺铜可能超出板边或者出现孤岛。3D视图检查按快捷键3切换到3D视图看看板子外形和元件有没有干涉。DRC检查跑一遍Design Rule Check确认没有元素超出板形边界。4. 从CAD到AD20DXF导入板框的完整避坑流程4.1 导入前的DXF清理结构工程师给的DXF文件往往包含很多无关图层尺寸标注、中心线、文字注释、甚至其他项目的残留图形。直接导入会让PCB编辑器里一团糟。我的做法是先在CAD软件里清理一遍删除所有非板框图层的内容只保留板框轮廓。检查板框是否闭合用CAD的PEDIT命令把多段线合并成一条闭合多段线。确认单位是mm比例是1:1。把板框移动到原点附近方便导入后定位。如果结构工程师不方便清理你也可以在AD20导入时通过Layer Mapping只映射板框所在的图层其他图层不映射。但这样导入后还是会有多余元素不如在源头清理干净。4.2 导入时的关键参数设置AD20的DXF导入对话框里有几个参数直接影响导入结果Import Mode选Insert还是Replace。Insert是追加到当前PCBReplace是替换当前PCB内容。通常选Insert。Scale默认是1.000如果DXF单位是mm而AD20当前单位是mil这里要设置正确的转换比例。我通常把AD20的单位先切成mm然后Scale保持1.000。Default Line Width导入的线条宽度。如果DXF里线条没有宽度信息这里设置的宽度会应用到所有导入线条。建议设成0.1mm或者更小避免线条太粗影响视觉判断。Layer Mapping这是最关键的一步。DXF里的每个图层都要映射到AD20的某个层。板框通常映射到Keep-Out Layer或者Mechanical 1。我的习惯是映射到Mechanical 1然后在AD20里手动转换成板形。4.3 导入后的板形转换与验证DXF导入后线条在Mechanical 1上。接下来全选板框线条可以用Edit → Select → All on Layer。执行Design → Board Shape → Define from selected objects。AD20会提示是否要替换现有板形选Yes。切换到3D视图或者按快捷键2查看板形是否正确。验证的时候重点看几个地方板子尺寸是否和结构图一致、圆角是否平滑、有没有多余的线段被误选进板形。我遇到过DXF里板框线条和某个标注线重合的情况全选的时候把标注线也选进去了结果板形多了一个奇怪的凸起。后来养成习惯导入后先单独选中板框线条确认选择集里只有板框再执行转换。4.4 导入板框的常见问题与修复问题现象可能原因修复方法板形转换失败线条未闭合用PEDIT合并或手动连接端点板子尺寸不对单位/比例错误重新导入检查Scale设置板形有毛刺DXF线条精度不够在CAD里增加圆弧分段数板形位置偏移原点不一致导入时设置正确的Origin多余线条混入图层映射错误重新映射只保留板框层5. 拼板中的板框处理V-Cut、邮票孔与工艺边5.1 拼板的基本逻辑拼板是把多个单板拼成一个大板方便工厂一次性生产。AD20里拼板的核心操作是先定义好单板板形然后复制多份每份用Move Board Shape调整位置最后在Mechanical层画工艺边和V-Cut线。这里有个关键点拼板后的板形轮廓应该是整个拼板的外框而不是每个单板各自独立的板形。AD20只认一个板形轮廓所以拼板的时候要把所有单板的外框合并成一个大轮廓。具体做法是先复制单板的所有元素包括板形轮廓然后在新位置上用Place Line在Keep-Out Layer画出整个拼板的外框最后用Define from selected objects重新定义板形。5.2 V-Cut线的画法与注意事项V-Cut是在板子上切一条V形槽方便后续掰开。在AD20里V-Cut线通常画在Mechanical层用Place Line画直线线宽设成0.1mm左右。V-Cut线的位置要精确对准单板之间的分界线。注意事项V-Cut线必须贯穿整个拼板不能中断。V-Cut线两侧要留足够的元件避让区通常每侧至少1mm。V-Cut的角度通常是30°或45°这个信息要在工艺说明里标注AD20里画线只需要画位置。5.3 邮票孔的画法邮票孔是在板边打一排小孔掰开的时候沿着孔断裂。在AD20里邮票孔用Pad或者Via放置孔径通常0.5mm到1mm孔间距1mm到1.5mm。邮票孔的位置要画在单板边界上通常放在Mechanical层作为标注实际生产时工厂会根据标注打孔。我个人的经验是邮票孔的区域不要铺铜否则掰开的时候铜皮会撕裂。在Keep-Out Layer上把邮票孔区域框出来铺铜的时候就会自动避让。5.4 工艺边的处理工艺边是拼板两侧或四周增加的边条用于SMT机器夹持。工艺边通常宽5mm到10mm上面可以放Mark点、定位孔、测试点。在AD20里工艺边直接画在板形轮廓里也就是说拼板后的板形要包含工艺边。Mark点通常放在工艺边的对角位置用Pad放置直径1mm周围留2mm的无阻焊区。定位孔用Pad放置孔径2mm或3mm位置要精确。6. 板框相关的DRC规则与输出检查6.1 设置板框相关的设计规则AD20的Design Rules里和板框直接相关的规则主要有两个Board Outline Clearance约束布线、铺铜、过孔到板边的距离。通常设0.2mm到0.5mm具体看工厂工艺能力。Keep-Out Clearance约束元素到Keep-Out Layer上禁布线的距离。设置路径Design → Rules → Manufacturing → Board Outline Clearance。我通常设0.3mm这个值对大多数工厂来说都能做而且留了足够的余量。6.2 输出Gerber时的板框层设置出Gerber的时候板框信息通常放在Mechanical 1层或者Keep-Out Layer。我的习惯是Mechanical 1画板框轮廓、拼板框、V-Cut线、工艺边标注。Keep-Out Layer画禁布线约束布线区域。在Gerber输出设置里把Mechanical 1和Keep-Out Layer都勾选上确保工厂能看到完整的板框信息。另外NC Drill文件里要包含板框上的所有孔包括螺丝孔、定位孔、邮票孔。出Gerber之前跑一遍DRC确认没有孔超出板形边界。6.3 发板前的最终检查清单每次发板前我都会对照这个清单过一遍板形轮廓尺寸和结构图一致。Keep-Out Layer上的禁布线闭合且不超出板形。所有元件都在板形内部没有超出边界。铺铜重新灌注过没有孤岛或超出板边。DRC无报错。Gerber文件包含板框层、Keep-Out层、NC Drill文件。3D视图确认板子外形和结构无干涉。拼板的话V-Cut线和邮票孔位置正确。7. 几个我踩过的板框坑和最终解决方案7.1 板形轮廓和Keep-Out Layer不一致导致工厂切错早期做项目的时候我在Keep-Out Layer画了板框但忘了用Define from selected objects转换成板形轮廓。结果AD20里板形还是默认的2000mil×2000mil矩形Keep-Out Layer上是我画的真实板框。发板的时候工厂按Gerber里的Keep-Out Layer切切出来的板子是对的但AD20里的3D视图和装配图全是错的。后来我养成习惯画完Keep-Out Layer的板框后立刻执行Define from selected objects并且在3D视图里确认板形正确。7.2 DXF导入后板形有微小间隙导致转换失败结构工程师给的DXF文件板框线条看起来是闭合的但导入AD20后转换板形总是失败。后来用Tools → Design Rule Check发现线条端点之间有0.001mm的间隙肉眼根本看不出来。解决方案是在CAD里用PEDIT命令的Multiple选项把所有线段合并成一条多段线或者在AD20里手动把端点拖到一起。更省事的办法是导入时把Default Line Width设大一点比如0.05mm这样微小间隙会被线宽覆盖转换就能成功。7.3 拼板后忘记重新定义板形拼板的时候复制了多份单板每份都有自己的板形轮廓但AD20只认一个板形。结果3D视图里只显示第一份单板的板形其他单板看起来像悬空的。解决方案是拼板完成后在Keep-Out Layer画出整个拼板的外框然后重新执行Define from selected objects把整个拼板定义为一个板形。7.4 板形修改后铺铜没有重新灌注修改板形后铺铜区域还是旧的导致铺铜超出新板边或者出现孤岛。AD20不会自动重新灌注铺铜必须手动执行Tools → Polygon Pours → Repour All。我现在的习惯是每次修改板形后第一件事就是Repour All然后再跑DRC。7.5 邮票孔区域铺铜导致掰板时铜皮撕裂早期做拼板的时候邮票孔区域没有做禁布处理铺铜直接铺到了邮票孔上。工厂掰板的时候铜皮撕裂露出基材。解决方案是在Keep-Out Layer上把邮票孔区域框出来铺铜会自动避让。另外邮票孔本身用Pad放置不要用Via因为Via会被铺铜连接Pad可以设置成无铺铜连接。8. 板框编辑的效率技巧与快捷键8.1 常用快捷键操作快捷键切换2D/3D视图2 / 3取消所有选择ShiftC全选当前层Edit → Select → All on Layer重新灌注铺铜Tools → Polygon Pours → Repour All设计规则检查T → D板形定义D → B → DDefine from selected objects8.2 自定义快捷键AD20允许自定义快捷键。我通常把Define from selected objects设成CtrlShiftB把Repour All设成CtrlShiftR这样操作起来快很多。设置路径Tools → Customize → Keyboard。8.3 用Script自动化重复操作如果经常做拼板可以写一个简单的Script来自动复制单板、偏移位置、重新定义板形。AD20支持DelphiScript和VBScript。我写过一个VBScript功能是选中单板所有元素复制按指定偏移量粘贴然后在Keep-Out Layer画外框最后重新定义板形。这个脚本帮我省了很多重复劳动。9. 板框与结构配合的实战经验9.1 和结构工程师的沟通要点板框尺寸不是PCB工程师一个人决定的必须和结构工程师对齐。我通常会在项目初期要三样东西结构3D模型STEP格式、板框DXF、关键尺寸标注图。然后我会在AD20里把板形定义好导出3D PDF或者截图给结构工程师确认。确认无误后再开始布局布线。9.2 板框公差与工艺能力板框尺寸不是越精确越好要考虑工厂的加工公差。通常工厂的板框公差是±0.1mm到±0.2mm。如果你的结构要求板子正好50mm宽那设计的时候可以设50mm工厂切出来可能是49.9mm到50.1mm。如果结构对公差要求很严比如±0.05mm那就要和工厂确认他们的工艺能力或者把配合间隙留大一点。9.3 异形板框的处理异形板框比如圆形、椭圆形、不规则多边形在AD20里处理起来和矩形板框没有本质区别都是用Place Line画轮廓然后转换。但有几个注意点圆弧段要用Place Arc画不要用多段直线逼近否则板边会有棱角。圆弧的半径和圆心要精确可以用Properties面板输入数值。异形板框的铺铜要特别注意容易在尖角处出现孤岛。我做过一个圆形板子直径30mm用Place Arc画了一个整圆然后Define from selected objects转换成板形。转换后3D视图看是圆的但Gerber输出后工厂说板边有微小棱角。后来发现是圆弧的分段数不够在Properties面板里把Arc的Resolution从默认值调高问题解决。9.4 板框与外壳的配合板子要装进外壳里板框尺寸和外壳内腔尺寸的配合很关键。通常板框比外壳内腔小0.2mm到0.5mm留出装配间隙。如果外壳有卡扣或者定位柱板框上要对应挖缺口或者打孔。这些信息都要从结构3D模型里提取在AD20里用Board Cutout挖出来。我个人的习惯是在AD20里把结构3D模型导入进来Place → 3D Body然后对照模型调整板框和Cutout位置。这样比看2D图纸直观得多也不容易出错。10. 从板框到出板一个完整项目的流程复盘10.1 项目启动阶段的板框准备项目启动时先拿到结构3D模型和板框DXF。在AD20里新建PCB导入DXF映射到Mechanical 1然后转换成板形。接着在Mechanical 1上画板框标注在Keep-Out Layer画禁布线。最后导出3D PDF给结构确认。10.2 布局布线阶段的板框维护布局布线过程中板框可能会因为元件调整而修改。每次修改板形后立刻Repour All跑DRC确认没有元素超出边界。如果板框修改较大重新导出3D PDF给结构确认。10.3 出板阶段的板框输出出板前确认板形轮廓正确Keep-Out Layer闭合Mechanical 1上有完整的板框标注。出Gerber时勾选所有相关层出NC Drill文件跑最终DRC。打包发给工厂附上工艺说明板厚、铜厚、阻焊颜色、V-Cut角度等。10.4 我个人的流程检查表最后分享一个我用了很多年的流程检查表每次项目都对照执行板形轮廓已定义3D视图确认无误。Keep-Out Layer禁布线闭合不超出板形。所有元件在板形内部无干涉。铺铜已重新灌注无孤岛。DRC无报错。Gerber包含板框层、Keep-Out层、NC Drill。拼板项目确认V-Cut线和邮票孔位置。结构确认3D PDF已签字。这套流程看起来繁琐但跑顺了之后每个项目也就多花十几分钟能避免90%以上的板框相关问题。我见过太多因为板框问题导致打样报废的案例返工的时间成本远高于前期检查的投入。