Commit 0d4bbd5e authored by Scott Sun's avatar Scott Sun

scott

parent b809ec28
......@@ -984,7 +984,7 @@ try {
IKM.msg("export")
script_info({ result_severity: "analysis export" })
script_info({ progress: 95 })
......
......@@ -305,10 +305,10 @@ try {
var hasProfile = GEN.getProfile({job:job, step:tmp_step})
GEN.closeStep()
if(hasProfile.match(/\n/ig).length == 1){
createOutline({job:job, step:tmp_step, matrix: tmp_matrix, profileRule:profileRule})
createOutline({job:job, step:tmp_step, profileRule:profileRule})
}
} else {
createOutline({job:job, step:tmp_step, matrix: tmp_matrix, profileRule:profileRule})
createOutline({job:job, step:tmp_step, profileRule:profileRule})
}
var hasProfile = GEN.getProfile({job:job, step:tmp_step})
if(hasProfile.match(/\n/ig).length == 1){
......@@ -660,7 +660,7 @@ function createOutline(props){
var job = props.job
var step = props.step
var matrix = props.matrix
var matrix = GEN.getMatrix({job:job})
var outlines = Object.keys(matrix).filter(function(v){
var flag = false
profileRule.forEach(function(rule){
......@@ -672,7 +672,14 @@ 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 drill_layer = Object.keys(matrix).filter(function(v){return matrix[v].layer_type=="drill" && matrix[v].context == "board"})
var tmp = "drill_all";
if(GEN.isLayerExists({job:job, layer:tmp})) { GEN.deleteLayer({job:job, layer:tmp})}
GEN.openStep({job:job, name:step})
GEN.affectedLayer({affected:'yes',layer:drill_layer})
GEN.selCopyOther({dest:'layer_name',target_layer:tmp,invert:'no',dx:0,dy:0,size:0})
GEN.closeStep()
var tmp_outline
if(outlines.length){
if( outlines.length){
......@@ -693,7 +700,9 @@ function createOutline(props){
GEN.affectedLayer({affected:'no',mode:'all'})
GEN.workLayer({name:l,display_number:2,clear_before:"yes"})
var bk = l + "_bk"
var bk2 = l + "_bk2"
selCopyLayer({job:job,layer:bk})
selCopyLayer({job:job,layer:bk2})
GEN.workLayer({name:bk,display_number:2,clear_before:"yes"})
l = bk
GEN.selectByFilter({feat_types:"line\;arc"})
......@@ -708,14 +717,29 @@ function createOutline(props){
GEN.selReverse()
if(GEN.getSelectCount()>0){GEN.selDelete()}
GEN.selContourize()
GEN.selectByFilter({feat_types:"surface"})
GEN.selReverse()
if(GEN.getSelectCount()>0){GEN.selDelete()}
if(!/1352/ig.test(PAR.customer) ){
GEN.selectByFilter({feat_types:"surface"})
GEN.selReverse()
if(GEN.getSelectCount()>0){GEN.selDelete()}
}
var tmp_layer = l+"+++"
GEN.selRefFeat({layers:drill_layer[0],use:'filter',mode:'touch'})
GEN.selRefFeat({layers:tmp,use:'filter',mode:'touch'})
if(GEN.getSelectCount() > 0){
var tmp_outline2 = l + "_tmp"
selCopyLayer({job:job,layer:tmp_outline2})
selCopyLayer({job:job,layer:tmp_outline2})
if(/1352/ig.test(PAR.customer) ){
// 1. worklayer bk2 删除非线 递归touch tmp_outline2
GEN.workLayer({name:bk2,display_number:2,clear_before:"yes"})
GEN.selectByFilter({feat_types:"pad;surface;text"})
if(GEN.getSelectCount() > 0) {GEN.selDelete()}
touch(tmp_outline2)
// 2. worklayer tmp_outline2 cuttingdata selContourize
GEN.workLayer({name:tmp_outline2,display_number:2,clear_before:"yes"})
GEN.COM("sel_cut_data,det_tol=1,con_tol=1,rad_tol=0.1,filter_overlaps=no,delete_doubles=no,use_order=yes,ignore_width=yes,ignore_holes=none,start_positive=yes,polarity_of_touching=same")
GEN.selContourize()
GEN.deleteLayer({job:job, layer:bk2})
GEN.deleteLayer({job:job, layer:tmp_outline2 + "+++"})
}
GEN.workLayer({name:l,display_number:2,clear_before:"yes"})
GEN.selAllFeat()
GEN.selDelete()
......@@ -725,7 +749,7 @@ function createOutline(props){
GEN.selAllFeat()
selCopyLayer({job:job,layer:l})
GEN.workLayer({name:l,display_number:2,clear_before:"yes"})
GEN.selClearFeature()
GEN.selClearFeature()
GEN.selCreateProfile()
GEN.selectByFilter({profile:"in"})
if(GEN.getSelectCount()> 0){GEN.selDelete()}
......@@ -736,10 +760,22 @@ function createOutline(props){
GEN.deleteLayer({job:job, layer:l})
return true
}
GEN.deleteLayer({job:job, layer:l})
GEN.deleteLayer({job:job, layer:[tmp_layer]})
GEN.deleteLayer({job:job, layer:l})
GEN.deleteLayer({job:job, layer:bk2})
GEN.deleteLayer({job:job, layer:[tmp_layer]})
GEN.deleteLayer({job:job, layer:[tmp_layer]})
return false
}
GEN.deleteLayer({job:job, layer:[tmp]})
}
function touch(layer) {
GEN.selRefFeat({layers:layer,use:"filter",mode:"touch"})
if(GEN.getSelectCount() > 0) {
GEN.selMoveOther({target_layer:layer,invert:'no',dx:0,dy:0,size:0})
touch(layer)
}
}
function selCopyLayer(props){ // 拷贝选择的到辅助层
......
......@@ -86,22 +86,9 @@ try {
var reg = new RegExp(par.step,"ig")
return reg.test(step)
})
stepList.forEach(function(step){
GEN.openStep({job:job,name:step})
GEN.clearLayers(); //清除层显示
GEN.affectedLayer({ mode: 'all', affected: 'no' }); //设置影响层全部不影响
GEN.COM("sel_options,clear_mode=clear_after,display_mode=all_layers,area_inout=inside,area_select=select,select_mode=standard,area_touching_mode=exclude");
GEN.units({ type: par.units });
GEN.zoomHome();
GEN.closeStep()
})
GEN.PAUSE("Ok")
IKM.msg("Ok")
// 保存
......
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