1. 为什么丝印位号值得单独花时间优化
画过几块板子的人都有体会:原理图连通了、DRC全绿了、Gerber也导出送厂了,板子回来焊上元件,调试的时候却抓瞎——丝印位号要么被焊盘压住,要么歪七扭八挤成一团,要么干脆跑到板子另一面去了。尤其是元件密度高的板子,几十上百个阻容,位号乱成一锅粥,找一颗上拉电阻得拿放大镜对着位号表一个个数。
丝印位号视觉优化这件事,说大不大,说小也不小。它不影响电气性能,不影响信号完整性,但直接影响调试效率、焊接效率、返修效率,以及别人拿到你板子时的第一印象。一块丝印整齐、位号清晰、方向统一的PCB,和一块位号东倒西歪的PCB,专业度差距一眼就能看出来。
在Altium Designer(后面统一简称AD)里,丝印位号的调整如果一个个手动拖,一块两百个元件的板子能耗掉你大半天。但AD本身提供了相当完善的批量调整和自动定位功能,用对了方法,十分钟就能把整板丝印收拾得干干净净。这篇内容就把我在实际项目中反复验证过的丝印优化流程拆开讲清楚,从设计规则设置、批量选中、自动居中定位,到特殊封装的单独处理,全部是可复现的操作。
适合正在用AD画板、被丝印问题困扰的硬件工程师和PCB Layout新手。不需要你有多深的AD使用经验,跟着步骤走就行。
2. 丝印位号优化的整体思路与设计规则先行
2.1 先想清楚"优化"的标准是什么
动手之前得先明确目标,否则调完还是不满意。丝印位号优化的核心标准其实就四条:
- 可读性:位号不被焊盘、过孔、其他丝印遮挡,字符大小在板子实际尺寸下肉眼可辨。
- 一致性:同类元件的位号位置规律统一,比如所有0402电阻的位号都在元件正上方或正下方。
- 方向性:位号文字方向统一,通常要求从板子底部或右侧看是正的,避免出现倒置文字。
- 不越界:位号不压焊盘、不超出板框、不侵入禁布区。
这四条里,可读性和不越界是硬性要求,一致性和方向性是加分项但同样重要。很多教程只讲怎么批量居中,却不讲居中之后位号可能压到焊盘上,结果调完还得手动返工。
2.2 设计规则里先把丝印约束卡死
AD的Design Rules里有一类专门管丝印的规则,很多人从来没打开过。路径是Design -> Rules -> Manufacturing -> Silkscreen,里面有两个关键规则:
- Silkscreen Over Component Pads:控制丝印与焊盘的最小间距。建议设为
0.15mm到0.2mm,具体看你的板厂工艺能力。这个规则的作用是DRC时自动报出丝印压焊盘的位置,让你批量调整后能快速定位问题点。 - Minimum Silkscreen Text Height:最小丝印文字高度。一般建议不低于
0.8mm,高密度板可以放到0.6mm,再小印刷出来就糊了。
设置好这两个规则之后,每次批量调整完跑一次DRC,所有违规的丝印会直接列在Messages面板里,双击就能跳转定位。这比用眼睛一个个找效率高太多。
注意:丝印与焊盘的间距规则不要设得过于激进。有些板厂的最小丝印线宽是0.15mm,你规则设0.1mm,实际生产出来丝印可能断裂或偏移。拿不准就问板厂要工艺能力表。
2.3 位号字体的统一设置
在批量调整之前,先把字体参数统一。AD里选中任意一个位号,在Properties面板里可以设置:
| 参数 | 推荐值 | 说明 |
|---|---|---|
| Text Height | 1.0mm | 常规密度板适用 |
| Text Width | 0.15mm | 线宽,与高度比例约1:6到1:8 |
| Font Type | Stroke | 笔画字体,板厂兼容性最好 |
| Rotation | 0度 | 统一方向,后续再按需旋转 |
设置好一个之后,用全局选中功能把所有位号统一成这个参数。具体操作:右键任意位号 ->Find Similar Objects-> 在Text栏的Any改为Same,同时勾选Silkscreen层 -> OK -> 在弹出面板中把所有位号的Height、Width、Font统一修改。
这一步做完,整板位号的"底子"就统一了,后面批量移动和居中才有意义。否则大小不一的位号居中后依然参差不齐。
3. 批量选中与批量调整的核心操作
3.1 用Find Similar Objects批量锁定位号
AD里批量操作的精髓就在Find Similar Objects这个功能。针对丝印位号,有两种常用筛选方式:
方式一:按层筛选。右键任意位号 ->Find Similar Objects->Layer栏选Same-> 确保Silkscreen Layer被选中 -> OK。这样所有顶层(或底层)丝印层的对象都会被选中,包括位号和丝印线条。如果只想选位号,再加一个条件:Object Kind选Same,值为Designator。
方式二:按文本类型筛选。在Find Similar面板里,Text栏选Same可以选中所有文本对象,但会混入丝印注释文字。更精确的做法是Object Kind = Designator。
选中之后,Properties面板会显示所有选中位号的共同属性,这时候可以批量改字体、批量改层、批量改大小。改完按Shift+C清除选择。
3.2 批量移动位号的两种策略
批量选中位号之后,移动方式有两种:
策略一:整体偏移。如果所有位号都需要往同一个方向挪一点(比如统一往上移0.5mm避开焊盘),可以在选中状态下按M键 ->Move Selection By-> 输入X/Y偏移量。这种方式适合位号整体位置规律但需要微调的情况。
策略二:逐个对齐。如果位号位置毫无规律,需要重新定位,那批量移动就不适用了,得用下一节的自动居中定位功能。
实际操作中,我通常先用自动居中把所有位号归位到元件中心,再用整体偏移微调。这样比一个个拖快得多。
3.3 批量修改位号所在层
有时候顶层元件的位号不小心放到了底层丝印层,或者反过来。批量修改层的方法:选中所有需要改层的位号 -> 在Properties面板的Layer下拉框中选择目标层 -> 回车确认。所有选中位号会同时切换层。
实操心得:切换层之后,位号在视图上可能"消失"了,因为当前视图只显示顶层。按
L键打开View Configuration面板,确认目标层可见。另外,底层丝印的文字需要镜像处理,AD会自动做,但导出Gerber前一定要在3D视图或Gerber预览里确认文字方向正确。
4. 居中定位:让位号自动归位到元件中心
4.1 自动居中定位的原理
AD的Align Components功能里有一个Position Designator选项,它的作用是把选中元件的位号自动移动到元件的几何中心或指定位置。这个功能的底层逻辑是:AD计算每个元件的包围盒(Bounding Box),然后把位号放到包围盒的中心点。
但这里有个坑:包围盒的计算包含了焊盘和丝印轮廓,对于不规则封装(比如SOT-23、QFN),包围盒中心可能并不在视觉中心。所以自动居中之后,往往还需要按封装类型做二次微调。
4.2 批量居中的完整操作步骤
- 选中需要处理的所有元件。可以框选,也可以用
Find Similar Objects按封装类型筛选。 - 菜单栏
Tools -> Component Placement -> Align Components。 - 在弹出的对话框中,
Align选项选择Position Designator。 Position选择Center,表示居中到元件中心。- 勾选
Apply to All Selected Components。 - 点击OK,所有选中元件的位号会瞬间归位到各自元件中心。
这一步做完,整板位号的位置就统一了。但正如前面说的,居中之后位号大概率会压在焊盘上,尤其是小封装元件。所以下一步必须做避让调整。
4.3 居中后的避让微调
居中之后跑一次DRC,所有丝印压焊盘的位置会报出来。针对这些位置,有两种处理方式:
方式一:按封装类型批量偏移。比如所有0402电阻的位号居中后都压在上焊盘上,那就选中所有0402电阻的位号,统一往上偏移0.6mm。操作:Find Similar Objects筛选出0402封装的元件 -> 选中其位号 ->Move Selection By-> Y方向+0.6mm。
方式二:按区域手动微调。对于密集区域,批量偏移可能让位号跑到别的元件上,这时候就得局部手动拖。但因为有前面的统一基础,手动拖的工作量已经小很多了。
实操心得:我习惯把位号统一放在元件的正上方或正下方,而不是居中。因为居中必然压焊盘,而上方或下方通常有空间。具体做法是:自动居中后,批量选中所有位号,统一向上偏移一个焊盘高度的距离。这样位号在元件上方,既不压焊盘,又保持了一致性。
5. 特殊封装的丝印位号处理技巧
5.1 小封装元件(0402及以下)
0402、0201这类小封装,元件本身尺寸就1mm左右,位号文字高度如果设1.0mm,放上去比元件还大。这时候有两个选择:
- 缩小位号文字到0.6mm,放在元件旁边。
- 把位号放到元件所在的区域外围,用引线或直接靠近但不重叠。
我通常的做法是:0402及以下的元件,位号统一缩小到0.6mm高度,放在元件正上方0.3mm处。如果密度实在太高,就把位号移到板边空白区域,用丝印线条指向元件。这种方式在手机板和高密度模块板上很常见。
5.2 连接器与异形封装
连接器、USB座、排针这类元件,包围盒往往很大且不规则,自动居中后位号可能跑到连接器内部或板外。处理方式:
- 对于排针、排母,位号放在第一脚附近,方向与排针方向平行。
- 对于USB、HDMI等连接器,位号放在连接器本体外侧,靠近板边。
- 对于BGA、QFN,位号放在封装四角外侧,不要放在中心(中心是散热焊盘区域)。
这些特殊封装建议单独建一个规则或单独处理,不要混在批量居中里一起做。
5.3 底层元件的位号镜像问题
底层元件的位号在AD里默认是镜像显示的,这是正确的,因为从板子底部看文字应该是正的。但导出Gerber时要注意:底层丝印层在Gerber里是镜像的,板厂生产时会自动翻转。如果你在AD里看到底层位号是反的,不要手动去翻转它,否则生产出来反而是错的。
验证方法:按3键切换到3D视图,翻转板子看底层,位号应该是可读的正向文字。如果3D视图里是反的,那才需要调整。
6. 常见问题与排查技巧实录
6.1 位号批量选中后无法移动
有时候选中了一堆位号,按M键移动却没反应。常见原因:
- 位号被锁定了。检查Properties面板里的
Locked选项是否勾选,取消即可。 - 当前层不是丝印层。AD默认只能操作当前层的对象,按
L键切换当前层到丝印层。 - 位号属于元件的一部分,元件的
Locked属性也会锁住位号。在Properties里取消元件锁定。
6.2 自动居中后位号消失
居中后位号跑到元件焊盘下面被遮挡了,视觉上像消失了。按L键打开View Configuration,把丝印层的透明度调低,或者切换到3D视图查看。另外确认位号没有被误放到其他层。
6.3 DRC报大量丝印违规但实际看起来没问题
这种情况通常是丝印规则设得太严。比如丝印与焊盘间距设了0.3mm,但实际板厂能做到0.15mm,那DRC就会误报。根据板厂工艺能力调整规则值即可。另外,有些丝印违规是"可接受"的,比如位号压在元件的丝印轮廓上但不压焊盘,这种不影响生产,可以在DRC里忽略。
6.4 位号文字方向不一致
批量居中不会改变文字方向,所以如果之前位号方向是乱的,居中后依然乱。解决方法:批量选中所有位号 -> 在Properties面板里把Rotation统一设为0度 -> 然后再按需对个别位号旋转。对于垂直放置的元件,位号通常旋转90度,这个可以按封装类型批量设置。
6.5 导出Gerber后丝印丢失
检查Gerber导出设置里是否包含了丝印层。在File -> Fabrication Outputs -> Gerber Files里,确认Silkscreen Top和Silkscreen Bottom层被勾选。另外确认丝印层的对象没有被设置为Hide。
| 常见问题 | 排查方向 | 解决方法 |
|---|---|---|
| 位号无法选中 | 层是否正确、是否锁定 | 切换层、取消锁定 |
| 居中后压焊盘 | 包围盒中心偏移 | 按封装批量偏移 |
| 文字方向乱 | Rotation未统一 | 批量设Rotation为0 |
| Gerber无丝印 | 导出层未勾选 | 检查Gerber设置 |
| DRC误报 | 规则过严 | 按板厂能力调整 |
最后分享一个我踩过的坑:有一次批量居中后直接出了Gerber,板子回来发现所有位号都压在焊盘上,焊接时丝印被锡膏盖住,调试时完全找不到位号。返工重调花了两个小时。从那以后,我养成了一个习惯:批量居中后,必须跑DRC + 3D视图检查 + Gerber预览三步确认,缺一不可。尤其是3D视图,能直观看到位号是否被元件本体遮挡,这是2D视图看不出来的。
另外一个小技巧:AD的PCB Filter面板可以保存常用的筛选条件,比如"所有顶层丝印位号",下次直接调用,不用每次重新设置Find Similar Objects。对于经常画同类板子的人,这个能省不少时间。