1 Allegro 菜單Tools-Reports
Available Reports 里選擇Placed Component Report,雙擊添加到Selected Reports里。
勾選 Write Report,點 Generate Report,此時會在. brd 所在目錄下生成一個 pcp_rep.rpt文件。
2 新建Excel文件
參考網上的方法,Excel文件選擇打開, 類型選” 所有文件”, 找到剛生成的 pcp_rep.rpt.
出現” 文本導入向導”, 直接點下一步.
分隔符號這里把” 逗號” 選上, 然后點下一步.
列數據格式, 選” 文本”, 然后點完成.
表格出來了, 前四行沒用, 刪掉. 表頭要按 JLC 的格式修改, 具體如下:
- REFDES, 改成 Designator;
- COMP_DEVICE_TYPE, 這列可以刪掉;
- COMP_VALUE, 改成 Comment;
- COMP_TOL, 這列可以刪掉;
- SYM_NAME, 改成 Footprint,封裝名稱盡量保持和嘉立創的一致;
- SYM_X, SYM_Y, 這兩個改成 Mid X 和 Mid Y, 底下的單位需要是毫米, mil 不行;
- SYM_ROTATE, 改成 Rotation;
- SYM_MIRROR, 改成 Layer. 底下的 YES 全部替換成 B, NO 替換成 T;
- 保存成 .xls 或 .xlsx格式,如果識別有問題,也可以嘗試.csv格式。
熱心網友還寫了Python腳本自動處理以上操作
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()
雖然BOM 和坐標文件可以都用這一個文件,但該文件中所有物料都是獨立的,在匹配器件的時候,如果同一種器件有多個,比如C2、C3都是47uF,C1206封裝同一種器件,並且這個器件在嘉立創擴展庫里,就可能要收取兩次擴展庫器件更換費用。
這顯然不是想要的結果,所以最好重新生成BOM,把相同的物料歸到一起。
3 Orcad Capture生成BOM
Orcad Capture菜單Tools-Bill of Materials,
修改原項目名稱,以便與嘉立創的要求的一致:
- tReference 改為 tDesignator
- tPart 改為 tComment
添加PCB Footprint項目:
- Header:\tFootprint
- Combined property string:\t{PCB Footprint}
修改后為
- Item\tQuantity\tDesignator\tComment\tFootprint
- {Item}\t{Quantity}\t{Reference}\t{Value}\t{PCB Footprint}
在指定文件目錄下生成.bom文件,使用前面講的方法在Excel中導入此bom文件,注意在文本導入向導時,分隔符不要把“逗號” 選上;
這樣生成的BOM,封裝和參數相同的物料,都在一個條目里,檢查相應項目名稱是否和嘉立創的一致,另存為 .xls、.xlsx或者.csv格式即可。