Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in / Register
Toggle navigation
S
Scott
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Scott Sun
Scott
Commits
520f304d
Commit
520f304d
authored
Apr 10, 2020
by
Scott Sun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
s
parent
9a209ab7
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
128 additions
and
79 deletions
+128
-79
ATS_AIM_layer_rename_and_sort.js
test/ATS_AIM_layer_rename_and_sort.js
+52
-79
导入配置.json
导入配置.json
+30
-0
数据标准化配置.json
数据标准化配置.json
+46
-0
No files found.
test/ATS_AIM_layer_rename_and_sort.js
View file @
520f304d
...
...
@@ -4,46 +4,16 @@
PARAMETER:
[
{
name : '
step_filt
er',
title : '
Step过滤
',
name : '
custom
er',
title : '
CUSTOMER 名
',
type : 'LineEdit',
property : {tool_tip : '
过滤step信息
'}
property : {tool_tip : '
客户名称
'}
},
{
name : 'rename_rule',
title : '改名规则',
type : 'TextEdit',
property : {tool_tip : '支持正则匹配'},
setter:function(obj,value,self){
obj.setPlainText(value);
},
getter:function(obj,self){
return obj.plainText
}
},
{
name : 'sort_rule',
title : '排序规则',
type : 'TextEdit',
property : {tool_tip : '支持正则匹配'},
setter:function(obj,value,self){
obj.setPlainText(value);
},
getter:function(obj,self){
return obj.plainText
}
},
{
name : 'auto_save',
title : '自动保存',
type : 'RadioBox',
property : {
item_list:[
{name:'yes',text:'YES'},
{name:'no',text:'NO'},
],
tool_tip:'是否自动保存料号开关'
}
name : 'job_name',
title : '料号名',
type : 'LineEdit',
property : {tool_tip : '料号名'}
}
]
...
...
@@ -73,54 +43,32 @@ var GUI = $.gui;
var
Job
=
$
.
job
;
try
{
var
config
=
{
rename
:
{
rule1
:
[
{
orig_name
:
'd_top_.+(
\\
d+)'
,
new_name
:
'd1-(1)'
},
{
orig_name
:
'd_.+(
\\
d+)_bottom'
,
new_name
:
'd(1)-(last)'
},
{
orig_name
:
'd_.+(
\\
d+)_.+(
\\
d+)'
,
new_name
:
'd(1)-(2)'
}
]
},
sort
:
[
{
name
:
'comp_+_top'
,
context
:
'board'
,
type
:
'components'
,
polarity
:
'positive'
},
{
name
:
'sst'
,
context
:
'board'
,
type
:
'solder_paste'
,
polarity
:
'positive'
},
{
name
:
'spt'
,
context
:
'board'
,
type
:
'solder_paste'
,
polarity
:
'positive'
},
{
name
:
'smt'
,
context
:
'board'
,
type
:
'solder_mask'
,
polarity
:
'positive'
},
{
name
:
'top'
,
context
:
'board'
,
type
:
'signal'
,
polarity
:
'positive'
},
{
name
:
'isl(
\\
d+)'
,
context
:
'board'
,
type
:
'signal'
,
polarity
:
'positive'
},
{
name
:
'bottom'
,
context
:
'board'
,
type
:
'signal'
,
polarity
:
'positive'
},
{
name
:
'smb'
,
context
:
'board'
,
type
:
'solder_mask'
,
polarity
:
'positive'
},
{
name
:
'spb'
,
context
:
'board'
,
type
:
'solder_paste'
,
polarity
:
'positive'
},
{
name
:
'ssb'
,
context
:
'board'
,
type
:
'solder_paste'
,
polarity
:
'positive'
},
{
name
:
'comp_+_bot'
,
context
:
'board'
,
type
:
'components'
,
polarity
:
'positive'
},
{
name
:
'd(
\\
d+)-
\\
d+'
,
context
:
'board'
,
type
:
'drill'
,
polarity
:
'positive'
},
{
name
:
'drill'
,
context
:
'board'
,
type
:
'drill'
,
polarity
:
'positive'
},
{
name
:
'rout'
,
context
:
'board'
,
type
:
'rout'
,
polarity
:
'positive'
}
],
setDrill
:
'yes'
,
auto_save
:
'yes'
}
var
job
=
"1"
var
mode
=
"develop"
// develop
var
par
=
$
.
par
;
par
=
{
job_name
:
"1"
,
customer
:
"ats"
}
// !! tmp
var
cfg
=
JSON
.
parse
(
IKM
.
select_value
({
table
:
'pub_conf'
,
field
:
'json_data'
,
where
:{
path
:
'cam/input_data'
}}));
// 读取配置文件
var
useCfg
=
cfg
[
par
.
customer
.
toLowerCase
()].
formatData
;
var
job
=
par
.
job_name
if
(
!
GEN
.
isJobExists
({
job
:
job
})){
throw
"job "
+
job
+
" is not exist"
}
if
(
!
GEN
.
isJobOpen
({
job
:
job
})){
GEN
.
openJob
({
job
:
job
})}
if
(
GEN
.
checkInout
({
job
:
job
,
mode
:
"test"
})
!=
0
){
throw
"the job check"
}
if
(
GEN
.
checkInout
({
job
:
job
,
mode
:
"test"
})
!=
0
&&
mode
!=
"develop"
){
throw
"the job check"
}
GEN
.
checkInout
({
job
:
job
,
mode
:
"out"
});
if
(
config
.
rename
){
reName
({
job
:
job
,
rule
:
config
.
rename
})
// if(mode=="develop"){ IKM.msg("rename")}
if
(
useCfg
.
rename
){
reName
({
job
:
job
,
rule
:
useCfg
.
rename
})
}
if
(
config
.
sort
.
length
){
sortLayer
({
job
:
job
,
rule
:
config
.
sort
});
// 排序
// if(mode=="develop"){ IKM.msg("sort")}
if
(
useCfg
.
sort
){
var
err
=
sortLayer
({
job
:
job
,
rule
:
useCfg
.
sort
});
// 排序
if
(
err
)
{
throw
err
}
}
if
(
/^yes$/
.
test
(
config
.
setDrill
)){
// if(mode=="develop"){ IKM.msg("setDrill")}
if
(
/^yes$/
.
test
(
useCfg
.
setDrill
.
info
)){
setDrill
({
job
:
job
});
// 设置钻孔
}
// finally
if
(
/^yes$/ig
.
test
(
config
.
auto_s
ave
))
{
GEN
.
saveJob
({
job
:
job
});
}
if
(
/^yes$/ig
.
test
(
useCfg
.
autoS
ave
))
{
GEN
.
saveJob
({
job
:
job
});
}
GEN
.
checkInout
({
job
:
job
,
mode
:
"in"
});
GEN
.
closeJob
({
job
:
job
})
...
...
@@ -131,7 +79,6 @@ catch (error) {
return
'Error'
;
}
function
reName
(
props
)
{
// 改名 par{job:要改名的料号, rule: {要改名的规则}
var
job
=
props
.
job
if
(
Array
.
isArray
(
props
.
rule
)){
...
...
@@ -210,8 +157,33 @@ function getRenameCount(names,rule,signalCount){ // 返回改名匹配结果
}
function
sortLayer
(
props
){
// 排序方法 {job:要排序的料号, rule: {要改名的规则}
var
job
=
props
.
job
var
job
=
props
.
job
var
matrix
=
GEN
.
getMatrix
({
job
:
job
});
var
matriNames
=
Object
.
keys
(
matrix
)
// 找出所有排序规则中契合度最高的
var
ruleKey
=
{}
Object
.
keys
(
props
.
rule
).
forEach
(
function
(
key
){
var
rule
=
props
.
rule
[
key
]
ruleKey
[
key
]
=
0
var
regs
=
rule
.
map
(
function
(
item
){
return
new
RegExp
(
item
.
name
,
'ig'
)
})
matriNames
.
forEach
(
function
(
name
){
var
isSort
=
regs
.
reduce
(
function
(
a
,
b
){
if
(
b
.
test
(
name
)){
a
=
true
}
return
a
},
false
)
if
(
isSort
){
ruleKey
[
key
]
++
}
})
})
var
maxRule
=
{
key
:
""
,
value
:
0
}
Object
.
keys
(
ruleKey
).
forEach
(
function
(
key
){
var
value
=
ruleKey
[
key
]
if
(
value
>=
maxRule
.
value
){
maxRule
.
key
=
key
maxRule
.
value
=
value
}
})
if
(
props
.
rule
[
maxRule
.
key
]){
props
.
rule
=
props
.
rule
[
maxRule
.
key
]}
else
{
return
"sort rule error"
}
var
matriName
=
Object
.
keys
(
matrix
).
sort
(
function
(
a
,
b
){
return
matrix
[
a
].
row
-
matrix
[
b
].
row
})
var
matrixFirst
=
matriName
[
0
];
// 记录matrix中第一位
var
sortNames
=
[];
...
...
@@ -262,7 +234,8 @@ function sortLayer(props){ // 排序方法 {job:要排序的料号, rule: {要
}
}
function
setDrill
(){
// 设置钻孔
function
setDrill
(
props
){
// 设置钻孔
var
job
=
props
.
job
var
martrix
=
GEN
.
getMatrix
({
job
:
job
});
// 获取所有的钻孔层
var
drillLayer
=
Object
.
keys
(
martrix
).
filter
(
function
(
v
){
...
...
导入配置.json
View file @
520f304d
...
...
@@ -65,6 +65,36 @@
"text_line_width"
:
0.0024
}
}
},
"formatData"
:
{
"rename"
:
{
"rule1"
:
[
{
"orig_name"
:
"isl(
\\
d+)"
,
"new_name"
:
"l(1)"
},
{
"orig_name"
:
"d_top_.+(
\\
d+)"
,
"new_name"
:
"d1-(1)"
},
{
"orig_name"
:
"d_.+(
\\
d+)_bottom"
,
"new_name"
:
"d(1)-(last)"
},
{
"orig_name"
:
"d_.+(
\\
d+)_.+(
\\
d+)"
,
"new_name"
:
"d(1)-(2)"
}
]
},
"sort"
:
{
"sort1"
:
[
{
"name"
:
"sst"
,
"context"
:
"board"
,
"type"
:
"solder_paste"
,
"polarity"
:
"positive"
},
{
"name"
:
"spt"
,
"context"
:
"board"
,
"type"
:
"solder_paste"
,
"polarity"
:
"positive"
},
{
"name"
:
"smt"
,
"context"
:
"board"
,
"type"
:
"solder_mask"
,
"polarity"
:
"positive"
},
{
"name"
:
"top"
,
"context"
:
"board"
,
"type"
:
"signal"
,
"polarity"
:
"positive"
},
{
"name"
:
"l(
\\
d+)"
,
"context"
:
"board"
,
"type"
:
"signal"
,
"polarity"
:
"positive"
},
{
"name"
:
"bottom"
,
"context"
:
"board"
,
"type"
:
"signal"
,
"polarity"
:
"positive"
},
{
"name"
:
"smb"
,
"context"
:
"board"
,
"type"
:
"solder_mask"
,
"polarity"
:
"positive"
},
{
"name"
:
"spb"
,
"context"
:
"board"
,
"type"
:
"solder_paste"
,
"polarity"
:
"positive"
},
{
"name"
:
"ssb"
,
"context"
:
"board"
,
"type"
:
"solder_paste"
,
"polarity"
:
"positive"
},
{
"name"
:
"d(
\\
d+)-
\\
d+"
,
"context"
:
"board"
,
"type"
:
"drill"
,
"polarity"
:
"positive"
},
{
"name"
:
"drill"
,
"context"
:
"board"
,
"type"
:
"drill"
,
"polarity"
:
"positive"
},
{
"name"
:
"rout"
,
"context"
:
"board"
,
"type"
:
"rout"
,
"polarity"
:
"positive"
}
]
},
"setDrill"
:
{
"info"
:
"yes"
},
"autoSave"
:
"yes"
}
},
"def"
:
{
...
...
数据标准化配置.json
0 → 100644
View file @
520f304d
{
"ats"
:
{
"rename"
:
{
"rule1"
:
[
{
"orig_name"
:
"isl(
\\
d+)"
,
"new_name"
:
"l(1)"
},
{
"orig_name"
:
"d_top_.+(
\\
d+)"
,
"new_name"
:
"d1-(1)"
},
{
"orig_name"
:
"d_.+(
\\
d+)_bottom"
,
"new_name"
:
"d(1)-(last)"
},
{
"orig_name"
:
"d_.+(
\\
d+)_.+(
\\
d+)"
,
"new_name"
:
"d(1)-(2)"
}
]
},
"sort"
:
{
"sort1"
:
[
{
"name"
:
"sst"
,
"context"
:
"board"
,
"type"
:
"solder_paste"
,
"polarity"
:
"positive"
},
{
"name"
:
"spt"
,
"context"
:
"board"
,
"type"
:
"solder_paste"
,
"polarity"
:
"positive"
},
{
"name"
:
"smt"
,
"context"
:
"board"
,
"type"
:
"solder_mask"
,
"polarity"
:
"positive"
},
{
"name"
:
"top"
,
"context"
:
"board"
,
"type"
:
"signal"
,
"polarity"
:
"positive"
},
{
"name"
:
"isl(
\\
d+)"
,
"context"
:
"board"
,
"type"
:
"signal"
,
"polarity"
:
"positive"
},
{
"name"
:
"bottom"
,
"context"
:
"board"
,
"type"
:
"signal"
,
"polarity"
:
"positive"
},
{
"name"
:
"smb"
,
"context"
:
"board"
,
"type"
:
"solder_mask"
,
"polarity"
:
"positive"
},
{
"name"
:
"spb"
,
"context"
:
"board"
,
"type"
:
"solder_paste"
,
"polarity"
:
"positive"
},
{
"name"
:
"ssb"
,
"context"
:
"board"
,
"type"
:
"solder_paste"
,
"polarity"
:
"positive"
},
{
"name"
:
"d(
\\
d+)-
\\
d+"
,
"context"
:
"board"
,
"type"
:
"drill"
,
"polarity"
:
"positive"
},
{
"name"
:
"drill"
,
"context"
:
"board"
,
"type"
:
"drill"
,
"polarity"
:
"positive"
},
{
"name"
:
"rout"
,
"context"
:
"board"
,
"type"
:
"rout"
,
"polarity"
:
"positive"
}
]
},
"setDrill"
:
{
"info"
:
"yes"
},
"autoSave"
:
"yes"
},
"tmp"
:
{
"margeDrl"
:
{
},
"rename"
:
{
},
"sort"
:
{
},
"autoSave"
:
"yes"
}
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment