- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PADS输出Excel_BOM说明
启动PADS 软件。
进入PADS 工作界面.
加载脚本文件
选择路径加载脚本文件.
RUN 运行脚本文件,提示选择保存路径对话框。
选择生成的Excel(xls)文件保存路径,确定。
选择按元件属性导出类型。
当是从Altium Designer 或者Protel99se 转换过来的PCB 文件请选择Comment;
是PADS 软件自身的PCB 文件请选择Value.
Bill Of Materials 输出格式选择,可以输出6 种不同的格式。
普通的/分层且分元件类型的/只分元件类型的/特殊的/分层且分元件类型的/只分元件类型的.
元件分类Chip-IC ;Resister-电阻;Capacitor-电容;Inductance-电感;FB-磁珠;Diode-二极管;Triode-三极管;
Crystal-晶振;Connector-连接插件;Switch-开关;Jack-插座;Fuse-保险管;Antenna-天线;Jumper 跳线;SMT-MARK :
MARK 点;Test-测试点;Unknow-未知*****
详情请留意输出的Bill Of Materials Excel 文件.
选择底层坐标输出形式。
贴片作业需要用到的元件坐标,Bottom 提供两种. 一种是软件本身输出, 没有经过转换的;另一种是
Format(part.PositionX, #0.000#)*-1(即Bottom 层PositionX 值乘以-1).Top 层的不会作任何改变.
如果PCB 文件没有任何元件,提示没有元件可以导出。
打开要导出的文件。
再重新运行脚本重复以上步骤。
Excel Sheet1 是从PCB 文件导出的原始元件信息.
底层坐标Format(part.PositionX, #0.000#)
Excel Sheet3 转换之后的元件值与封装对照表。V-Change 元件值是否转换;D-Change 元件封装是否转换.
提示为YES 则是进行了转换的.
可以与Sheet1 最原始的元件信息相对比.
电容转换含有P 的只保留前边的数字(比如100p 转换后为100); 电容转换含有N 的(比如100nf 转换后为104);电容转
换含有U 的 (比如0.1U 转换后为104);容值大于1UF 的不予转换.
这部分源码参考如下:
If InStr(UCase(.Cells(g, CellValue).Value), U) 0 And InStr(1, 0123456789, Left(.Cells(g,
CellValue).Value, 1)) 0 Then
gg = InStrRev(UCase(.Cells(g, CellValue).Value), U) - 1
ggg = Left(.Cells(g, CellValue).Value, gg)
If ggg = 1 Then
If Left(ggg * 10 ^ 5, InStr(ggg * 10 ^ 5, 0) - 1) 10 Then
.Cells(g, CellValue).Value = Format(Left(ggg * 10 ^ 5, InStr(ggg * 10 ^ 5, 0) - 1) 0
InStrRev(ggg * 10 ^ 5, 0) - 1, 000)
Else
.Cells(g, CellValue).Value = Format(Left(ggg * 10 ^ 5, InStr(ggg * 10 ^ 5, 0) - 1)
InStrRev(ggg * 10 ^ 5, 0) - 1, 000)
End If
End If
End If
If InStr(UCase(.Cells(g, CellValue)), N) 0 And InStr(1, 0123456789, Left(.Cells(g, CellValue),
1)) 0 Then
gg = InStrRev(UCase(.Cells(g, CellValue)), N) - 1
ggg = Left(.Cells(g, CellValue), gg)
If ggg = 1000 Then
If Left(ggg * 10 ^
文档评论(0)