
不知道你有没有遇到过这种情况原理图里明明是一个整体器件放进PCB后却怎么都挪不动其中一小部分或者从别的工程复制过来的模块想把它拆开重新布局结果一动就整体“手拉手”一起跑再或者明明看到了器件的位号却死活显示不出型号和参数输出图纸时总被审图的人挑毛病。这些都是Altium Designer使用过程中关于“元器件打散”的典型痛点。这篇文章我把这类操作的前因后果、具体步骤和踩坑心得整理成一套完整的实战笔记覆盖AD20到AD24的常用操作路径希望能让刚入门的朋友少走弯路也让老手能查漏补缺。1. 打散操作到底是什么重新认识PCB里的“元器件打散”1.1 三种常见的“打散”场景很多人一听到“打散”这个词第一反应是“把器件炸开”。但在实际工程里打散操作往往对应三种完全不同的需求搞混了最容易出问题。第一种是原理图库层面的打散。多Part封装元件比如一个双运放分成A、B两个Part或者4路与门分成4个逻辑单元在设计原理图时可能会被拆到不同位置绘制甚至放在不同图纸上。但你在PCB里看到的是封装实体物理上只有一个。如果这时你想让PCB上摆成两个独立器件去分别布局就需要在原理图库或PCB库里对元件的Part进行拆分组合这属于“逻辑打散”。第二种是PCB层面的单元打散。比如你从以前的工程里复制了一个电源模块这个模块在PCB上是由多个器件组成的一个“Union”联合体或者是一个Room房间。你想把它拆开重新排列、重新布线就必须要先解除这种组合关系让每个器件恢复为独立对象。这才是绝大多数人实际说的“打散”。第三种是封装级别的打散。比如你放置了一个连接器它的封装里除了焊盘还有丝印、装配层图形、1脚标记。如果这个封装做成了整体你想单独调整某个焊盘的位置或者修改丝印标注就需要把这个封装实例打散成自由图元。注意这种操作会破坏原有封装参数通常只用于一次性微调改完最好及时重新生成封装或做备份。弄清楚你要的是哪一种再往下操作才不会越弄越乱。我在实际带新人时发现十个人里有八个说“器件拆不开”其实只是没选中正确的层或者没找到解锁入口。1.2 为什么要打散从实际工程痛点说起先讲一个我真实经历过的项目。之前做一块工业控制板MCU外围带4路RS485收发器用的是4通道隔离电源模块。供应商提供的参考设计是一个整块的Room所有器件都绑在一起。我直接复制到自己的板卡里器件密密麻麻挤成一团完全没法按散热和走线需求重新布局。这时候如果不对Room和Union做打散我连单独拖动一个电容都做不到。强行移动只会整块跟着跑这时候才意识到打散不是“破坏”而是“释放”。它的价值在于让你重新获得对单个器件的控制权从而能够自由地进行布局、布线、散热优化和层叠规划。再比如有次做射频模块的匹配电路原理图里用了厂商提供的定制库器件本身倒没什么特殊但封装里带了默认的禁布区。我在PCB上想调整一个0402电阻的位置来微调阻抗结果发现一拖就带着整个禁布区和丝印一起动。查了半天原来是封装里把Shape和Pad组成了一条Union。这种时候不解散就没法真正做微调。2. 实操篇五种核心打散操作详细步骤2.1 多Part器件的部分拆分原理图/PCB同步解绑先处理逻辑层的拆分。如果你在原理图库中想将一个元件拆成两个独立器件或者把两个Part合并成一个可以在原理图库编辑器里操作。步骤大概是这样的在原理图库中打开“SCH Library”面板找到目标元件。使用菜单Tools - Part - Break来拆分当前Part。如果只想移除当前Part用Remove如果想新增一个空的Part用Add。这个操作的本质是为元件增加或减少逻辑段每一个Part仍指向同一个PCB封装只是原理图上可以分开画。拆分完后保存库文件并更新原理图让原理图里的器件引用新库。这里容易踩的坑是如果你在原理图里已经放置了该器件库改了之后最好执行Tools - Update Schematics同步一下位号、封装和Pin映射否则PCB里看不出任何变化。实际项目中我还遇到过一种更隐蔽的情况同一个器件的两个Part在PCB中确实对应同一个封装但你把其中一个Part的“Locked”属性勾掉了布局时怎么推都推不动就是因为PCB编辑器默认把同一个封装的两个“逻辑部分”锁定在同一条网络链路上。解决办法是选中器件后在Properties面板里取消“Locked”关闭“Protect Locked Objects”选项。2.2 通过菜单“Tools - Convert”打散已放置的一体化单元这是PCB板上最常用的一招。适用于连接器、模块封装、复用电路块等已经放置在PCB上的器件想把它的焊盘、丝印、禁布区域变成独立的图元元素。在PCB编辑器中选中你要打散的器件。注意必须确保你选中的是“Component”而不是仅仅选中了铜皮或丝印线段。执行菜单Tools - Convert - Explode Selected to Free Primitives。刚才选中的器件会被拆成自由焊盘、自由走线、自由字符串等一系列独立对象。这里有个重要提醒打散之后这个器件就废了。它不再是一个“器件”网络连接关系会跟着焊盘走但原理图同步时这个器件就被认为“不存在”了。如果后续你重新从原理图更新PCB这块位置会多出一个空器件甚至会报Component not found。所以我通常只对一次性测试用的占位封装或者要彻底重做封装的情况下才用它。正规产品设计流程中我一般先去封装库修改封装再在PCB里执行Update而不是现场打散。2.3 解锁与分散让锁定的器件恢复自由很多“打散不了”的问题其实不是封装结构的问题而是器件的Locked属性被勾选以及Room/Union绑定导致的。这里单独拉出来说。在PCB编辑器中按快捷键Shift F或使用菜单Edit - Find Similar Objects过滤出所有Component对象。在属性匹配条件里把“Locked”选为Same这样就能快速把所有带锁的器件选中。在Properties面板中把“Locked”取消勾选。如果器件被Union绑定先选中器件右键菜单选择Unions - Break Union from Child Components。如果是Room对象先选中Room边框Delete删掉Room或者使用右键菜单Room Actions - Dissolve Room。这一套操作完成后器件就能自由移动了。有些版本里Find Similar Objects打开的窗口筛选字段很多记得把“Object Type”设置为Component否则容易误选到别的图元。另外“Protect Locked Objects”这个全局开关默认是打开的所以哪怕你看着器件能选想拖动它还是会弹出提示“Object is locked”。先把勾去掉再操作比一个一个解锁要快得多。2.4 模块化布局后的“区域打散”模块化设计是现在PCB布局的主流做法。AD里的Room功能就是为此设计的它把一个区域的器件圈在一起整体搬移、整体复制特别方便。但是模块调试完毕后如果你想手动微调局部器件Room反而成了累赘。清理Room的操作是选中Room边框按Delete删除。但注意删除Room并不会删除里面的器件只是解除它们的区域绑定。如果你要的是Room内器件和新复制区域之间的“关联关系”也被打破还需要检查Room的“Locked”和“Keep Room Together”属性。在Room的Properties面板中如果勾选了“Locked”房间就不可随意缩放删除如果勾选了“Room Definition”里的“Keep Room Together”器件就不能被拖出房间范围。我常用的“区域打散”输出顺序是选中Room按右键 - Room Actions - Select Room Components确认选区是否完整。先把Room里的器件做成一个Union方便整体搬运。搬到目标位置后右键 - Unions - Break Union解除联合。最后删掉Room边框完成区域打散。这种方式适合从老项目里迁移功能模块保留布局整体性同时在新的母板上获得微调自由。不过复制带有Room的模块时有个坑Room的名称和Designator会一起复制新工程的Room名可能会带着“Copy of”前缀不处理的话原理图导入时偶尔会报Room Scope错误。最好复制完成后把新Room的“Name”重命名一下让它和源工程区分开。2.5 从PCB反向生成独立库封装的另类打散有时候客户会发来一份只有PCB文件、没有库的工程你想把某个器件的封装提取出来复用。这时候不需要“打散”而是要“反向重建”。但如果你非要快速拿到一个可编辑的封装结构有一个办法是打散后再重新生成库。做法是在PCB里选中目标器件Ctrl C复制。切换到一个空PCB文档Ctrl V粘贴。执行Tools - Convert - Explode Selected to Free Primitives直接把粘贴出来的器件变成自由图元。全选这些图元File - Save As保存为一个新的.PcbLib文件。这样得到的封装库是“炸开”的每个焊盘和图形都可以单独编辑。但坦率讲这种封装往往丢失了原始的Pad Stack映射关系和3D模型信息只适合应急使用。要是客户要求高还是老老实实量尺寸重做。顺带说一句从AD17以后版本生成封装库更推荐用Tools - Make PCB Library它会原样保留封装参数和3D体比炸开再存要可靠得多。3. 实战技巧打散后的布线与布局优化3.1 打散后如何快速重新排列元器件打散不是目的重新布局才是。之前在给一个隔离电源模块做板端适配时把模块Room整体打散后里面足足有80多个器件。逐个拖动显然不现实我总结了几条效率比较高的操作习惯。第一善用“List”面板和“Filter”面板。想按网络名筛出某条电源链路的所有器件可以在Filter里输入IsComponent and (Net 12V)这样能快速高亮目标器件。第二设置好网格与捕捉。在Properties面板的Board Options里把Snap Grid设为5mil或10mil移动器件时才不容易产生碎步长布线时飞线对齐也好做。第三善用快捷键。移动器件用M键弹出Move菜单旋转器件用空格键翻面用L键在PCB库编辑器中是L在PCB布局中如果是走线状态则是切换层注意上下文。布局阶段我常用M - Move Selection by X,Y来精确微调坐标。打散后的器件如果有特殊高度限制记得打开3D预览扫一眼避免装到结构件后冲突。以前吃过一次亏打散后的模块里有个大电解电容高度9mm正好撞在壳体压铸件的筋位上后来只能重新改布局浪费了大半天。3.2 显示元器件型号和名称的实用配置很多新手喜欢到PCB上手动加字符串来标注型号和名称这种做法又慢又容易漏。其实AD原生就支持把器件属性显示在PCB上。选中一个或多个器件在Properties面板里找到“Designator”和“Comment”。把“Comment”的显示开关打开并且把它的内容设置为器件的“Value”属性或“Part Number”属性。在PCB面板菜单里也可以统一设置View - Panels - PCB然后打开PCB面板的“Components”过滤模式全选器件后在“Properties”里批量修改“Show”选项。这里有个经验如果希望更大范围内的丝印统一建议在Preference - PCB Editor - Display里改字体大小和线宽而不要一个个双击字符串修改因为PCB库更新或重新同步后手动改过的字符串常被重置回默认状态。对于0603、0402这种小封装字号通常设成20~30mil比较合适对于BGA封装的丝印标注字号可以设得更小但注意丝印最小线宽受制造工艺限制常规PCB厂能做到4mil线宽就不错了0.5mm间距以下丝印容易糊。打印Gerber之前最好做一次丝印检查避免字符盖在焊盘上。3.3 结合线宽电流对照表的电源布线处理模块打散重排之后电源链路走线一般是要重新处理的。很多工程师凭感觉加宽结果加得不够或者过宽浪费面积。这里结合经验列一个常用的1oz外层铜厚参考表电流A最小线宽mil推荐线宽mil备注0.5810信号或小电流采样1.01216板内电源支路2.02530普通电源干线3.04050需兼顾阻焊桥与可制造性5.080100大电流主供电路径10.0以上200250及以上建议加开窗或改用铜排需要注意这只是经验值实际温升还取决于铜厚、走线长度、周围散热环境以及允许的压降。如果工艺允许大电流路径最好用覆铜皮填充而不要只用一条细走线“加粗”。我以前做过一版升降压电路输出5A电流自认为用100mil够了结果热成像一打局部温升35度后来改成顶层大铜皮并开了散热窗温升才降到可接受范围。打散后的器件重新布线飞线连接关系会保留原网络所以在布局时就要有意识地让同一网络的引脚靠近减少走线长度。如果发现飞线聚焦点在两个器件中间说明布局方向是合理的如果飞线穿来穿去说明还需要继续调整器件摆放角度。3.4 元器件选型与封装匹配的经验PCB的打散操作经常发生在替换元器件或调整选型的时候。比如你原来用的是插件电解电容发现空间不够想换成贴片固态电容这时在原理图里替换封装再更新PCB其实更规范。但有些人直接在PCB上动手拆了旧封装、拖线补焊盘这种“硬打散”方式短期内能跑通后续维护和生产会出问题。我在做产品迭代时遇到过某颗MOSFET的封装引脚定义和实物对不上。供应商给的参考封装里S、D引脚是反的导致PCB打样回来装上去不工作。排查了很久发现原理图库的Symbol没错PCB库的Footprint画错了Pin Mapping错位。这种问题如果靠PCB现场打散临时飞线可以救急但绝对不适合量产。正确做法是在封装库里修正Pad编号和Position再同步到PCB。如果遇到物料停产需要换替代料的场景一定要重新核对封装的热阻和焊盘尺寸不要因为引脚间距一样就直接复用。封装焊盘太大会导致立碑太小会导致虚焊。这里的经验是参考IPC-7351B标准对于CHIP类器件焊盘外端要比端电极多出0.3~0.5mm内端比对侧引脚之间的间距小0.1~0.2mm这样能保证焊接强度且不易连锡。4. 常见问题与排查技巧实录4.1 器件不能选中/无法移动怎么办这是打散操作中最常见的翻车点场景不同原因也不同。我整理了一张速查表现象可能原因快速排查方法能选中但拖动弹锁Locked属性勾选Properties面板取消LockedPreferences中取消Protect Locked Objects选不中器件过滤Filter误开按Shift C清空当前Filter检查Keysight Filter面板拖动带飞线跟着跑器件被Union绑定右键 - Unions - Break Union器件移动后不能放置间距规则冲突查看DRC报错调整Clearance或关掉在线DRC临时摆位器件整组跑Room未删除或电气连接成组删除Room或选中后执行Tools - Convert - Explode这里特别提醒在AD24中默认的“Protect Locked Objects”是开启的。即使是普通对象没有显式锁如果你的PCB是从旧版本工程升级过来的部分对象会被自动加上只读标记。此时在Properties里看不到明显锁标但拖动时依然会提示禁止操作。解决办法是在Preferences - PCB Editor - General里关闭Protect Locked Objects。4.2 打散后网络丢失或飞线异常Use了Tools - Convert - Explode后焊盘变成自由图元网络连接关系有部分会保留还有部分会被清空。尤其是原器件带“No Net”属性、或者网络名是多Part合成时炸开后可能出现飞线消失或错误连接。这时最可靠的办法是从原理图重新导入网络表让PCB网络回归正确。操作是Design - Import Changes from SCH把原理图里所有网络变化同步到PCB。如果只想修复局部网络也可以打开PCB List面板筛选出丢失网络的Pad对象手动在“Net”列填写网络名。但手动填容易出错尤其是多引脚器件建议优先用同步方案。我还遇到过一种特殊情况某个器件打散后复制了一份放在别处结果两份焊盘网络同时存在DRC疯狂报短接。因为原器件虽然被打散但网络属性还挂在焊盘上而新复制体又继承了同样的网络。这种时候要先给其中一份统一改网络例如把旧部分的网络统一改成“DNP”或者删除再执行一次DRC。4.3 多Part器件无法单独编辑多Part器件在PCB里其实就是一个封装原理图里分成几个PartPCB里只有一个物理体。所以如果你想在PCB中让每个Part单独移动位置本身就不现实。这个问题其实应该通过修改原理图来“拆元件”把原来一包多Part的器件改成多个独立元件符号每个都指向同一个封装或不同封装然后再更新PCB。遇到厂商库自带的多Part器件比如74系列逻辑芯片一个芯片有4个门电路。PCB上确实只有一个IC封装原理图上可以拆开画这是正常逻辑。如果你强行在PCB里打散并移动其中部分Pin逻辑关系就乱了还容易造成两个Part的网络互相冲突。所以我的建议是原理图设计阶段就确认好器件Part的拆分方式PCB阶段不要为了布局美观去拆多Part器件的封装除非你同时修改原理图逻辑并重新做网表。4.4 工程文件体积大、卡顿的处理PCB工程文件变大、电脑内存占用越来越高有时候也与“打散”有关。因为打散会生成大量自由图元加上反复撤销重做文件里会积累很多冗余数据。建议隔段时间就用File - Save Copy As另存为一个新文件或者执行File - Clean to remove unused data不同版本位置略有差异。也可以把整板所有图元复制到新PCB文档中手动排除无用数据。这个方法简单粗暴但确实能明显缓解卡顿。另外多版本AD工程的DXP工程结构在加载大库时会自动创建大量的History文件也会吃内存。可以定期在Windows文件管理器里删除“Project Logs”和“History”文件夹中过期的备份前提是你确定不需要回退到更早的版本。4.5 打散后如何保留3D模型和材质信息AD的封装库里3D体是作为附加对象绑定在Footprint上的。如果你用Explode打散这个封装3D体大概率会和2D Pad失去关联丢失位置关系。后期3D预览时你可能看到一个光秃秃的板子或者模型散落在别的层。经验做法是尽量不要在PCB里Explode。要修改3D体就到封装库里编辑申请更新。如果非要现场改也要把3D体的位置先用坐标记录下来炸开后手动在Properties里改回原坐标。3D模型的材质属性通常保存在Step模型文件内部AD里显示的颜色只是显示层的颜色和实际材质无关。导出Step时如果发现颜色不对去Design - Export - STEP里检查Export options把“Generate colors from layer”勾上再试。5. 避坑心得与实用技巧总结操作打散这么多年最深的体会是在PCB中做“暴力拆解”永远是最后手段而不是首选方案。能通过库修改、Room解散和Union解绑解决的问题尽量不要用Explode。道理很简单Explode会让器件失去元件属性后续任何跟原理图有关的管理都会出问题。而Room和Union的解绑本质上只是解除“组合关系”元件本身还是元件网络还能同步这才是正规流程里更常用的操作。如果你只是想让某个器件显示型号而不显示位号在Properties面板里就能改。如果你想快速在PCB上把同类器件一次性显示属性用Find Similar Objects批量筛选几秒钟就能完成比手动加字符串高效得多。上次做一版电源板我把所有电容打散重排后发现其中一部分电容的极性方向搞反了。当时因为炸开了没法用“翻转器件”的功能只翻转丝印只能手动调整丝印字符串方向。虽是小事但说明炸开操作确实牺牲了可管理性。从那以后除非极特殊情况我再不用Explode处理元器件一律从元件库源头解决。还有一个细节想提一下如果你在AD里用了中文路径保存工程文件打散过程中偶发报错“Access violation at address”。这个问题和软件的语言版本有一定关系把工程路径改成英文路径后概率会明显下降。做PCB设计这么久我被这个问题坑过两次每次都以为是库坏了其实只是路径编码问题。最后分享一个习惯每次做大的布局变动尤其是打散、拆Room、替换封装之前先按Ctrl S保存再用File - Save Copy As保存一个独立副本。不要问我为什么等你哪天连续操作三小时突然软件崩了就知道这个习惯有多重要。如果你有更多关于PCB布局、封装设计方面的疑问欢迎在评论里交流我看到都会回复。