0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

PCB设计:元器件编号如何按顺序重新编排

PCB线路板打样 来源:电子玩家 作者:电子玩家 2020-12-03 10:44 次阅读

设计原理图时,常常会遇到这样的问题。就是很多元器件的位号不是按顺序编号的,中间空了很多号没有用,有时候编号跨度很大。

比如上面的一个原理图,从中我们可以看到电阻的位号从R385一下子跨到了R4000,电阻只有300多个,但编号却编到了4000多。虽然位号对设计结果没有任何影响,但是查看原理图或者整理BOM时,会觉很乱,还有出贴片图时,编号数过大,元器件的外框放不下,有些数字会被丝印框挡住,看不清楚,或者被误读,给生产带来不便和风险。在PADS软件里尝试一个一个改过来,但是不好改,因为如果原理图页码多,元器件成百上千时,那真是无从下手了。所以,以前遇到这种事,都是保持现状。不过后来我学会了利用脚本的方法,编写好一个脚本,运行一下,一眨眼的功夫就把元器件的编号重新编排好了,而且是按顺序,中间没有断层。

下面详细讲解这个方法。

第一步,可以先写一个脚本查看一下原理图里哪些号是用上的,哪些号是没有用上的。打开脚本编辑器编写以下脚本并运行脚本,就可以弹出文档显示哪些号有用上,哪些号没有用上。

第二步,再打开脚本编辑器,编写以下代码。

参考代码:

Sub Main

Dim Rcount As Integer

Dim Ccount As Integer

Dim Lcount As Integer

Dim Dcount As Integer

Dim Qcount As Integer

Dim Jcount As Integer

Dim Ucount As Integer

Dim part_name As String

Dim sheets_count As Integer

sheets_count= ActiveDocument.Sheets.Count

'MsgBox sheets_count

'Set objs = ActiveDocument.GetObjects(,,True)

For Sheet_num = 1 To sheets_count

ActiveDocument.Sheets(Sheet_num).Activate

Set comps = ActiveDocument.ActiveSheet.Components

For i = 1 To comps.Count Step 1

part_name = comps.Item(i).Name

new_ref_num = Trim(Str(Val(Mid(part_name,2,4))+9000))

new_name = Mid(part_name,1,1) & new_ref_num

pre = UCase(Mid(part_name,1,1))

If pre = "R" Or pre = "C" Or pre = "L" Or pre = "D" Or pre = "Q" Or pre = "J" Or pre = "U" Then

If Val(Mid(part_name,2,5)) < 9000 Then

Let comps.Item(i).Name = new_name

End If

End If

Next i

Next Sheet_num

For Sheet_num = 1 To sheets_count

ActiveDocument.Sheets(Sheet_num).Activate

Set comps = ActiveDocument.ActiveSheet.Components

For i = 1 To comps.Count Step 1

part_name = comps.Item(i).Name

Select Case UCase((Mid(part_name,1,1)))

Case "R"

Rcount = Rcount +1

new_name = Mid(part_name,1,1) & Rcount

Let comps.Item(i).Name = new_name

Case "C"

Ccount = Ccount + 1

new_name = Mid(part_name,1,1) & Ccount

Let comps.Item(i).Name = new_name

Case "L"

Lcount = Lcount + 1

new_name = Mid(part_name,1,1) & Lcount

Let comps.Item(i).Name = new_name

Case "D"

Dcount = Dcount + 1

new_name = Mid(part_name,1,1) & Dcount

Let comps.Item(i).Name = new_name

Case "Q"

Qcount = Qcount + 1

new_name = Mid(part_name,1,1) & Qcount

Let comps.Item(i).Name = new_name

Case "J"

jcount = jcount + 1

new_name = Mid(part_name,1,1) & jcount

Let comps.Item(i).Name = new_name

Case "U"

Ucount = Ucount + 1

new_name = Mid(part_name,1,1) & Ucount

Let comps.Item(i).Name = new_name

End Select

Next i

Next Sheet_num

End Sub

第三步,运行代码,就可以看到页面在不断地闪动,元器件的编号在不断地变化,几秒钟的时间就完成了元器件编号的重新编码。如下图所示,刚才电阻编号为4000多的没有了,取而代之是300多了。

第四步,运用刚才检测元器件编号使用情况的脚本,验证一下编号有没有重新按顺序编排,结果如下。

从上图可以看出,元器件编号已经按顺序重新编排了。

感兴趣的朋友,可以按照上面的方法编写代码测试,也可以到群里下载现成的脚本测试。

编辑:hfy

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 元器件
    +关注

    关注

    111

    文章

    4529

    浏览量

    88781
  • PCB设计
    +关注

    关注

    392

    文章

    4572

    浏览量

    83239
收藏 人收藏

    评论

    相关推荐

    POWERLOGIC 自动重新编号的的解决方法

    ;先将需要重新编号的原理图打开,使用:tool---》PSDS layout link<br/>如果没有先打开一个POWER PCB 这里就选NEW 打开PCB ,再回到
    发表于 07-21 17:37

    AD6中PCB板中怎么对选种的元件重新编号

    请教一下,在AD6软件中,对PCB板中怎么对选种的元件重新编号,像一些跳线,在原理图是不体现的,需单独在PCB重新编号,可PCB
    发表于 09-10 11:20

    Altium Designer summer 9在PCB环境下元器件重新编号

    Altium Designer summer 9 在PCB环境下如何将元器件重新进行编号 排序
    发表于 08-24 11:23

    层次原理图器件编号重新标注的问题

    ; y3 r. q! d* ?! P& U- i比如我有一个顶层图中调用了一个名字为AD.sch的子图2次,在AD.sch的子图中有一个器件编号为R1,在整个原理图中就存在两个名字相同的器件R1,如何将这两个R1
    发表于 11-15 14:52

    请问multisim14自带元器件编号不同怎么解决?

    新手一枚,最近喜欢上了diy+仿真,来学学multisim,发现14版本自带的元器件编号跟日常电路图中的编号不一样,本人对这些编号也不是很熟。请问各位大神怎么解决这个问题?
    发表于 01-31 15:17

    请问怎么在PCB布线完成后在PCB界面对元器件批量编号

    之前都是在原理图界面批量编号再导到PCB界面布线,但是最后制板后发现pcb的位号很不整齐美观,请教 各位能不能在PCB布线完成后在PCB界面
    发表于 05-22 05:35

    请问PCB里如何统一操作元器件编号

    DXP在pcb设计时候统一怎么修改元器件丝印层的编号,比如修改大小位置等
    发表于 05-22 05:36

    AD 如何快捷摆放器件编号位置

    标题:AD 如何快捷摆放器件编号位置在pcb设计的后期,需要对电路板上的器件编号进行正确摆放,如果一个个摆放,则非常 浪费时间,而在 AD
    发表于 08-27 17:03

    Altium 在PCB重新编号更新到SCH原理图的方法

    1.在PCB中对元器件进行重新编号以后,即PCB中选择Tool -> Re-annotate,选择编号路径后,保存文件;2.系统自动生成一个
    发表于 10-16 11:54

    新手求助 AltiumDesigner10 的PCB设计如何将元件编号顺序排列

    如题,就是说比如有10个电阻,原理图导入PCB顺序是乱的,现在我想让这几个电阻R1到R10的顺序排成一排,如何交换这几个电阻的位置使这几个电阻的
    发表于 11-12 18:14

    Altium中如何快捷摆放器件编号位置

    pcb设计的后期,需要对电路板上的器件编号进行正确摆放,快捷摆放器件编号方法现在就来介绍。
    的头像 发表于 04-29 16:29 1.1w次阅读

    PCB设计:整理元器件位号的快捷技巧

    PCB设计完成后,通常需要整理元器件的位号,然后输出贴片图给工厂贴片。因为没有整理的位号是参差不齐的,有的尺寸大,有的尺寸小,有的偏离元器件很远,有的没有显示出来。
    的头像 发表于 12-03 10:12 1w次阅读

    PCB设计元器件位号按顺序编号资料下载

    电子发烧友网为你提供PCB设计元器件位号按顺序编号资料下载的电子资料下载,更有其他相关的电路图、源代码、课件教程、中文资料、英文资料、参考设计、用户指南、解决方案等资料,希望可以帮助
    发表于 04-04 08:40 30次下载
    <b class='flag-5'>PCB设计</b>:<b class='flag-5'>元器件</b>位号按<b class='flag-5'>顺序</b><b class='flag-5'>编号</b>资料下载

    PCB设计:如何快速将元器件编号摆放好?资料下载

    电子发烧友网为你提供PCB设计:如何快速将元器件编号摆放好?资料下载的电子资料下载,更有其他相关的电路图、源代码、课件教程、中文资料、英文资料、参考设计、用户指南、解决方案等资料,希望可以帮助到广大的电子工程师们。
    发表于 04-11 08:43 7次下载
    <b class='flag-5'>PCB设计</b>:如何快速将<b class='flag-5'>元器件</b><b class='flag-5'>编号</b>摆放好?资料下载

    Orcad Capture元件如何快速的重新编号

    原理图绘制常利用复制的功能,复制完之后会存在位号重复或者同类型元件编号杂乱的现象,使后期BOM表的整理十分不便。重新编号可以对原理图中的位号进行复位和统一、方便设计和维护
    的头像 发表于 10-26 09:46 7202次阅读