色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何實現PADS導出區分頂層和底層元器件的BOM

jf_iZR6mdqV ? 來源:PCB和原理圖設計與共享 ? 2023-09-23 09:24 ? 次閱讀

導出BOM是硬件工程師在設計PCB時必備的一項任務。通常情況下,導出的BOM中并沒有區分頂層和底層的元器件,但是有時候我們需要對這兩者進行分開,以便更好地進行統計和管理。

f81f0276-59a8-11ee-939d-92fbcf53809c.jpg

f82979cc-59a8-11ee-939d-92fbcf53809c.jpg

本文將介紹如何通過編寫PADS的BOM的導出腳本代碼實現這個功能。

首先,我們需要了解腳本中的原理。在PADS導出BOM的腳本中,一般會讀取元器件的相關信息,如元器件編號、名稱、數量等。我們需要在腳本中增加元器件層信息的讀取,以及在整理元器件時對層信息進行判斷,從而實現元器件分頂層和底層的歸類統計。

編寫以下代碼:

f82ecf9e-59a8-11ee-939d-92fbcf53809c.jpg

f83456da-59a8-11ee-939d-92fbcf53809c.jpg

代參考代碼:

Const Columns = Array("Item","Description","Value","PCB Decal","Ref","OPTION","Quantity","layer")

'Array of column alignment: 0 - Align Left, 1 - Align Right, 2 - Align Center.

Const Align= Array(0,0,0,0,0,0,0)

Dim fname As String

Sub Main

fname = ActiveDocument

If fname = "" Then

fname = "Untitled"

End If

tempFile = DefaultFilePath & " emp.txt"

Open tempFile For Output As #1

StatusBarText = "Generating report..."

'Output table header

For i = 0 To UBound(Columns)

OutCell Columns(i)

Next

Print #1

Dim part_Count As Integer

part_Count = 0

For Each part In ActiveDocument.Components

If part.Pins.Count > 1 Then

part_Count = part_Count + 1

End If

Next part

ReDim Parts(part_Count, 14) As String

For Each part In ActiveDocument.Components

If part.Pins.Count > 1 Then

For intJ = 1 To 8

Parts(intI,1) = ""

Parts(intI,2) = AttrVal(part, "Description")

Parts(intI,3) = AttrVal(part, "Value")

Parts(intI,4) = part.Decal

Parts(intI,5) = part.Name

Parts(intI,6) = AttrVal(part, "Option")

Parts(intI,7) = ""

Parts(intI,8) =ActiveDocument.LayerName(part.layer)

Next intJ

intI= intI + 1

End If

Next part

Dim comp_counter As Integer

Dim Species As Integer

Const flag As Integer = 10

Dim Component As String

Dim Component_tempAs String

Dim label As String

comp_counter = 0

Species = 0

For i = 1 To UBound(Parts, 1)

If Parts(i, flag) = "" Then

Component = Parts(i, 2) &Parts(i, 6)

label = Parts(i, 5)

comp_counter = 1

For j = i + 1 To UBound(Parts, 1)

Component_temp =Parts(j, 2) &Parts(j, 6)

If Component = Component_temp Then

comp_counter = comp_counter + 1

label = label & ", " &Parts(j, 5)

Parts(j, flag) = "0"

End If

Next j

Parts(i, 5) = label

Parts(i, 7) = Str(comp_counter)

Species = Species + 1

End If

Next i

Dim NO_ As Integer

ReDim SpeciesArray1(Species, 8)

ReDim SpeciesArray2(Species, 8)

NO_ = 1

For i = 1 To UBound(Parts, 1)

If Parts(i, flag) = "" And Parts(i, 8)="TOP" Then

SpeciesArray1(NO_, 1) = Parts(i, 1)

SpeciesArray1(NO_, 2) = Parts(i,2)

SpeciesArray1(NO_, 3) = Parts(i,3)

SpeciesArray1(NO_, 4) = Parts(i,4)

SpeciesArray1(NO_, 5) = Parts(i,5)

SpeciesArray1(NO_, 6) = Parts(i,6)

SpeciesArray1(NO_, 7) = Parts(i,7)

SpeciesArray1(NO_, 8) = Parts(i,8) NO_ = NO_ + 1

ElseIf Parts(i, flag) = "" And Parts(i, 8)="BOT" Then

SpeciesArray2(NO_, 1) = Parts(i, 1)

SpeciesArray2(NO_, 2) = Parts(i, 2)

SpeciesArray2(NO_, 3) = Parts(i,3)

SpeciesArray2(NO_, 4) = Parts(i,4)

SpeciesArray2(NO_, 5) = Parts(i, 5)

SpeciesArray2(NO_, 6) = Parts(i, 6)

SpeciesArray2(NO_, 7) = Parts(i, 7)

SpeciesArray2(NO_, 8) = Parts(i, 8)

NO_ = NO_ + 1

End If

Next i

OutCell "TOP"

Print #1

For i = 1 To UBound(SpeciesArray1, 1)

If SpeciesArray1(i, 8)="TOP" Then

For j =1 To 8

OutCell SpeciesArray1(i,j)

Next j

Print #1

End If

Next i

OutCell "BOT"

Print #1

For i = 1 To UBound(SpeciesArray2, 1)

If SpeciesArray2(i, 8)="BOT" Then

For j =1 To 8

OutCell SpeciesArray2(i,j)

Next j

Print #1

End If

Next i

Close #1

ExportToExcel

End Sub

Function AttrVal (obj As Object, nm As String)

AttrVal = IIf(obj.Attributes(nm) Is Nothing, "", obj.Attributes(nm))

End Function

Sub ExportToExcel

FillClipboard

Dim xl As Object

On Error Resume Next

Set xl =GetObject(,"Excel.Application")

On Error GoTo ExcelError' Enable error trapping.

If xl Is Nothing Then

Set xl =CreateObject("Excel.Application")

End If

xl.Visible = True

xl.Workbooks.Add

xl.ActiveSheet.Paste

xl.Range("A1:H1").Font.Bold = True

xl.Range("A1:H1").NumberFormat = "@"

xl.Range("A1:H1").AutoFilter

For i = 0 To UBound(Align)

xl.Columns(i + 1).HorizontalAlignment = Choose(Align(i)+1, -4131, -4152, -4108)

Next

xl.ActiveSheet.UsedRange.Columns.AutoFit

'Output Report Header

xl.Rows(1).Insert

xl.Rows(1).Cells(1) = Space(1) & "Part Report for " & fname & " on " & Now

xl.Rows(2).Insert

xl.Rows(1).Font.bold = True

'Output Design Totals

lastRow = xl.ActiveSheet.UsedRange.Rows.Count + 1

xl.Rows(lastRow + 1).Font.bold = True

xl.Rows(lastRow + 1).Cells(1) = Space(1) & "Design Part count: " & ActiveDocument.Components.Count

xl.Range("A1").Select

On Error GoTo 0 ' Disable error trapping.

Exit Sub

ExcelError:

MsgBox Err.Description, vbExclamation, "Error Running Excel"

On Error GoTo 0 ' Disable error trapping.

Exit Sub

End Sub

Sub OutCell (txt As String)

Print #1, txt; vbTab;

End Sub

Sub FillClipboard

StatusBarText = "Export Data To Clipboard..."

' Load whole file to string variable

tempFile = DefaultFilePath & " emp.txt"

Open tempFileFor Input As #1

L = LOF(1)

AllData$ = Input$(L,1)

Close #1

'Copy whole data to clipboard

Clipboard AllData$

Kill tempFile

StatusBarText = ""

End Sub

通過以上代碼,我們成功實現了在PADS導出BOM時區分頂層和底層元器件的功能。使用這個區分頂層和底層的BOM,工程師可以更好地進行設計分析、成本估算以及供應鏈管理,提高工作效率和準確性。

f83c0650-59a8-11ee-939d-92fbcf53809c.jpg

f845802c-59a8-11ee-939d-92fbcf53809c.jpg

總結起來,本文介紹了如何通過修改PADS導出BOM的腳本,實現區分頂層和底層元器件的功能。通過這樣的改進,我們可以更好地對電路板中的元器件進行分類和統計,提高設計過程的可視性和管理效果。希望這篇文章對您在設計PCB時的工作有所幫助。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 元器件
    +關注

    關注

    113

    文章

    4775

    瀏覽量

    93526
  • PADS
    +關注

    關注

    81

    文章

    808

    瀏覽量

    108415
  • BOM
    BOM
    +關注

    關注

    5

    文章

    260

    瀏覽量

    40717

原文標題:如何實現PADS導出區分頂層和底層元器件的BOM

文章出處:【微信號:電子設計聯盟,微信公眾號:電子設計聯盟】歡迎添加關注!文章轉載請注明出處。

收藏 2人收藏
  • CUKD1
  • heq981

評論

相關推薦

pads layout導出BOM出錯

請教各位大俠,在pads layout 環境中使用腳本文件導出BOM,提示excel內存不足怎么解決?
發表于 04-24 11:46

PADS LAYOUT中用模板腳本導出漂亮的BOM表!

PADS LAYOUT中用模板腳本導出漂亮的BOM表!
發表于 06-22 22:55

PROTEL和***器件頂層底層的問題!!

請問各位大神,如圖這兩顆器件明明在底層,但是雙擊顯示的確是頂層。當我把他改成底層后,又顯示在頂層了。請問怎么回事?怎么改?
發表于 08-31 20:11

PADS vx.2導出BOM

PADS vx.2導出BOM,請各位大師指教
發表于 03-10 11:52

請問怎么高亮顯示頂層底層器件

在AD布線的時候,怎么讓頂層或者底層元器件高亮顯示?
發表于 06-10 03:53

電路板設計中底層器件快速切換到頂層方式

