>

Allegro导出bom和坐标文件, 用于嘉立创的SMT下单

2016-12-16 by Stavros

截图就不用贴了吧?

  1. Allegro 菜单点 Tools, Reports

    • 从 Available Reports 里找 Placed Component Report, 双击让它跑到下面框里.
    • 选中 Write Report, 点 Report. 此时会在. brd 所在目录下生成一个 pcp_rep.rpt
  2. Excel, 文件, 打开, 类型选” 所有文件”, 找到刚生成的 pcp_rep.rpt.

    • 出现” 文本导入向导”, 直接点下一步.
    • 分隔符号这里把” 逗号” 选上, 然后点下一步.
    • 列数据格式, 选” 文本”, 然后点完成.
  3. 表格出来了, 前四行没用, 删掉. 表头要按 JLC 的格式修改, 具体如下:

    • REFDES, 改成 Designator.
    • COMP_DEVICE_TYPE, 这列可以删掉.
    • COMP_VALUE, 改成 Comment.
    • COMP_TOL, 这列可以删掉.
    • SYM_NAME, 改成Footprint. 下面的封装如果和JLC的不一样也要改. 比如我用的封装名称都是公制, RESC2012, CAPC1608之类, 要改成相应的英制RESC0805, CAPC0603. 没有前缀也可以, 但是在excel可能就变成805/603了, 不影响下单. SOP类的器件最好改成SOIC-8, SOIC-14这样, 等等, 总之以JLC给的参考文件为准. 选中这一列, 几次查找替换命令就解决了.
    • SYM_X, SYM_Y, 这两个改成 Mid X 和 Mid Y, 底下的单位需要是毫米, mil 不行.
    • SYM_ROTATE, 改成 Rotation.
    • SYM_MIRROR, 改成 Layer. 底下的 YES 全部替换成 B, NO 替换成 T.
  4. 保存成XLS或XLSX格式, 完事! BOM和坐标文件都用这一个就可以了.

请继续往下看----

写了个python脚本, 一键即可完成上述格式转换. 部分内容请自行按需修改. python3的, 如果你用python2的话可能得再改改

import csv

csvfile = open('pcp_rep.rpt')
reader = csv.reader(csvfile)
csvfile2 = open('pcp_rep_jlc.csv', 'w', newline='\n')
writer = csv.writer(csvfile2, dialect='excel')

for line in reader:
    if len(line) != 1:
        break                   # 跳过前四行

# 按JLC的格式修改表头
line = ['Designator', 'Comment', 'Footprint', 'Mid X', 'Mid Y', 'Rotation', 'Layer'] 
print(line)
writer.writerow(line)

# 查找替换表, 请按需自行修改
my_footprints = ['CAPC2012', 'CAPC1608', 'RESC2012', 'RESC1608']
jlc_footprints = ['C0805', 'C0603', 'R0805', 'R0603']

for line in reader:
    del line[1], line[2]        # 删除不需要的两列
    if line[6] == 'NO':
        line[6] = 'T'
    elif line[6] == 'YES':
        line[6] = 'B'
    if line[2] in my_footprints:
        line[2] = jlc_footprints[my_footprints.index(line[2])]
    print(line) 
    writer.writerow(line)

csvfile.close() 
csvfile2.close()