Commit 861f24fb authored by Scott Sun's avatar Scott Sun

scott

parent 09227f67
......@@ -399,7 +399,7 @@ try {
global._ERRORMAG = "Failed to create profile";
script_info({ progress: 55 })
var all_layer = Object.keys(tmp_matrix);
var all_layer = Object.keys(GEN.getMatrix({job:job}));
// 没有outline层
// 判断有没有profile
var tmp_step = GEN.getStepList({job:job})[0]
......@@ -431,7 +431,15 @@ try {
}
else { createOutline({job:job, step:tmp_step, profileRule:profileRule}) }
} else {
createOutline({job:job, step:tmp_step, profileRule:profileRule})
// var hasFab = false;
// all_layer.forEach(function(v){
// if(/fab/.test(v)){hasFab = true}
// })
// if(hasFab){
// throw "创建profile失败,请手动创建好profile后仅执行分析步骤"
// } else {
createOutline({job:job, step:tmp_step, profileRule:profileRule})
// }
}
} else if (/^wistron$/ig.test(par.customer)) {
var contours = all_layer.filter(function(layer){return /contour/.test(layer)})
......@@ -454,19 +462,44 @@ try {
createOutline({job:job, step:tmp_step, profileRule:profileRule})
}
} else if (/^vivo$/ig.test(par.customer)) {
var drilldrawings = all_layer.filter(function(v){return /^drilldrawing\d/.test(v)})
var drilldrawinglayer;
if(drilldrawings.length > 0) {
drilldrawings = drilldrawings.map(function(v){
GEN.workLayer({name:v,display_number:2,clear_before:'yes'})
GEN.selAllFeat();
var count = Number(GEN.getSelectCount());
if (count == 0) {count = 9999999}
GEN.selClearFeature()
return {
name: v,
count: count
}
})
drilldrawings.sort(function(a,b){return a.count - b.count})
drilldrawinglayer = drilldrawings[0].name
}
// 判断有没有line层
if(all_layer.indexOf("line") >= 0){
GEN.workLayer({name:"line",display_number:2,clear_before:'yes'})
GEN.selAllFeat()
if(GEN.getSelectCount() > 0) { GEN.COM("sel_create_profile,create_profile_with_holes=no") }
} else if (drilldrawinglayer){
GEN.workLayer({name:drilldrawinglayer,display_number:2,clear_before:'yes'})
GEN.selAllFeat()
if(GEN.getSelectCount() > 0) {
createOutline({job:job, step:tmp_step, profileRule:["^"+drilldrawinglayer+"$"]})
}
else { createOutline({job:job, step:tmp_step, profileRule:profileRule}) }
} else if(all_layer.indexOf("array") >= 0) {
GEN.workLayer({name:"array",display_number:2,clear_before:'yes'})
GEN.selAllFeat()
if(GEN.getSelectCount() > 0) {
// GEN.COM("sel_create_profile,create_profile_with_holes=no");
// if(!hasProfle({job:job, step:tmp_step})){
GEN.COM("sel_create_profile,create_profile_with_holes=no");
if(!hasProfle({job:job, step:tmp_step})){
createOutline({job:job, step:tmp_step, profileRule:["^array$"]})
// }
}
}
else { createOutline({job:job, step:tmp_step, profileRule:profileRule}) }
}else if(all_layer.indexOf("top") >= 0) {
......@@ -775,8 +808,8 @@ function sortLayer(props){ // 排序方法 {job:要排序的料号, rule: {要
}
sortNames.forEach(function(v,i,arr){
if(i !== 0){
GEN.matrixMoveRow({ job:job,layer:v.name,after:arr[i-1].name })
}
GEN.matrixMoveRow({ job:job,layer:v.name,after:arr[i-1].name })
}
if(!/^comp_\+_/.test(v.name)){
GEN.matrixLayerAttr(_.assign({job:job,layer:v.name},v.attr));
}
......@@ -1108,10 +1141,12 @@ function createOutline(props){
selCopyLayer({job:job,layer:l})
GEN.workLayer({name:l,display_number:2,clear_before:"yes"})
GEN.selClearFeature()
GEN.saveJob({job:job})
if(GEN.GEN_TYPE == "genesis"){
GEN.selCreateProfile()
} else {
GEN.COM("profile_limits,layers="+l+",type=lyrfilter,margin=0")
GEN.COM("sel_create_profile,create_profile_with_holes=no")
// GEN.COM("profile_limits,layers="+l+",type=lyrfilter,margin=0")
}
GEN.selectByFilter({profile:"in"})
if(GEN.getSelectCount()> 0){GEN.selDelete()}
......
......@@ -219,8 +219,9 @@ try {
})
});
jobFiles = fs.listDir(jobFile[0].path)
// 分析料号文件 得到料号导入信息 导入类型
var jobInfo = analyJobFiles({jobFiles:jobFiles.filter(function(v){return v.isFile}),custCfg:custCfg,config:config,job:job })
if(jobInfo.data.length == 0){
......@@ -259,7 +260,8 @@ try {
}
})
var step_all = [];
// 分析arr_job 和 pcs_job
// 分析arr_job 和 pcs_job;
jobs = jobs.filter(function(v){return GEN.isJobExists({job:v.name})});
jobs.forEach(function(item){
var jobname = item.name
GEN.openJob({job:jobname});
......@@ -281,14 +283,14 @@ try {
})
}
})
})
});
var pcs_job_name_tmp = step_all[0].jobname
step_all = step_all.filter(function(item){
return item.jobname != pcs_job_name_tmp
})
var pcs_job = jobs.filter(function(item){
return item.name == pcs_job_name_tmp
})[0]
})[0];
importJob({name:job,db:custCfg.db,path:pcs_job.path},config.delSameJob)
GEN.openJob({job:job});
step_all.forEach(function(item){
......@@ -347,7 +349,7 @@ try {
var gerberInfo = jobInfo.data.map(function(item){
var gerberCfg = JSON.parse(JSON.stringify(item.format));
var file = item.file
gerberCfg.layer = file.name.toLowerCase().split(" ").join("-")
gerberCfg.layer = file.name.toLowerCase().split(" ").join("-").replace(/[()]/ig,"_")
gerberCfg.path = file.path
gerberCfg.format = item.type
gerberCfg.job = job
......
......@@ -448,8 +448,6 @@
}
],
"tl_name": [
{"orig_name" : ["^comp_+_top$"], "tl_name" : "comp_+_top" },
{"orig_name" : ["^comp_+_bot$"], "tl_name" : "comp_+_bot" },
{"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" : ["top_(?:solder)paste","^spt(?:\\.gbr)?$","^past_top$"], "tl_name" : "past_top" },
......@@ -597,27 +595,27 @@
}
],
"tl_name": [
{"orig_name" : ["^comp_+_top$"], "tl_name" : "comp_+_top" },
{"orig_name" : ["^comp_+_bot$"], "tl_name" : "comp_+_bot" },
{"orig_name" : ["^pm_top","spcs\\.gbr$|paste.pri|pripaste|solderpaste_top","ppst\\.art|spt\\.art","assy[_-]?top\\.art","past_top","paste_top|spt"], "tl_name" : "past_top" },
{"orig_name" : ["^pm_bot","spps\\.gbr$|paste.sec|secpaste|solderpaste_bottom","spst\\.art|spb\\.art","assy[_-]?bott?o?m?\\.art","past_bot","paste_bot|spb"], "tl_name" : "past_botm" },
{"orig_name" : ["silk.pri","pleg\\.art|sst\\.art","^ss_top|sscs\\.gbr$","silk_top|sst"], "tl_name" : "silk_top" },
{"orig_name" : ["silk.sec","sleg\\.art|ssb\\.art","^ss_bot|ssps\\.gbr$","silk_bot|ssb"], "tl_name" : "silk_bot" },
{"orig_name" : ["^tm\\.art$|\\.st$|\\.tsm$|soldermask_top","mask.top\\.art|smt\\.art","mask.pri\\.art|smcs\\.gbr$","psm\\.art","sm_top|^smt"], "tl_name" : "sm_top" },
{"orig_name" : ["^bm\\.art$|\\.sb$|\\.bsm$|soldermask_bottom","mask.bot\\.art|smb\\.art","mask.sec\\.art|smps\\.gbr$","ssm\\.art","sm_bot|^smb"], "tl_name" : "sm_botm" },
{"orig_name" : ["^(?:(?!assy|enig|pm|past|ss|silk|sm|soldermask).)+_top\.art$","^top$","^top.art$"], "tl_name" : "top" },
{"orig_name" : ["^(?:(?!assy|enig|pm|past|ss|silk|sm|soldermask).)+_bottom\.art$","^bot\\.art$","^bottom$","^bottom\\.art$"], "tl_name" : "bottom" },
{"orig_name" : ["^(?:(?!assy|enig|pm|past|ss|silk|sm|soldermask|via|plug).)+_top\.art$","^surface$","^top$","^top.art$|^pri\\.art$"], "tl_name" : "top" },
{"orig_name" : ["^(?:(?!assy|enig|pm|past|ss|silk|sm|soldermask|via|plug).)+_bottom\.art$","^base$","^bot\\.art$","^bottom$","^bottom\\.art$|^sec\\.art$"], "tl_name" : "bottom" },
{"orig_name" : ["int(\\d+)\\.art"], "tl_name" : "l_($1+1)"},
{"orig_name" : ["_top_lay(\\d+)"], "tl_name" : "d_1-($1)"},
{"orig_name" : ["_lay(\\d+)_bot"], "tl_name" : "d_($1)-($1+1)"},
{"orig_name" : ["_lay(\\d+)_lay(\\d+)","_l?(\\d+)_l?(\\d+)$","\\.ncd(\\d)-(\\d)$","\\.d(\\d+)-(\\d+)$","-(\\d+)-(\\d+)\\.drl$","(\\d+)-(\\d+)-laser\\.drl$","d(\\d+)-(\\d+)"], "tl_name" : "d_($1)-($2)"},
{"orig_name" : ["lay-(\\d+)\\.art$","^(?:signal|plane|layer)_(\\d+)$","^l(\\d+)$","_l(\\d+)-.{3}\\.art$","lay(\\d+)\\.art$","l(\\d+).*\\.gbr$","^0?(\\d+)[\\D].*\\.art$","\\.p(\\d+)p?$","\\.l(\\d+)$","^l(\\d+).*\\.art$","^l(\\d+)\\.art$","^0(\\d+).*ccp_ms","^s(\\d+)\\.art","laye?r?(\\d+)","layer_(\\d+)"], "tl_name" : "l_($1)"},
{"orig_name" : ["(\\d+)-(\\d+)-((?:(?!laser)[a-zA-Z])+)\\.drl$","\\.d(\\d+)-(\\d+)((?:(?!laser)[a-zA-Z])+)$"], "tl_name" : "d($1)-($2)-($3)"},
{"orig_name" : ["_l?(\\d+)_l?(\\d+)$","\\.ncd(\\d)-(\\d)$","\\.d(\\d+)-(\\d+)$","-(\\d+)-(\\d+)\\.drl$","(\\d+)-(\\d+)-laser\\.drl$","d(\\d+)-(\\d+)"], "tl_name" : "d_($1)-($2)"},
{"orig_name" : ["^nth_layer$","^drill$","\\.ncdthru$"], "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" : ["^ro\\.art$","^contour\\.gdo$","\\.R1$","outline"], "tl_name" : "outline" },
{"orig_name" : ["^pst\\.art$","top-enig","enig_top"], "tl_name" : "enig_top" },
{"orig_name" : ["^sst\\.art$","bot-enig","enig_bot"], "tl_name" : "enig_bot" },
{"orig_name" : ["top-enig","enig_top"], "tl_name" : "enig_top" },
{"orig_name" : ["bot-enig","enig_bot"], "tl_name" : "enig_bot" },
{"orig_name" : ["_top_l(\\d+)"], "tl_name" : "d_1-($1)"},
{"orig_name" : ["_l(\\d+)_bottom"], "tl_name" : "d_($1)-($1+1)"}
],
......@@ -827,8 +825,6 @@
}
],
"tl_name": [
{"orig_name" : ["^comp_+_top$"], "tl_name" : "comp_+_top" },
{"orig_name" : ["^comp_+_bot$"], "tl_name" : "comp_+_bot" },
{"orig_name" : ["^spt$|^pmt\\.art$","\\.pma$|\\.spa$","paste.?top|soldPasteTop|pastemask.?top","past_top"], "tl_name" : "past_top" },
{"orig_name" : ["^spb$|^pmb\\.art$","\\.pmb$|\\.spb$","paste.?bot|soldPasteBot|pastemask.?bot","past_botm"], "tl_name" : "past_botm" },
{"orig_name" : ["sst|tsilk|silktop","^sst\\.art$","\\.ssa$","silkscrntop|silkscreentop","silk.top|silk-top"], "tl_name" : "silk_top" },
......@@ -901,8 +897,6 @@
}
],
"tl_name": [
{"orig_name" : ["^comp_+_top$"], "tl_name" : "comp_+_top" },
{"orig_name" : ["^comp_+_bot$"], "tl_name" : "comp_+_bot" },
{"orig_name" : ["osp-top\\.pho","solderpastetop","past_top"], "tl_name" : "past_top" },
{"orig_name" : ["osp-bottom\\.pho","solderpastebottom","past_botm"], "tl_name" : "past_botm" },
{"orig_name" : ["pleg\\.art","^ss_top","silk_top"], "tl_name" : "silk_top" },
......@@ -975,8 +969,6 @@
}
],
"tl_name": [
{"orig_name" : ["^comp_+_top$"], "tl_name" : "comp_+_top" },
{"orig_name" : ["^comp_+_bot$"], "tl_name" : "comp_+_bot" },
{"orig_name" : ["pasttop\\.art","past_top"], "tl_name" : "past_top" },
{"orig_name" : ["pastbotm\\.art","past_bot"], "tl_name" : "past_botm" },
{"orig_name" : ["^silktop\\.art$","silk_top"], "tl_name" : "silk_top" },
......@@ -1089,7 +1081,6 @@
}
},
"data_format": [
{"tl_name":"comp_\\+_top" , "new_name":"comp_+_top" , "attr":{}},
{"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" }},
......@@ -1101,7 +1092,6 @@
{"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":"enig_bot" , "new_name":"enig_bot" , "attr":{ "context":"board", "type":"document" }},
{"tl_name":"comp_\\+_bot" , "new_name":"comp_+_bot" , "attr":{}},
{"tl_name":"d_(\\d+)-(\\d+)","new_name":"ftdrill($1)-($2)l" ,"attr":{"context":"board","type":"drill"}},
{"tl_name":"d(\\d+)-(\\d+)-(.*)","new_name":"ftdrill($1)-($2)-($3)" ,"attr":{"context":"board","type":"drill"}},
{"tl_name":"drill","new_name":"ftdrill" ,"attr":{"context":"board","type":"drill"}},
......
This diff is collapsed.
......@@ -24,7 +24,7 @@ PARAMETER:
]
VERSION_HISTORY:
V1.00 2020-09-01 Scott Sun
V1.00 2021-02-19 Scott Sun
1.新版本
HELP:
......@@ -51,7 +51,6 @@ var mode = $.ikm ? "topcam" : "aimdfm";
var IKM = $.ikm;
if (IKM==undefined ) { IKM = require('topcam.ikm6')($) }
var GEN = $.gen;
var GUI = $.gui || {};
var Job = $.job || $.job_name;
var JobId = $.job_id;
var db = $.db || IKM.db
......@@ -70,7 +69,7 @@ var Status = 'ok';
var resultData = [];
var par = PAR;
var default_par = {
step: "cad",
step: "orig",
auto_save: "No",
units:"mm"
}
......@@ -82,18 +81,8 @@ try {
if(!GEN.isJobOpen({job:job})){ GEN.openJob({job:job}) }
if(mode == "aimdfm"){ if(GEN.checkInout({job:job,mode:"test"}) != 0){ throw "the job check" } else { GEN.checkInout({job:job,mode:"out"}) } }
GEN.openStep({job:job,name:"cad"})
var matrix = GEN.getMatrix({job:job})
exportInfo("getMatrix"); // 获取matrix
GEN.INFO({entity_type:'matrix', entity_path:job+'/matrix', data_type:'row', parameters:'name'});
exportInfo({matrix:Object.keys(matrix),infores: GEN.INFO_RESULT});
console.log("=================test==============");
// 保存
if(/yes/ig.test(par.auto_save)){GEN.checkInout({job:job,mode:"out"}); GEN.saveJob({ job: job });GEN.checkInout({job:job,mode:"in"});GEN.closeJob({job:job});} else {GEN.checkInout({job:job,mode:"in"})}
if (mode === "aimdfm") {
......@@ -112,7 +101,3 @@ try {
resultData.push({type: "error", title: "脚本执行出错!", detail: [{desc: _.toString(e)}]});
return (mode === "aimdfm") ? {status: Status, result_data: resultData} : "Error";
}
function exportInfo(info){
fs.writeFile("/home/toplinker/samba/Test_Scott/tmp", _.toString(info))
}
\ No newline at end of file
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