资讯详情

资讯详情

Cadence Allegro坐标文件导出全攻略:从原理到实践,避免SMT贴片偏移

PCB设计完成后将设计数据准确无误地传递给下游的SMT贴片工厂是决定产品能否顺利量产的关键一步。这其中坐标文件Pick and Place File的生成与输出看似是一个简单的“导出”操作却常常成为硬件工程师与工厂之间沟通不畅、甚至导致贴片错误的“隐形杀手”。你是否遇到过工厂反馈坐标文件缺少单位、原点不对、缺少位号或者贴出来的器件全部偏移这些问题十有八九都出在导出坐标文件的设置上。对于使用Cadence Allegro这款业界主流PCB设计工具的工程师来说“输出坐标文件”是一个高频且必须掌握的技能。然而Allegro的菜单选项繁多导出设置项分散如果没有理解其背后的逻辑很容易导出错误或不完整的文件。本文将从实际生产需求出发彻底拆解在Cadence Allegro中输出坐标文件的完整流程、核心原理、关键设置以及那些容易踩坑的细节。无论你是刚接触Allegro的新手还是想梳理标准化流程的资深工程师这篇文章都将为你提供一个清晰、可靠、可直接复用的操作指南。1. 坐标文件连接设计与制造的“数据桥梁”在深入操作之前我们必须先理解坐标文件究竟是什么以及为什么它的准确性如此重要。1.1 坐标文件的核心作用坐标文件通常被称为Pick and Place文件、贴片坐标文件或XY数据文件。它的本质是一份文本格式的清单其中列出了PCB上每一个需要贴装的元器件主要是SMD器件的精确位置和角度信息。SMT贴片机的视觉系统将依据这份文件精准地拾取元器件并放置到PCB的对应坐标上。你可以把它想象成一份给贴片机看的“地图”和“说明书”地图部分告诉机器每个元件通过唯一的位号如R1,C5,U3来标识在PCB上的精确(X, Y)坐标。说明书部分告诉机器这个元件需要旋转多少度Rotation以及它属于哪一面Top/Bottom。1.2 文件内容详解一个标准的坐标文件通常包含以下关键列具体顺序和名称可能因工厂要求略有不同列名含义关键说明RefDes元器件位号如U1,R2,C10。这是识别元件的唯一ID。Footprint封装名称如0603,SOT-23,QFN48。帮助工厂核对物料。Mid X / Mid Y元件中心坐标元件几何中心的X, Y坐标。这是核心位置数据。Rotation旋转角度元件在PCB上的放置角度通常以度为单位。Allegro默认使用逆时针为正。Layer所在层Top或Bottom。决定贴片机在哪一面进行贴装。Value元件值如10k,0.1uF,STM32F103。辅助核对非必需但建议包含。为什么容易出错问题往往出在坐标原点不统一Allegro的默认原点、PCB板框原点、用户自定义原点工厂的机器坐标系原点。四方如果不一致坐标值就会整体偏移。单位混淆Allegro内部可能使用mil但工厂普遍要求mm。导出时未转换单位会导致所有坐标被放大或缩小25.4倍。数据不全遗漏了Rotation或Layer信息导致元件被贴反或贴错面。包含错误元件导出了不需要贴片的插件器件、测试点或机械孔。理解了这些我们再操作Allegro时就会清楚每一个设置项的目的从而避免盲目操作。2. Allegro输出坐标文件前的关键准备在点击导出命令前有几项准备工作至关重要它们直接决定了导出坐标的基准是否正确。2.1 确认并设置统一的坐标原点这是最重要的一步也是很多偏移问题的根源。Allegro中有多个原点概念我们需要为导出坐标明确一个基准点。操作步骤在Allegro PCB Editor中打开你的设计文件.brd。确保你的PCB板框Outline已经正确绘制并且板框形状处于激活状态通常是一个闭合的Board Geometry/Outline层图形。执行菜单命令Setup - Change Drawing Origin。此时命令行会提示你Pick new drawing origin。将新的绘图原点设置在你希望作为坐标基准的点上。通常有两种选择板框左下角这是最常用、最不易出错的方式。将原点设置在板框外形的左下角顶点。PCB中心某些对称设计或工厂有特殊要求时使用。点击后原点即被移动。你可以通过查看屏幕左下角的坐标显示来确认。为什么这么做这样设置后导出的(X, Y)坐标值就是以这个新原点为(0, 0)计算得出的。工厂的贴片机在编程时也会以PCB的某个物理角点通常是左下角或一个定位孔作为机器坐标系的原点。两者对齐坐标才能匹配。2.2 确保封装原点正确除了PCB级的原点每个元器件封装Package自身也有一个原点即它的(0, 0)点。这个点决定了在Allegro中放置该器件时坐标值对应的是器件的哪个部位。对于标准封装库中的封装原点通常设置在器件的几何中心或第1引脚。这是理想状态。对于非常规或自建封装务必检查其原点位置。如果原点偏在一边即使PCB坐标正确导出的元件中心坐标Mid X/Y也可能是错的。检查方法在Allegro中移动一个器件时观察光标捕捉的点那就是该封装的原点。对于贴片元件原点最好在器件中心。3. 分步详解使用Allegro输出标准坐标文件准备工作就绪后我们开始正式的导出流程。Allegro提供了File - Export - Placement功能来生成坐标文件。3.1 打开导出对话框并配置基础设置执行菜单命令File - Export - Placement...。弹出Placement对话框这是所有设置的集中地。关键配置项解析Placement origin这是第二个关键点。它决定了导出坐标的计算基准。Drawing origin使用我们上一步在Change Drawing Origin中设置的原点。绝大多数情况推荐选择此项确保与PCB物理基准一致。Database origin使用Allegro数据库内部的原点通常是绝对零点不推荐极易导致偏移。Units选择导出坐标的单位。必须与工厂要求一致。国内工厂通常要求Millimeters。如果你的设计是mils这里选择MillimetersAllegro会自动进行单位换算。Format选择文件格式。CSV逗号分隔值通用性好可用Excel直接打开编辑。推荐使用。Text空格或制表符分隔的文本。Elements to export选择要导出的元素。Symbols导出所有符号器件。Format symbols导出格式符号通常不需要。Drawing format导出绘图格式不需要。Mechanical symbols导出机械符号如螺丝孔、定位柱通常不勾选除非工厂要求。Package symbols导出封装符号。通常只勾选Symbols即可。Symbols to export进一步筛选符号。All导出所有。Placed只导出已放置的器件。必须选择此项避免导出未布局的器件。Unplaced只导出未放置的器件不要选。3.2 高级设置定义输出内容与格式点击Advanced Settings...按钮进入高级设置对话框。这里定义了坐标文件每一列的具体内容。核心列配置建议Ref Des必须输出。这是元件的身份证。Symbol X和Symbol Y必须输出。这是元件的坐标。通常选择输出Mid X和Mid Y元件中心坐标这是贴片机最需要的数据。避免选择Pin X/Y引脚坐标。Rotation必须输出。选择Symbol Rotation。Side of board必须输出。这将生成Top/Bottom信息。Symbol Name或Package Name建议输出。即封装名称方便核对。Comp Value建议输出。即元件值作为辅助信息。Text Label通常不需要。一个推荐的高级设置示例在Advanced Settings对话框中通过Add按钮按顺序添加以下字段FieldRef Des Mid X Mid Y Symbol Rotation Side of board Package Name Comp Value确保Output File标签页下的Separator分隔符与你选择的格式匹配如CSV选Comma。3.3 执行导出与文件验证在Placement主对话框中指定输出文件的路径和名称例如Project_XY_Position.csv。点击Export按钮。导出成功后务必用文本编辑器如Notepad或Excel打开文件进行人工检查。检查要点查看前几行和最后几行数据确认包含了所有已放置的SMD器件。检查是否有明显的坐标异常如坐标值极大或为0。确认Top/Bottom层信息正确。确认单位是mm如果之前设置了的话。打开PCB找一个已知位置的器件如板角的R1核对文件中的坐标是否与你在Allegro中测量到的该器件中心坐标一致测量命令Tools - Quick Reports - Symbol Report或使用Show Element命令点击器件查看其坐标。4. 处理特殊情况与高级技巧4.1 如何排除不需要的器件有时PCB上存在测试点、屏蔽罩焊盘、插件器件的焊盘等我们不需要将它们输出到贴片坐标文件中。方法通过Find面板筛选在导出前打开Find面板通常位于右侧或通过Edit - Find打开。在Find By Name部分选择Property和Name。在右侧的Find文本框中输入一个特殊的属性值如NO_POP、DNP但这种方法需要你提前给器件添加属性。更通用的方法是在导出后用Excel打开CSV文件手动删除不需要的行如RefDes以TP、MH开头的行。但这要求你的位号命名有规律。更优实践使用COMPASS_SIDE属性Allegro支持一个名为COMPASS_SIDE的用户定义属性。你可以为所有不需要贴片的器件添加此属性并设置其值为NONE。然后在Skill脚本或一些第三方工具中可以编写逻辑在导出时过滤掉这些器件。但这涉及更高级的定制。4.2 如何输出带精确旋转角度的文件Allegro的Symbol Rotation有时与工厂的解读存在0度/360度差异或者对于镜像的Bottom层器件角度需要转换。角度转换针对Bottom层器件有些工厂要求Bottom层器件的角度是“从Top视角看”的角度。而Allegro导出的Bottom层器件角度是其在本层的实际旋转角。这时可能需要一个转换公式通常在工厂端处理。为了清晰你可以在导出文件的Rotation列后增加一列备注说明角度定义规则。技巧导出后使用Excel公式处理假设你的CSV文件中Layer在E列Rotation在D列。可以在F列新增一列“贴片角度”并使用公式IF(E2Bottom, MOD(360 - D2, 360), D2)这个公式会将Bottom层器件的角度转换为从对面看的角度镜像后再旋转180度的等效角度。注意此公式仅为示例务必与你的贴片工厂确认其角度计算规则。4.3 使用Skill脚本或自定义报告实现自动化对于需要频繁导出坐标文件或公司有严格格式要求的团队手动配置每次导出既繁琐又容易出错。此时可以借助Allegro的Skill脚本功能。思路编写一个Skill脚本.il文件通过axlDBGetDesign()-symbols等函数遍历所有已放置的器件。从每个器件对象中提取RefDes,x,y,rotation,layer等信息。根据公司规范进行单位换算、原点偏移计算、角度转换、器件过滤等处理。将处理后的数据按照指定格式如CSV写入文本文件。一个简化版的Skill脚本思路示例非完整代码; 这是一个概念性示例无法直接运行 procedure( generatePickPlaceFile() outfile outfile(pickplace.csv w) fprintf(outfile RefDes,Mid X(mm),Mid Y(mm),Rotation,Layer\\n) foreach(sym axlDBGetDesign()-symbols when(sym-isPlaced sym-type PACKAGE ; 筛选已放置的封装 ; 计算基于绘图原点的中心坐标需转换单位 x_mm axlMKSToMM(axlTransformPoint(sym-xy ?origin drawingOrigin)) y_mm axlMKSToMM(axlTransformPoint(sym-xy ?origin drawingOrigin)) ; 获取旋转角度 rot sym-rotation ; 获取层信息 layer if(sym-layer TOP/ARTWORK then Top else Bottom) ; 写入文件 fprintf(outfile %s,%.4f,%.4f,%.2f,%s\\n sym-name x_mm y_mm rot layer) ) ) close(outfile) printf(坐标文件已生成。\\n) )注意实际Skill脚本编写复杂需要熟悉Allegro对象模型和Skill语法。建议从Cadence官方文档或社区获取成熟脚本进行修改。5. 输出文件后的核对清单与交付物在将坐标文件发送给工厂前请按照以下清单进行最终核对文件本身[ ] 文件格式为.csv或.txt且文件名清晰如产品型号_版本_贴片坐标_日期.csv。[ ] 用文本编辑器打开无乱码分隔符正确。[ ] 包含所有必需的列RefDes,Mid X,Mid Y,Rotation,Layer。[ ] 单位明确通常在文件名或文件头注明如单位mm。[ ] 不包含插件、测试点等非贴片器件。数据逻辑[ ] 坐标原点已与工厂确认通常是板框左下角。[ ] 抽取2-3个典型器件如板角一个板中心一个Top/Bottom各一个在Allegro中用测量工具验证其坐标与文件中的数据是否吻合注意单位换算。[ ] 旋转角度定义规则已与工厂沟通一致。配套文件必须一同交付坐标文件即刚生成的Pick and Place文件。Gerber文件包含所有层用于制作PCB和钢网。BOM清单物料清单包含位号、物料编码、规格值、用量等。PCB装配图PDF格式清晰显示位号位置用于人工核对。工艺要求说明如有特殊器件如BGA、QFN的焊接要求、三防漆要求等。6. 常见问题与排查思路即使按照流程操作仍可能遇到问题。下表列出了常见问题及解决方法问题现象可能原因排查方式解决方案坐标整体偏移1. 导出时Placement origin未选Drawing origin。2. PCB设计原点与工厂编程原点不统一。1. 检查导出设置。2. 与工厂确认他们使用的PCB物理基准点如左下角、定位孔。1. 重新导出确保选择Drawing origin。2. 在PCB装配图上明确标注坐标原点位置。单位错误导致坐标放大/缩小导出单位如mil与工厂要求单位如mm不一致。检查导出文件中的坐标数值。一个0805电阻的坐标如果是(1000, 2000)单位很可能是mil。重新导出在Units中选择正确的单位如Millimeters。缺少某些器件1. 导出时未勾选Placed。2. 器件被误归类为机械符号。3. 器件处于未放置(Unplaced)状态。1. 检查导出设置。2. 在Allegro中查看器件属性(Show Element)。3. 检查PCB上器件是否真的已放置。1. 确保勾选Symbols和Placed。2. 确保需要贴片的器件都是Package类型且已固定。旋转角度错误1. Bottom层角度未做镜像转换。2. Allegro角度0度方向与工厂机器0度方向定义不同。对比Allegro中器件的实际朝向与文件中的角度值。用几个典型器件测试。1. 与工厂明确角度计算规则。2. 如需转换可在导出后用Excel公式批量处理见4.2节。文件打开乱码文本编码问题如含中文位号时。用Notepad打开查看编码格式如UTF-8, ANSI。导出时选择纯英文位号或确保使用UTF-8编码保存CSV文件。包含大量非贴片元件导出了测试点、螺丝孔等机械符号。检查Elements to export设置是否勾选了Mechanical symbols。导出时只勾选Symbols并在高级设置中尽量避免导出非必要属性。或在导出后手动删除这些行。7. 最佳实践与工程化建议将坐标文件输出流程标准化能极大提升团队效率并减少生产错误。建立公司规范文档明确坐标文件的命名规则、包含字段、单位、原点、角度定义、交付物清单。让所有硬件工程师遵循同一套标准。创建Allegro导出配置文件将正确的Placement导出设置包括Advanced Settings保存为一个配置文件.plt或通过Skill脚本固化。新项目直接调用避免每次手动配置。在PCB设计阶段规划原点在画板框之初就约定好将原点设置在板框左下角或一个定位孔中心并养成先设置原点再开始布局的习惯。封装库管理确保公司封装库中所有贴片封装的原点都统一设置在器件几何中心。这是保证坐标准确的基础。输出文件自检导出文件后养成固定动作用Allegro的测量工具随机抽查3-5个不同位置的器件坐标与文件中的数据核对。与SMT工厂早期沟通在首次合作或新项目启动时主动与贴片厂工程师沟通坐标文件、BOM、Gerber的格式要求。将他们的要求融入你的导出规范中。版本管理坐标文件、Gerber、BOM必须与PCB设计版本严格对应。在文件名中加入版本号和日期是很好的习惯。输出坐标文件是PCB设计到制造链条中承上启下的一环。它要求工程师不仅熟悉工具操作更要理解制造端的逻辑。通过本文梳理的从原理、准备、操作、排查到规范的完整路径希望你能彻底掌握Cadence Allegro输出坐标文件这项技能将其从一个容易出错的“黑盒”操作转变为稳定可靠的标准化流程。下次再导出坐标文件时不妨对照文中的核对清单一步步操作你会发现与工厂的沟通将变得更加顺畅高效。
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →