0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

PCB設(shè)計:元器件編號如何按順序重新編排

PCB線路板打樣 ? 來源:電子玩家 ? 作者:電子玩家 ? 2020-12-03 10:44 ? 次閱讀

設(shè)計原理圖時,常常會遇到這樣的問題。就是很多元器件的位號不是按順序編號的,中間空了很多號沒有用,有時候編號跨度很大。

比如上面的一個原理圖,從中我們可以看到電阻的位號從R385一下子跨到了R4000,電阻只有300多個,但編號卻編到了4000多。雖然位號對設(shè)計結(jié)果沒有任何影響,但是查看原理圖或者整理BOM時,會覺很亂,還有出貼片圖時,編號數(shù)過大,元器件的外框放不下,有些數(shù)字會被絲印框擋住,看不清楚,或者被誤讀,給生產(chǎn)帶來不便和風(fēng)險。在PADS軟件里嘗試一個一個改過來,但是不好改,因?yàn)槿绻韴D頁碼多,元器件成百上千時,那真是無從下手了。所以,以前遇到這種事,都是保持現(xiàn)狀。不過后來我學(xué)會了利用腳本的方法,編寫好一個腳本,運(yùn)行一下,一眨眼的功夫就把元器件的編號重新編排好了,而且是按順序,中間沒有斷層。

下面詳細(xì)講解這個方法。

第一步,可以先寫一個腳本查看一下原理圖里哪些號是用上的,哪些號是沒有用上的。打開腳本編輯器編寫以下腳本并運(yùn)行腳本,就可以彈出文檔顯示哪些號有用上,哪些號沒有用上。

第二步,再打開腳本編輯器,編寫以下代碼。

參考代碼:

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

第三步,運(yùn)行代碼,就可以看到頁面在不斷地閃動,元器件的編號在不斷地變化,幾秒鐘的時間就完成了元器件編號的重新編碼。如下圖所示,剛才電阻編號為4000多的沒有了,取而代之是300多了。

第四步,運(yùn)用剛才檢測元器件編號使用情況的腳本,驗(yàn)證一下編號有沒有重新按順序編排,結(jié)果如下。

從上圖可以看出,元器件編號已經(jīng)按順序重新編排了。

感興趣的朋友,可以按照上面的方法編寫代碼測試,也可以到群里下載現(xiàn)成的腳本測試。

編輯:hfy

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 元器件
    +關(guān)注

    關(guān)注

    112

    文章

    4717

    瀏覽量

    92339
  • PCB設(shè)計
    +關(guān)注

    關(guān)注

    394

    文章

    4688

    瀏覽量

    85655
收藏 人收藏

    評論

    相關(guān)推薦

    POWERLOGIC 自動重新編號的的解決方法

    ;先將需要重新編號的原理圖打開,使用:tool---》PSDS layout link<br/>如果沒有先打開一個POWER PCB 這里就選NEW 打開PCB ,再回到
    發(fā)表于 07-21 17:37

    AD6中PCB板中怎么對選種的元件重新編號

    請教一下,在AD6軟件中,對PCB板中怎么對選種的元件重新編號,像一些跳線,在原理圖是不體現(xiàn)的,需單獨(dú)在PCB重新編號,可PCB
    發(fā)表于 09-10 11:20

    Altium Designer summer 9在PCB環(huán)境下元器件重新編號

    Altium Designer summer 9 在PCB環(huán)境下如何將元器件重新進(jìn)行編號 排序
    發(fā)表于 08-24 11:23

    層次原理圖器件編號重新標(biāo)注的問題

    ; y3 r. q! d* ?! P& U- i比如我有一個頂層圖中調(diào)用了一個名字為AD.sch的子圖2次,在AD.sch的子圖中有一個器件編號為R1,在整個原理圖中就存在兩個名字相同的器件R1,如何將這兩個R1
    發(fā)表于 11-15 14:52

    請問怎么在PCB布線完成后在PCB界面對元器件批量編號?

    之前都是在原理圖界面批量編號再導(dǎo)到PCB界面布線,但是最后制板后發(fā)現(xiàn)pcb的位號很不整齊美觀,請教 各位能不能在PCB布線完成后在PCB界面
    發(fā)表于 05-22 05:35

    請問PCB里如何統(tǒng)一操作元器件編號?

    DXP在pcb設(shè)計時候統(tǒng)一怎么修改元器件絲印層的編號,比如修改大小位置等
    發(fā)表于 05-22 05:36

    AD 如何快捷擺放器件編號位置

    標(biāo)題:AD 如何快捷擺放器件編號位置在pcb設(shè)計的后期,需要對電路板上的器件編號進(jìn)行正確擺放,如果一個個擺放,則非常 浪費(fèi)時間,而在 AD
    發(fā)表于 08-27 17:03

    Altium 在PCB重新編號更新到SCH原理圖的方法

    1.在PCB中對元器件進(jìn)行重新編號以后,即PCB中選擇Tool -> Re-annotate,選擇編號路徑后,保存文件;2.系統(tǒng)自動生成一個
    發(fā)表于 10-16 11:54

    新手求助 AltiumDesigner10 的PCB設(shè)計如何將元件編號順序排列

    如題,就是說比如有10個電阻,原理圖導(dǎo)入PCB順序是亂的,現(xiàn)在我想讓這幾個電阻R1到R10的順序排成一排,如何交換這幾個電阻的位置使這幾個電阻的
    發(fā)表于 11-12 18:14

    元器件知識:行業(yè)精英策論PCB設(shè)計關(guān)鍵技術(shù)

    元器件知識:行業(yè)精英策論PCB設(shè)計關(guān)鍵技術(shù) 基于Ansoft電磁技術(shù)的新一代PCB仿真設(shè)計 針對PCB設(shè)計人員關(guān)注的問題予以討論,剖析PCB
    發(fā)表于 03-15 10:28 ?663次閱讀

    Altium中如何快捷擺放器件編號位置

    pcb設(shè)計的后期,需要對電路板上的器件編號進(jìn)行正確擺放,快捷擺放器件編號方法現(xiàn)在就來介紹。
    的頭像 發(fā)表于 04-29 16:29 ?1.1w次閱讀

    PCB設(shè)計元器件位號順序編號資料下載

    電子發(fā)燒友網(wǎng)為你提供PCB設(shè)計元器件位號順序編號資料下載的電子資料下載,更有其他相關(guān)的電路圖、源代碼、課件教程、中文資料、英文資料、參考
    發(fā)表于 04-04 08:40 ?30次下載
    <b class='flag-5'>PCB設(shè)計</b>:<b class='flag-5'>元器件</b>位號<b class='flag-5'>按</b><b class='flag-5'>順序</b><b class='flag-5'>編號</b>資料下載

    PCB設(shè)計:如何快速將元器件編號擺放好?資料下載

    電子發(fā)燒友網(wǎng)為你提供PCB設(shè)計:如何快速將元器件編號擺放好?資料下載的電子資料下載,更有其他相關(guān)的電路圖、源代碼、課件教程、中文資料、英文資料、參考設(shè)計、用戶指南、解決方案等資料,希望可以幫助到廣大的電子工程師們。
    發(fā)表于 04-11 08:43 ?7次下載
    <b class='flag-5'>PCB設(shè)計</b>:如何快速將<b class='flag-5'>元器件</b><b class='flag-5'>編號</b>擺放好?資料下載

    Orcad Capture元件如何快速的重新編號

    原理圖繪制常利用復(fù)制的功能,復(fù)制完之后會存在位號重復(fù)或者同類型元件編號雜亂的現(xiàn)象,使后期BOM表的整理十分不便。重新編號可以對原理圖中的位號進(jìn)行復(fù)位和統(tǒng)一、方便設(shè)計和維護(hù)
    的頭像 發(fā)表于 10-26 09:46 ?9759次閱讀

    為什么說元器件布線布局很重要?PCB設(shè)計元器件放置指南

    為什么說元器件布線布局很重要?PCB設(shè)計元器件放置指南? 元器件布線布局在PCB設(shè)計過程中起著至關(guān)重要的作用。它直接影響著電路的性能、可靠性
    的頭像 發(fā)表于 12-21 11:31 ?966次閱讀