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

scott

parent b809ec28
...@@ -984,7 +984,7 @@ try { ...@@ -984,7 +984,7 @@ try {
IKM.msg("export") IKM.msg("export")
script_info({ result_severity: "analysis export" }) script_info({ result_severity: "analysis export" })
script_info({ progress: 95 }) script_info({ progress: 95 })
......
...@@ -305,10 +305,10 @@ try { ...@@ -305,10 +305,10 @@ try {
var hasProfile = GEN.getProfile({job:job, step:tmp_step}) var hasProfile = GEN.getProfile({job:job, step:tmp_step})
GEN.closeStep() GEN.closeStep()
if(hasProfile.match(/\n/ig).length == 1){ 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 { } 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}) var hasProfile = GEN.getProfile({job:job, step:tmp_step})
if(hasProfile.match(/\n/ig).length == 1){ if(hasProfile.match(/\n/ig).length == 1){
...@@ -660,7 +660,7 @@ function createOutline(props){ ...@@ -660,7 +660,7 @@ function createOutline(props){
var job = props.job var job = props.job
var step = props.step var step = props.step
var matrix = props.matrix var matrix = GEN.getMatrix({job:job})
var outlines = Object.keys(matrix).filter(function(v){ var outlines = Object.keys(matrix).filter(function(v){
var flag = false var flag = false
profileRule.forEach(function(rule){ profileRule.forEach(function(rule){
...@@ -672,7 +672,14 @@ function createOutline(props){ ...@@ -672,7 +672,14 @@ function createOutline(props){
return flag return flag
}) })
console.log("----outlines------->:" + _.toString(outlines)); 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 var tmp_outline
if(outlines.length){ if(outlines.length){
if( outlines.length){ if( outlines.length){
...@@ -693,7 +700,9 @@ function createOutline(props){ ...@@ -693,7 +700,9 @@ function createOutline(props){
GEN.affectedLayer({affected:'no',mode:'all'}) GEN.affectedLayer({affected:'no',mode:'all'})
GEN.workLayer({name:l,display_number:2,clear_before:"yes"}) GEN.workLayer({name:l,display_number:2,clear_before:"yes"})
var bk = l + "_bk" var bk = l + "_bk"
var bk2 = l + "_bk2"
selCopyLayer({job:job,layer:bk}) selCopyLayer({job:job,layer:bk})
selCopyLayer({job:job,layer:bk2})
GEN.workLayer({name:bk,display_number:2,clear_before:"yes"}) GEN.workLayer({name:bk,display_number:2,clear_before:"yes"})
l = bk l = bk
GEN.selectByFilter({feat_types:"line\;arc"}) GEN.selectByFilter({feat_types:"line\;arc"})
...@@ -708,14 +717,29 @@ function createOutline(props){ ...@@ -708,14 +717,29 @@ function createOutline(props){
GEN.selReverse() GEN.selReverse()
if(GEN.getSelectCount()>0){GEN.selDelete()} if(GEN.getSelectCount()>0){GEN.selDelete()}
GEN.selContourize() GEN.selContourize()
GEN.selectByFilter({feat_types:"surface"}) if(!/1352/ig.test(PAR.customer) ){
GEN.selReverse() GEN.selectByFilter({feat_types:"surface"})
if(GEN.getSelectCount()>0){GEN.selDelete()} GEN.selReverse()
if(GEN.getSelectCount()>0){GEN.selDelete()}
}
var tmp_layer = l+"+++" 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){ if(GEN.getSelectCount() > 0){
var tmp_outline2 = l + "_tmp" 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.workLayer({name:l,display_number:2,clear_before:"yes"})
GEN.selAllFeat() GEN.selAllFeat()
GEN.selDelete() GEN.selDelete()
...@@ -725,7 +749,7 @@ function createOutline(props){ ...@@ -725,7 +749,7 @@ function createOutline(props){
GEN.selAllFeat() GEN.selAllFeat()
selCopyLayer({job:job,layer:l}) selCopyLayer({job:job,layer:l})
GEN.workLayer({name:l,display_number:2,clear_before:"yes"}) GEN.workLayer({name:l,display_number:2,clear_before:"yes"})
GEN.selClearFeature() GEN.selClearFeature()
GEN.selCreateProfile() GEN.selCreateProfile()
GEN.selectByFilter({profile:"in"}) GEN.selectByFilter({profile:"in"})
if(GEN.getSelectCount()> 0){GEN.selDelete()} if(GEN.getSelectCount()> 0){GEN.selDelete()}
...@@ -736,10 +760,22 @@ function createOutline(props){ ...@@ -736,10 +760,22 @@ function createOutline(props){
GEN.deleteLayer({job:job, layer:l}) GEN.deleteLayer({job:job, layer:l})
return true return true
} }
GEN.deleteLayer({job:job, layer:l}) GEN.deleteLayer({job:job, layer:l})
GEN.deleteLayer({job:job, layer:[tmp_layer]}) GEN.deleteLayer({job:job, layer:bk2})
GEN.deleteLayer({job:job, layer:[tmp_layer]})
GEN.deleteLayer({job:job, layer:[tmp_layer]})
return false 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){ // 拷贝选择的到辅助层 function selCopyLayer(props){ // 拷贝选择的到辅助层
......
...@@ -86,22 +86,9 @@ try { ...@@ -86,22 +86,9 @@ try {
var reg = new RegExp(par.step,"ig") var reg = new RegExp(par.step,"ig")
return reg.test(step) 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