From f35174ce25840ed4e0a5d90c19930704892c403e Mon Sep 17 00:00:00 2001 From: "scott.sun" <scott.sun@topibd.com> Date: Fri, 12 Jun 2020 16:43:26 +0800 Subject: [PATCH] s --- ats/scott_test/analysis_test.js | 3 +- ats/scott_test/format_test.js | 53 ++++++++++++++++++++++++++------- ats/scott_test/input_test.js | 1 - 3 files changed, 45 insertions(+), 12 deletions(-) diff --git a/ats/scott_test/analysis_test.js b/ats/scott_test/analysis_test.js index 0afbf00..a10c6f9 100644 --- a/ats/scott_test/analysis_test.js +++ b/ats/scott_test/analysis_test.js @@ -2319,5 +2319,6 @@ function saveMeans(props){ var meas = GEN.getCheckMeas({job:job,step:step,chklist:chklist,nact:nact,layer:layer}) var basepath = props.jobpath+"/user/opcam/steps" var respath = mkPath(basepath,[step,"chk",chklist+"_"+nact,layer]) - fs.writeFile(respath+"/meas",meas.join("\n")) + fs.writeFile(respath+"/meas",meas.join("\n")) + fs.chmod(respath+"/meas",777) } \ No newline at end of file diff --git a/ats/scott_test/format_test.js b/ats/scott_test/format_test.js index 87f1e0f..f2d190c 100644 --- a/ats/scott_test/format_test.js +++ b/ats/scott_test/format_test.js @@ -103,6 +103,20 @@ try { if(custCfg.hasOwnProperty("mergerule")){ var mergeRule = custCfg.mergerule if(mergeRule.drill){ + if (mergeRule.drill_second){ + var matrix = GEN.getMatrix({job:job}) + var layers = Object.keys(matrix) + var is_second = false + layers.forEach(function(layer){ + mergeRule.drill.forEach(function(item){ + var reg = new RegExp(item.orig_rule,"ig") + if(reg.test(layer)){is_second = true} + }) + }) + if(!is_second){ + mergeRule.drill = mergeRule.drill_second + } + } if(/string/ig.test(typeof(mergeRule.drill[0]))){ // drill层 计算 var drill_layers = [] var matrix = GEN.getMatrix({job:job}) @@ -134,12 +148,7 @@ try { GEN.COM("matrix_rename_layer",{job:job,matrix:"matrix",layer:drill_layer,new_name:"drill"}) } }else if(/object/ig.test(typeof(mergeRule.drill[0]))){ - // drill: [ - // {orig_rule:["contournonplated"],drill_type:"non_plated",shape:"slot"}, - // {orig_rule:["contourplated"],drill_type:"plated",shape:"slot"}, - // {orig_rule:["thruholenonplated"],drill_type:"non_plated",shape:"hole"}, - // {orig_rule:["thruholeplated"],drill_type:"plated",shape:"hole"}, - // ], + var matrix = GEN.getMatrix({job:job}) // 计算最大值 var layers = Object.keys(matrix) @@ -153,16 +162,34 @@ try { if(tmp.length){ tmp = tmp[0] GEN.workLayer({name:layer,display_number:2,clear_before:'yes'}) - GEN.COM("cur_atr_set,attribute=.drill,option="+tmp.drill_type) - GEN.COM("sel_change_atr,mode=add") + if(tmp.drill_type){ + GEN.COM("cur_atr_set,attribute=.drill,option="+tmp.drill_type) + GEN.COM("sel_change_atr,mode=add") + } GEN.selCopyOther({dest:'layer_name',target_layer:'drill',invert:'no',dx:0,dy:0,size:0}) + GEN.workLayer({name:"drill",display_number:2,clear_before:'yes'}) + GEN.COM("chklist_single,action=valor_dfm_nfpr,show=yes") + GEN.COM("chklist_cupd,chklist=valor_dfm_nfpr,nact=1,params=((pp_layer=.affected)(pp_delete=Duplicate)(pp_work=Features)(pp_drill=PTH\;NPTH\;Via\;PTH - Pressfit\;Via - Laser\;Via - Photo)(pp_non_drilled=Yes)(pp_in_selected=All)(pp_remove_mark=Remove)),mode=regular") + GEN.COM("chklist_run,chklist=valor_dfm_nfpr,nact=1,area=global") + GEN.deleteLayer({job:job,layer:["drill+++"]}) } }) GEN.closeStep() } } if(mergeRule.laser){ - mergeLaser({job:job, mergeRule:mergeRule.laser}) + var newdrills = mergeLaser({job:job, mergeRule:mergeRule.laser}) + var tmp_step = GEN.getStepList({job:job}) + GEN.openStep({job:job,name:tmp_step[0]}) + newdrills.forEach(function(v){ + GEN.workLayer({name:v,display_number:2,clear_before:'yes'}) + GEN.COM("chklist_single,action=valor_dfm_nfpr,show=yes") + GEN.COM("chklist_cupd,chklist=valor_dfm_nfpr,nact=1,params=((pp_layer=.affected)(pp_delete=Duplicate)(pp_work=Features)(pp_drill=PTH\;NPTH\;Via\;PTH - Pressfit\;Via - Laser\;Via - Photo)(pp_non_drilled=Yes)(pp_in_selected=All)(pp_remove_mark=Remove)),mode=regular") + GEN.COM("chklist_run,chklist=valor_dfm_nfpr,nact=1,area=global") + GEN.deleteLayer({job:job,layer:["drill+++"]}) + }) + GEN.deleteLayer({job:job,layer:newdrills.map(function(v){return v + "+++"})}) + GEN.closeStep() } if(mergeRule.profile){ profileRule = mergeRule.profile @@ -228,6 +255,7 @@ try { var now_profile = GEN.getProfile({job:job, step:tmp_step}) if(now_profile.match(/\n/ig).length == 1){ // 如果没有profile createOutline({job:job, step:tmp_step, matrix: tmp_matrix, profileRule:profileRule}) + throw "tmp" var hasProfile = GEN.getProfile({job:job, step:tmp_step}) if(hasProfile.match(/\n/ig).length == 1){ throw "创建profile失败" @@ -556,11 +584,14 @@ function mergeLaser(props){ // åˆå¹¶é’»å” } GEN.affectedLayer({affected:"no",mode:"all"}); GEN.clearLayers(); - GEN.closeStep(); + GEN.closeStep(); + return newdrills } function createOutline(props){ var profileRule = props.profileRule + console.log("----profileRule------->:" + _.toString(profileRule)); + var job = props.job var step = props.step var matrix = props.matrix @@ -574,6 +605,8 @@ function createOutline(props){ }) return flag }) + console.log("----outlines------->:" + _.toString(outlines)); + var drill_layer = Object.keys(matrix).filter(function(v){return matrix[v].layer_type=="drill" && matrix[v].context == "board"}) var tmp_outline if(outlines.length){ diff --git a/ats/scott_test/input_test.js b/ats/scott_test/input_test.js index 85d3b03..cd7b278 100644 --- a/ats/scott_test/input_test.js +++ b/ats/scott_test/input_test.js @@ -242,7 +242,6 @@ try { GEN.COM("input_manual_reset") gerberInfo.forEach(function(v){ import_info.push({name:v.layer, type:"gerber274x", date:now(),user:$.user_name}) - GEN.COM("input_manual_set",v) }) GEN.COM("input_manual") -- 2.21.0