var config = { "formats": { "ODB": {}, "ODB_1": { "comments": "", "arrStep": "stp", "isMerge": "yes" }, "Gerber274x_1": { "nf1": 3, "nf2": 5, "units": "inch", "zeroes": "leading", "decimal": "no", "nf_comp": 0, "break_sr": "yes", "data_type": "ascii", "separator": "*", "threshold": 200, "drill_only": "no", "multiplier": 1, "resolution": 3, "tool_units": "inch", "coordinates": "absolute", "merge_by_rule": "no", "signed_coords": "no", "text_line_width": 0.0024 }, "Gerber274x_2": { "nf1": 3, "nf2": 5, "units": "inch", "zeroes": "leading", "decimal": "no", "nf_comp": 0, "break_sr": "yes", "data_type": "ascii", "separator": "*", "threshold": 200, "drill_only": "no", "multiplier": 1, "resolution": 3, "tool_units": "inch", "coordinates": "absolute", "merge_by_rule": "no", "signed_coords": "no", "text_line_width": 0.0024 }, "Excellon2_1": { "nf1": 3, "nf2": 5, "units": "mm", "zeroes": "leading", "decimal": "no", "nf_comp": 0, "break_sr": "yes", "data_type": "ascii", "separator": "nl", "threshold": 200, "drill_only": "no", "multiplier": 1, "resolution": 3, "tool_units": "mm", "coordinates": "absolute", "merge_by_rule": "no", "signed_coords": "no", "text_line_width": 0.0024 }, "Excellon2_2": { "nf1": 2, "nf2": 3, "units": "inch", "zeroes": "leading", "decimal": "no", "nf_comp": 0, "break_sr": "yes", "data_type": "ascii", "separator": "nl", "threshold": 200, "drill_only": "no", "multiplier": 1, "resolution": 3, "tool_units": "inch", "coordinates": "absolute", "merge_by_rule": "no", "signed_coords": "no", "text_line_width": 0.0024 }, "Excellon2_3": { "nf1": 2, "nf2": 5, "units": "inch", "zeroes": "trailing", "decimal": "no", "nf_comp": 0, "break_sr": "yes", "data_type": "ascii", "separator": "nl", "threshold": 200, "drill_only": "no", "multiplier": 1, "resolution": 3, "tool_units": "mm", "coordinates": "absolute", "merge_by_rule": "no", "signed_coords": "no", "text_line_width": 0.0024 }, "IPC356_1": { "nf1": 2, "nf2": 4, "units": "inch", "zeroes": "none", "decimal": "no", "nf_comp": 0, "break_sr": "yes", "data_type": "ascii", "separator": "*", "threshold": 200, "drill_only": "no", "multiplier": 1, "resolution": 3, "tool_units": "inch", "coordinates": "absolute", "merge_by_rule": "no", "signed_coords": "no", "text_line_width": 0.0024 } }, "customer": { "Customer_2": { "path": "C:/Users/Administrator/Desktop/Customer_2", "db": "genesis", "step": "cad", "rules": [ { "valid": function(props){ var file = props.file; return /.+\.tgz$/ig.test(file.name) }, "type": "ODB", "format": "ODB" }, { "valid": function(props){ var file = props.file; return /.+\.ipc$/ig.test(file.name) }, "type": "IPC356", "format": "IPC356_1" }, { "valid": function(props){ var file = props.file; return /.+\.rou$/ig.test(file.name) }, "type": "Excellon2", "format": "Excellon2_3" }, { "valid": function(props){ var file = props.file; return /.+\.art$/ig.test(file.name) }, "type": "Gerber274x", "format": "Gerber274x_1" }, { "valid": function(props){ var file = props.file; return /.+\.drl$/ig.test(file.name) }, "type": "Excellon2", "format": "Excellon2_1", "format_params": function(props){ var params = props.params if(params.nc_param){ var leading = params.nc_param["SUPPRESS_LEAD_ZEROES"] var trailing = params.nc_param["SUPPRESS_TRAIL_ZEROES"] var zeroes = "none" if(/yes/ig.test(leading)){ zeroes = "leading" } if(/yes/ig.test(trailing)){ zeroes = "trailing" } return { "nf1": params.nc_param["INTEGER_PLACES"]? Number(params.nc_param["INTEGER_PLACES"]) : 3, "nf2": params.nc_param["DECIMAL_PLACES"]? Number(params.nc_param["DECIMAL_PLACES"]) : 5, "units": /METRIC/ig.test(params.nc_param["OUTPUT_UNITS"])? "mm" :"inch", "zeroes": zeroes, "decimal": "no", "nf_comp": 0, "break_sr": "yes", "data_type": "ascii", "separator": "nl", "threshold": 200, "drill_only": "no", "multiplier": 1, "resolution": 3, "tool_units": /METRIC/ig.test(params.nc_param["OUTPUT_UNITS"])? "mm" :"inch", "coordinates": params.nc_param["COORDINATES"]? params.nc_param["COORDINATES"].toLowerCase() :"absolute", "merge_by_rule": "no", "signed_coords": "no", "text_line_width": 0.0024 } } } } ], "tl_name": [ {"orig_name" : "pasttop.art", "tl_name" : "past_top" }, {"orig_name" : "pleg.art", "tl_name" : "silk_top" }, {"orig_name" : "soldtop.art", "tl_name" : "sm_top" }, {"orig_name" : "top.art", "tl_name" : "top" }, {"orig_name" : "lay(\\d+)\\.art", "tl_name" : "l_($1)"}, {"orig_name" : "bottom.art", "tl_name" : "bottom" }, {"orig_name" : "soldbotm.art", "tl_name" : "sm_botm" }, {"orig_name" : "sleg.art", "tl_name" : "silk_bot" }, {"orig_name" : "pastbotm.art", "tl_name" : "past_botm" }, {"orig_name" : "multipack.art", "tl_name" : "array" }, {"orig_name" : "outline.art", "tl_name" : "outline" }, {"orig_name" : "fab.art", "tl_name" : "fab" }, {"orig_name" : "top-enig", "tl_name" : "top-enig" }, {"orig_name" : "bot-enig", "tl_name" : "bot-enig" }, {"orig_name" : "fab_page2", "tl_name" : "fab_page2" }, {"orig_name" : ["-(\\d+)-(\\d+)\.drl","(\\d+)-(\\d+)-laser\.drl"], "tl_name" : "d_($1)-($2)"} ] }, "Customer_1": { "path": "C:/Users/Administrator/Desktop/Customer_1", "db": "genesis", "step": "cad", "rules": [ { "valid": function(props){ var file = props.file; var job = props.job; var reg = new RegExp("^"+job+"-a","ig") return /.+\.tgz$/ig.test(file.name) && reg.test(file.baseName) }, "type": "ODB", "format": "ODB_1" }, { "valid": function(props){ var file = props.file; return /.+\.tgz$/ig.test(file.name) }, "type": "ODB", "format": "ODB" }, { "valid": function(props){ var file = props.file; return /.+\.art$/ig.test(file.name) }, "type": "Gerber274x", "format": "Gerber274x_1" }, { "valid": function(props){ var file = props.file; return /.+\.drl$/ig.test(file.name) }, "type": "Excellon2", "format": "Excellon2_1" } ] }, "New_data": { "path": "C:/Users/Administrator/Desktop/New data", "db": "genesis", "step": "pcs", "rules": [ { "valid": function(props){ var file = props.file; return /.+\.tgz$/ig.test(file.name) }, "type": "ODB", "format": "ODB" }, { "valid": function(props){ var file = props.file; return /.+\.art$/ig.test(file.name) }, "type": "Gerber274x", "format": "Gerber274x_1" }, { "valid": function(props){ var file = props.file; return /.+\.drl$/ig.test(file.name) }, "type": "Excellon2", "format": "Excellon2_2" } ] } }, "data_format": [ {"tl_name":"^top$" , "new_name":"top" , "attr":{ "context":"board", "type":"signal" }}, // new_name 里支持特殊变量 {"tl_name":"l_(\\d+)","new_name":"layer_($1)" ,"attr":{"context":"board","type":"signal"}}, {"tl_name":"^bottom$","new_name":"bottom" ,"attr":{"context":"board","type":"signal"}}, {"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":"rout","new_name":"rout" ,"attr":{"context":"board","type":"rout"}} ], "delSameJob": "yes" } module.exports = config /* (function(){ return { "formats": { "ODB": {}, "ODB_1": { "comments": "", "arrStep": "stp", "isMerge": "yes" }, "Gerber274x_1": { "nf1": 3, "nf2": 5, "units": "inch", "zeroes": "leading", "decimal": "no", "nf_comp": 0, "break_sr": "yes", "data_type": "ascii", "separator": "*", "threshold": 200, "drill_only": "no", "multiplier": 1, "resolution": 3, "tool_units": "inch", "coordinates": "absolute", "merge_by_rule": "no", "signed_coords": "no", "text_line_width": 0.0024 }, "Gerber274x_2": { "nf1": 3, "nf2": 5, "units": "inch", "zeroes": "leading", "decimal": "no", "nf_comp": 0, "break_sr": "yes", "data_type": "ascii", "separator": "*", "threshold": 200, "drill_only": "no", "multiplier": 1, "resolution": 3, "tool_units": "inch", "coordinates": "absolute", "merge_by_rule": "no", "signed_coords": "no", "text_line_width": 0.0024 }, "Excellon2_1": { "nf1": 3, "nf2": 5, "units": "mm", "zeroes": "leading", "decimal": "no", "nf_comp": 0, "break_sr": "yes", "data_type": "ascii", "separator": "nl", "threshold": 200, "drill_only": "no", "multiplier": 1, "resolution": 3, "tool_units": "mm", "coordinates": "absolute", "merge_by_rule": "no", "signed_coords": "no", "text_line_width": 0.0024 }, "Excellon2_2": { "nf1": 2, "nf2": 3, "units": "inch", "zeroes": "leading", "decimal": "no", "nf_comp": 0, "break_sr": "yes", "data_type": "ascii", "separator": "nl", "threshold": 200, "drill_only": "no", "multiplier": 1, "resolution": 3, "tool_units": "inch", "coordinates": "absolute", "merge_by_rule": "no", "signed_coords": "no", "text_line_width": 0.0024 }, "Excellon2_3": { "nf1": 2, "nf2": 5, "units": "inch", "zeroes": "trailing", "decimal": "no", "nf_comp": 0, "break_sr": "yes", "data_type": "ascii", "separator": "nl", "threshold": 200, "drill_only": "no", "multiplier": 1, "resolution": 3, "tool_units": "mm", "coordinates": "absolute", "merge_by_rule": "no", "signed_coords": "no", "text_line_width": 0.0024 }, "IPC356_1": { "nf1": 2, "nf2": 4, "units": "inch", "zeroes": "none", "decimal": "no", "nf_comp": 0, "break_sr": "yes", "data_type": "ascii", "separator": "*", "threshold": 200, "drill_only": "no", "multiplier": 1, "resolution": 3, "tool_units": "inch", "coordinates": "absolute", "merge_by_rule": "no", "signed_coords": "no", "text_line_width": 0.0024 } }, "customer": { "Customer_2": { "path": "C:/Users/Administrator/Desktop/Customer_2", "db": "genesis", "step": "cad", "rules": [ { "valid": function(props){ var file = props.file; return /.+\.tgz$/ig.test(file.name) }, "type": "ODB", "format": "ODB" }, { "valid": function(props){ var file = props.file; return /.+\.ipc$/ig.test(file.name) }, "type": "IPC356", "format": "IPC356_1" }, { "valid": function(props){ var file = props.file; return /.+\.rou$/ig.test(file.name) }, "type": "Excellon2", "format": "Excellon2_3" }, { "valid": function(props){ var file = props.file; return /.+\.art$/ig.test(file.name) }, "type": "Gerber274x", "format": "Gerber274x_1" }, { "valid": function(props){ var file = props.file; return /.+\.drl$/ig.test(file.name) }, "type": "Excellon2", "format": "Excellon2_1", "format_params": function(props){ var params = props.params if(params.nc_param){ var leading = params.nc_param["SUPPRESS_LEAD_ZEROES"] var trailing = params.nc_param["SUPPRESS_TRAIL_ZEROES"] var zeroes = "none" if(/yes/ig.test(leading)){ zeroes = "leading" } if(/yes/ig.test(trailing)){ zeroes = "trailing" } return { "nf1": params.nc_param["INTEGER_PLACES"]? Number(params.nc_param["INTEGER_PLACES"]) : 3, "nf2": params.nc_param["DECIMAL_PLACES"]? Number(params.nc_param["DECIMAL_PLACES"]) : 5, "units": /METRIC/ig.test(params.nc_param["OUTPUT_UNITS"])? "mm" :"inch", "zeroes": zeroes, "decimal": "no", "nf_comp": 0, "break_sr": "yes", "data_type": "ascii", "separator": "nl", "threshold": 200, "drill_only": "no", "multiplier": 1, "resolution": 3, "tool_units": /METRIC/ig.test(params.nc_param["OUTPUT_UNITS"])? "mm" :"inch", "coordinates": params.nc_param["COORDINATES"]? params.nc_param["COORDINATES"].toLowerCase() :"absolute", "merge_by_rule": "no", "signed_coords": "no", "text_line_width": 0.0024 } } } } ], "tlname": [ {"orig_name" : "pasttop.art", "tlname" : "past_top" }, {"orig_name" : "pleg.art", "tlname" : "silk_top" }, {"orig_name" : "soldtop.art", "tlname" : "sm_top" }, {"orig_name" : "art(\\d+)\\.art", "tlname" : "layer_(1)"}, {"orig_name" : "soldbotm.art", "tlname" : "sm_botm" }, {"orig_name" : "sleg.art", "tlname" : "silk_bot" }, {"orig_name" : "pastbotm.art", "tlname" : "past_botm" }, {"orig_name" : "multipack.art", "tlname" : "array" }, {"orig_name" : "outline.art", "tlname" : "outline" }, {"orig_name" : "fab.art", "tlname" : "fab.art" }, {"orig_name" : "top-enig", "tlname" : "top-enig" }, {"orig_name" : "bot-enig", "tlname" : "bot-enig" }, {"orig_name" : "fab_page2", "tlname" : "fab_page2" } ] }, "Customer_1": { "path": "C:/Users/Administrator/Desktop/Customer_1", "db": "genesis", "step": "cad", "rules": [ { "valid": function(props){ var file = props.file; var job = props.job; var reg = new RegExp("^"+job+"-a","ig") return /.+\.tgz$/ig.test(file.name) && reg.test(file.baseName) }, "type": "ODB", "format": "ODB_1" }, { "valid": function(props){ var file = props.file; return /.+\.tgz$/ig.test(file.name) }, "type": "ODB", "format": "ODB" }, { "valid": function(props){ var file = props.file; return /.+\.art$/ig.test(file.name) }, "type": "Gerber274x", "format": "Gerber274x_1" }, { "valid": function(props){ var file = props.file; return /.+\.drl$/ig.test(file.name) }, "type": "Excellon2", "format": "Excellon2_1" } ] }, "New_data": { "path": "C:/Users/Administrator/Desktop/New data", "db": "genesis", "step": "pcs", "rules": [ { "valid": function(props){ var file = props.file; return /.+\.tgz$/ig.test(file.name) }, "type": "ODB", "format": "ODB" }, { "valid": function(props){ var file = props.file; return /.+\.art$/ig.test(file.name) }, "type": "Gerber274x", "format": "Gerber274x_1" }, { "valid": function(props){ var file = props.file; return /.+\.drl$/ig.test(file.name) }, "type": "Excellon2", "format": "Excellon2_2" } ] } }, "sort_rename": [ {"tlname":"" , "newname":"" } ], "delSameJob": "yes" } })() */