PCB设计完成后,通常需要整理元器件的位号,然后输出贴片图给工厂贴片。因为没有整理的位号是参差不齐的,有的尺寸大,有的尺寸小,有的偏离元器件很远,有的没有显示出来。一般都是这样整理,分顶面和底面处理,先选中每一面的label,然后删除,接着重新生成label,最后调整好位置,尺寸大小,完成位号的整理。如此重复,操作另一面。虽然工作不是很大,但是操作起来还是有些繁琐的。有没有更快捷的办法呢?答案是有的,就是编写一个脚本,就能快速把位号处理好。下面详细介绍一下这个方法。
首先,全选中PCB的位号label并删除掉,不用区分顶面和底面。
然后,打开脚本编辑器,编写以下代码。
参考代码:
Sub Main
For layer = 1 To ActiveDocument.LayerCount
If ActiveDocument.LayerType(layer) = ppcbLayerSilkscreen Then
Exit For End If Next layer For Each comp In ActiveDocument.Components
x = comp.CenterX
y = comp.CenterY
Set lab = comp.AddLabel(ppcbLabelTypeRefDesignator, , layer) lab.Height(ppcbOriginTypeDesign)=40
lab.LineWidth(ppcbOriginTypeDesign)=4
lab.HorzJustification = ppcbJustifyHCenter
lab.VertJustification = ppcbJustifyVCenter
lab.PositionX(, ppcbOriginTypeDesign) = x
lab.PositionY(, ppcbOriginTypeDesign) = y
lab.RightReading = ppcbRightReadingOrthogonal
Set lab = comp.AddLabel(ppcbLabelTypePartType, , layer) lab.Height(ppcbOriginTypeDesign)=40
lab.LineWidth(ppcbOriginTypeDesign)=4
lab.HorzJustification = ppcbJustifyHCenter
lab.VertJustification = ppcbJustifyVCenter
lab.PositionX(, ppcbOriginTypeDesign) = x