
1. 原点设错后面所有坐标操作都在“打游击”有一阵子我经常被板框边上的连接器定位搞得头疼把USB座往板框边缘一拖肉眼看着已经贴边了结果用Show Element一量跟结构图差了8mil客户那边不接受这种误差。后来排查了一圈发现根本不是手抖是原点坐标从头到尾就没统一过。很多工程师拿到板子就开拖普通阻容器件靠视觉摆放问题不大可一旦涉及板框边界、定位孔、拼板工艺边这种有绝对坐标要求的位置原点不立好后面每一步都是在给返工埋雷。1.1 全局原点、用户原点与板框的关系Allegro的坐标系里有两层概念一个是绘图原点Drawing Origin它在新建PCB文件时被定义可以当作“绝对坐标”的基准另一个是用户原点User Origin其实就是你通过坐标原点调整命令在板上任意位置新设的(0,0)点。两者并不冲突但很容易混淆。更麻烦的是当你从DXF导入结构图或者从其他工具转过来的板框时板框线条的坐标通常不是从(0,0)开始的可能整体偏移到几千mil以外。这时候如果你打开Move命令直接输入“x 100 200”会发现器件落到了一个跟板框毫无关系的位置。原因很简单你输入的100和200是相对于当前坐标系原点的绝对坐标而板框本身并没有在那个原点附近。这就是为什么我建议在任何面向板框的定位操作之前先把原点重新设到板框的一个已知角点。这个动作做完了板框就变成了“局部坐标系”里的参照物后续所有坐标输入都变成相对于板框的数值跟结构图直接可以一一对应。1.2 17.4中设原点、定单位、调网格的推荐顺序我在17.4里的习惯操作顺序是这样的顺序不能乱执行Setup Change Drawing Origin然后在板框左下角或左上角取决于你的机械参考习惯点击一下。此时坐标显示会重置光标移到这个位置时状态栏坐标显示为0.0000, 0.0000。确认当前文件单位。打开Setup Design Parameter Editor Design在User Units里查看单位是Mils还是Millimeters。如果是结构图导入的板框很可能还是Mils但机械工程师给的图纸是毫米就需要确认换算关系。设好网格。进入Setup Grids把Non-Etch的网格间距设成1mil或更小Etch层也可以同步设置。网格太粗会导致你输入精确坐标时被吸附到附近的网格点反而放不准。设置完成后再去查看板框信息确认四个角点的坐标是不是符合预期。这里有个很容易被忽视的细节Change Drawing Origin只是改变了坐标零点不会改变任何对象的位置。也就是说原本在(1000, 1000)位置的板框在你重新设原点后它的所有顶点坐标都会自动变成相对新原点的数值。如果你把原点设在板框左下角那左下角坐标就是0,0右上角就是板框的宽和高非常直观。1.3 网格、单位和捕捉的配合关系很多人定位不准不是不会输入坐标而是输入了之后被网格和捕捉机制“修正”到了错误位置。Allegro的网格分两种一种是绘图网格影响光标移动和对象放置的基础步进另一种是Etch网格对走线和铺铜的格点有影响。在移动器件的时候主要起作用的是绘图网格和你在Options面板里是否勾选了“Snap to Grid Point”。设置项适用场景注意事项绘图网格 1mil板框边缘器件精确定位网格太细会导致光标移动较慢可临时开启/关闭绘图网格 5mil或更大批量摆放普通器件提高效率但精确定位时容易“吸”到错位格点Snap to Grid Point需要让器件落在格点上输入坐标时若开启可能被吸附到最近网格点造成偏差角度捕捉旋转器件时需要特定角度设置为45°或90°避免任意角度在定位板框边上的器件时我通常先把Snap to Grid Point关掉因为坐标输入已经足够精确网格吸附反而会画蛇添足。如果是在界面上用鼠标拖拽定位那就应该先打开网格捕捉让器件在x或y方向上跟随格点走。2. 拖拽、捕捉、坐标输入什么时候该用哪种方式2.1 拖拽适用于批量摆件不适用于板框边界关键器件很多师弟刚学Allegro的时候喜欢用鼠标直接拖器件拖完了觉得差不多就收工。在布局初期电容电阻这类小器件确实不需要精确坐标跟着飞线走放到大致区域就行。但板框边上的连接器、测试点、定位柱、Mark点这些是结构设计中明确标注尺寸的元器件靠目测拖拽等于赌运气。你拖的时候放大倍数再高手一抖就是几个mil的偏差而且这种偏差很难通过后续检查发现因为肉眼在12倍缩放下根本察觉不到几mil的差异。我的经验是普通器件用拖拽关键器件用坐标输入。划分标准很简单器件位置是否影响结构与装配。影响到外壳、插拔、贴合装配的连接器必须敲坐标单纯电气连接的去耦电容拖哪儿都行。2.2 捕捉类型与Point参考点的选择在Move命令激活的状态下Find面板会列出你可以选中的对象类型Symbols、Pins、Shapes、Lines等等。关键是要理解Options面板里的“Point”选项——它决定了在你输入坐标或者点击某个位置时Allegro以器件的哪个几何点作为参考。常见的Point类型包括Symbol Origin、Body Center、Pin 1等。Symbol Origin是封装库里的原点很多封装创建时并没有统一在原点上有些在中心有些在第一脚。Body Center是封装图形居中计算出的中心点。这两种参考点在实际定位中差异很大。比如一个排针连接器封装原点如果定义在第一脚附近而你一直以为它是中心输入坐标后就会错开半个连接器的长度。定位板框边缘连接器时我倾向于把Reference Point设置为Symbol Origin然后根据封装数据手册弄清楚原点在器件坐标系里的真实位置。比如如果一个2.54mm排针的原点在第一个焊盘中心而板框边缘距离第一个焊盘中心需要留出2.54mm100mil的插入深度那我可以直接在X方向输入对应的偏移量很容易算。使用Body Center也不是不行但要额外加减一个“孔中心到封装原点的距离”多一步换算容易出错。2.3 相对坐标与绝对坐标一个勾选决定成败这部分我必须专门讲因为我见过太多人栽在这里。在Move命令下Options面板里有一个“Relative”勾选项默认是关闭的。当它关闭时你在命令行输入“x 坐标 坐标”系统会把这组坐标当作绝对坐标把器件移动到那个坐标值所对应的位置。而一旦你勾选了Relative同样输入“x 坐标 坐标”系统会把它当作相对于当前器件位置的偏移量。举个例子某器件当前位于(500, 600)你希望它移动到(600, 600)。不勾选Relative输入“x 600 600”就能一次到位但如果你误勾选了Relative还在命令行输入“x 600 600”器件会直接飞到(1100, 1200)跑到十万八千里之外。这种差错发生在板框边上时器件会直接飞到板框外面而且第一眼看还反应不过来发生了什么。另一种常见误操作是用户在Options面板的X、Y文本框里输入数值却忘了面板里还开着Relative增量模式。这里的逻辑和命令行是一致的。定位板框器件时我强烈建议在操作前瞟一眼Options面板确认Relative前没有打勾。3. 把器件放到板框边缘上的完整操作步骤3.1 从板框角点坐标开始规划几何关系拿到一块板框为矩形的板子最理想的定位流程是先把原点放在板框左下角然后读出右上角坐标这样就知道了板框的准确尺寸。假设读出来右上角是(4000, 3000)单位是mil那板框就是4000mil × 3000mil。接下来机械结构图上通常会标注某个连接器的中心相对于板框左下角的X、Y距离比如“X500milY1500mil”。这时你不需要做任何换算直接在Move命令下输入“x 500 1500”就能正好把器件的参考点放到结构图指定的位置。这种方式的优势在于结构工程师给多少你就输入多少不需要手动量取偏移也不需要拿着尺子在PCB Editor里反复测量。如果不是矩形板框是多边形异形板框那就要注意“角点”的概念不存在了。通常我会在异形板框上选一个定位基准点比如某一条边的端点、某个定位孔的圆心把原点设定在那里然后以该点为基准计算其他器件的相对坐标。异形板上不要用中心点来规划器件因为中心点往往不好界定你算出来的中心未必是机械意义上的中心。3.2 Move命令行坐标输入最常用的组合具体操作如下按M激活Move命令。在Find面板中只勾选Symbols避免误选到其他对象。点击要移动的器件器件会变成一个被拖动的状态。在命令行输入“x 坐标X 坐标Y”并回车。例如“x 500 1500”。注意X和Y之间的空格不能少APD里面这个命令格式用得很频繁。如果方向不对可以在输入坐标前先按R输入角度回车旋转再执行Move。这里有两个细节值得强调。第一输入坐标时器件在屏幕上会跟随着你的光标处于待放置状态但只要你还没有点击左键确认它就不会最终落在那个位置。命令行输入坐标并回车后同样需要再一次点击左键或按回车确认放置。很多初学者以为敲完坐标就结束了结果发现器件还挂在光标上。第二你输入坐标前应该已经完成了旋转角度的设置。如果先敲坐标再旋转器件的位置就变成围绕原点旋转后的偏移位置不再是你想要的那个坐标点。3.3 Options面板输入坐标与右键Where的备选方案除了命令行还有两种比较隐蔽但好用的坐标输入方式。第一种是Options面板直接输入。在Move命令激活并选中器件后Options面板里会显示当前器件的X和Y坐标如果你是Absolute模式直接在这两个输入框里填入目标坐标回车即可。这个方式适合那些不习惯记命令行的工程师效果和命令行输入完全一样。第二种是右键菜单里的“Where”选项。在命令窗口或图形区右键选择Where会弹出一个坐标输入框填入目标坐标后光标会跳到那个点。如果你在Move命令中已经选中器件执行Where输入坐标时器件会跟着光标一起移动到该坐标再点击左键确认放置。很多老工程师把这个技巧用在“把光标快速定位到板框的某个位置”上尤其在需要反复在板框不同位置放置器件时比一点点滚动鼠标快得多。还有一种相对进阶的用法是用右键的“Unfix/Complete”菜单配合坐标输入但整体逻辑和上面一致。定位板框关键器件本质上就是“选中器件、输入坐标、确认放置”这三个动作的组合没太多玄学。4. 定位完成之后的检查与坐标报表核对4.1 用Measure工具核对尺寸定位完成后不要立刻开始走线。板框边缘器件的装配误差会影响外壳开孔、接口位置非常关系最终交付。先用Measure也叫Show Measure测一下关键尺寸。启动Measure后依次点击板框边缘线和你放置器件的焊盘中心或者封装原点取决于你当初输入坐标时的参考点它会给出两点之间的X方向、Y方向和总距离。以我的经验测量结果和结构图的差值应控制在1mil以内才算合格。如果你发现偏差在10mil以上先别急着拖器件按第5章的内容排查一下是不是坐标单位、参考点或Relative勾选出了问题。这里多花5分钟检查往往能避免后面几十块的板子报废。4.2 导出坐标报表并与结构图对照Allegro自带的坐标导出功能平时用的人不多但面对板框关键器件的批量核对它非常高效。在File Export Placement中可以选择导出器件的位号、坐标值和层面对保存成TXT格式。导出的坐标文件里X、Y坐标就是当前坐标系下各个器件参考点的位置。把这份文件和你从结构图里拿到的坐标表放到一起比对注意单位统一。如果结构图是毫米Allegro里是mil那就在Excel里先换算好。一遍扫下来哪些器件偏离了设计要求一清二楚。这种“用报表代替肉眼检查”的方式在板上关键器件数量超过10个时会明显地节省时间而且能发现一些你在图形界面上根本不会注意到的细小偏差。4.3 用Fix锁定定位好的关键器件一个非常实用的小习惯关键器件定位并检查无误之后立刻选中它们点击右键选择Fix或者按快捷键F固定。这样后续移动其他器件拖动鼠标时就不会误动这些已经校正好的元件。特别是在板框边缘这种地方一旦被误拖后面的检查又不会每次都做风险很高。Fix不是万能的它只是禁止了对象在图形界面下的移动行为。如果你用Skill脚本或通过命令窗口对器件做移动仍然可能绕过锁定。所以在固定之后如果手动调整了其他器件最好再次运行坐标报表导出确认那些关键器件的坐标没有变。5. 坐标定位中踩过的坑与经验记录5.1 坐标输入后怎么就偏了几十mil这是排错频率最高的问题。坐标输入正确输入后却明显偏了80%的可能是Options面板里的Point类型选错了。比如你以Body Center为参考点输入坐标但结构图标注的是连接器第一脚位置那实际上就是差了半个连接器长度的距离。二十几mil甚至几十mil的偏差很正常。另外一种是网格吸附导致的问题。如果你开着绘图网格且网格间距是25mil输入坐标时它会吸附到最近的25mil整数倍位置输入“x 20 100”很可能落在“x 25 100”或者“x 0 100”。所以我说精确定位时关掉Snap to Grid Point网格设成1mil甚至可以直接关掉网格。还有一类原因是单位搞混。Allegro里同时存在mil和mm两种常见的单位设置如果你物理上导入的板框是以mm为单位的而你在命令行里输入的是mil值那偏差就是25.4倍。这个错误检查起来特别容易忽略因为输入的坐标和最终位置之间隔着一次单位换算肉眼不容易察觉只有用Measure量出来才会发现离谱的比值。5.2 旋转方向、参考点、DXF导入的连环陷阱在板框边缘摆放器件时器件方向往往同样重要。Allegro里旋转角度的正方向默认是逆时针。如果你在Move前先输入了旋转角度然后又执行了带坐标的移动命令旋转会围绕你的参考点Reference Point进行如果参考点设的是Symbol Origin旋转就围绕这个原点进行而不是围绕板框上你想对齐的那条边。于是你会发现器件“过来”了但方向转了90°后位置却偏离了你预想的位置。DXF导入也常常带来麻烦。结构工程师给的DXF板框线可能是由很多段Line组成的有的还不是闭合Shape。你用Display Element去查看某段线的端点坐标能拿到精确的数值但这些线段如果没闭合板框的真实范围就需要把所有段的端点都看一遍才能确定。万一漏看一段圆弧或多了一段辅助线整个定位基准就是错的。我现在的习惯是针对异形板框首先把所有板框线层的Line合并或转成一个闭合Shape。如果DXP里没法合并至少要在Allegro里把板框线全部归到一个特定的Subclass锁定起来然后挨个查看各段线的端点坐标整理出一张坐标表再决定原点放在哪里。5.3 几个提升定位效率的小技巧最后分享几个我用下来很顺手的小技巧。第一善用“Show”命令。按Display Element在Find里只勾选Line或Shape然后点击板框边弹出的窗口会给出线段的起点和终点坐标。这个比用光标在屏幕上猜坐标精确得多也是我定位板框时最先做的动作。第二使用右键“Where”快速跳转。在板框尺寸较大、屏幕上无法完整看到所有位置时右键Where输入坐标可以瞬间把视图中心移到目标位置。虽然跟器件定位没有直接关系但在确定“板框那一条边到底在哪”时效率提升很明显。第三位号朝向和丝印也不要忽略。有些板子打样回来之后因为连接器附近的丝印文字方向反了导致装配工人看不出哪边是第一脚结果线缆插错。定位坐标是准了还得回头查位号角度。我习惯在Move坐标定位完成后顺带看一眼旁边位号的Text Block朝向一致就通过不一致顺手改成统一方向。第四如果有大量的器件需要按坐标表放置比如拼板时的Mark点阵列可以写简单的Skill脚本或者用Allegro自带的Auto Placement功能按TXT表格批量放置。这个不是每天都能用到但坐标表配合脚本把器件一次性排布到位效果很震撼。关键器件用人工逐个确认普通器件交给脚本效率和准确性都能兼顾。其实说到底板框边上的器件定位难点不在软件本身而在你知不知道三种事情当前坐标系原点是哪、器件的参考点是哪、你输入的是绝对坐标还是相对坐标。把这三件事串起来不管是17.4还是更老的版本思路都是一样的。等到操作顺手了从读结构图到全部关键件落位完毕也就是一杯茶的功夫。