Allegro导出bom和坐标文件, 用于嘉立创的SMT下单
2016-12-16 by Stavros截图就不用贴了吧?
-
Allegro 菜单点 Tools, Reports
- 从 Available Reports 里找 Placed Component Report, 双击让它跑到下面框里.
- 选中 Write Report, 点 Report. 此时会在. brd 所在目录下生成一个 pcp_rep.rpt
-
Excel, 文件, 打开, 类型选” 所有文件”, 找到刚生成的 pcp_rep.rpt.
- 出现” 文本导入向导”, 直接点下一步.
- 分隔符号这里把” 逗号” 选上, 然后点下一步.
- 列数据格式, 选” 文本”, 然后点完成.
-
表格出来了, 前四行没用, 删掉. 表头要按 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.
-
保存成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()