var $ = require('topcam.scriptfunc').argv(); var _ = require('lodash'); var JOB = $.job_name; var GEN = $.gen; var ikm = $.ikm; try { console.log("===================begin================="); var config = { check: "t2_ori_analysis", units: 'mm', nacts: [1,2,4,7], stepFilter: function(item){ return /^net\d*$|^array$/ig.test(item) } } if(!JOB) {throw '没有传入料号名!'} // 判断传没传入JOB if(!GEN.isJobExists({job:JOB})) {throw '料号'+JOB+'在genesis中不存在'} // 判断genesis中是否存在料号 if(!GEN.isJobOpen({job:JOB})) {GEN.openJob({job:JOB})} // 如果料号没打开 先打开料号 GEN.checkInout({job:JOB,mode:'out'}) // 锁住料号权限 var steplist = GEN.getStepList({job: JOB}) // 获取step列表 steplist = config.stepFilter ? steplist.filter(config.stepFilter) : steplist // 根据条件过滤step列表 _.forEach(steplist, function (step) { // 循环获取step的checklist // 初始化 GEN.openStep({ job: JOB, step: 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: config.units }); GEN.zoomHome(); // 判断check存不存在 if(!GEN.isChklistExists({job:JOB,step:step,chklist:config.check})){ GEN.COM("chklist_from_lib,chklist=" + config.check); // 不存在要从lib copy一个 } GEN.chklistShow({chklist:config.check}) _.forEach(config.nacts,function(nact){ GEN.chklistRun({chklist:config.check,nact:nact}) // 运行checklist }) GEN.chklistClose({chklist:config.check}) // 关闭checklist GEN.closeStep({ job: JOB, name: step }) // 关闭step GEN.clearLayers(); // 结束重置 GEN.affectedLayer({ mode: 'all', affected: 'no' }); }) GEN.saveJob({job:JOB}) GEN.checkInout({job:JOB,mode:'in'}) return 'Done'; } catch (error) { error = error || 'error' return error }