Commit c7a97443 authored by Scott Sun's avatar Scott Sun

sc

parent bc2ed36d
......@@ -158,6 +158,7 @@ try {
GEN.COM("sel_change_atr,mode=add")
}
}
GEN.deleteLayer({job:job,layer:[tmp_layer]})
}
}
})
......@@ -249,7 +250,7 @@ try {
} else {
GEN.clearLayers()
GEN.workLayer({name:drill.odb_name,display_number:2,clear_before:'yes'})
GEN.selectByFilter({attribute:[{attribute:".drill",option:"plated"}],profile:"in"})
GEN.selectByFilter({attribute:[{attribute:".drill",option:"plated"}]})
if(GEN.getSelectCount()>0){
GEN.selClearFeature()
drill_info.drl_type = "PTH"
......@@ -263,8 +264,16 @@ try {
drill_info.drl_filler = drl_filler
drill_info.drl_zones = "{A}"
cam_drill_structure.push(drill_info)
// save_stack_info({info:drill_info})
})
var is_via_filling = cam_drill_structure.filter(function(v){return v.drl_filler == "Via Filling"})
if(is_via_filling.length>0){
cam_drill_structure = cam_drill_structure.map(function(item){
if(item.drl_type=="Laser" && item.drl_filler=="None"){
item.drl_filler = "Via Filling"
}
return item
})
}
save_job_info({
jobid: JobId,
jobinfohash: {cam_drill_structure: JSON.stringify(cam_drill_structure)}
......@@ -456,7 +465,8 @@ try {
if(pcs_steps.length > 0){
pcs_steps.forEach(function(step){
if(!GEN.isLayerEmpty({job:job,step:step,layer:layer})){
var tool = GEN.getTool({job:job,step:step,layer:layer,units:"mm"});
GEN.COM("tools_set,layer="+layer+",slots=by_length")
var tool = GEN.getTool({job:job,step:step,layer:layer,units:"mm",});
if(drill_tool_info[layer]){
Object.keys(tool).forEach(function(hashkey){
if(drill_tool_info[layer][hashkey]){
......@@ -476,23 +486,25 @@ try {
}
if(arr_steps.length > 0){
arr_steps.forEach(function(step){
if(!GEN.isLayerEmpty({job:job,step:step,layer:layer})){
var tool = GEN.getTool({job:job,step:step,layer:layer,units:"mm"});
if(drill_tool_info[layer]){
Object.keys(tool).forEach(function(hashkey){
if(drill_tool_info[layer][hashkey]){
if(!drill_tool_info[layer][hashkey].array_count){drill_tool_info[layer][hashkey].array_count = 0}
drill_tool_info[layer][hashkey].array_count += Number(tool[hashkey].count) ;
}
})
}else{
drill_tool_info[layer] = tool ;
Object.keys(tool).forEach(function(hashkey){
if(!drill_tool_info[layer][hashkey].array_count){drill_tool_info[layer][hashkey].array_count = 0}
drill_tool_info[layer][hashkey].array_count += Number(tool[hashkey].count) ;
})
}
}
if(GEN.isStepExists({job:job,step:step})){
if(!GEN.isLayerEmpty({job:job,step:step,layer:layer})){
var tool = GEN.getTool({job:job,step:step,layer:layer,units:"mm"});
if(drill_tool_info[layer]){
Object.keys(tool).forEach(function(hashkey){
if(drill_tool_info[layer][hashkey]){
if(!drill_tool_info[layer][hashkey].array_count){drill_tool_info[layer][hashkey].array_count = 0}
drill_tool_info[layer][hashkey].array_count += Number(tool[hashkey].count) ;
}
})
}else{
drill_tool_info[layer] = tool ;
Object.keys(tool).forEach(function(hashkey){
if(!drill_tool_info[layer][hashkey].array_count){drill_tool_info[layer][hashkey].array_count = 0}
drill_tool_info[layer][hashkey].array_count += Number(tool[hashkey].count) ;
})
}
}
}
})
}
})
......@@ -503,6 +515,7 @@ try {
where:{job_id:JobId}
})
});
var seq_index = 1 ;
Object.keys(drill_tool_info).forEach(function(layer){
var datalist = []
......@@ -557,6 +570,7 @@ try {
})
console.log("=============================> 6 set smd bga")
var allStep = GEN.getStepList({job:job})
allStep.forEach(function(step){
GEN.openStep({job:job,name:step})
......@@ -615,7 +629,6 @@ try {
})
GEN.closeStep()
})
// GEN.createChklist()
console.log("============= ===============> 6 analysis smd")
// smd
......@@ -630,7 +643,6 @@ try {
console.log("===================================> 7 bga info")
var bgaInfo;
bgaInfo = bgaAnalysis({job:job,steplist:[pcs_step],layers:analysis_obj.matrixInfo.mOuters,attr:".bga"})
console.log("========================bgaInfo:" + _.toString(bgaInfo));
// 保存
console.log("============== =====================> 8 save bga smd info")
......@@ -688,8 +700,6 @@ try {
GEN.closeStep()
}
})
var info = {
min_line_width: ["line","user_nor_line"],
min_line_spacing: ["l2l"],
......@@ -1415,7 +1425,7 @@ function analysis(props){
GEN.closeStep()
return res
}
T_m_p.prototype.analysis_vc_src_EDGE_PLATING = function(props){ // ? 检查线路外形是否存在物件,存在则存yes
T_m_p.prototype.analysis_vc_src_EDGE_PLATING = function(props){
var res = "no"
var rout = this.matrixInfo.matrixVal.filter(function(v){return v.layer_type == "rout"}) // 找rout层
if(rout.length == 0){
......@@ -1986,19 +1996,24 @@ function all_bga_min_pitch_anal(props){ // 分析所有bga中间距最小的
GEN.workLayer({name:tmp_layer,display_number:1,clear_before:'yes'});
// 获取最小bga间距
var features = GEN.getFeatures({job:job,step:step,layer:tmp_layer})
var tmp = features.map(function(v){
var num = Math.sqrt((v.xe-v.xs)*(v.xe-v.xs) + (v.ye-v.ys)*(v.ye-v.ys))*1000
return {num:num.toFixed(4),symbol:v.symbol}
})
var bga_min_pitch = tmp.sort(function(a,b){return a-b})[0]
res.bga_min_pitch = bga_min_pitch.num
if(features && features.length){
var tmp = features.map(function(v){
var num = Math.sqrt((v.xe-v.xs)*(v.xe-v.xs) + (v.ye-v.ys)*(v.ye-v.ys))*1000
return {num:num.toFixed(4),symbol:v.symbol}
})
var bga_min_pitch = tmp.sort(function(a,b){return a-b})[0]
res.bga_min_pitch = bga_min_pitch.num
// pitch 中选最小的
GEN.selClearFeature()
GEN.COM("filter_set,filter_name=popup,update_popup=no,profile=in")
GEN.COM("filter_set,filter_name=popup,update_popup=yes,slot=line,slot_by=length,min_len=0,max_len="+(bga_min_pitch.num/1000)+0.0002)
GEN.COM("filter_area_strt")
GEN.COM("filter_area_end,layer=,filter_name=popup,operation=select,area_type=none,inside_area=no,intersect_area=no")
GEN.COM("filter_reset,filter_name=popup")
}
// 所有BGA中间距最小的PAD大小
GEN.selClearFeature()
GEN.selectByFilter({include_syms:bga_min_pitch.symbol})
var min_pitch_layer = tmp_layer + "_min"
selCopyLayer({job:job,layer:min_pitch_layer})
GEN.workLayer({name:layer,display_number:1,clear_before:'yes'});
GEN.selClearFeature()
GEN.selRefFeat({layers:min_pitch_layer,use:'filter',mode:'touch'})
......@@ -2007,8 +2022,12 @@ function all_bga_min_pitch_anal(props){ // 分析所有bga中间距最小的
GEN.workLayer({name:min_pad_layer,display_number:1,clear_before:'yes'});
var min_pad_symbols = GEN.getLayerSymsHist({job:job,layer:min_pad_layer,step:step})
var min_pad_symbol = _.values(min_pad_symbols).sort(function(a,b){return Number(a.size)-Number(b.size)})[0]
// 删除非最小的
GEN.selectByFilter({include_syms:min_pad_symbol.symbol})
GEN.selReverse()
if(GEN.getSelectCount()>0){GEN.selDelete()}
res.bga_min_pitch_pad_size = min_pad_symbol.size
res.bga_min_pitch = res.bga_min_pitch - 0 + (min_pad_symbol.size-0)
res.bga_min_pitch = (res.bga_min_pitch || 20) - 0 + (min_pad_symbol.size-0)
if(solder_layer){
// 最小pitch开窗大小
GEN.workLayer({name:solder_layer,display_number:1,clear_before:'yes'});
......@@ -2120,34 +2139,39 @@ function bgaPitch(props){
GEN.COM("chklist_create_lyrs,chklist="+ck+",severity=3,suffix=pitch");
GEN.workLayer({name:tmp_layer2,display_number:1,clear_before:'yes'});
GEN.selectByFilter({attribute:[{attribute:".string",text:"p2p"}]})
GEN.saveJob({job:job})
var tmp_layer = tmp_layer2 + "_tmp"
selCopyLayer({job:job,layer:tmp_layer})
GEN.workLayer({name:tmp_layer,display_number:1,clear_before:'yes'});
// var symbollists = GEN.getLayerSymsHist({job:job,step:step,layer:tmp_layer})
// var sys = Object.keys(symbollists)
// if(sys.length > 1){
// sys = sys.sort(function(a,b){return symbollists[a].size - symbollists[b].size})
// // todo 如何找到线距离最小的pad 删除其他的
// }
var features = GEN.getFeatures({job:job,step:step,layer:tmp_layer})
var res
if(features && features.length){
var tmp = features.map(function(v){
var num = Math.sqrt((v.xe-v.xs)*(v.xe-v.xs) + (v.ye-v.ys)*(v.ye-v.ys))*1000
return num.toFixed(4)
})
var res = tmp.sort(function(a,b){return a-b})[0]
return res
res = tmp.sort(function(a,b){return a-b})[0]
}
if (res) {
// 过滤掉pitch不是最小的线
GEN.COM("filter_set,filter_name=popup,update_popup=no,profile=in")
GEN.COM("filter_set,filter_name=popup,update_popup=yes,slot=line,slot_by=length,min_len=0,max_len="+(res/1000)+0.0002)
GEN.COM("filter_area_strt")
GEN.COM("filter_area_end,layer=,filter_name=popup,operation=select,area_type=none,inside_area=no,intersect_area=no")
GEN.COM("filter_reset,filter_name=popup")
GEN.selReverse()
if(GEN.getSelectCount()>0){GEN.selDelete()}
GEN.workLayer({name:layer,display_number:1,clear_before:'yes'});
GEN.selRefFeat({layers:tmp_layer,use:'filter',mode:'touch'})
GEN.selReverse()
if(GEN.getSelectCount()>0){GEN.selDelete()}
}
GEN.deleteLayer({job:job,layer:tmp_layer})
GEN.deleteLayer({job:job,layer:tmp_layer1})
GEN.deleteLayer({job:job,layer:tmp_layer2})
// 矩阵
return res || 20.1
}
function myFixed(str, num) {
if(/^[1-9][0-9]*([.][0-9]+)?$/.test(str)){
return Number(str).toFixed(num)
......
......@@ -130,12 +130,18 @@ try {
if(!fs.exists(path)){throw "path error"}
var pathInfo = fs.listDir(path + "/" + db_customer.toLowerCase(), 1)
// 判断存不存在料号文件
// var vc_position = db.query("",function(q){
// return q.selectValue({
// table:'pdm_job',
// field:'version',
// where:{id : JobId}
// })
// });
var job_file_baseName = job
// if(vc_position && vc_position != "" && !(/null/ig.test(vc_position))){
// job_file_baseName = job_file_baseName + "_" + vc_position
// }
var jobFile = pathInfo.filter(function(v){return v.baseName.toLowerCase() == job_file_baseName})
if(jobFile.length == 0){throw "job file is not exist"}
var jobFiles = [] // 记录要分析的文件
if (!jobFile[0].isDir) {
......@@ -143,13 +149,17 @@ try {
} else {
jobFiles = fs.listDir(jobFile[0].path)
}
GEN.COM("config_edit,name=iol_gbr_polygon_break,value=1,mode=user")
GEN.COM("config_edit,name=iol_fix_ill_polygon,value=yes,mode=user")
// 分析料号文件 得到料号导入信息 导入类型
var jobInfo = analyJobFiles({jobFiles:jobFiles.filter(function(v){return v.isFile}),custCfg:custCfg,config:config,job:job })
if(jobInfo.data.length == 0){throw "file error"}
var importOk = false; // 是否成功导入
if(/odb/ig.test(jobInfo.type)){ // odb导入
fs.writeFile("./tmp.js",_.toString(jobInfo.data))
if(jobInfo.data.length == 1){ // 只分析到一个tgz文件 直接导入
console.log("========= import one ====>path:"+ _.toString(jobInfo.data)) // ? tmp
resultData.push( {type: "info", title: "读取"+jobInfo.data[0].file.name,
detail: [{desc: _.toString({format:"odb++",date:now(),user:$.user_name})}]})
var err = importJob({name:job,db:custCfg.db,path:jobInfo.data[0].file.path},config.delSameJob)
if(err){throw err}
} else { // 多个tgz文件 说明需要合并
......@@ -158,6 +168,8 @@ try {
var path = item.file.path
var tmp_job_name = job + "_tmp_" + i
var err = importJob({name:tmp_job_name,db:custCfg.db,path:path},config.delSameJob)
resultData.push( {type: "info", title: "读取"+item.file.name,
detail: [{desc: _.toString({format:"odb++",date:now(),user:$.user_name})}]})
if(err){throw err}
return {
name:tmp_job_name,
......@@ -230,6 +242,8 @@ try {
})
GEN.COM("input_manual_reset")
gerberInfo.forEach(function(v){
resultData.push( {type: "info", title: "读取"+v.layer,
detail: [{desc: _.toString({format:v.format,date:now(),user:$.user_name})}]})
GEN.COM("input_manual_set",v)
})
GEN.COM("input_manual")
......@@ -379,3 +393,11 @@ function getStepType(step){
}
return pcs
}
function now(){
var date = new Date()
var time = _.toString(date)
res1 = /\d{4}-\d{2}-\d{2}/.exec(time)
res2 = /\d{2}:\d{2}:\d{2}/.exec(time)
return res1 + " " +res2
}
\ No newline at end of file
......@@ -187,8 +187,8 @@
"text_line_width": 0.0024
},
"Excellon2_5": {
"nf1": 3,
"nf2": 2,
"nf1": 2,
"nf2": 3,
"units": "mm",
"zeroes": "leading",
"decimal": "no",
......@@ -207,7 +207,7 @@
"text_line_width": 0.0024
},
"Excellon2_6": {
"nf1": 2,
"nf1": 3,
"nf2": 4,
"units": "mm",
"zeroes": "leading",
......@@ -525,16 +525,16 @@
}
],
"tl_name": [
{"orig_name" : ["assytop.art","past_top"], "tl_name" : "past_top" },
{"orig_name" : ["assybot.art","past_botm"], "tl_name" : "past_botm" },
{"orig_name" : ["pleg.art","^ss_top","silk_top"], "tl_name" : "silk_top" },
{"orig_name" : ["sleg.art","^ss_bot","silk_bot"], "tl_name" : "silk_bot" },
{"orig_name" : ["ssm.art","sm_top"], "tl_name" : "sm_top" },
{"orig_name" : ["psm.art","sm_bot"], "tl_name" : "sm_botm" },
{"orig_name" : ["assytop\\.art","past_top"], "tl_name" : "past_top" },
{"orig_name" : ["assybot\\.art","past_botm"], "tl_name" : "past_botm" },
{"orig_name" : ["pleg\\.art","^ss_top","silk_top"], "tl_name" : "silk_top" },
{"orig_name" : ["sleg\\.art","^ss_bot","silk_bot"], "tl_name" : "silk_bot" },
{"orig_name" : ["ssm\\.art","sm_top"], "tl_name" : "sm_top" },
{"orig_name" : ["psm\\.art","sm_bot"], "tl_name" : "sm_botm" },
{"orig_name" : ["^top$","^top.art$"], "tl_name" : "top" },
{"orig_name" : ["^0(\\d+).*ccp_ms","^s(\\d+)\.art","lay(\\d+)\\.art","layer_(\\d+)"], "tl_name" : "l_($1)"},
{"orig_name" : ["^bottom$","^bottom.art$"], "tl_name" : "bottom" },
{"orig_name" : ["-(\\d+)-(\\d+)\.drl$","(\\d+)-(\\d+)-laser\.drl$","d(\\d+)-(\\d+)"], "tl_name" : "d_($1)-($2)"},
{"orig_name" : ["^0(\\d+).*ccp_ms","^s(\\d+)\\.art","lay(\\d+)\\.art","layer_(\\d+)"], "tl_name" : "l_($1)"},
{"orig_name" : ["^bottom$","^bottom\\.art$"], "tl_name" : "bottom" },
{"orig_name" : ["-(\\d+)-(\\d+)\\.drl$","(\\d+)-(\\d+)-laser\\.drl$","d(\\d+)-(\\d+)"], "tl_name" : "d_($1)-($2)"},
{"orig_name" : ["\\.rou$","^rout$"], "tl_name" : "rout" },
{"orig_name" : "fab.art", "tl_name" : "fab.art" },
{"orig_name" : ["multipack.art","^array$"], "tl_name" : "array" },
......@@ -647,16 +647,16 @@
],
"tl_name": [
{"orig_name" : ["pasttop.art","^past_top$","top_solderpaste"], "tl_name" : "past_top" },
{"orig_name" : ["^silk_top\\.art$","pleg.art","^silk_top$","top_silkscreen"], "tl_name" : "silk_top" },
{"orig_name" : ["^silk_top\\.art$","pleg\\.art","^silk_top$","top_silkscreen"], "tl_name" : "silk_top" },
{"orig_name" : ["_r1\\.phd$","_r1\\.fph$","^smt\\.art$","soldtop.art","^sm_top$","top_soldermask"], "tl_name" : "sm_top" },
{"orig_name" : ["^top.art$","^top$"], "tl_name" : "top" },
{"orig_name" : ["^top\\.art$","^top$"], "tl_name" : "top" },
{"orig_name" : ["_l(\\d+)\\.phd$","_l(\\d+)\\.fph$","^in_(\\d+)\\.art$","^l(\\d+)\\.art$","inner_(\\d+)\\.art","layer_(\\d+)"], "tl_name" : "l_($1)"},
{"orig_name" : ["^bot.art$","^bottom.art","^bottom$"], "tl_name" : "bottom" },
{"orig_name" : ["^bot\\.art$","^bottom\\.art","^bottom$"], "tl_name" : "bottom" },
{"orig_name" : ["_r\\d\\.phd$","_r\\d\\.fph$","^smb\\.art$","soldbotm.art","^sm_botm$","bot_soldermask"], "tl_name" : "sm_botm" },
{"orig_name" : ["^silk_bottom\\.art$","sleg.art","^silk_bot$","bot_silkscreen"], "tl_name" : "silk_bot" },
{"orig_name" : ["pastbotm.art","^past_botm$","bot_solderpaste"], "tl_name" : "past_botm" },
{"orig_name" : ["^silk_bottom\\.art$","sleg\\.art","^silk_bot$","bot_silkscreen"], "tl_name" : "silk_bot" },
{"orig_name" : ["pastbotm\\.art","^past_botm$","bot_solderpaste"], "tl_name" : "past_botm" },
{"orig_name" : ["^nc_drill$","^drill$"], "tl_name" : "drill" },
{"orig_name" : "multipack.art", "tl_name" : "array" },
{"orig_name" : "multipack\\.art", "tl_name" : "array" },
{"orig_name" : ["\\.rou$","^rout$"], "tl_name" : "rout" },
{"orig_name" : ["outline.art","^outline$"], "tl_name" : "outline" },
{"orig_name" : ["fab.art","fab"], "tl_name" : "fab" },
......@@ -802,22 +802,22 @@
}
],
"tl_name": [
{"orig_name" : ["SoldPasteTop\.ger","past_top"], "tl_name" : "past_top" },
{"orig_name" : ["SoldPasteBot\.ger","past_botm"], "tl_name" : "past_botm" },
{"orig_name" : ["^smt\.art$","\.ssa$","SilkScrnTop\.ger","silk_top"], "tl_name" : "silk_top" },
{"orig_name" : ["^smb\.art$","\.ssb$","SilkScrnBot\.ger","silk_bot"], "tl_name" : "silk_bot" },
{"orig_name" : ["\.sma$","SoldMask1Top\.ger","sm_top"], "tl_name" : "sm_top" },
{"orig_name" : ["\.smb$","SoldMask1Bot\.ger","sm_bot"], "tl_name" : "sm_botm" },
{"orig_name" : ["^pmt\\.art$","SoldPasteTop\\.ger","past_top"], "tl_name" : "past_top" },
{"orig_name" : ["^pmb\\.art$","SoldPasteBot\\.ger","past_botm"], "tl_name" : "past_botm" },
{"orig_name" : ["^sst\\.art$","\\.ssa$","SilkScrnTop\\.ger","silk_top"], "tl_name" : "silk_top" },
{"orig_name" : ["^ssb\\.art$","\\.ssb$","SilkScrnBot\\.ger","silk_bot"], "tl_name" : "silk_bot" },
{"orig_name" : ["^smt\\.art$","\\.sma$","SoldMask1Top\\.ger","sm_top"], "tl_name" : "sm_top" },
{"orig_name" : ["^smb\\.art$","\\.smb$","SoldMask1Bot\\.ger","sm_bot"], "tl_name" : "sm_botm" },
{"orig_name" : ["^top$","^top.art$"], "tl_name" : "top" },
{"orig_name" : ["^s(\\d+)\.art$","\.l(\\d+)$","Copper(\\d+)\.ger$","^layer_(\\d+)"], "tl_name" : "l_($1)"},
{"orig_name" : ["^bottom$","^bottom.art$"], "tl_name" : "bottom" },
{"orig_name" : ["\.d(\\d+)$"], "tl_name" : "d_($1)-($1+1)"},
{"orig_name" : ["ThruHolePlated_(\\d+)_(\\d+)\.ncd$","d(\\d+)-(\\d+)"], "tl_name" : "d_($1)-($2)"},
{"orig_name" : ["ThruHoleNonPlated\.ncd$","^drill$"], "tl_name" : "drill" },
{"orig_name" : ["^g(\\d+)\\.art$","^s(\\d+)\\.art$","\\.l(\\d+)$","Copper(\\d+)\\.ger$","^layer_(\\d+)"], "tl_name" : "l_($1)"},
{"orig_name" : ["^bot\\.art$","^bottom$","^bottom.art$"], "tl_name" : "bottom" },
{"orig_name" : ["\\.d(\\d+)$"], "tl_name" : "d_($1)-($1+1)"},
{"orig_name" : ["ThruHolePlated_(\\d+)_(\\d+)\\.ncd$","d(\\d+)-(\\d+)"], "tl_name" : "d_($1)-($2)"},
{"orig_name" : ["ThruHoleNonPlated\\.ncd$","^drill$"], "tl_name" : "drill" },
{"orig_name" : ["\\.rou$","^rout$"], "tl_name" : "rout" },
{"orig_name" : "fab.art", "tl_name" : "fab.art" },
{"orig_name" : ["multipack.art","^array$"], "tl_name" : "array" },
{"orig_name" : ["PnlContourNonPlated\.ger","^outline"], "tl_name" : "outline" },
{"orig_name" : ["\\.bol$","PnlContourNonPlated\\.ger","^outline"], "tl_name" : "outline" },
{"orig_name" : ["top-enig","enig_top"], "tl_name" : "enig_top" },
{"orig_name" : ["bot-enig","enig_bot"], "tl_name" : "enig_bot" },
]
......@@ -859,22 +859,24 @@
}
],
"tl_name": [
{"orig_name" : ["assytop.art","past_top"], "tl_name" : "past_top" },
{"orig_name" : ["assybot.art","past_botm"], "tl_name" : "past_botm" },
{"orig_name" : ["pleg.art","^ss_top","silk_top"], "tl_name" : "silk_top" },
{"orig_name" : ["sleg.art","^ss_bot","silk_bot"], "tl_name" : "silk_bot" },
{"orig_name" : ["ssm.art","sm_top"], "tl_name" : "sm_top" },
{"orig_name" : ["psm.art","sm_bot"], "tl_name" : "sm_botm" },
{"orig_name" : ["^top$","^top.art$"], "tl_name" : "top" },
{"orig_name" : ["^0(\\d+).*ccp_ms","^s(\\d+)\.art","lay(\\d+)\\.art","layer_(\\d+)"], "tl_name" : "l_($1)"},
{"orig_name" : ["^bottom$","^bottom.art$"], "tl_name" : "bottom" },
{"orig_name" : ["-(\\d+)-(\\d+)\.drl$","(\\d+)-(\\d+)-laser\.drl$","d(\\d+)-(\\d+)"], "tl_name" : "d_($1)-($2)"},
{"orig_name" : ["solderpastetop","past_top"], "tl_name" : "past_top" },
{"orig_name" : ["solderpastebottom","past_botm"], "tl_name" : "past_botm" },
{"orig_name" : ["pleg\\.art","^ss_top","silk_top"], "tl_name" : "silk_top" },
{"orig_name" : ["sleg\\.art","^ss_bot","silk_bot"], "tl_name" : "silk_bot" },
{"orig_name" : ["soldermasktop","sm_top"], "tl_name" : "sm_top" },
{"orig_name" : ["soldermaskbottom","sm_bot"], "tl_name" : "sm_botm" },
{"orig_name" : ["^top$","layertop"], "tl_name" : "top" },
{"orig_name" : ["layer(\\d+)\\.gdo","layer_(\\d+)"], "tl_name" : "l_($1)"},
{"orig_name" : ["^bottom$","layerbottom"], "tl_name" : "bottom" },
{"orig_name" : ["-(\\d+)-(\\d+)\\.drl$","(\\d+)-(\\d+)-laser\\.drl$","d(\\d+)-(\\d+)"], "tl_name" : "d_($1)-($2)"},
{"orig_name" : ["\\.rou$","^rout$"], "tl_name" : "rout" },
{"orig_name" : "fab.art", "tl_name" : "fab.art" },
{"orig_name" : ["multipack.art","^array$"], "tl_name" : "array" },
{"orig_name" : ["pcb-set","^array$"], "tl_name" : "array" },
{"orig_name" : ["^outline"], "tl_name" : "outline" },
{"orig_name" : ["top-enig","enig_top"], "tl_name" : "enig_top" },
{"orig_name" : ["bot-enig","enig_bot"], "tl_name" : "enig_bot" },
{"orig_name" : ["au_mask_bottom\\.gdo","enig_top"], "tl_name" : "enig_top" },
{"orig_name" : ["au_mask_top\\.gdo","enig_bot"], "tl_name" : "enig_bot" },
{"orig_name" : ["cavitytop","cavity_top"], "tl_name" : "cavity_top" },
{"orig_name" : ["cavitybottom","cavity_bot"], "tl_name" : "cavity_bot" },
]
}
},
......@@ -895,6 +897,8 @@
{"tl_name":"rout","new_name":"rout" ,"attr":{"context":"board","type":"rout"}},
{"tl_name":"outline","new_name":"outline" ,"attr":{"context":"board","type":"rout"}},
{"tl_name":"array","new_name":"array" ,"attr":{"context":"misc"}},
{"tl_name":"cavity_top","new_name":"cavity_top" ,"attr":{"context":"misc"}},
{"tl_name":"cavity_bot","new_name":"cavity_bot" ,"attr":{"context":"misc"}},
{"tl_name":"fab.art","new_name":"fab.art" ,"attr":{"context":"misc"}}
],
"delSameJob": "yes"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment