Commit c41be807 authored by Scott Sun's avatar Scott Sun

s

parent 3e3d572f
......@@ -9,6 +9,12 @@
type : 'LineEdit',
property : {tool_tip : 'pcs step名,默认是cad'}
},
{
name : 'cam_type',
title : 'cam_type',
type : 'LineEdit',
property : {tool_tip : 'cam_type'}
},
{
name : 'vc_src_01005_pad_result',
title : 'vc_src_01005_pad_result',
......@@ -114,7 +120,7 @@ try {
if(v.context == "board" && v.layer_type == "drill"){
if(v.type == "laser_drill"){
GEN.affectedLayer({affected:'no',mode:'all'})
GEN.workLayer({name:v.name,display_number:2,clear_before:'yes'})
GEN.workLayer({name:v.odb_name,display_number:2,clear_before:'yes'})
GEN.selClearFeature()
GEN.selAllFeat()
if(GEN.getSelectCount()>0){
......@@ -125,7 +131,7 @@ try {
GEN.selClearFeature()
} else if(v.type == "main_drill" || v.type == "blind_drill" || v.type == "bury_drill") {
GEN.affectedLayer({affected:'no',mode:'all'})
GEN.workLayer({name:v.name,display_number:2,clear_before:'yes'})
GEN.workLayer({name:v.odb_name,display_number:2,clear_before:'yes'})
GEN.selClearFeature()
GEN.selRefFeat({layers:v.drl_start,use:'filter',mode:'touch',f_types:"pad"})
GEN.selRefFeat({layers:v.drl_end,use:'filter',mode:'touch',f_types:"pad"})
......@@ -172,23 +178,23 @@ try {
if(drl_side == "Top"){
if((drl_start_num-1)==0){ drl_filler = "None" }
else {
var top_l = "d" + (drl_start_num-1) + "-" + (drl_end_num-1)
var top_l = "ftdrill" + (drl_start_num-1) + "-" + (drl_end_num-1) + "l"
if(GEN.isLayerExists({job:job, layer:top_l})){
GEN.clearLayers()
GEN.selClearFeature()
GEN.workLayer({name:top_l,display_number:2,clear_before:'yes'})
GEN.selRefFeat({layers:drill.name,use:'filter',mode:'touch'})
GEN.selRefFeat({layers:drill.odb_name,use:'filter',mode:'touch'})
if(GEN.getSelectCount()>0){
GEN.selClearFeature()
drl_filler="Via Filling"
}
}
}
var bot_l = "d" + (drl_start_num+1) + "-" + (drl_end_num+1)
var bot_l = "ftdrill" + (drl_start_num+1) + "-" + (drl_end_num+1) + "l"
if(GEN.isLayerExists({job:job, layer:bot_l})){
GEN.clearLayers()
GEN.selClearFeature()
GEN.workLayer({name:drill.name,display_number:2,clear_before:'yes'})
GEN.workLayer({name:drill.odb_name,display_number:2,clear_before:'yes'})
GEN.selRefFeat({layers:bot_l,use:'filter',mode:'touch'})
if(GEN.getSelectCount()>0){
GEN.selClearFeature()
......@@ -200,23 +206,23 @@ try {
}else if (drl_side == "Bot"){
if((drl_end_num-layerCount)==0){ drl_filler = "None" }
else {
var top_l = "d" + (drl_start_num+1) + "-" + (drl_end_num+1)
var top_l = "ftdrill" + (drl_start_num+1) + "-" + (drl_end_num+1) + "l"
if(GEN.isLayerExists({job:job, layer:top_l})){
GEN.clearLayers()
GEN.selClearFeature()
GEN.workLayer({name:top_l,display_number:2,clear_before:'yes'})
GEN.selRefFeat({layers:drill.name,use:'filter',mode:'touch'})
GEN.selRefFeat({layers:drill.odb_name,use:'filter',mode:'touch'})
if(GEN.getSelectCount()>0){
GEN.selClearFeature()
drl_filler="Via Filling"
}
}
}
var bot_l = "d" + (drl_start_num-1) + "-" + (drl_end_num-1)
var bot_l = "ftdrill" + (drl_start_num-1) + "-" + (drl_end_num-1) + "l"
if(GEN.isLayerExists({job:job, layer:bot_l})){
GEN.clearLayers()
GEN.selClearFeature()
GEN.workLayer({name:drill.name,display_number:2,clear_before:'yes'})
GEN.workLayer({name:drill.odb_name,display_number:2,clear_before:'yes'})
GEN.selRefFeat({layers:bot_l,use:'filter',mode:'touch'})
if(GEN.getSelectCount()>0){
GEN.selClearFeature()
......@@ -227,8 +233,9 @@ try {
}else{ drill_info.drl_overlap = "No" }
}
} else {
GEN.workLayer({name:drill.name,display_number:2,clear_before:'yes'})
GEN.selectByFilter({attribute:'.drill',option:'plated'})
GEN.clearLayers()
GEN.workLayer({name:drill.odb_name,display_number:2,clear_before:'yes'})
GEN.selectByFilter({attribute:[{attribute:".drill",option:"plated"}],profile:"in"})
if(GEN.getSelectCount()>0){
GEN.selClearFeature()
drill_info.drl_type = "PTH"
......@@ -336,10 +343,10 @@ try {
return {name:v, type:type}})
// glod_finger
var gold_fingers = Object.keys(tmp_matrix).filter(function(v){return /^top_enig$|^bot_enig$/ig.test(v)})
var gold_fingers = Object.keys(tmp_matrix).filter(function(v){return /^enig_top$|^enig_bot$/ig.test(v)})
if(gold_fingers.length){
gold_fingers = gold_fingers.map(function(v){
var type = (v=="top_enig") ? "top" : "bot"
var type = (v=="enig_top") ? "top" : "bot"
return {name:v, type:type}
})
}
......@@ -503,11 +510,11 @@ try {
})
})
// console.log("=============================> 6 set smd bga")
console.log("=============================> 6 set smd bga genesistype:" + GEN.GEN_TYPE)
var allStep = GEN.getStepList({job:job})
allStep.forEach(function(step){
GEN.openStep({job:job,name:step})
if(GEN.GEN_TYPE == "genesis"){
if(par.cam_type == "genesis"){
GEN.COM("chklist_single,action=valor_cleanup_set_smd,show=yes")
GEN.COM("chklist_cupd,chklist=valor_cleanup_set_smd,nact=1,params=((pp_layer=.type=signal|mixed&side=top|bottom)(pp_drill=No)(pp_rotate=No)(pp_ignore_covered=Yes)(pp_sm=No)(pp_types=Square\;Rect\;Oval)(pp_other=)(pp_delete=No)),mode=regular")
GEN.COM("chklist_run,chklist=valor_cleanup_set_smd,nact=1,area=profile")
......@@ -852,16 +859,16 @@ function ANALYSIS_STACKUP(props){
layer.side = layer.enum_tl_side;
layer.input_file_name = layer.file_name;
layer.odb_row_num = layer.row;
if (layer.odb_name == 'drill'){
if (layer.odb_name == 'ftdrill'){
layer.name = 'drill';
layer.drl_start_num = 1;
layer.drl_end_num = layer_count;
layer.drl_from_num = 1;
layer.drl_to_num = layer_count;
layer.type = 'main_drill';
}
else if (/^d(\d+)\-(\d+)$/.test(layer.odb_name)){
var tmp = /^d(\d+)\-(\d+)$/.exec(layer.odb_name)
}
else if (/^ftdrill(\d+)-(\d+)l$/.test(layer.odb_name)){ // /^d(\d+)\-(\d+)$/
var tmp = /^ftdrill(\d+)-(\d+)l$/.exec(layer.odb_name)
var drl_star = tmp[1];
var drl_end = tmp[2];
layer.name = 'd' + drl_star + '-' + drl_end;
......@@ -1005,10 +1012,15 @@ function save_job_info(props){ // 保存料号信息
function save_layerinfo(props){ // 保存层信息
var jobid = props.jobid;
var layer = props.layer;
// if(Omatrix[layer] && Omatrix[layer].tl_name){
// if(!(/^drill/ig.test(Omatrix[layer].tl_name))){
// layer = Omatrix[layer].tl_name
// }
// }
if(Omatrix[layer] && Omatrix[layer].tl_name){
if(!(/^drill/ig.test(Omatrix[layer].tl_name))){
// if(!(/^drill/ig.test(Omatrix[layer].tl_name))){
layer = Omatrix[layer].tl_name
}
// }
}
var layerinfohash = props.layerinfohash;
Object.keys(layerinfohash).forEach(function(key){
......@@ -1159,8 +1171,8 @@ function analysis(props){
laser_layers = laser_layers.sort(function(a,b){return Number(a.row)-Number(b.row)})
var laser_info = {}
for(var i = 0; i < laser_layers.length-1; i++){
var start_layer = laser_layers[i].name
var cover_layer = laser_layers[i+1].name
var start_layer = laser_layers[i].odb_name
var cover_layer = laser_layers[i+1].odb_name
GEN.workLayer({name:start_layer,display_number:2,clear_before:'yes'})
GEN.selClearFeature()
GEN.selRefFeat({layers:cover_layer,use:'filter',mode:'cover'})
......@@ -1177,9 +1189,9 @@ function analysis(props){
var via_vias_info = []
function analysis_via_number(layers){
if(layers.length < 2){return}
var startlayer = layers[0].name + "_cover"
var startlayer = layers[0].odb_name + "_cover"
GEN.selClearFeature()
GEN.workLayer({name:layers[0].name,display_number:2,clear_before:'yes'})
GEN.workLayer({name:layers[0].odb_name,display_number:2,clear_before:'yes'})
GEN.selAllFeat()
selCopyLayer({job:t.job,layer:startlayer})
var end_index = start_cover_next(startlayer,layers,0)
......@@ -1194,13 +1206,13 @@ function analysis(props){
layers = layers.slice(1)
GEN.workLayer({name:start,display_number:2,clear_before:'yes'})
GEN.selClearFeature()
GEN.selRefFeat({layers:layers[0].name,use:'filter',mode:'cover'})
GEN.selRefFeat({layers:layers[0].odb_name,use:'filter',mode:'cover'})
var count = GEN.getSelectCount()
if (count < 1) {
GEN.deleteLayer({job:t.job,layer:start})
return ++end_index
}
var nextstartlayer = layers[0].name + "_cover"
var nextstartlayer = layers[0].odb_name + "_cover"
selCopyLayer({job:t.job,layer:nextstartlayer})
GEN.deleteLayer({job:t.job,layer:start})
return start_cover_next(nextstartlayer,layers,++end_index)
......@@ -1631,6 +1643,9 @@ function analysisChkAttr(par) {
}
return a
}, "N/A")
if(hash[v][key]=="N/A"){
hash[v][key] = 999
}
})
})
return hash
......@@ -2052,3 +2067,5 @@ function has_steps(props){
return res.indexOf(pcs_step) >= 0
}
......@@ -138,9 +138,9 @@ try {
})
});
var job_file_baseName = job
if(vc_position && vc_position != "" && !(/null/ig.test(vc_position))){
job_file_baseName = job_file_baseName + "_" + vc_position
}
// 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 = [] // 记录要分析的文件
......@@ -160,9 +160,10 @@ try {
} else { // 多个tgz文件 说明需要合并
console.log("==========合并的情况");
var jobs = jobInfo.data.map(function(item, i){
var err = importJob({name:job + "_tmp_" + i,db:custCfg.db,path:item.file.path},config.delSameJob)
var tmp_job_name = job + "_tmp_" + i
var err = importJob({name:tmp_job_name,db:custCfg.db,path:item.file.path},config.delSameJob)
if(err){throw err}
return job + "_tmp_" + i
return tmp_job_name
})
// 分析arr_job 和 pcs_job
jobs = jobs.map(function(jobname){
......
......@@ -267,8 +267,8 @@
}
],
"tl_name": [
{"orig_name" : ["top_enig"], "tl_name" : "top_enig" },
{"orig_name" : ["bot_enig"], "tl_name" : "bot_enig" },
{"orig_name" : ["top_enig","top-enig","enig_top"], "tl_name" : "enig_top" },
{"orig_name" : ["bot_enig","bot-enig","enig_bot"], "tl_name" : "enig_bot" },
{"orig_name" : ["^spt$","^past_top$"], "tl_name" : "past_top" },
{"orig_name" : ["^spb$","^past_botm$"], "tl_name" : "past_botm" },
{"orig_name" : ["^sst$","^silk_top$"], "tl_name" : "silk_top" },
......@@ -419,8 +419,8 @@
{"orig_name" : "fab.art", "tl_name" : "fab.art" },
{"orig_name" : ["multipack.art","^array$"], "tl_name" : "array" },
{"orig_name" : ["^outline"], "tl_name" : "outline" },
{"orig_name" : ["top-enig","top_enig"], "tl_name" : "top_enig" },
{"orig_name" : ["bot-enig","bot_enig"], "tl_name" : "bot_enig" },
{"orig_name" : ["top-enig","enig_top"], "tl_name" : "enig_top" },
{"orig_name" : ["bot-enig","enig_bot"], "tl_name" : "enig_bot" },
]
},
"New_data": {
......@@ -548,19 +548,19 @@
}
},
"data_format": [
{"tl_name":"top_enig" , "new_name":"top_enig" , "attr":{ "context":"board", "type":"document" }},
{"tl_name":"enig_top" , "new_name":"enig_top" , "attr":{ "context":"board", "type":"document" }},
{"tl_name":"past_top" , "new_name":"past_top" , "attr":{ "context":"board", "type":"solder_paste" }},
{"tl_name":"silk_top" , "new_name":"silk_top" , "attr":{ "context":"board", "type":"silk_screen" }},
{"tl_name":"sm_top" , "new_name":"sm_top" , "attr":{ "context":"board", "type":"solder_mask" }},
{"tl_name":"^top$" , "new_name":"top" , "attr":{ "context":"board", "type":"signal" }},
{"tl_name":"l_(\\d+)","new_name":"layer_($1)" ,"attr":{"context":"board","type":"signal"}},
{"tl_name":"l_(\\d+)","new_name":"l($1)" ,"attr":{"context":"board","type":"signal"}},
{"tl_name":"^bottom$","new_name":"bottom" ,"attr":{"context":"board","type":"signal"}},
{"tl_name":"sm_botm" , "new_name":"sm_botm" , "attr":{ "context":"board", "type":"solder_mask" }},
{"tl_name":"silk_bot" , "new_name":"silk_bot" , "attr":{ "context":"board", "type":"silk_screen" }},
{"tl_name":"past_botm" , "new_name":"past_botm" , "attr":{ "context":"board", "type":"solder_paste" }},
{"tl_name":"bot_enig" , "new_name":"bot_enig" , "attr":{ "context":"board", "type":"document" }},
{"tl_name":"d_(\\d+)-(\\d+)","new_name":"d($1)-($2)" ,"attr":{"context":"board","type":"drill"}},
{"tl_name":"drill","new_name":"drill" ,"attr":{"context":"board","type":"drill"}},
{"tl_name":"enig_bot" , "new_name":"enig_bot" , "attr":{ "context":"board", "type":"document" }},
{"tl_name":"d_(\\d+)-(\\d+)","new_name":"ftdrill($1)-($2)l" ,"attr":{"context":"board","type":"drill"}},
{"tl_name":"drill","new_name":"ftdrill" ,"attr":{"context":"board","type":"drill"}},
{"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"}},
......
......@@ -16,7 +16,7 @@ try {
var layer = "l3"
GEN.copyLayer({source_job:job, source_step:step,source_layer:"gko",dest_layer:"gko_tmp"})
GEN.selectByFilter({profile:"in"})
return "Done"
} catch (e) {
IKM.msg(e)
......
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