電路板設計中底層器件如何快速切換到頂層元器件實現快速的頂底切換,能更加方便高效讓我們去進行布局。單個
發表于 07-10 08:26

AD中怎么刪除頂層或者底層

AD中怎么刪除頂層或者底層,只保留底層或者頂層的絲印。導出PDF便于焊接元器件
發表于 09-30 16:20

華秋DFM可視化BOM交互焊接工具——SMT工廠、PCB工程師的福音來了!

透明背景,當導出圖片模糊看不清可設置圖片大小。04元件清單統計元器件清單統計,分別統計頂層元件、底層元件以及元件的種類。焊盤數分別統計貼片焊盤與插件焊盤,當已焊接的元件和空貼、不焊的元
發表于 12-23 10:59

華秋DFM推出可視化BOM交互焊接工具,助力SMT工廠提升效率

透明背景,當導出圖片模糊看不清可設置圖片大小。04元件清單統計元器件清單統計,分別統計頂層元件、底層元件以及元件的種類。焊盤數分別統計貼片焊盤與插件焊盤,當已焊接的元件和空貼、不焊的元
發表于 12-23 11:16

如何從PADS-LAYOUT中導出BOM清單方法

如何從PADS-LAYOUT中導出BOM清單方法最近很多朋友問我關于如何如何從PADS-LAYOUT中出BOM清單。今把方法寫下來好讓有需要
發表于 09-19 08:18 ?0次下載

常用元器件封裝匯總

直插式元器件封裝的焊盤一般貫穿整個電路板,從頂層穿下,在底層進行元器件的引腳焊接。
的頭像 發表于 04-24 11:34 ?3.8w次閱讀
常用<b class='flag-5'>元器件</b>封裝匯總

pcb頂層底層互換

本文主要詳細介紹了pcb頂層底層互換,把PCB切換到頂層,然后Edit/select/allonlayer選擇頂層
發表于 04-26 15:47 ?1.6w次閱讀
pcb<b class='flag-5'>頂層</b>和<b class='flag-5'>底層</b>互換

PADS導出坐標和BOM腳本文件資料免費下載

本文檔的主要內容詳細介紹的是PADS導出坐標和BOM腳本文件資料免費下載。
發表于 08-23 08:00 ?0次下載
<b class='flag-5'>PADS</b><b class='flag-5'>導出</b>坐標和<b class='flag-5'>BOM</b>腳本文件資料免費下載

電子元器件芯片的型號如何區分

一般來說完整的芯片器件型號都是由三部分組成的,分別是主體型號、前綴、后綴。那么電子元器件芯片的型號如何區分呢? 1、區分有鉛和無鉛。 2、可區分
的頭像 發表于 01-02 15:39 ?1.3w次閱讀

PCB元器件封裝知識

通常來說,元器件封裝主要分為DIP雙列直播和SMD貼片封裝兩種,前者封裝的焊盤一般貫穿整個電路板,從頂層穿下,在底層進行元器件的引腳焊接;后者是指其焊盤只附著在電路板的
的頭像 發表于 02-01 10:34 ?4479次閱讀
主站蜘蛛池模板: 丰满的女朋友韩国版在线观看 | 好男人的视频在线观看 | brazzers情欲狂欢 | 在线免费观看日本 | 秋霞伦理电影在2017韩国在线伦 | 一道本无吗d d在线播放 | 日韩精品无码免费专区 | 免费在线观看黄色网址 | 中文字幕在线观看网址 | A级毛片高清免费网站不卡 a级毛片高清免费视频 | 中文字幕成人 | 男人插女人动态 | 影888午夜理论不卡 樱桃熟了A级毛片 | 日本一本二本三区免费免费高清 | 午夜片无码区在线观看 | 黄色软件视频app | 野花日本大全免费观看3中文版 | 成人免费看片45分钟 | 欧美午夜精品A片一区二区HD | 动漫美女禁区图 | 樱桃BT在线观看 | 午夜片无码区在线观看 | 又亲又揉摸下面视频免费看 | 国产久青青青青在线观看 | 日本红怡院亚洲红怡院最新 | 中文字幕永久在线观看 | 亚洲AV综合色一区二区三区 | 国内高清在线观看视频 | 在线观看中文字幕国产 | 亚洲精品视频免费在线观看 | 囯产免费精品一品二区三区视频 | 让人爽到湿的小黄书 | 无码11久岁箩筣 | 亚洲久久少妇中文字幕 | 亚洲国产在线播放在线 | 肉动漫无码无删减在线观看 | 国产成人精品一区二区三区视频 | 国产精品亚欧美一区二区三区 | 双腿打开揉弄高潮H苏安安秦慕深 | 好紧小嫩嫩水的10p 好紧好湿太硬了我太爽了小说 | 日日操夜夜摸 |

電子發燒友

中國電子工程師最喜歡的網站

  • 2931785位工程師會員交流學習
  • 獲取您個性化的科技前沿技術信息
  • 參加活動獲取豐厚的禮品