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
a445aa63
Commit
a445aa63
authored
Apr 30, 2020
by
Scott Sun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
s
parent
23a1f4bb
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
137 additions
and
2629 deletions
+137
-2629
ATS_AIM_data_input.js
ats/input/ATS_AIM_data_input.js
+33
-18
config.js
config.js
+58
-460
config_ats.js
config_ats.js
+3
-14
JTG_ORG_set_origin_aim.js
jtg/input原稿/JTG_ORG_set_origin_aim.js
+1
-1
mytest.js
test/mytest.js
+7
-4
test.js
test/test.js
+9
-2
test2.js
test/test2.js
+26
-2130
No files found.
ats/input/ATS_AIM_data_input.js
View file @
a445aa63
...
@@ -127,7 +127,7 @@ try {
...
@@ -127,7 +127,7 @@ try {
var
step
=
custCfg
.
step
.
toLowerCase
()
var
step
=
custCfg
.
step
.
toLowerCase
()
// 获取路径下文件信息
// 获取路径下文件信息
var
path
=
par
.
path
var
path
=
par
.
path
console
.
log
(
"=============>path:"
+
path
)
console
.
log
(
"=========
====>path:"
+
path
)
if
(
!
fs
.
exists
(
path
)){
throw
"path error"
}
if
(
!
fs
.
exists
(
path
)){
throw
"path error"
}
var
pathInfo
=
fs
.
listDir
(
path
,
1
)
var
pathInfo
=
fs
.
listDir
(
path
,
1
)
// 判断存不存在料号文件
// 判断存不存在料号文件
...
@@ -148,27 +148,42 @@ try {
...
@@ -148,27 +148,42 @@ try {
var
err
=
importJob
({
name
:
job
,
db
:
custCfg
.
db
,
path
:
jobInfo
.
data
[
0
].
file
.
path
},
config
.
delSameJob
)
var
err
=
importJob
({
name
:
job
,
db
:
custCfg
.
db
,
path
:
jobInfo
.
data
[
0
].
file
.
path
},
config
.
delSameJob
)
if
(
err
){
throw
err
}
if
(
err
){
throw
err
}
}
else
{
// 多个tgz文件 说明需要合并
}
else
{
// 多个tgz文件 说明需要合并
var
mergeFiles
=
jobInfo
.
data
.
filter
(
function
(
item
){
var
jobs
=
jobInfo
.
data
.
map
(
function
(
item
,
i
){
var
err
=
importJob
({
name
:
item
.
file
.
baseName
,
db
:
custCfg
.
db
,
path
:
item
.
file
.
path
},
config
.
delSameJob
)
var
err
=
importJob
({
name
:
job
+
"_tmp_"
+
i
,
db
:
custCfg
.
db
,
path
:
item
.
file
.
path
},
config
.
delSameJob
)
if
(
err
){
throw
err
}
if
(
err
){
throw
err
}
return
/yes/ig
.
test
(
item
.
format
.
isMerge
)
return
job
+
"_tmp_"
+
i
})
})
var
arr_job
=
mergeFiles
[
0
]
var
job_type
=
{
var
arr_step
;
pcs
:
"pcs"
,
var
steplist
=
GEN
.
getStepList
({
job
:
arr_job
.
file
.
baseName
})
cad
:
"pcs"
,
if
(
steplist
.
indexOf
(
arr_job
.
format
.
arrStep
)
<
0
){
stp
:
"arr"
,
arr_step
=
steplist
[
0
]
arr
:
"arr"
,
}
else
{
arr_step
=
arr_job
.
format
.
arrStep
}
array
:
"arr"
GEN
.
openJob
({
job
:
job
});
}
GEN
.
openJob
({
job
:
arr_job
.
file
.
baseName
});
// 分析arr_job 和 pcs_job
jobs
=
jobs
.
map
(
function
(
jobname
){
GEN
.
openJob
({
job
:
jobname
});
var
step_tmp
=
GEN
.
getStepList
({
job
:
jobname
})[
0
]
var
type
=
job_type
[
step_tmp
]
return
{
jobname
:
jobname
,
stepname
:
step_tmp
,
type
:
type
}
})
var
pcs_job
=
jobs
.
filter
(
function
(
v
){
return
v
.
type
==
"pcs"
})
var
arr_job
=
jobs
.
filter
(
function
(
v
){
return
v
.
type
==
"arr"
})
GEN
.
copyStep
({
// 合并
GEN
.
copyStep
({
// 合并
source_job
:
arr_job
.
file
.
baseN
ame
,
source_job
:
arr_job
.
jobn
ame
,
source_name
:
arr_
step
,
source_name
:
arr_
job
.
stepname
,
dest_job
:
job
,
dest_job
:
pcs_job
.
jobname
,
dest_name
:
arr_
step
,
dest_name
:
arr_
job
.
stepname
,
});
});
GEN
.
closeJob
({
job
:
arr_job
.
file
.
baseName
});
GEN
.
deleteJob
({
job
:
arr_job
.
file
.
baseName
});
// 合并后 删除array的料号
GEN
.
closeJob
({
job
:
arr_job
.
jobname
});
GEN
.
deleteJob
({
job
:
arr_job
.
jobname
});
// 合并后 删除array的料号
// 修改pcs料号名称
GEN
.
COM
(
"rename_entity,job=,is_fw=no,type=job,fw_type=form,name="
+
pcs_job
.
jobname
+
",new_name="
+
job
)
}
}
importOk
=
true
importOk
=
true
}
}
...
...
config.js
View file @
a445aa63
var
config
=
{
(
function
(){
return
{
"formats"
:
{
"formats"
:
{
"ODB"
:
{},
"ODB"
:
{},
"ODB_1"
:
{
"ODB_1"
:
{
...
@@ -6,7 +6,7 @@ var config = {
...
@@ -6,7 +6,7 @@ var config = {
"arrStep"
:
"stp"
,
"arrStep"
:
"stp"
,
"isMerge"
:
"yes"
"isMerge"
:
"yes"
},
},
"Gerber274x_1"
:
{
// cust1
"Gerber274x_1"
:
{
"nf1"
:
3
,
"nf1"
:
3
,
"nf2"
:
4
,
"nf2"
:
4
,
"units"
:
"mm"
,
"units"
:
"mm"
,
...
@@ -26,7 +26,7 @@ var config = {
...
@@ -26,7 +26,7 @@ var config = {
"signed_coords"
:
"no"
,
"signed_coords"
:
"no"
,
"text_line_width"
:
0.0024
"text_line_width"
:
0.0024
},
},
"Gerber274x_2"
:
{
// cust2
"Gerber274x_2"
:
{
"nf1"
:
3
,
"nf1"
:
3
,
"nf2"
:
5
,
"nf2"
:
5
,
"units"
:
"inch"
,
"units"
:
"inch"
,
...
@@ -46,7 +46,7 @@ var config = {
...
@@ -46,7 +46,7 @@ var config = {
"signed_coords"
:
"no"
,
"signed_coords"
:
"no"
,
"text_line_width"
:
0.0024
"text_line_width"
:
0.0024
},
},
"Excellon1_1"
:{
// cust1
"Excellon1_1"
:{
"nf1"
:
3
,
"nf1"
:
3
,
"nf2"
:
0
,
"nf2"
:
0
,
"units"
:
"mm"
,
"units"
:
"mm"
,
...
@@ -66,7 +66,7 @@ var config = {
...
@@ -66,7 +66,7 @@ var config = {
"signed_coords"
:
"no"
,
"signed_coords"
:
"no"
,
"text_line_width"
:
0.0024
"text_line_width"
:
0.0024
},
},
"Excellon2_1"
:
{
// cust2
"Excellon2_1"
:
{
"nf1"
:
3
,
"nf1"
:
3
,
"nf2"
:
5
,
"nf2"
:
5
,
"units"
:
"mm"
,
"units"
:
"mm"
,
...
@@ -106,7 +106,7 @@ var config = {
...
@@ -106,7 +106,7 @@ var config = {
"signed_coords"
:
"no"
,
"signed_coords"
:
"no"
,
"text_line_width"
:
0.0024
"text_line_width"
:
0.0024
},
},
"Excellon2_3"
:
{
// cust2
"Excellon2_3"
:
{
"nf1"
:
2
,
"nf1"
:
2
,
"nf2"
:
5
,
"nf2"
:
5
,
"units"
:
"inch"
,
"units"
:
"inch"
,
...
@@ -126,7 +126,7 @@ var config = {
...
@@ -126,7 +126,7 @@ var config = {
"signed_coords"
:
"no"
,
"signed_coords"
:
"no"
,
"text_line_width"
:
0.0024
"text_line_width"
:
0.0024
},
},
"IPC356_1"
:
{
// cust2
"IPC356_1"
:
{
"nf1"
:
2
,
"nf1"
:
2
,
"nf2"
:
4
,
"nf2"
:
4
,
"units"
:
"inch"
,
"units"
:
"inch"
,
...
@@ -148,9 +148,7 @@ var config = {
...
@@ -148,9 +148,7 @@ var config = {
}
}
},
},
"customer"
:
{
"customer"
:
{
"Customer_1"
:
{
"2171"
:
{
"path"
:
"C:/Users/Administrator/Desktop/Customer_1"
,
"db"
:
"genesis"
,
"step"
:
"cad"
,
"step"
:
"cad"
,
"rules"
:
[
"rules"
:
[
{
{
...
@@ -166,75 +164,11 @@ var config = {
...
@@ -166,75 +164,11 @@ var config = {
{
{
"valid"
:
function
(
props
){
"valid"
:
function
(
props
){
var
file
=
props
.
file
;
var
file
=
props
.
file
;
var
job
=
props
.
job
;
return
/.+
\.
tgz$/ig
.
test
(
file
.
name
)
&&
!
(
/-a/ig
.
test
(
file
.
baseName
))
return
/.+
\.
tgz$/ig
.
test
(
file
.
name
)
&&
job
==
file
.
baseName
},
},
"type"
:
"ODB"
,
"type"
:
"ODB"
,
"format"
:
"ODB"
"format"
:
"ODB"
},
},
{
"valid"
:
function
(
props
){
var
file
=
props
.
file
;
return
/.+
\.
drd$/ig
.
test
(
file
.
name
)
},
"type"
:
"Excellon1"
,
"format"
:
"Excellon1_1"
},
{
"valid"
:
function
(
props
){
var
file
=
props
.
file
;
return
/.+
\.
phd$/ig
.
test
(
file
.
name
)
},
"type"
:
"Gerber274x"
,
"format"
:
"Gerber274x_1"
}
],
"tl_name"
:
[
{
"orig_name"
:
"^spt$"
,
"tl_name"
:
"spt"
},
{
"orig_name"
:
"^smt$"
,
"tl_name"
:
"smt"
},
{
"orig_name"
:
"^smb$"
,
"tl_name"
:
"smb"
},
{
"orig_name"
:
"^spb$"
,
"tl_name"
:
"spb"
},
{
"orig_name"
:
"^ssb$"
,
"tl_name"
:
"ssb"
},
{
"orig_name"
:
"^sst$"
,
"tl_name"
:
"sst"
},
{
"orig_name"
:
"^top$"
,
"tl_name"
:
"top"
},
{
"orig_name"
:
"^drill$"
,
"tl_name"
:
"drill"
},
{
"orig_name"
:
"^rout$"
,
"tl_name"
:
"rout"
},
{
"orig_name"
:
"^bottom$"
,
"tl_name"
:
"bottom"
},
{
"orig_name"
:
[
"^isl(
\\
d+)$"
,
"^layer_(
\\
d+)$"
],
"tl_name"
:
"l_($1)"
},
{
"orig_name"
:
[
"_isl(
\\
d+)_isl(
\\
d+)"
,
"d(
\\
d+)-(
\\
d+)"
],
"tl_name"
:
"d_($1)-($2)"
},
{
"orig_name"
:
[
"_top_isl(
\\
d+)"
],
"tl_name"
:
"d_1-($1)"
},
{
"orig_name"
:
[
"_isl(
\\
d+)_bottom"
],
"tl_name"
:
"d_($1)-($1+1)"
}
]
},
"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
){
"valid"
:
function
(
props
){
var
file
=
props
.
file
;
var
file
=
props
.
file
;
...
@@ -324,349 +258,6 @@ var config = {
...
@@ -324,349 +258,6 @@ var config = {
}
}
}
}
}
}
}
],
"tl_name"
:
[
{
"orig_name"
:
[
"assytop.art"
,
"past_top"
],
"tl_name"
:
"past_top"
},
{
"orig_name"
:
[
"assybot.art"
,
"past_botm"
],
"tl_name"
:
"past_botm"
},
{
"orig_name"
:
[
"pleg.art"
,
"silk_top"
],
"tl_name"
:
"silk_top"
},
{
"orig_name"
:
[
"sleg.art"
,
"silk_bot"
],
"tl_name"
:
"silk_bot"
},
{
"orig_name"
:
[
"ssm.art"
,
"sm_top"
],
"tl_name"
:
"sm_top"
},
{
"orig_name"
:
[
"psm.art"
,
"sm_bot"
],
"tl_name"
:
"sm_botm"
},
{
"orig_name"
:
[
"^top$"
,
"^top.art$"
],
"tl_name"
:
"top"
},
{
"orig_name"
:
[
"^0(
\\
d+).*ccp_ms"
,
"^s(
\\
d+)
\
.art"
,
"lay(
\\
d+)
\\
.art"
,
"layer_(
\\
d+)"
],
"tl_name"
:
"l_($1)"
},
{
"orig_name"
:
[
"^bottom$"
,
"^bottom.art$"
],
"tl_name"
:
"bottom"
},
{
"orig_name"
:
[
"-(
\\
d+)-(
\\
d+)
\
.drl$"
,
"(
\\
d+)-(
\\
d+)-laser
\
.drl$"
,
"d(
\\
d+)-(
\\
d+)"
],
"tl_name"
:
"d_($1)-($2)"
},
{
"orig_name"
:
[
"
\\
.rou$"
,
"rout"
],
"tl_name"
:
"rout"
},
{
"orig_name"
:
"fab.art"
,
"tl_name"
:
"fab.art"
},
{
"orig_name"
:
[
"multipack.art"
,
"^array$"
],
"tl_name"
:
"array"
},
{
"orig_name"
:
[
"outline.art"
,
"^outline$"
],
"tl_name"
:
"outline"
},
{
"orig_name"
:
"top-enig"
,
"tl_name"
:
"top-enig"
},
{
"orig_name"
:
"bot-enig"
,
"tl_name"
:
"bot-enig"
},
{
"orig_name"
:
"fab_page2"
,
"tl_name"
:
"fab_page2"
},
]
},
"New_data"
:
{
"path"
:
"C:/Users/Administrator/Desktop/New data"
,
"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
/.+
\.
art$/ig
.
test
(
file
.
name
)
},
"type"
:
"Gerber274x"
,
"format"
:
"Gerber274x_2"
,
"format_params"
:
function
(
props
){
var
params
=
props
.
params
if
(
params
.
art_param
){
var
leading
=
params
.
art_param
[
"SUPPRESS_LEAD_ZEROES"
]
var
trailing
=
params
.
art_param
[
"SUPPRESS_TRAIL_ZEROES"
]
var
zeroes
=
"none"
if
(
/yes/ig
.
test
(
leading
)){
zeroes
=
"leading"
}
if
(
/yes/ig
.
test
(
trailing
)){
zeroes
=
"trailing"
}
var
nf1
,
nf2
if
(
params
.
art_param
.
hasOwnProperty
(
"FORMAT"
)){
var
tmp
=
params
.
art_param
[
"FORMAT"
].
split
(
"."
)
if
(
/
\d
+/ig
.
test
(
tmp
[
0
])){
nf1
=
Number
(
tmp
[
0
])}
if
(
/
\d
+/ig
.
test
(
tmp
[
1
])){
nf2
=
Number
(
tmp
[
1
])}
}
return
{
"nf1"
:
nf1
||
3
,
"nf2"
:
nf2
||
5
,
"units"
:
/
METRIC
|
MM
/
ig
.
test
(
params
.
art_param
[
"OUTPUT_UNITS"
])?
"mm"
:
"inch"
,
"zeroes"
:
zeroes
,
"decimal"
:
"no"
,
"nf_comp"
:
0
,
"break_sr"
:
"yes"
,
"data_type"
:
"ascii"
,
"separator"
:
"*"
,
"threshold"
:
200
,
"drill_only"
:
"no"
,
"multiplier"
:
1
,
"resolution"
:
3
,
"tool_units"
:
/
METRIC
|
MM
/
ig
.
test
(
params
.
art_param
[
"OUTPUT_UNITS"
])?
"mm"
:
"inch"
,
"coordinates"
:
"absolute"
,
"merge_by_rule"
:
"no"
,
"signed_coords"
:
"no"
,
"text_line_width"
:
0.0024
}
}
}
},
{
"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
|
MM
/
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
|
MM
/
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"
,
"^top$"
],
"tl_name"
:
"top"
},
{
"orig_name"
:
[
"art(
\\
d+)
\\
.art"
,
"layer_(
\\
d+)"
],
"tl_name"
:
"l_($1)"
},
{
"orig_name"
:
[
"bottom.art"
,
"^bottom$"
],
"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+)$"
,
"d(
\\
d+)-(
\\
d+)"
],
"tl_name"
:
"d_($1)-($2)"
}
]
}
},
"data_format"
:
[
{
"tl_name"
:
"past_top"
,
"new_name"
:
"past_top"
,
"attr"
:{
"context"
:
"board"
,
"type"
:
"solder_paste"
}},
{
"tl_name"
:
"silk_top"
,
"new_name"
:
"silk_top"
,
"attr"
:{
"context"
:
"board"
,
"type"
:
"solder_paste"
}},
{
"tl_name"
:
"sm_top"
,
"new_name"
:
"sm_top"
,
"attr"
:{
"context"
:
"board"
,
"type"
:
"solder_mask"
}},
{
"tl_name"
:
"^top$"
,
"new_name"
:
"top"
,
"attr"
:{
"context"
:
"board"
,
"type"
:
"signal"
}},
{
"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"
:
"sm_botm"
,
"new_name"
:
"sm_botm"
,
"attr"
:{
"context"
:
"board"
,
"type"
:
"solder_mask"
}},
{
"tl_name"
:
"silk_bot"
,
"new_name"
:
"silk_bot"
,
"attr"
:{
"context"
:
"board"
,
"type"
:
"solder_paste"
}},
{
"tl_name"
:
"past_botm"
,
"new_name"
:
"past_botm"
,
"attr"
:{
"context"
:
"board"
,
"type"
:
"solder_paste"
}},
{
"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"
}},
{
"tl_name"
:
"array"
,
"new_name"
:
"array"
,
"attr"
:{
"context"
:
"misc"
}},
{
"tl_name"
:
"outline"
,
"new_name"
:
"outline"
,
"attr"
:{
"context"
:
"misc"
}},
{
"tl_name"
:
"fab.art"
,
"new_name"
:
"fab.art"
,
"attr"
:{
"context"
:
"misc"
}}
],
"delSameJob"
:
"yes"
}
module
.
exports
=
config
/*
(function(){return {
"formats": {
"ODB": {},
"ODB_1": {
"comments": "",
"arrStep": "stp",
"isMerge": "yes"
},
"Gerber274x_1": { // cust1
"nf1": 3,
"nf2": 4,
"units": "mm",
"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": { // cust2
"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
},
"Excellon1_1":{ // cust1
"nf1": 3,
"nf2": 0,
"units": "mm",
"zeroes": "leading",
"decimal": "yes",
"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_1": { // cust2
"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": { // cust2
"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": { // cust2
"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_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;
var job = props.job;
return /.+\.tgz$/ig.test(file.name) && job == file.baseName
},
"type": "ODB",
"format": "ODB"
},
},
{
{
"valid"
:
function
(
props
){
"valid"
:
function
(
props
){
...
@@ -686,15 +277,16 @@ module.exports = config
...
@@ -686,15 +277,16 @@ module.exports = config
}
}
],
],
"tl_name"
:
[
"tl_name"
:
[
{"orig_name" :
"^spt$", "tl_name" : "spt
" },
{
"orig_name"
:
[
"^sst$"
,
"^past_top$"
],
"tl_name"
:
"past_top
"
},
{"orig_name" :
"^smt$", "tl_name" : "smt
" },
{
"orig_name"
:
[
"^ssb$"
,
"^past_botm$"
],
"tl_name"
:
"past_botm
"
},
{"orig_name" :
"^smb$", "tl_name" : "smb
" },
{
"orig_name"
:
[
"^spt$"
,
"^silk_top$"
],
"tl_name"
:
"silk_top
"
},
{"orig_name" :
"^spb$", "tl_name" : "spb
" },
{
"orig_name"
:
[
"^spb$"
,
"^silk_bot$"
],
"tl_name"
:
"silk_bot
"
},
{"orig_name" :
"^ssb$", "tl_name" : "ssb
" },
{
"orig_name"
:
[
"^smt$"
,
"^sm_top$"
],
"tl_name"
:
"sm_top
"
},
{"orig_name" :
"^sst$", "tl_name" : "sst
" },
{
"orig_name"
:
[
"^smb$"
,
"^sm_botm$"
],
"tl_name"
:
"sm_botm
"
},
{
"orig_name"
:
"^top$"
,
"tl_name"
:
"top"
},
{
"orig_name"
:
"^top$"
,
"tl_name"
:
"top"
},
{
"orig_name"
:
"^drill$"
,
"tl_name"
:
"drill"
},
{
"orig_name"
:
"^drill$"
,
"tl_name"
:
"drill"
},
{"orig_name" : "^rout$", "tl_name" : "rout" },
{
"orig_name"
:
[
"outline.art"
,
"^outline$"
],
"tl_name"
:
"outline"
},
{
"orig_name"
:
[
"^rout$"
,
"
\\
.rou$"
],
"tl_name"
:
"rout"
},
{
"orig_name"
:
"^bottom$"
,
"tl_name"
:
"bottom"
},
{
"orig_name"
:
"^bottom$"
,
"tl_name"
:
"bottom"
},
{
"orig_name"
:
[
"^isl(
\\
d+)$"
,
"^layer_(
\\
d+)$"
],
"tl_name"
:
"l_($1)"
},
{
"orig_name"
:
[
"^isl(
\\
d+)$"
,
"^layer_(
\\
d+)$"
],
"tl_name"
:
"l_($1)"
},
{
"orig_name"
:
[
"_isl(
\\
d+)_isl(
\\
d+)"
,
"d(
\\
d+)-(
\\
d+)"
],
"tl_name"
:
"d_($1)-($2)"
},
{
"orig_name"
:
[
"_isl(
\\
d+)_isl(
\\
d+)"
,
"d(
\\
d+)-(
\\
d+)"
],
"tl_name"
:
"d_($1)-($2)"
},
...
@@ -702,9 +294,7 @@ module.exports = config
...
@@ -702,9 +294,7 @@ module.exports = config
{
"orig_name"
:
[
"_isl(
\\
d+)_bottom"
],
"tl_name"
:
"d_($1)-($1+1)"
}
{
"orig_name"
:
[
"_isl(
\\
d+)_bottom"
],
"tl_name"
:
"d_($1)-($1+1)"
}
]
]
},
},
"Customer_2": {
"Yucca"
:
{
"path": "C:/Users/Administrator/Desktop/Customer_2",
"db": "genesis",
"step"
:
"cad"
,
"step"
:
"cad"
,
"rules"
:
[
"rules"
:
[
{
{
...
@@ -823,27 +413,26 @@ module.exports = config
...
@@ -823,27 +413,26 @@ module.exports = config
}
}
],
],
"tl_name"
:
[
"tl_name"
:
[
{"orig_name" : "pasttop.art", "tl_name" : "past_top" },
{
"orig_name"
:
[
"assytop.art"
,
"past_top"
],
"tl_name"
:
"past_top"
},
{"orig_name" : "pleg.art", "tl_name" : "silk_top" },
{
"orig_name"
:
[
"assybot.art"
,
"past_botm"
],
"tl_name"
:
"past_botm"
},
{"orig_name" : "soldtop.art", "tl_name" : "sm_top" },
{
"orig_name"
:
[
"pleg.art"
,
"silk_top"
],
"tl_name"
:
"silk_top"
},
{"orig_name" : ["top.art","^top$"], "tl_name" : "top" },
{
"orig_name"
:
[
"sleg.art"
,
"silk_bot"
],
"tl_name"
:
"silk_bot"
},
{"orig_name" : ["lay(\\d+)\\.art","layer_(\\d+)"], "tl_name" : "l_($1)"},
{
"orig_name"
:
[
"ssm.art"
,
"sm_top"
],
"tl_name"
:
"sm_top"
},
{"orig_name" : ["bottom.art","^bottom$"], "tl_name" : "bottom" },
{
"orig_name"
:
[
"psm.art"
,
"sm_bot"
],
"tl_name"
:
"sm_botm"
},
{"orig_name" : "soldbotm.art", "tl_name" : "sm_botm" },
{
"orig_name"
:
[
"^top$"
,
"^top.art$"
],
"tl_name"
:
"top"
},
{"orig_name" : "sleg.art", "tl_name" : "silk_bot" },
{
"orig_name"
:
[
"^0(
\\
d+).*ccp_ms"
,
"^s(
\\
d+)
\
.art"
,
"lay(
\\
d+)
\\
.art"
,
"layer_(
\\
d+)"
],
"tl_name"
:
"l_($1)"
},
{"orig_name" : "pastbotm.art", "tl_name" : "past_botm" },
{
"orig_name"
:
[
"^bottom$"
,
"^bottom.art$"
],
"tl_name"
:
"bottom"
},
{"orig_name" : "multipack.art", "tl_name" : "array" },
{
"orig_name"
:
[
"-(
\\
d+)-(
\\
d+)
\
.drl$"
,
"(
\\
d+)-(
\\
d+)-laser
\
.drl$"
,
"d(
\\
d+)-(
\\
d+)"
],
"tl_name"
:
"d_($1)-($2)"
},
{"orig_name" : "outline.art", "tl_name" : "outline" },
{
"orig_name"
:
[
"
\\
.rou$"
,
"^rout$"
],
"tl_name"
:
"rout"
},
{"orig_name" : "fab.art", "tl_name" : "fab" },
{
"orig_name"
:
"fab.art"
,
"tl_name"
:
"fab.art"
},
{
"orig_name"
:
[
"multipack.art"
,
"^array$"
],
"tl_name"
:
"array"
},
{
"orig_name"
:
[
"^outline"
],
"tl_name"
:
"outline"
},
{
"orig_name"
:
"top-enig"
,
"tl_name"
:
"top-enig"
},
{
"orig_name"
:
"top-enig"
,
"tl_name"
:
"top-enig"
},
{
"orig_name"
:
"bot-enig"
,
"tl_name"
:
"bot-enig"
},
{
"orig_name"
:
"bot-enig"
,
"tl_name"
:
"bot-enig"
},
{
"orig_name"
:
"fab_page2"
,
"tl_name"
:
"fab_page2"
},
{
"orig_name"
:
"fab_page2"
,
"tl_name"
:
"fab_page2"
},
{"orig_name" : ["-(\\d+)-(\\d+)\.drl","(\\d+)-(\\d+)-laser\.drl","d(\\d+)-(\\d+)"], "tl_name" : "d_($1)-($2)"}
]
]
},
},
"New_data"
:
{
"New_data"
:
{
"path": "C:/Users/Administrator/Desktop/New data",
"db": "genesis",
"step"
:
"cad"
,
"step"
:
"cad"
,
"rules"
:
[
"rules"
:
[
{
{
...
@@ -946,34 +535,43 @@ module.exports = config
...
@@ -946,34 +535,43 @@ module.exports = config
}
}
],
],
"tl_name"
:
[
"tl_name"
:
[
{"orig_name" : "pasttop.art", "tl_name" : "past_top" },
{
"orig_name"
:
[
"pasttop.art"
,
"^past_top$"
,
"top_solderpaste"
],
"tl_name"
:
"past_top"
},
{"orig_name" : "pleg.art", "tl_name" : "silk_top" },
{
"orig_name"
:
[
"^silk_top
\\
.art$"
,
"pleg.art"
,
"^silk_top$"
,
"top_silkscreen"
],
"tl_name"
:
"silk_top"
},
{"orig_name" : "soldtop.art", "tl_name" : "sm_top" },
{
"orig_name"
:
[
"_r1
\\
.phd$"
,
"_r1
\\
.fph$"
,
"^smt
\\
.art$"
,
"soldtop.art"
,
"^sm_top$"
,
"top_soldermask"
],
"tl_name"
:
"sm_top"
},
{"orig_name" : ["top.art","^top$"], "tl_name" : "top" },
{
"orig_name"
:
[
"^top.art$"
,
"^top$"
],
"tl_name"
:
"top"
},
{"orig_name" : ["art(\\d+)\\.art","layer_(\\d+)"], "tl_name" : "l_($1)"},
{
"orig_name"
:
[
"_l(
\\
d+)
\\
.phd$"
,
"_l(
\\
d+)
\\
.fph$"
,
"^in_(
\\
d+)
\\
.art$"
,
"^l(
\\
d+)
\\
.art$"
,
"inner_(
\\
d+)
\\
.art"
,
"layer_(
\\
d+)"
],
"tl_name"
:
"l_($1)"
},
{"orig_name" : ["bottom.art","^bottom$"], "tl_name" : "bottom" },
{
"orig_name"
:
[
"^bot.art$"
,
"^bottom.art"
,
"^bottom$"
],
"tl_name"
:
"bottom"
},
{"orig_name" : "soldbotm.art", "tl_name" : "sm_botm" },
{
"orig_name"
:
[
"_r
\\
d
\\
.phd$"
,
"_r
\\
d
\\
.fph$"
,
"^smb
\\
.art$"
,
"soldbotm.art"
,
"^sm_botm$"
,
"bot_soldermask"
],
"tl_name"
:
"sm_botm"
},
{"orig_name" : "sleg.art", "tl_name" : "silk_bot" },
{
"orig_name"
:
[
"^silk_bottom
\\
.art$"
,
"sleg.art"
,
"^silk_bot$"
,
"bot_silkscreen"
],
"tl_name"
:
"silk_bot"
},
{"orig_name" : "pastbotm.art", "tl_name" : "past_botm" },
{
"orig_name"
:
[
"pastbotm.art"
,
"^past_botm$"
,
"bot_solderpaste"
],
"tl_name"
:
"past_botm"
},
{
"orig_name"
:
[
"^nc_drill$"
,
"^drill$"
],
"tl_name"
:
"drill"
},
{
"orig_name"
:
"multipack.art"
,
"tl_name"
:
"array"
},
{
"orig_name"
:
"multipack.art"
,
"tl_name"
:
"array"
},
{"orig_name" : "outline.art", "tl_name" : "outline" },
{
"orig_name"
:
[
"
\\
.rou$"
,
"^rout$"
],
"tl_name"
:
"rout"
},
{"orig_name" : "fab.art", "tl_name" : "fab" },
{
"orig_name"
:
[
"outline.art"
,
"^outline$"
],
"tl_name"
:
"outline"
},
{
"orig_name"
:
[
"fab.art"
,
"fab"
],
"tl_name"
:
"fab"
},
{
"orig_name"
:
"top-enig"
,
"tl_name"
:
"top-enig"
},
{
"orig_name"
:
"top-enig"
,
"tl_name"
:
"top-enig"
},
{
"orig_name"
:
"bot-enig"
,
"tl_name"
:
"bot-enig"
},
{
"orig_name"
:
"bot-enig"
,
"tl_name"
:
"bot-enig"
},
{
"orig_name"
:
"fab_page2"
,
"tl_name"
:
"fab_page2"
},
{
"orig_name"
:
"fab_page2"
,
"tl_name"
:
"fab_page2"
},
{"orig_name" : ["
(\\d+)-(\\d+)$
","d(\\d+)-(\\d+)"], "tl_name" : "d_($1)-($2)"}
{
"orig_name"
:
[
"
_d(
\\
d)(
\\
d+)
\\
.drd"
,
"_d(
\\
d)(
\\
d+)
\\
.fdr"
,
"^d(
\\
d)(
\\
d+)
\\
.art$"
,
"(
\\
d+)-(
\\
d+)-laser
\\
.drl
"
,
"d(
\\
d+)-(
\\
d+)"
],
"tl_name"
:
"d_($1)-($2)"
}
]
]
}
}
},
},
"data_format"
:
[
"data_format"
:
[
{"tl_name":"^top$" , "new_name":"top" , "attr":{ "context":"board", "type":"signal" }}, // new_name 里支持特殊变量
{
"tl_name"
:
"past_top"
,
"new_name"
:
"past_top"
,
"attr"
:{
"context"
:
"board"
,
"type"
:
"solder_paste"
}},
{
"tl_name"
:
"silk_top"
,
"new_name"
:
"silk_top"
,
"attr"
:{
"context"
:
"board"
,
"type"
:
"solder_paste"
}},
{
"tl_name"
:
"sm_top"
,
"new_name"
:
"sm_top"
,
"attr"
:{
"context"
:
"board"
,
"type"
:
"solder_mask"
}},
{
"tl_name"
:
"^top$"
,
"new_name"
:
"top"
,
"attr"
:{
"context"
:
"board"
,
"type"
:
"signal"
}},
{
"tl_name"
:
"l_(
\\
d+)"
,
"new_name"
:
"layer_($1)"
,
"attr"
:{
"context"
:
"board"
,
"type"
:
"signal"
}},
{
"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"
:
"^bottom$"
,
"new_name"
:
"bottom"
,
"attr"
:{
"context"
:
"board"
,
"type"
:
"signal"
}},
{
"tl_name"
:
"sm_botm"
,
"new_name"
:
"sm_botm"
,
"attr"
:{
"context"
:
"board"
,
"type"
:
"solder_mask"
}},
{
"tl_name"
:
"silk_bot"
,
"new_name"
:
"silk_bot"
,
"attr"
:{
"context"
:
"board"
,
"type"
:
"solder_paste"
}},
{
"tl_name"
:
"past_botm"
,
"new_name"
:
"past_botm"
,
"attr"
:{
"context"
:
"board"
,
"type"
:
"solder_paste"
}},
{
"tl_name"
:
"d_(
\\
d+)-(
\\
d+)"
,
"new_name"
:
"d($1)-($2)"
,
"attr"
:{
"context"
:
"board"
,
"type"
:
"drill"
}},
{
"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"
:
"drill"
,
"new_name"
:
"drill"
,
"attr"
:{
"context"
:
"board"
,
"type"
:
"drill"
}},
{"tl_name":"rout","new_name":"rout" ,"attr":{"context":"board","type":"rout"}}
{
"tl_name"
:
"rout"
,
"new_name"
:
"rout"
,
"attr"
:{
"context"
:
"board"
,
"type"
:
"rout"
}},
{
"tl_name"
:
"outline"
,
"new_name"
:
"outline"
,
"attr"
:{
"context"
:
"board"
,
"type"
:
"rout"
}},
{
"tl_name"
:
"array"
,
"new_name"
:
"array"
,
"attr"
:{
"context"
:
"misc"
}},
{
"tl_name"
:
"fab.art"
,
"new_name"
:
"fab.art"
,
"attr"
:{
"context"
:
"misc"
}}
],
],
"delSameJob"
:
"yes"
"delSameJob"
:
"yes"
}})()
}})()
\ No newline at end of file
*/
\ No newline at end of file
config_ats.js
View file @
a445aa63
...
@@ -154,18 +154,7 @@
...
@@ -154,18 +154,7 @@
{
{
"valid"
:
function
(
props
){
"valid"
:
function
(
props
){
var
file
=
props
.
file
;
var
file
=
props
.
file
;
var
job
=
props
.
job
;
return
/.+
\.
tgz$/ig
.
test
(
file
.
name
)
&&
!
(
/-a/ig
.
test
(
file
.
baseName
))
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
;
var
job
=
props
.
job
;
return
/.+
\.
tgz$/ig
.
test
(
file
.
name
)
&&
job
==
file
.
baseName
},
},
"type"
:
"ODB"
,
"type"
:
"ODB"
,
"format"
:
"ODB"
"format"
:
"ODB"
...
@@ -559,13 +548,13 @@
...
@@ -559,13 +548,13 @@
},
},
"data_format"
:
[
"data_format"
:
[
{
"tl_name"
:
"past_top"
,
"new_name"
:
"past_top"
,
"attr"
:{
"context"
:
"board"
,
"type"
:
"solder_paste"
}},
{
"tl_name"
:
"past_top"
,
"new_name"
:
"past_top"
,
"attr"
:{
"context"
:
"board"
,
"type"
:
"solder_paste"
}},
{
"tl_name"
:
"silk_top"
,
"new_name"
:
"silk_top"
,
"attr"
:{
"context"
:
"board"
,
"type"
:
"s
older_paste
"
}},
{
"tl_name"
:
"silk_top"
,
"new_name"
:
"silk_top"
,
"attr"
:{
"context"
:
"board"
,
"type"
:
"s
ilk_screen
"
}},
{
"tl_name"
:
"sm_top"
,
"new_name"
:
"sm_top"
,
"attr"
:{
"context"
:
"board"
,
"type"
:
"solder_mask"
}},
{
"tl_name"
:
"sm_top"
,
"new_name"
:
"sm_top"
,
"attr"
:{
"context"
:
"board"
,
"type"
:
"solder_mask"
}},
{
"tl_name"
:
"^top$"
,
"new_name"
:
"top"
,
"attr"
:{
"context"
:
"board"
,
"type"
:
"signal"
}},
{
"tl_name"
:
"^top$"
,
"new_name"
:
"top"
,
"attr"
:{
"context"
:
"board"
,
"type"
:
"signal"
}},
{
"tl_name"
:
"l_(
\\
d+)"
,
"new_name"
:
"layer_($1)"
,
"attr"
:{
"context"
:
"board"
,
"type"
:
"signal"
}},
{
"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"
:
"^bottom$"
,
"new_name"
:
"bottom"
,
"attr"
:{
"context"
:
"board"
,
"type"
:
"signal"
}},
{
"tl_name"
:
"sm_botm"
,
"new_name"
:
"sm_botm"
,
"attr"
:{
"context"
:
"board"
,
"type"
:
"solder_mask"
}},
{
"tl_name"
:
"sm_botm"
,
"new_name"
:
"sm_botm"
,
"attr"
:{
"context"
:
"board"
,
"type"
:
"solder_mask"
}},
{
"tl_name"
:
"silk_bot"
,
"new_name"
:
"silk_bot"
,
"attr"
:{
"context"
:
"board"
,
"type"
:
"s
older_paste
"
}},
{
"tl_name"
:
"silk_bot"
,
"new_name"
:
"silk_bot"
,
"attr"
:{
"context"
:
"board"
,
"type"
:
"s
ilk_screen
"
}},
{
"tl_name"
:
"past_botm"
,
"new_name"
:
"past_botm"
,
"attr"
:{
"context"
:
"board"
,
"type"
:
"solder_paste"
}},
{
"tl_name"
:
"past_botm"
,
"new_name"
:
"past_botm"
,
"attr"
:{
"context"
:
"board"
,
"type"
:
"solder_paste"
}},
{
"tl_name"
:
"d_(
\\
d+)-(
\\
d+)"
,
"new_name"
:
"d($1)-($2)"
,
"attr"
:{
"context"
:
"board"
,
"type"
:
"drill"
}},
{
"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"
:
"drill"
,
"new_name"
:
"drill"
,
"attr"
:{
"context"
:
"board"
,
"type"
:
"drill"
}},
...
...
jtg/input原稿/JTG_ORG_set_origin_aim.js
View file @
a445aa63
...
@@ -42,7 +42,7 @@ PARAMETER:
...
@@ -42,7 +42,7 @@ PARAMETER:
*/
*/
//////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////
console
.
log
(
"===================
====
=======>set origin"
);
console
.
log
(
"===================
=======>set origin"
);
// 引入模块 包
// 引入模块 包
var
$
=
require
(
'topcam.scriptfunc'
).
argv
();
var
$
=
require
(
'topcam.scriptfunc'
).
argv
();
var
fs
=
require
(
'fs'
);
var
fs
=
require
(
'fs'
);
...
...
test/mytest.js
View file @
a445aa63
...
@@ -10,10 +10,13 @@ var Job = $.job;
...
@@ -10,10 +10,13 @@ var Job = $.job;
var
JobId
=
$
.
job_id
;
var
JobId
=
$
.
job_id
;
try
{
try
{
var
job
=
"1"
var
job
=
"sj"
var
step
=
"cad"
var
step
=
"orig"
var
matrix
=
GEN
.
getMatrix
({
job
:
job
})
var
tmp2
=
"tmp2"
IKM
.
msg
(
matrix
)
var
layer
=
"l3"
GEN
.
copyLayer
({
source_job
:
job
,
source_step
:
step
,
source_layer
:
"gko"
,
dest_layer
:
"gko_tmp"
})
return
"Done"
return
"Done"
}
catch
(
e
)
{
}
catch
(
e
)
{
IKM
.
msg
(
e
)
IKM
.
msg
(
e
)
...
...
test/test.js
View file @
a445aa63
var
tmp
=
"12.5466"
console
.
log
(
tmp
.
toFixed
(
2
));
var
t
=
"orig"
var
step_reg
=
new
RegExp
(
t
)
var
list
=
[
"orig"
,
"net"
]
list
=
list
.
filter
(
function
(
v
){
return
step_reg
.
test
(
v
)})
console
.
log
(
list
);
test/test2.js
View file @
a445aa63
[{
[
"GEN_TYPE"
,
"ERROR_HANDLE"
,
"GENESIS_DIR"
,
"GENESIS_VER"
,
"GENESIS_EDIR"
,
"GENESIS_TMP"
,
CHILDREN
:
"COMMS"
,
"DIR_PREFIX"
,
"STATUS"
,
"INFO_RESULT"
,
"sendCommand"
,
"blankStatusResults"
,
"sendCommandToPipe"
,
[
"COM"
,
"getReply"
,
"VON"
,
"VOF"
,
"SU_ON"
,
"SU_OFF"
,
"PAUSE"
,
"MOUSE"
,
"AUX"
,
"DO_INFO"
,
"INFO"
,
"parse"
,
{
"clearInfoResult"
,
"dbutil"
,
"hooksSkip"
,
"getJobPath"
,
"shellwords"
,
"hasError"
,
"currentJob"
,
"currentStep"
,
CHILDREN
:
"getWorkLayer"
,
"getAffectLayer"
,
"getDispLayers"
,
"getJobList"
,
"getUserName"
,
"getJobDbName"
,
"isJobExists"
,
[
"isJobOpen"
,
"createJob"
,
"openJob"
,
"closeJob"
,
"deleteJob"
,
"deleteStep"
,
"importJob"
,
"listOpenJobs"
,
"isStepExists"
,
{
"createStep"
,
"setGroup"
,
"openStep"
,
"closeStep"
,
"getStepList"
,
"getMatrix"
,
"matrixAddLayer"
,
"matrixMoveRow"
,
"matrixAddStep"
,
default_value_mode
:
'customize'
,
"matrixDeleteStep"
,
"matrixCopyStep"
,
"matrixCopyLayer"
,
"openMatrix"
,
"matrixRefresh"
,
"matrixLayerAttr"
,
"matrixLayerDrill"
,
display_style
:
{
"validateSignal"
:
"anyDataChanged()"
,
"getLayerCount"
,
"getTool"
,
"toolSet"
,
"outputPostScript"
,
"outputRs274x"
,
"outputDxf"
,
"isLayerExists"
,
"createLayer"
,
"initCallback"
:
function
(
obj
,
self
)
{
"deleteLayer"
,
"getLayerLimits"
,
"getSymbolLimits"
,
"getProfileLimits"
,
"affectedLayer"
,
"getSelectCount"
,
"selCopyOther"
,
obj
.
setShowGrid
(
true
);
"selMoveOther"
,
"clearLayers"
,
"workLayer"
,
"zoomArea"
,
"units"
,
"selectByFilter"
,
"highlightByFilter"
,
"selRefFeat"
,
"filterSet"
,
obj
.
setDataKeyList
([
"item"
,
"min_line_width"
,
"min_line_spacing"
,
"min_line2pad"
,
"min_pad2pad"
]);
"checkInout"
,
"saveJob"
,
"copyJob"
,
"copyLayer"
,
"getChecklist"
,
"chklistFromLib"
,
"createChklist"
,
"isChklistExists"
,
"chklistShow"
,
obj
.
setHeaderItem
([
"chklistRun"
,
"getCheckMeas"
,
"runSingleDfm"
,
"copperArea"
,
"exposedArea"
,
"selContourize"
,
"zoomHome"
,
"panelSize"
,
"srFill"
,
{},
"addPad"
,
"addLine"
,
"addArc"
,
"transCoordinate"
,
"addText"
,
"getTextRect"
,
"addRectangle"
,
"addPolygon"
,
"selFill"
,
"selReverse"
,
{
"selDelete"
,
"panelSR"
,
"flattenLayer"
,
"getSymbolFeatures"
,
"getFeatures"
,
"copyStep"
,
"selChangeSym"
,
"selBoardNetFeat"
,
"displayLayer"
,
name
:
'item'
,
"getNcsetsList"
,
"getNcsetReg"
,
"selCreateStep"
,
"selMoveRepeat"
,
"createSymbol"
,
"isSymbolExists"
,
"openSymbol"
,
"closeSymbol"
,
"getCheckAttr"
,
display
:
'Item'
,
"getProfile"
,
"clearHighlight"
,
"selBreak"
,
"getUnits"
,
"getLayerSymsHist"
,
"getSymbolSymsHist"
,
"netlistPageOpen"
,
"netlistRecalc"
,
"netlistCompare"
,
dataType
:
"string"
,
"netlistPageClose"
,
"selClearFeature"
,
"getSRLimits"
,
"getSR"
,
"getActiveArea"
,
"chklistCupd"
,
"getChklistRange"
,
"chklistErfRange"
,
"chklistErf"
,
displayRole
:
"$item"
"chklistRereadErf"
,
"chklistSelectAct"
,
"chklistSelectAll"
,
"getChklistActCount"
,
"chklistCreateLyrs"
,
"getStepLimits"
,
"selMove"
,
"selSubstitute"
,
},
"selTransform"
,
"getSR1"
,
"getRepeat"
,
"getSubSteps"
,
"getDatum"
,
"getStepAttr"
,
"getJobAttr"
,
"setJobAttr"
,
"getLPD"
,
"getLPM"
,
"setCurrentAttribute"
,
{
"attributeReset"
,
"selAddAttr"
,
"setOrigin"
,
"setDatum"
,
"selNetFeat"
,
"getOrigin"
,
"origin"
,
"chklistResShow"
,
"chklistClose"
,
"getDbList"
,
name
:
'min_line_width'
,
"getLayerAttr"
,
"isJobChanged"
,
"isStepChanged"
,
"isLayerChanged"
,
"getSymbolHistory"
,
"selectRectangle"
,
"renameLayer"
,
"renameStep"
,
display
:
'Line Width'
,
"setLayerAttr"
,
"setStepAttr"
,
"getToolUser"
,
"getToolThick"
,
"getToolSlots"
,
"cadNetlistExists"
,
"netlistExists"
,
"isLayerEmpty"
,
dataType
:
"string"
,
"changeText"
,
"getGenVersion"
,
"getLayerFeatHist"
,
"getSymbolList"
,
"copySymbol"
,
"clipArea"
,
size
:
"160"
,
"compareLayers"
,
"von"
,
"vof"
,
displayRole
:
"$min_line_width"
"dispOn"
,
"dispOff"
,
"errOn"
,
"errOff"
,
"selCreateProfile"
,
"selAllFeat"
,
"selResize"
,
"breakStep"
,
"delStepType"
]
},
\ No newline at end of file
{
name
:
'min_line_spacing'
,
display
:
'Spacing Line to Line'
,
dataType
:
"string"
,
size
:
"160"
,
displayRole
:
"$min_line_spacing"
},
{
name
:
'min_line2pad'
,
display
:
'Spacing Line to Pad'
,
dataType
:
"string"
,
size
:
"160"
,
displayRole
:
"$min_line2pad"
},
{
name
:
'min_pad2pad'
,
display
:
'Spacing Pad to Pad'
,
dataType
:
"string"
,
displayRole
:
"$min_pad2pad"
},
]);
},
"setter"
:
function
(
obj
,
value
,
self
)
{
var
loadList
=
[];
if
((
value
!=
''
)
&&
(
value
!=
undefined
))
{
var
dataList
=
JSON
.
parse
(
value
);
// for (var i = 0; i < dataList.length; i++) {
// valueMap = dataList[i];
// valueMap["item"] = "L" + i;
// loadList.push(valueMap);
// }
obj
.
loadData
(
dataList
);
}
},
"getter"
:
function
(
obj
,
self
)
{
return
JSON
.
stringify
(
obj
.
allDataMap
());
},
"property"
:
{
"minimum_height"
:
200
},
"type"
:
"TableView"
},
getter_func
:
function
()
{
try
{
var
query
=
new
TSqlQueryV2
(
T_SQLCNT_POOL
.
getSqlDatabase
());
var
selector
=
new
TSqlSelectorV2
;
selector
.
setTable
(
"pdm_job_work_layer"
);
selector
.
setField
([
"name"
]);
selector
.
setWhere
(
"job_id"
,
this
.
jobId
);
selector
.
addWhere
(
'odb_context'
,
'board'
);
selector
.
addWhere
(
'odb_type'
,
'signal'
);
selector
.
setOrder
(
"row_num"
,
1
);
var
nameList
=
query
.
selectArrayValue
(
selector
);
if
(
query
.
lastError
().
isValid
())
{
throw
query
.
lastError
();
}
selector
.
clear
();
selector
.
setTable
(
"pdm_job_layerattr"
);
selector
.
setField
([
"attr_name"
,
"layer"
,
"value"
])
selector
.
setWhere
(
"layer"
,
nameList
);
selector
.
addWhere
(
"job_id"
,
this
.
jobId
);
var
dataList
=
query
.
selectArrayMap
(
selector
);
if
(
query
.
lastError
().
isValid
())
{
throw
query
.
lastError
();
}
var
dataMap
=
{};
_
.
each
(
dataList
,
function
(
valueMap
)
{
var
tempList
=
[];
if
(
!
_
.
isEmpty
(
dataMap
[
valueMap
[
"layer"
]]))
{
tempList
=
dataMap
[
valueMap
[
"layer"
]];
}
tempList
.
push
(
valueMap
);
dataMap
[
valueMap
[
"layer"
]]
=
tempList
;
})
var
retMap
=
{};
for
(
var
key
in
dataMap
)
{
var
tempMap
=
{};
_
.
each
(
dataMap
[
key
],
function
(
itemMap
)
{
tempMap
[
itemMap
[
"attr_name"
]]
=
itemMap
[
"value"
];
})
retMap
[
key
]
=
tempMap
;
}
var
retList
=
[];
for
(
var
key
in
retMap
)
{
var
tempMap
=
retMap
[
key
];
tempMap
[
"item"
]
=
key
;
retList
.
push
(
tempMap
);
}
var
disqualificationList
=
[];
var
layerList
=
[];
var
laserList
=
[];
var
retMap
=
{};
var
remarkList
=
[];
_
.
each
(
retList
,
function
(
valueMap
)
{
var
num
=
""
;
if
(
valueMap
[
"item"
]
==
"top"
)
{
num
=
"Front"
;
}
else
if
(
valueMap
[
"item"
]
==
"bottom"
)
{
num
=
"Back"
;
}
else
{
num
=
"L"
+
valueMap
[
"item"
].
replace
(
/
[^
0-9
]
/ig
,
""
)
}
if
(
_
.
toNumber
(
valueMap
[
"min_line_spacing"
])
<
60
)
{
disqualificationList
.
push
(
num
);
}
else
if
(
_
.
toNumber
(
valueMap
[
"min_line2pad"
])
<
60
)
{
disqualificationList
.
push
(
num
);
}
else
if
(
_
.
toNumber
(
valueMap
[
"min_pad2pad"
])
<
60
)
{
disqualificationList
.
push
(
num
);
}
if
(
_
.
toNumber
(
valueMap
[
"min_line_width"
])
<
60
)
{
layerList
.
push
(
num
);
}
if
(
_
.
toNumber
(
valueMap
[
"min_ar"
])
<
60
)
{
laserList
.
push
(
num
);
}
})
retMap
[
"remark"
]
=
disqualificationList
.
join
(
","
);
remarkList
.
push
(
retMap
);
retMap
=
{};
retMap
[
"remark"
]
=
layerList
.
join
(
","
);
remarkList
.
push
(
retMap
);
retMap
=
{};
retMap
[
"remark"
]
=
laserList
.
join
(
","
);
remarkList
.
push
(
retMap
);
this
.
model
.
setWorkValues
({
'remark_tableview'
:
JSON
.
stringify
(
remarkList
)
});
return
JSON
.
stringify
(
retList
);
}
catch
(
e
)
{
print
(
e
);
GUI
.
msgbox
({
title
:
'Error'
,
detail
:
e
});
}
},
interface
:
''
,
layer_list
:
''
,
merge_func
:
''
,
merge_mode
:
''
,
merge_param
:
''
,
name
:
'min_dim_tableview'
,
save_value_func
:
''
,
set_value_condition
:
'default'
,
set_value_func_pars
:
''
,
set_value_mode
:
''
,
setter_func
:
''
,
state
:
''
,
title
:
''
,
title_i18n
:
{},
tooltip
:
''
,
type
:
'customize'
,
validate
:
''
,
}
],
default_value_mode
:
'Spec'
,
display_style
:
{
"property"
:
{
"minimum_heigh"
:
600
}},
getter_func
:
''
,
interface
:
''
,
layer_list
:
''
,
merge_func
:
''
,
merge_mode
:
''
,
merge_param
:
''
,
name
:
'min_dim'
,
save_value_func
:
''
,
set_value_condition
:
''
,
set_value_func_pars
:
''
,
set_value_mode
:
''
,
setter_func
:
''
,
state
:
''
,
title
:
'Min.Dim(μm)'
,
title_i18n
:
{},
tooltip
:
''
,
type
:
'category'
,
validate
:
''
,
}
,
{
CHILDREN
:
[
{
default_value_mode
:
'customize'
,
display_style
:
{
"validateSignal"
:
"anyDataChanged()"
,
"initCallback"
:
function
(
obj
,
self
)
{
obj
.
setShowGrid
(
true
);
obj
.
setDataKeyList
([
"item"
,
"l1"
,
"l2"
,
"l3"
,
"l4"
,
"l5"
,
"l6"
,
"l7"
,
"l8"
,
"l9"
,
"l10"
,
"l11"
,
"l12"
,
"l13"
,
"l14"
,
"l15"
,
"l16"
,
"l17"
,
"l18"
,
"l19"
,
"l20"
,
"drill_connect_layer"
,
"drill_connect_point"
]);
obj
.
setHeaderItem
([
{},
{
name
:
'item'
,
display
:
'Item'
,
dataType
:
"string"
,
displayRole
:
"$item"
,
size
:
"120"
},
{
name
:
'l1'
,
display
:
'L1'
,
dataType
:
"string"
,
size
:
"80"
,
displayRole
:
"$l1"
},
{
name
:
'l2'
,
display
:
'L2'
,
dataType
:
"string"
,
size
:
"80"
,
displayRole
:
"$l2"
},
{
name
:
'l3'
,
display
:
'L3'
,
dataType
:
"string"
,
size
:
"80"
,
displayRole
:
"$l3"
},
{
name
:
'l4'
,
display
:
'L4'
,
dataType
:
"string"
,
size
:
"80"
,
displayRole
:
"$l4"
},
{
name
:
'l5'
,
display
:
'L5'
,
dataType
:
"string"
,
size
:
"80"
,
displayRole
:
"$l5"
},
{
name
:
'l6'
,
display
:
'L6'
,
dataType
:
"string"
,
size
:
"80"
,
displayRole
:
"$l6"
},
{
name
:
'l7'
,
display
:
'L7'
,
dataType
:
"string"
,
size
:
"80"
,
displayRole
:
"$l7"
},
{
name
:
'l8'
,
display
:
'L8'
,
dataType
:
"string"
,
size
:
"80"
,
displayRole
:
"$l8"
},
{
name
:
'l9'
,
display
:
'L9'
,
dataType
:
"string"
,
size
:
"80"
,
displayRole
:
"$l9"
},
{
name
:
'l10'
,
display
:
'L10'
,
dataType
:
"string"
,
size
:
"80"
,
displayRole
:
"$l10"
},
{
name
:
'l11'
,
display
:
'L11'
,
dataType
:
"string"
,
size
:
"80"
,
displayRole
:
"$l11"
},
{
name
:
'l12'
,
display
:
'L12'
,
dataType
:
"string"
,
size
:
"80"
,
displayRole
:
"$l12"
},
{
name
:
'l13'
,
display
:
'L13'
,
dataType
:
"string"
,
size
:
"80"
,
displayRole
:
"$l13"
},
{
name
:
'l14'
,
display
:
'L14'
,
dataType
:
"string"
,
size
:
"80"
,
displayRole
:
"$l14"
},
{
name
:
'l15'
,
display
:
'L15'
,
dataType
:
"string"
,
size
:
"80"
,
displayRole
:
"$l15"
},
{
name
:
'l16'
,
display
:
'L16'
,
dataType
:
"string"
,
size
:
"80"
,
displayRole
:
"$l16"
},
{
name
:
'l17'
,
display
:
'L17'
,
dataType
:
"string"
,
size
:
"80"
,
displayRole
:
"$l17"
},
{
name
:
'l18'
,
display
:
'L18'
,
dataType
:
"string"
,
size
:
"80"
,
displayRole
:
"$l18"
},
{
name
:
'l19'
,
display
:
'L19'
,
dataType
:
"string"
,
size
:
"80"
,
displayRole
:
"$l19"
},
{
name
:
'l20'
,
display
:
'L20'
,
dataType
:
"string"
,
size
:
"80"
,
displayRole
:
"$l20"
},
{
name
:
'drill_connect_layer'
,
display
:
'Connect Layer'
,
dataType
:
"string"
,
displayRole
:
"$drill_connect_layer"
,
size
:
"120"
},
{
name
:
'drill_connect_point'
,
display
:
'Connect Point'
,
dataType
:
"string"
,
displayRole
:
"$drill_connect_point"
,
size
:
"120"
}
]);
},
"setter"
:
function
(
obj
,
value
,
self
)
{
if
((
value
!=
''
)
&&
(
value
!=
undefined
))
{
var
dataList
=
JSON
.
parse
(
value
);
obj
.
loadData
(
dataList
);
}
},
"getter"
:
function
(
obj
,
self
)
{
return
JSON
.
stringify
(
obj
.
allDataMap
());
},
"property"
:
{
"minimum_height"
:
200
},
"type"
:
"TableView"
},
getter_func
:
function
()
{
var
query
=
new
TSqlQueryV2
(
T_SQLCNT_POOL
.
getSqlDatabase
());
var
selector
=
new
TSqlSelectorV2
;
selector
.
setTable
(
"pdm_job_work_layer"
);
selector
.
setField
([
"name"
,
"drl_start_num"
,
"drl_end_num"
]);
selector
.
setWhere
(
"job_id"
,
this
.
jobId
);
selector
.
addWhere
(
'odb_context'
,
'board'
);
selector
.
addWhere
(
'odb_type'
,
'drill'
);
selector
.
setOrder
(
"row_num"
,
1
);
var
drillList
=
query
.
selectArrayMap
(
selector
);
if
(
query
.
lastError
().
isValid
())
{
throw
query
.
lastError
();
}
selector
.
clear
();
selector
.
setTable
(
"pdm_job_work_layer"
);
selector
.
setField
([
"name"
]);
selector
.
setWhere
(
"job_id"
,
this
.
jobId
);
selector
.
addWhere
(
'odb_context'
,
'board'
);
selector
.
addWhere
(
'odb_type'
,
'signal'
);
selector
.
setOrder
(
"row_num"
,
1
);
var
signalList
=
query
.
selectArrayValue
(
selector
);
if
(
query
.
lastError
().
isValid
())
{
throw
query
.
lastError
();
}
selector
.
clear
();
selector
.
setTable
(
"pdm_job_layerattr"
);
selector
.
setField
([
"attr_name"
,
"layer"
,
"value"
]);
selector
.
setWhere
(
"job_id"
,
this
.
jobId
);
selector
.
addWhere
(
'layer'
,
signalList
);
var
layerCopList
=
query
.
selectArrayMap
(
selector
);
if
(
query
.
lastError
().
isValid
())
{
throw
query
.
lastError
();
}
var
retList
=
[];
var
tempMap
=
{};
_
.
each
(
layerCopList
,
function
(
itemMap
)
{
if
(
itemMap
[
"attr_name"
]
==
"copper_percent"
)
{
if
(
itemMap
[
"layer"
]
==
"top"
)
{
tempMap
[
"l1"
]
=
itemMap
[
"value"
];
}
else
if
(
itemMap
[
"layer"
]
==
"bottom"
)
{
tempMap
[
"l"
+
signalList
.
length
]
=
itemMap
[
"value"
];
}
else
{
var
num
=
itemMap
[
"layer"
].
replace
(
/
[^
0-9
]
/ig
,
""
);
tempMap
[
"l"
+
num
]
=
itemMap
[
"value"
];
}
}
tempMap
[
"item"
]
=
"Card Copper"
;
// if(itemMap["layer"] == key && itemMap["attr_name"] == "copper_percent"){
// tempMap["copper_percent"] = itemMap["value"];
// }
})
retList
.
push
(
tempMap
);
var
layerNumMap
=
{};
_
.
each
(
drillList
,
function
(
valueMap
)
{
var
drlStartNum
=
valueMap
[
"drl_start_num"
];
var
drlEndNum
=
valueMap
[
"drl_end_num"
];
var
layerNumList
=
[];
var
length
=
_
.
toNumber
(
drlEndNum
)
-
_
.
toNumber
(
drlStartNum
);
for
(
var
i
=
0
;
i
<=
length
;
i
++
)
{
var
layerNum
=
_
.
toNumber
(
drlStartNum
)
+
i
;
layerNumList
.
push
(
layerNum
);
}
layerNumMap
[
valueMap
[
"name"
]]
=
layerNumList
;
})
for
(
var
key
in
layerNumMap
)
{
var
layerNumList
=
layerNumMap
[
key
];
selector
.
clear
();
selector
.
setTable
(
"pdm_job_work_layer"
);
selector
.
setField
([
"name"
]);
selector
.
setWhere
(
"job_id"
,
this
.
jobId
);
selector
.
addWhere
(
'odb_context'
,
'board'
);
selector
.
addWhere
(
'odb_type'
,
'signal'
);
selector
.
addWhere
(
'row_num'
,
layerNumList
);
selector
.
setOrder
(
"row_num"
,
1
);
var
layerList
=
query
.
selectArrayValue
(
selector
);
if
(
query
.
lastError
().
isValid
())
{
throw
query
.
lastError
();
}
selector
.
clear
();
selector
.
setTable
(
"pdm_job_layerattr"
);
selector
.
setField
([
"attr_name"
,
"layer"
,
"value"
]);
selector
.
setWhere
(
"job_id"
,
this
.
jobId
);
selector
.
addWhere
(
'layer'
,
key
);
var
attrList
=
query
.
selectArrayMap
(
selector
);
if
(
query
.
lastError
().
isValid
())
{
throw
query
.
lastError
();
}
var
dataMap
=
{};
_
.
each
(
attrList
,
function
(
valueMap
)
{
var
tempList
=
[];
if
(
!
_
.
isEmpty
(
dataMap
[
valueMap
[
"layer"
]]))
{
tempList
=
dataMap
[
valueMap
[
"layer"
]];
}
tempList
.
push
(
valueMap
);
dataMap
[
valueMap
[
"layer"
]]
=
tempList
;
})
var
retMap
=
{};
for
(
var
key
in
dataMap
)
{
var
tempMap
=
{};
_
.
each
(
dataMap
[
key
],
function
(
itemMap
)
{
_
.
each
(
layerList
,
function
(
layerName
)
{
if
(
itemMap
[
"attr_name"
]
==
(
"drl_pad_"
+
layerName
))
{
tempMap
[
layerName
]
=
itemMap
[
"value"
];
}
else
if
(
itemMap
[
"attr_name"
]
==
"drill_connect_layer"
||
itemMap
[
"attr_name"
]
==
"drill_connect_point"
)
{
tempMap
[
itemMap
[
"attr_name"
]]
=
itemMap
[
"value"
];
}
})
})
retMap
[
key
]
=
tempMap
;
}
for
(
var
key
in
retMap
)
{
var
tempMap
=
retMap
[
key
];
for
(
var
str
in
tempMap
)
{
if
(
str
==
"top"
)
{
tempMap
[
"l1"
]
=
tempMap
[
"top"
];
delete
tempMap
[
"top"
];
}
else
if
(
str
==
"bottom"
)
{
tempMap
[
"l"
+
layerList
.
length
]
=
tempMap
[
"bottom"
];
delete
tempMap
[
"bottom"
];
}
else
if
(
str
==
"drill_connect_point"
||
str
==
"drill_connect_layer"
)
{
continue
;
}
else
{
var
num
=
str
.
replace
(
/
[^
0-9
]
/ig
,
""
);
tempMap
[
"l"
+
num
]
=
tempMap
[
str
];
}
}
tempMap
[
"item"
]
=
key
;
retList
.
push
(
tempMap
);
}
}
return
JSON
.
stringify
(
retList
);
},
interface
:
''
,
layer_list
:
''
,
merge_func
:
''
,
merge_mode
:
''
,
merge_param
:
''
,
name
:
'qec_tableview'
,
save_value_func
:
''
,
set_value_condition
:
'default'
,
set_value_func_pars
:
''
,
set_value_mode
:
''
,
setter_func
:
''
,
state
:
''
,
title
:
''
,
title_i18n
:
{},
tooltip
:
''
,
type
:
'customize'
,
validate
:
''
,
}
],
default_value_mode
:
'Spec'
,
display_style
:
''
,
getter_func
:
''
,
interface
:
''
,
layer_list
:
''
,
merge_func
:
''
,
merge_mode
:
''
,
merge_param
:
''
,
name
:
'qec'
,
save_value_func
:
''
,
set_value_condition
:
''
,
set_value_func_pars
:
''
,
set_value_mode
:
''
,
setter_func
:
''
,
state
:
''
,
title
:
'Via-Pad Diameter (mils) at Laser/Core-Technical & Copper Distribution'
,
title_i18n
:
{},
tooltip
:
''
,
type
:
'category'
,
validate
:
''
,
}
,
{
CHILDREN
:
[
{
CHILDREN
:
[
{
default_value_mode
:
'customize'
,
display_style
:
{
"validateSignal"
:
"anyDataChanged()"
,
"initCallback"
:
function
(
obj
,
self
)
{
obj
.
setShowGrid
(
true
);
obj
.
setDataKeyList
([
"item"
,
"smallest_pad"
,
"smallest_pitch"
]);
obj
.
setHeaderItem
([
{},
{
name
:
'item'
,
display
:
'Item'
,
dataType
:
"string"
,
displayRole
:
"$item"
,
size
:
"180"
},
{
name
:
'smallest_pad'
,
display
:
'Smallest Pad'
,
dataType
:
"string"
,
size
:
"260"
,
displayRole
:
"$smallest_pad"
},
{
name
:
'smallest_pitch'
,
display
:
'Smallest Pitch'
,
dataType
:
"string"
,
displayRole
:
"$smallest_pitch"
},
]);
},
"setter"
:
function
(
obj
,
value
,
self
)
{
var
itemList
=
[
"BGA Grid(c2c)"
,
"Ball Dia"
,
"Number of Balls"
,
"SM Opening Dia"
];
var
loadList
=
[];
if
((
value
!=
''
)
&&
(
value
!=
undefined
))
{
var
dataList
=
JSON
.
parse
(
value
);
for
(
var
i
=
0
;
i
<
dataList
.
length
;
i
++
)
{
var
valueMap
=
dataList
[
i
];
valueMap
[
"item"
]
=
itemList
[
i
];
loadList
.
push
(
valueMap
);
}
obj
.
loadData
(
loadList
);
}
// else {
// for (var i = 0; i < itemList.length; i++) {
// var valueMap = {};
// valueMap["item"] = itemList[i];
// loadList.push(valueMap);
// }
// obj.loadData(loadList);
// }
},
"getter"
:
function
(
obj
,
self
)
{
return
JSON
.
stringify
(
obj
.
allDataMap
());
},
"property"
:
{
"minimum_height"
:
200
},
"type"
:
"TableView"
},
getter_func
:
function
()
{
var
query
=
new
TSqlQueryV2
(
T_SQLCNT_POOL
.
getSqlDatabase
());
var
selector
=
new
TSqlSelectorV2
;
selector
.
setTable
(
"pdm_job_work_layer"
);
selector
.
setField
([
"name"
]);
selector
.
setWhere
(
"job_id"
,
this
.
jobId
);
selector
.
addWhere
(
'type'
,
'outer'
);
selector
.
setOrder
(
"row_num"
,
1
);
var
layerList
=
query
.
selectArrayValue
(
selector
);
if
(
query
.
lastError
().
isValid
())
{
throw
query
.
lastError
();
}
selector
.
clear
();
selector
.
setTable
(
"pdm_job_layerattr"
);
selector
.
setField
([
"attr_name"
,
"layer"
,
"value"
]);
selector
.
setWhere
(
"job_id"
,
this
.
jobId
);
selector
.
addWhere
(
'layer'
,
layerList
);
var
attrList
=
query
.
selectArrayMap
(
selector
);
if
(
query
.
lastError
().
isValid
())
{
throw
query
.
lastError
();
}
var
dataMap
=
{};
_
.
each
(
attrList
,
function
(
valueMap
)
{
var
tempList
=
[];
if
(
!
_
.
isEmpty
(
dataMap
[
valueMap
[
"attr_name"
]]))
{
tempList
=
dataMap
[
valueMap
[
"attr_name"
]];
}
tempList
.
push
(
valueMap
);
dataMap
[
valueMap
[
"attr_name"
]]
=
tempList
;
})
var
itemPadList
=
[
"min_bga_pitch"
,
"min_bga_size"
,
"min_bga_num_of_bolls"
,
"min_bga_openging_size"
];
var
itemPitchList
=
[
"bga_min_pitch"
,
"bga_min_pitch_pad_size"
,
"bga_min_pitch_num_of_bolls"
,
"bga_min_pitch_openging_size"
];
var
retList
=
[];
for
(
var
i
=
0
;
i
<
itemPadList
.
length
;
i
++
)
{
var
itemPad
=
itemPadList
[
i
];
var
itemPitch
=
itemPitchList
[
i
];
var
retPadMap
=
{};
var
retPitchMap
=
{};
var
tempPadList
=
dataMap
[
itemPad
];
var
tempPitchList
=
dataMap
[
itemPitch
];
_
.
each
(
tempPadList
,
function
(
itemMap
)
{
retPadMap
[
itemMap
[
"layer"
]]
=
itemMap
[
"value"
];
})
_
.
each
(
tempPitchList
,
function
(
itemMap
)
{
retPitchMap
[
itemMap
[
"layer"
]]
=
itemMap
[
"value"
];
})
var
retMap
=
{};
var
minPad
=
retPadMap
[
"top"
];
for
(
var
key
in
retPadMap
)
{
if
(
minPad
>
retPadMap
[
key
])
{
minPad
=
retPadMap
[
key
];
}
}
var
minPitch
=
retPitchMap
[
"top"
];
for
(
var
key
in
retPitchMap
)
{
if
(
minPitch
>
retPitchMap
[
key
])
{
minPitch
=
retPitchMap
[
key
];
}
}
retMap
[
"smallest_pad"
]
=
minPad
;
retMap
[
"smallest_pitch"
]
=
minPitch
;
retList
.
push
(
retMap
);
}
return
JSON
.
stringify
(
retList
);
},
interface
:
''
,
layer_list
:
''
,
merge_func
:
''
,
merge_mode
:
''
,
merge_param
:
''
,
name
:
'bga_tableview'
,
save_value_func
:
''
,
set_value_condition
:
'default'
,
set_value_func_pars
:
''
,
set_value_mode
:
''
,
setter_func
:
''
,
state
:
''
,
title
:
''
,
title_i18n
:
{},
tooltip
:
''
,
type
:
'customize'
,
validate
:
''
,
}
],
default_value_mode
:
'Spec'
,
display_style
:
''
,
getter_func
:
''
,
interface
:
''
,
layer_list
:
''
,
merge_func
:
''
,
merge_mode
:
''
,
merge_param
:
''
,
name
:
'bga'
,
save_value_func
:
''
,
set_value_condition
:
''
,
set_value_func_pars
:
''
,
set_value_mode
:
''
,
setter_func
:
''
,
state
:
''
,
title
:
'BGA(mils)'
,
title_i18n
:
{},
tooltip
:
''
,
type
:
'category'
,
validate
:
''
,
}
,
{
CHILDREN
:
[
{
default_value_mode
:
'customize'
,
display_style
:
{
"validateSignal"
:
"anyDataChanged()"
,
"initCallback"
:
function
(
obj
,
self
)
{
obj
.
setShowGrid
(
true
);
obj
.
setDataKeyList
([
"item"
,
"top"
,
"bottom"
]);
obj
.
setHeaderItem
([
{},
{
name
:
'item'
,
display
:
'Item'
,
dataType
:
"string"
,
displayRole
:
"$item"
,
size
:
"200"
},
{
name
:
'top'
,
display
:
'Front'
,
dataType
:
"string"
,
size
:
"240"
,
displayRole
:
"$top"
},
{
name
:
'bottom'
,
display
:
'Back'
,
dataType
:
"string"
,
displayRole
:
"$bottom"
},
]);
},
"setter"
:
function
(
obj
,
value
,
self
)
{
var
itemList
=
[
"Min.SMD Width"
,
"Length"
,
"SMD-Grid(c2c)"
,
"SM Opening Width"
,
"SM Opening Length"
,
"SM Opening Points"
,
"Test PIN Count"
];
var
loadList
=
[];
if
((
value
!=
''
)
&&
(
value
!=
undefined
))
{
var
dataList
=
JSON
.
parse
(
value
);
for
(
var
i
=
0
;
i
<
dataList
.
length
;
i
++
)
{
var
valueMap
=
dataList
[
i
];
valueMap
[
"item"
]
=
itemList
[
i
];
loadList
.
push
(
valueMap
);
}
obj
.
loadData
(
loadList
);
}
else
{
for
(
var
i
=
0
;
i
<
itemList
.
length
;
i
++
)
{
var
valueMap
=
{};
valueMap
[
"item"
]
=
itemList
[
i
];
loadList
.
push
(
valueMap
);
}
obj
.
loadData
(
loadList
);
}
},
"getter"
:
function
(
obj
,
self
)
{
return
JSON
.
stringify
(
obj
.
allDataMap
());
},
"property"
:
{
"minimum_height"
:
200
},
"type"
:
"TableView"
},
getter_func
:
function
()
{
var
query
=
new
TSqlQueryV2
(
T_SQLCNT_POOL
.
getSqlDatabase
());
var
selector
=
new
TSqlSelectorV2
;
selector
.
setTable
(
"pdm_job_work_layer"
);
selector
.
setField
([
"name"
]);
selector
.
setWhere
(
"job_id"
,
this
.
jobId
);
selector
.
addWhere
(
'type'
,
'outer'
);
selector
.
setOrder
(
"row_num"
,
1
);
var
layerList
=
query
.
selectArrayValue
(
selector
);
if
(
query
.
lastError
().
isValid
())
{
throw
query
.
lastError
();
}
selector
.
clear
();
selector
.
setTable
(
"pdm_job_layerattr"
);
selector
.
setField
([
"attr_name"
,
"layer"
,
"value"
]);
selector
.
setWhere
(
"job_id"
,
this
.
jobId
);
selector
.
addWhere
(
'layer'
,
layerList
);
var
attrList
=
query
.
selectArrayMap
(
selector
);
if
(
query
.
lastError
().
isValid
())
{
throw
query
.
lastError
();
}
var
dataMap
=
{};
_
.
each
(
attrList
,
function
(
valueMap
)
{
var
tempList
=
[];
if
(
!
_
.
isEmpty
(
dataMap
[
valueMap
[
"attr_name"
]]))
{
tempList
=
dataMap
[
valueMap
[
"attr_name"
]];
}
tempList
.
push
(
valueMap
);
dataMap
[
valueMap
[
"attr_name"
]]
=
tempList
;
})
var
itemList
=
[
"min_smd_width"
,
"min_smd_length"
,
"min_smd_pitch"
,
"min_smd_opening_width"
,
"min_smd_opening_length"
,
"sm_opening_count"
];
var
retList
=
[];
_
.
each
(
itemList
,
function
(
item
)
{
var
retMap
=
{};
var
tempList
=
dataMap
[
item
];
_
.
each
(
tempList
,
function
(
itemMap
)
{
retMap
[
itemMap
[
"layer"
]]
=
itemMap
[
"value"
];
})
retList
.
push
(
retMap
);
})
var
tempMap
=
{};
_
.
each
(
dataMap
[
"sm_opening_count"
],
function
(
item
)
{
tempMap
[
item
[
"layer"
]]
=
_
.
toNumber
(
item
[
"value"
])
*
0.85
;
})
retList
.
push
(
tempMap
);
return
JSON
.
stringify
(
retList
);
},
interface
:
''
,
layer_list
:
''
,
merge_func
:
''
,
merge_mode
:
''
,
merge_param
:
''
,
name
:
'smd_tableview'
,
save_value_func
:
''
,
set_value_condition
:
'default'
,
set_value_func_pars
:
''
,
set_value_mode
:
''
,
setter_func
:
''
,
state
:
''
,
title
:
''
,
title_i18n
:
{},
tooltip
:
''
,
type
:
'customize'
,
validate
:
''
,
}
],
default_value_mode
:
'Spec'
,
display_style
:
''
,
getter_func
:
''
,
interface
:
''
,
layer_list
:
''
,
merge_func
:
''
,
merge_mode
:
''
,
merge_param
:
''
,
name
:
'smd'
,
save_value_func
:
''
,
set_value_condition
:
''
,
set_value_func_pars
:
''
,
set_value_mode
:
''
,
setter_func
:
''
,
state
:
''
,
title
:
'SMD(mils)'
,
title_i18n
:
{},
tooltip
:
''
,
type
:
'category'
,
validate
:
''
,
}
],
default_value_mode
:
''
,
display_style
:
''
,
getter_func
:
''
,
interface
:
''
,
layer_list
:
''
,
merge_func
:
''
,
merge_mode
:
''
,
merge_param
:
''
,
name
:
'hlayout'
,
save_value_func
:
''
,
set_value_condition
:
''
,
set_value_func_pars
:
''
,
set_value_mode
:
''
,
setter_func
:
''
,
state
:
''
,
title
:
'layout'
,
title_i18n
:
{},
tooltip
:
''
,
type
:
'layout'
,
validate
:
''
,
}
,
{
CHILDREN
:
[
{
CHILDREN
:
[
{
default_value_mode
:
'spec'
,
display_style
:
''
,
getter_func
:
''
,
interface
:
''
,
layer_list
:
''
,
merge_func
:
''
,
merge_mode
:
''
,
merge_param
:
''
,
name
:
'ATS_surface_area_base_on'
,
save_value_func
:
''
,
set_value_condition
:
'default'
,
set_value_func_pars
:
''
,
set_value_mode
:
''
,
setter_func
:
''
,
state
:
''
,
title
:
'Org Surface Area Based On'
,
title_i18n
:
''
,
tooltip
:
''
,
type
:
'jobattr'
,
validate
:
''
,
}
,
{
default_value_mode
:
'spec'
,
display_style
:
''
,
getter_func
:
''
,
interface
:
''
,
layer_list
:
''
,
merge_func
:
''
,
merge_mode
:
''
,
merge_param
:
''
,
name
:
'carbon_Area_front'
,
save_value_func
:
''
,
set_value_condition
:
'default'
,
set_value_func_pars
:
''
,
set_value_mode
:
''
,
setter_func
:
''
,
state
:
''
,
title
:
'Carbon Area Front (d㎡)'
,
title_i18n
:
{},
tooltip
:
''
,
type
:
'jobattr'
,
validate
:
''
,
}
,
{
default_value_mode
:
'spec'
,
display_style
:
''
,
getter_func
:
''
,
interface
:
''
,
layer_list
:
''
,
merge_func
:
''
,
merge_mode
:
''
,
merge_param
:
''
,
name
:
'carbon_Area_back'
,
save_value_func
:
''
,
set_value_condition
:
'default'
,
set_value_func_pars
:
''
,
set_value_mode
:
''
,
setter_func
:
''
,
state
:
''
,
title
:
'Carbon Area Back(d㎡)'
,
title_i18n
:
{},
tooltip
:
''
,
type
:
'jobattr'
,
validate
:
''
,
}
],
default_value_mode
:
''
,
display_style
:
{
"type"
:
"FormGridLayout"
,
"property"
:
{
"columns"
:
3
}},
getter_func
:
''
,
interface
:
''
,
layer_list
:
''
,
merge_func
:
''
,
merge_mode
:
''
,
merge_param
:
''
,
name
:
'surface_area_layout1'
,
save_value_func
:
''
,
set_value_condition
:
''
,
set_value_func_pars
:
''
,
set_value_mode
:
''
,
setter_func
:
''
,
state
:
''
,
title
:
'layout'
,
title_i18n
:
{},
tooltip
:
''
,
type
:
'layout'
,
validate
:
''
,
}
,
{
default_value_mode
:
'customize'
,
display_style
:
{
"validateSignal"
:
"anyDataChanged()"
,
"pack"
:
{
"layout_type"
:
2
},
"initCallback"
:
function
(
obj
,
self
)
{
obj
.
setShowGrid
(
true
);
obj
.
setDataKeyList
([
"item"
,
"exposed_area"
,
"gold"
,
"full_type"
,
"ref_layer"
,
"ref_type"
]);
obj
.
setHeaderItem
([
{},
{
name
:
'item'
,
display
:
'Item'
,
dataType
:
"string"
,
displayRole
:
"$item"
},
{
name
:
'exposed_area'
,
display
:
'Exposed'
,
dataType
:
"string"
,
displayRole
:
"$exposed_area"
},
{
name
:
'gold'
,
display
:
'Gold'
,
dataType
:
"string"
,
displayRole
:
"$gold"
},
{
name
:
'full_type'
,
display
:
'Full Type'
,
dataType
:
"string"
,
displayRole
:
"$full_type"
},
{
name
:
'ref_layer'
,
display
:
'Ref.Layer'
,
dataType
:
"string"
,
displayRole
:
"$ref_layer"
},
{
name
:
'ref_type'
,
display
:
'Ref.Type'
,
dataType
:
"string"
,
displayRole
:
"$ref_type"
}
]);
},
"setter"
:
function
(
obj
,
value
,
self
)
{
var
itemList
=
[
"Front"
,
"Back"
,
"Total"
];
var
loadList
=
[];
if
((
value
!=
''
)
&&
(
value
!=
undefined
))
{
var
dataList
=
JSON
.
parse
(
value
);
var
tempMap
=
{};
var
exposedArea
=
0
;
for
(
var
i
=
0
;
i
<
dataList
.
length
;
i
++
)
{
var
valueMap
=
dataList
[
i
];
valueMap
[
"item"
]
=
itemList
[
i
];
exposedArea
=
exposedArea
+
_
.
toNumber
(
valueMap
[
"exposed_area"
]);
loadList
.
push
(
valueMap
);
}
tempMap
[
"item"
]
=
"Total"
;
tempMap
[
"exposed_area"
]
=
exposedArea
;
loadList
.
push
(
tempMap
);
obj
.
loadData
(
loadList
);
}
},
"getter"
:
function
(
obj
,
self
)
{
return
JSON
.
stringify
(
obj
.
allDataMap
());
},
"property"
:
{
"minimum_height"
:
200
},
"type"
:
"TableView"
},
getter_func
:
function
()
{
try
{
var
query
=
new
TSqlQueryV2
(
T_SQLCNT_POOL
.
getSqlDatabase
());
var
selector
=
new
TSqlSelectorV2
;
selector
.
setTable
(
"pdm_job_work_layer"
);
selector
.
setField
([
"name"
]);
selector
.
setWhere
(
"job_id"
,
this
.
jobId
);
selector
.
addWhere
(
'type'
,
'outer'
);
selector
.
setOrder
(
"row_num"
,
1
);
var
layerList
=
query
.
selectArrayValue
(
selector
);
if
(
query
.
lastError
().
isValid
())
{
throw
query
.
lastError
();
}
selector
.
clear
();
selector
.
setTable
(
"pdm_job_layerattr"
);
selector
.
setField
([
"attr_name"
,
"layer"
,
"value"
]);
selector
.
setWhere
(
"job_id"
,
this
.
jobId
);
selector
.
addWhere
(
'layer'
,
layerList
);
var
attrList
=
query
.
selectArrayMap
(
selector
);
if
(
query
.
lastError
().
isValid
())
{
throw
query
.
lastError
();
}
selector
.
clear
();
selector
.
setTable
(
"pdm_job_work_layer"
);
selector
.
setField
([
"odb_name"
,
"side"
]);
selector
.
setWhere
(
"job_id"
,
this
.
jobId
);
selector
.
addWhere
(
'odb_context'
,
'board'
);
selector
.
setOrder
(
"type"
,
"solder_mask"
);
var
nameList
=
query
.
selectArrayMap
(
selector
);
if
(
query
.
lastError
().
isValid
())
{
throw
query
.
lastError
();
}
var
goldMap
=
{};
var
refLayerMap
=
{};
_
.
each
(
nameList
,
function
(
item
)
{
if
(
item
[
"odb_name"
]
==
"gold"
)
{
goldMap
[
item
[
"side"
]]
=
item
[
"odb_name"
];
}
else
if
(
item
[
"odb_name"
]
==
"ref_layer"
)
{
refLayerMap
[
item
[
"side"
]]
=
item
[
"odb_name"
];
}
})
var
dataMap
=
{};
_
.
each
(
attrList
,
function
(
valueMap
)
{
var
tempList
=
[];
if
(
!
_
.
isEmpty
(
dataMap
[
valueMap
[
"layer"
]]))
{
tempList
=
dataMap
[
valueMap
[
"layer"
]];
}
tempList
.
push
(
valueMap
);
dataMap
[
valueMap
[
"layer"
]]
=
tempList
;
})
var
retMap
=
{};
for
(
var
key
in
dataMap
)
{
var
tempMap
=
{};
_
.
each
(
dataMap
[
key
],
function
(
itemMap
)
{
tempMap
[
itemMap
[
"attr_name"
]]
=
itemMap
[
"value"
];
})
retMap
[
key
]
=
tempMap
;
}
var
itemList
=
[
"top"
,
"bottom"
];
var
retList
=
[];
_
.
each
(
itemList
,
function
(
item
)
{
var
tempMap
=
retMap
[
item
];
tempMap
[
"gold"
]
=
goldMap
[
item
];
tempMap
[
"ref_layer"
]
=
refLayerMap
[
item
];
retList
.
push
(
tempMap
);
})
return
JSON
.
stringify
(
retList
);
}
catch
(
e
)
{
print
(
e
);
GUI
.
msgbox
({
title
:
'Error'
,
detail
:
e
});
}
},
interface
:
''
,
layer_list
:
''
,
merge_func
:
''
,
merge_mode
:
''
,
merge_param
:
''
,
name
:
'carbon_area_tableview'
,
save_value_func
:
''
,
set_value_condition
:
'default'
,
set_value_func_pars
:
''
,
set_value_mode
:
''
,
setter_func
:
''
,
state
:
''
,
title
:
''
,
title_i18n
:
{},
tooltip
:
''
,
type
:
'customize'
,
validate
:
''
,
}
],
default_value_mode
:
'Spec'
,
display_style
:
''
,
getter_func
:
''
,
interface
:
''
,
layer_list
:
''
,
merge_func
:
''
,
merge_mode
:
''
,
merge_param
:
''
,
name
:
'surface_area'
,
save_value_func
:
''
,
set_value_condition
:
'default'
,
set_value_func_pars
:
''
,
set_value_mode
:
''
,
setter_func
:
''
,
state
:
''
,
title
:
'Surface Area(sqdm)'
,
title_i18n
:
{},
tooltip
:
''
,
type
:
'category'
,
validate
:
''
,
}
,
{
CHILDREN
:
[
{
CHILDREN
:
[
{
default_value_mode
:
'spec'
,
display_style
:
''
,
getter_func
:
''
,
interface
:
''
,
layer_list
:
''
,
merge_func
:
''
,
merge_mode
:
''
,
merge_param
:
''
,
name
:
'layer_count'
,
save_value_func
:
''
,
set_value_condition
:
'default'
,
set_value_func_pars
:
''
,
set_value_mode
:
''
,
setter_func
:
''
,
state
:
''
,
title
:
'Board layer'
,
title_i18n
:
{},
tooltip
:
''
,
type
:
'jobattr'
,
validate
:
''
,
}
,
{
default_value_mode
:
'spec'
,
display_style
:
''
,
getter_func
:
''
,
interface
:
''
,
layer_list
:
''
,
merge_func
:
''
,
merge_mode
:
''
,
merge_param
:
''
,
name
:
'vc_pcs_count_on_panel'
,
save_value_func
:
''
,
set_value_condition
:
'default'
,
set_value_func_pars
:
''
,
set_value_mode
:
''
,
setter_func
:
''
,
state
:
''
,
title
:
'Single cards per panel'
,
title_i18n
:
{},
tooltip
:
''
,
type
:
'jobattr'
,
validate
:
''
,
}
,
{
default_value_mode
:
'spec'
,
display_style
:
{
"pack"
:
{
"column_span"
:
2
}},
getter_func
:
''
,
interface
:
''
,
layer_list
:
''
,
merge_func
:
''
,
merge_mode
:
''
,
merge_param
:
''
,
name
:
'structure'
,
save_value_func
:
''
,
set_value_condition
:
'default'
,
set_value_func_pars
:
''
,
set_value_mode
:
''
,
setter_func
:
''
,
state
:
''
,
title
:
'Structure'
,
title_i18n
:
{},
tooltip
:
''
,
type
:
'jobattr'
,
validate
:
''
,
}
,
{
default_value_mode
:
'spec'
,
display_style
:
''
,
getter_func
:
''
,
interface
:
''
,
layer_list
:
''
,
merge_func
:
''
,
merge_mode
:
''
,
merge_param
:
''
,
name
:
'vc_card_size_l'
,
save_value_func
:
''
,
set_value_condition
:
'default'
,
set_value_func_pars
:
''
,
set_value_mode
:
''
,
setter_func
:
''
,
state
:
''
,
title
:
'Card Size L'
,
title_i18n
:
{},
tooltip
:
''
,
type
:
'jobattr'
,
validate
:
''
,
}
,
{
default_value_mode
:
'spec'
,
display_style
:
''
,
getter_func
:
''
,
interface
:
''
,
layer_list
:
''
,
merge_func
:
''
,
merge_mode
:
''
,
merge_param
:
''
,
name
:
'vc_card_size_w'
,
save_value_func
:
''
,
set_value_condition
:
'default'
,
set_value_func_pars
:
''
,
set_value_mode
:
''
,
setter_func
:
''
,
state
:
''
,
title
:
'Card Size W'
,
title_i18n
:
{},
tooltip
:
''
,
type
:
'jobattr'
,
validate
:
''
,
}
,
{
default_value_mode
:
'spec'
,
display_style
:
''
,
getter_func
:
''
,
interface
:
''
,
layer_list
:
''
,
merge_func
:
''
,
merge_mode
:
''
,
merge_param
:
''
,
name
:
'vc_array_size_l'
,
save_value_func
:
''
,
set_value_condition
:
'default'
,
set_value_func_pars
:
''
,
set_value_mode
:
''
,
setter_func
:
''
,
state
:
''
,
title
:
'Array Size L'
,
title_i18n
:
{},
tooltip
:
''
,
type
:
'jobattr'
,
validate
:
''
,
}
,
{
default_value_mode
:
'spec'
,
display_style
:
''
,
getter_func
:
''
,
interface
:
''
,
layer_list
:
''
,
merge_func
:
''
,
merge_mode
:
''
,
merge_param
:
''
,
name
:
'vc_array_size_w'
,
save_value_func
:
''
,
set_value_condition
:
'default'
,
set_value_func_pars
:
''
,
set_value_mode
:
''
,
setter_func
:
''
,
state
:
''
,
title
:
'Array Size W'
,
title_i18n
:
{},
tooltip
:
''
,
type
:
'jobattr'
,
validate
:
''
,
}
,
{
default_value_mode
:
'spec'
,
display_style
:
''
,
getter_func
:
''
,
interface
:
''
,
layer_list
:
''
,
merge_func
:
''
,
merge_mode
:
''
,
merge_param
:
''
,
name
:
'depth_drilling'
,
save_value_func
:
''
,
set_value_condition
:
'default'
,
set_value_func_pars
:
''
,
set_value_mode
:
''
,
setter_func
:
''
,
state
:
''
,
title
:
'Depth drilling'
,
title_i18n
:
{},
tooltip
:
''
,
type
:
'jobattr'
,
validate
:
''
,
}
,
{
default_value_mode
:
'spec'
,
display_style
:
''
,
getter_func
:
''
,
interface
:
''
,
layer_list
:
''
,
merge_func
:
''
,
merge_mode
:
''
,
merge_param
:
''
,
name
:
'depth_routing'
,
save_value_func
:
''
,
set_value_condition
:
'default'
,
set_value_func_pars
:
''
,
set_value_mode
:
''
,
setter_func
:
''
,
state
:
''
,
title
:
'Depth routing'
,
title_i18n
:
{},
tooltip
:
''
,
type
:
'jobattr'
,
validate
:
''
,
}
,
{
default_value_mode
:
'spec'
,
display_style
:
''
,
getter_func
:
''
,
interface
:
''
,
layer_list
:
''
,
merge_func
:
''
,
merge_mode
:
''
,
merge_param
:
''
,
name
:
'milling_bit_size'
,
save_value_func
:
''
,
set_value_condition
:
'default'
,
set_value_func_pars
:
''
,
set_value_mode
:
''
,
setter_func
:
''
,
state
:
''
,
title
:
'Milling bit size'
,
title_i18n
:
{},
tooltip
:
''
,
type
:
'jobattr'
,
validate
:
''
,
}
,
{
default_value_mode
:
'spec'
,
display_style
:
''
,
getter_func
:
''
,
interface
:
''
,
layer_list
:
''
,
merge_func
:
''
,
merge_mode
:
''
,
merge_param
:
''
,
name
:
'milling_length'
,
save_value_func
:
''
,
set_value_condition
:
'default'
,
set_value_func_pars
:
''
,
set_value_mode
:
''
,
setter_func
:
''
,
state
:
''
,
title
:
'Milling length'
,
title_i18n
:
{},
tooltip
:
''
,
type
:
'jobattr'
,
validate
:
''
,
}
,
{
default_value_mode
:
'spec'
,
display_style
:
''
,
getter_func
:
''
,
interface
:
''
,
layer_list
:
''
,
merge_func
:
''
,
merge_mode
:
''
,
merge_param
:
''
,
name
:
'solder_mask_side'
,
save_value_func
:
''
,
set_value_condition
:
'default'
,
set_value_func_pars
:
''
,
set_value_mode
:
''
,
setter_func
:
''
,
state
:
''
,
title
:
'SM'
,
title_i18n
:
{},
tooltip
:
''
,
type
:
'jobattr'
,
validate
:
''
,
}
,
{
default_value_mode
:
'spec'
,
display_style
:
''
,
getter_func
:
''
,
interface
:
''
,
layer_list
:
''
,
merge_func
:
''
,
merge_mode
:
''
,
merge_param
:
''
,
name
:
'silk_screen_side'
,
save_value_func
:
''
,
set_value_condition
:
'default'
,
set_value_func_pars
:
''
,
set_value_mode
:
''
,
setter_func
:
''
,
state
:
''
,
title
:
'ID'
,
title_i18n
:
{},
tooltip
:
''
,
type
:
'jobattr'
,
validate
:
''
,
}
,
{
default_value_mode
:
'spec'
,
display_style
:
''
,
getter_func
:
''
,
interface
:
''
,
layer_list
:
''
,
merge_func
:
''
,
merge_mode
:
''
,
merge_param
:
''
,
name
:
'laser_via_on_buried_hole'
,
save_value_func
:
''
,
set_value_condition
:
'default'
,
set_value_func_pars
:
''
,
set_value_mode
:
''
,
setter_func
:
''
,
state
:
''
,
title
:
'Laser Via on Buried hole'
,
title_i18n
:
{},
tooltip
:
''
,
type
:
'jobattr'
,
validate
:
''
,
}
,
{
default_value_mode
:
'spec'
,
display_style
:
''
,
getter_func
:
''
,
interface
:
''
,
layer_list
:
''
,
merge_func
:
''
,
merge_mode
:
''
,
merge_param
:
''
,
name
:
'vc_src_01005_pad_result'
,
save_value_func
:
''
,
set_value_condition
:
'default'
,
set_value_func_pars
:
''
,
set_value_mode
:
''
,
setter_func
:
''
,
state
:
''
,
title
:
'01005 Pad'
,
title_i18n
:
''
,
tooltip
:
''
,
type
:
'jobattr'
,
validate
:
''
,
}
,
{
default_value_mode
:
'spec'
,
display_style
:
''
,
getter_func
:
''
,
interface
:
''
,
layer_list
:
''
,
merge_func
:
''
,
merge_mode
:
''
,
merge_param
:
''
,
name
:
'vc_src_EDGE_PLATING'
,
save_value_func
:
''
,
set_value_condition
:
'default'
,
set_value_func_pars
:
''
,
set_value_mode
:
''
,
setter_func
:
''
,
state
:
''
,
title
:
'Edge plating'
,
title_i18n
:
''
,
tooltip
:
''
,
type
:
'jobattr'
,
validate
:
''
,
}
,
{
default_value_mode
:
'spec'
,
display_style
:
''
,
getter_func
:
''
,
interface
:
''
,
layer_list
:
''
,
merge_func
:
''
,
merge_mode
:
''
,
merge_param
:
''
,
name
:
'edge_plating_length'
,
save_value_func
:
''
,
set_value_condition
:
'default'
,
set_value_func_pars
:
''
,
set_value_mode
:
''
,
setter_func
:
''
,
state
:
''
,
title
:
'Edge plating Length'
,
title_i18n
:
{},
tooltip
:
''
,
type
:
'jobattr'
,
validate
:
''
,
}
,
{
default_value_mode
:
'spec'
,
display_style
:
''
,
getter_func
:
''
,
interface
:
''
,
layer_list
:
''
,
merge_func
:
''
,
merge_mode
:
''
,
merge_param
:
''
,
name
:
'ATS_technology_25dc'
,
save_value_func
:
''
,
set_value_condition
:
'default'
,
set_value_func_pars
:
''
,
set_value_mode
:
''
,
setter_func
:
''
,
state
:
''
,
title
:
'2.5 DC Technology'
,
title_i18n
:
{},
tooltip
:
''
,
type
:
'jobattr'
,
validate
:
''
,
}
,
{
default_value_mode
:
'spec'
,
display_style
:
''
,
getter_func
:
''
,
interface
:
''
,
layer_list
:
''
,
merge_func
:
''
,
merge_mode
:
''
,
merge_param
:
''
,
name
:
'ATS_technology_25dr'
,
save_value_func
:
''
,
set_value_condition
:
'default'
,
set_value_func_pars
:
''
,
set_value_mode
:
''
,
setter_func
:
''
,
state
:
''
,
title
:
'2.5 DR Technology'
,
title_i18n
:
{},
tooltip
:
''
,
type
:
'jobattr'
,
validate
:
''
,
}
,
{
default_value_mode
:
'spec'
,
display_style
:
''
,
getter_func
:
''
,
interface
:
''
,
layer_list
:
''
,
merge_func
:
''
,
merge_mode
:
''
,
merge_param
:
''
,
name
:
'gold_finger'
,
save_value_func
:
''
,
set_value_condition
:
'default'
,
set_value_func_pars
:
''
,
set_value_mode
:
''
,
setter_func
:
''
,
state
:
''
,
title
:
'Gold Finger'
,
title_i18n
:
{},
tooltip
:
''
,
type
:
'jobattr'
,
validate
:
''
,
}
,
{
default_value_mode
:
'spec'
,
display_style
:
''
,
getter_func
:
''
,
interface
:
''
,
layer_list
:
''
,
merge_func
:
''
,
merge_mode
:
''
,
merge_param
:
''
,
name
:
'glod_finger_area'
,
save_value_func
:
''
,
set_value_condition
:
'default'
,
set_value_func_pars
:
''
,
set_value_mode
:
''
,
setter_func
:
''
,
state
:
''
,
title
:
'Glod Finger Area'
,
title_i18n
:
{},
tooltip
:
''
,
type
:
'jobattr'
,
validate
:
''
,
}
,
{
default_value_mode
:
'spec'
,
display_style
:
{
"pack"
:
{
"column_span"
:
2
}},
getter_func
:
''
,
interface
:
''
,
layer_list
:
''
,
merge_func
:
''
,
merge_mode
:
''
,
merge_param
:
''
,
name
:
'stack_vias_more'
,
save_value_func
:
''
,
set_value_condition
:
'default'
,
set_value_func_pars
:
''
,
set_value_mode
:
''
,
setter_func
:
''
,
state
:
''
,
title
:
'Stack Vias >= 12 layer(for above 14 AL)'
,
title_i18n
:
{},
tooltip
:
''
,
type
:
'jobattr'
,
validate
:
''
,
}
],
default_value_mode
:
''
,
display_style
:
{
"type"
:
"FormGridLayout"
,
"property"
:
{
"columns"
:
4
}},
getter_func
:
''
,
interface
:
''
,
layer_list
:
''
,
merge_func
:
''
,
merge_mode
:
''
,
merge_param
:
''
,
name
:
'original_items_layout1'
,
save_value_func
:
''
,
set_value_condition
:
''
,
set_value_func_pars
:
''
,
set_value_mode
:
''
,
setter_func
:
''
,
state
:
''
,
title
:
'layout'
,
title_i18n
:
{},
tooltip
:
''
,
type
:
'layout'
,
validate
:
''
,
}
],
default_value_mode
:
'Spec'
,
display_style
:
''
,
getter_func
:
''
,
interface
:
''
,
layer_list
:
''
,
merge_func
:
''
,
merge_mode
:
''
,
merge_param
:
''
,
name
:
'original_items'
,
save_value_func
:
''
,
set_value_condition
:
'default'
,
set_value_func_pars
:
''
,
set_value_mode
:
''
,
setter_func
:
''
,
state
:
''
,
title
:
'Original Items'
,
title_i18n
:
{},
tooltip
:
''
,
type
:
'category'
,
validate
:
''
,
}
,
{
CHILDREN
:
[
{
default_value_mode
:
'customize'
,
display_style
:
{
"validateSignal"
:
"anyDataChanged()"
,
"initCallback"
:
function
(
obj
,
self
)
{
obj
.
setShowGrid
(
true
);
obj
.
setDataKeyList
([
"item"
,
"laser_cutting_length"
,
"base_on_which_layer"
]);
obj
.
setHeaderItem
([
{},
{
name
:
'item'
,
display
:
'Item'
,
dataType
:
"string"
,
displayRole
:
"$item"
},
{
name
:
'laser_cutting_length'
,
display
:
'Length'
,
dataType
:
"string"
,
displayRole
:
"$laser_cutting_length"
},
{
name
:
'base_on_which_layer'
,
display
:
'Base on which layer'
,
dataType
:
"string"
,
displayRole
:
"$base_on_which_layer"
},
]);
},
"setter"
:
function
(
obj
,
value
,
self
)
{
var
itemList
=
[
"Front"
,
"Back"
];
var
loadList
=
[];
if
((
value
!=
''
)
&&
(
value
!=
undefined
))
{
var
dataList
=
JSON
.
parse
(
value
);
var
tempMap
=
{};
for
(
var
i
=
0
;
i
<
dataList
.
length
;
i
++
)
{
var
valueMap
=
dataList
[
i
];
valueMap
[
"item"
]
=
itemList
[
i
];
loadList
.
push
(
valueMap
);
}
obj
.
loadData
(
loadList
);
}
// else {
// for (var i = 0; i < itemList.length; i++) {
// var valueMap = {};
// valueMap["item"] = itemList[i];
// loadList.push(valueMap);
// }
// obj.loadData(loadList);
// }
},
"getter"
:
function
(
obj
,
self
)
{
return
JSON
.
stringify
(
obj
.
allDataMap
());
},
"property"
:
{
"minimum_height"
:
200
},
"type"
:
"TableView"
},
getter_func
:
function
()
{
try
{
var
query
=
new
TSqlQueryV2
(
T_SQLCNT_POOL
.
getSqlDatabase
());
var
selector
=
new
TSqlSelectorV2
;
selector
.
setTable
(
"pdm_job_work_layer"
);
selector
.
setField
([
"name"
]);
selector
.
setWhere
(
"job_id"
,
this
.
jobId
);
selector
.
addWhere
(
'type'
,
'outer'
);
selector
.
setOrder
(
"row_num"
,
1
);
var
layerList
=
query
.
selectArrayValue
(
selector
);
if
(
query
.
lastError
().
isValid
())
{
throw
query
.
lastError
();
}
selector
.
clear
();
selector
.
setTable
(
"pdm_job_layerattr"
);
selector
.
setField
([
"attr_name"
,
"layer"
,
"value"
]);
selector
.
setWhere
(
"job_id"
,
this
.
jobId
);
selector
.
addWhere
(
'layer'
,
layerList
);
var
attrList
=
query
.
selectArrayMap
(
selector
);
if
(
query
.
lastError
().
isValid
())
{
throw
query
.
lastError
();
}
var
dataMap
=
{};
_
.
each
(
attrList
,
function
(
valueMap
)
{
var
tempList
=
[];
if
(
!
_
.
isEmpty
(
dataMap
[
valueMap
[
"layer"
]]))
{
tempList
=
dataMap
[
valueMap
[
"layer"
]];
}
tempList
.
push
(
valueMap
);
dataMap
[
valueMap
[
"layer"
]]
=
tempList
;
})
var
retMap
=
{};
for
(
var
key
in
dataMap
)
{
var
tempMap
=
{};
_
.
each
(
dataMap
[
key
],
function
(
itemMap
)
{
tempMap
[
itemMap
[
"attr_name"
]]
=
itemMap
[
"value"
];
})
retMap
[
key
]
=
tempMap
;
}
var
itemList
=
[
"top"
,
"bottom"
];
var
retList
=
[];
_
.
each
(
itemList
,
function
(
item
)
{
var
tempMap
=
retMap
[
item
];
retList
.
push
(
tempMap
);
})
return
JSON
.
stringify
(
retList
);
}
catch
(
e
)
{
print
(
e
);
GUI
.
msgbox
({
title
:
'Error'
,
detail
:
e
});
}
},
interface
:
''
,
layer_list
:
''
,
merge_func
:
''
,
merge_mode
:
''
,
merge_param
:
''
,
name
:
'laser_cutting_length_tableview'
,
save_value_func
:
''
,
set_value_condition
:
'default'
,
set_value_func_pars
:
''
,
set_value_mode
:
''
,
setter_func
:
''
,
state
:
''
,
title
:
''
,
title_i18n
:
{},
tooltip
:
''
,
type
:
'customize'
,
validate
:
''
,
}
],
default_value_mode
:
'Spec'
,
display_style
:
''
,
getter_func
:
''
,
interface
:
''
,
layer_list
:
''
,
merge_func
:
''
,
merge_mode
:
''
,
merge_param
:
''
,
name
:
'laser_cutting_length'
,
save_value_func
:
''
,
set_value_condition
:
''
,
set_value_func_pars
:
''
,
set_value_mode
:
''
,
setter_func
:
''
,
state
:
''
,
title
:
'Laser cutting Length(m)'
,
title_i18n
:
{},
tooltip
:
''
,
type
:
'category'
,
validate
:
''
,
}
,
{
default_value_mode
:
'customize'
,
display_style
:
{
"validateSignal"
:
"anyDataChanged()"
,
"initCallback"
:
function
(
obj
,
self
)
{
obj
.
setShowGrid
(
true
);
obj
.
setDataKeyList
([
"item"
,
"remark"
]);
obj
.
setHeaderItem
([
{},
{
name
:
'item'
,
display
:
'Item'
,
dataType
:
"string"
,
displayRole
:
"$item"
,
size
:
"510"
},
{
name
:
'remark'
,
display
:
'Layer Information'
,
dataType
:
"string"
,
displayRole
:
"$remark"
},
]);
},
"setter"
:
function
(
obj
,
value
,
self
)
{
var
itemList
=
[
"LDI Layers Check Base on Org Info"
,
"Layers with Line Width <60 um"
,
"Layers with Laser A/R <60 um(Maybe changed After laser size Changed)"
];
var
loadList
=
[];
if
((
value
!=
''
)
&&
(
value
!=
undefined
))
{
var
dataList
=
JSON
.
parse
(
value
);
for
(
var
i
=
0
;
i
<
dataList
.
length
;
i
++
)
{
var
valueMap
=
dataList
[
i
];
valueMap
[
"item"
]
=
itemList
[
i
];
loadList
.
push
(
valueMap
);
}
obj
.
loadData
(
loadList
);
}
// } else {
// for (var i = 0; i < itemList.length; i++) {
// var valueMap = {};
// valueMap["item"] = itemList[i];
// loadList.push(valueMap);
// }
// obj.loadData(loadList);
// }
},
"getter"
:
function
(
obj
,
self
)
{
return
JSON
.
stringify
(
obj
.
allDataMap
());
},
"property"
:
{
"minimum_height"
:
200
},
"type"
:
"TableView"
},
getter_func
:
''
,
interface
:
''
,
layer_list
:
''
,
merge_func
:
''
,
merge_mode
:
''
,
merge_param
:
''
,
name
:
'remark_tableview'
,
save_value_func
:
''
,
set_value_condition
:
'default'
,
set_value_func_pars
:
''
,
set_value_mode
:
''
,
setter_func
:
''
,
state
:
''
,
title
:
''
,
title_i18n
:
{},
tooltip
:
''
,
type
:
'customize'
,
validate
:
''
,
}
,
{
CHILDREN
:
[
{
default_value_mode
:
'customize'
,
display_style
:
{
"type"
:
"DateEdit"
},
getter_func
:
function
()
{
try
{
var
query
=
new
TSqlQueryV2
(
T_SQLCNT_POOL
.
getSqlDatabase
());
var
selector
=
new
TSqlSelectorV2
;
selector
.
setTable
(
"pdm_job_jobattr"
);
selector
.
setField
([
"value"
]);
selector
.
setWhere
(
"job_id"
,
this
.
jobId
);
selector
.
addWhere
(
"attr_name"
,
"import_date"
)
var
date
=
query
.
selectValue
(
selector
);
if
(
query
.
lastError
().
isValid
())
{
throw
query
.
lastError
();
}
return
date
;
}
catch
(
e
)
{
print
(
e
);
GUI
.
msgbox
({
title
:
'Error'
,
detail
:
e
});
}
},
interface
:
''
,
layer_list
:
''
,
merge_func
:
''
,
merge_mode
:
''
,
merge_param
:
''
,
name
:
'partnumber_layout1_customize2'
,
save_value_func
:
''
,
set_value_condition
:
'default'
,
set_value_func_pars
:
''
,
set_value_mode
:
''
,
setter_func
:
''
,
state
:
''
,
title
:
'Import Date'
,
title_i18n
:
{},
tooltip
:
''
,
type
:
'customize'
,
validate
:
''
,
}
,
{
default_value_mode
:
'customize'
,
display_style
:
''
,
getter_func
:
''
,
interface
:
''
,
layer_list
:
''
,
merge_func
:
''
,
merge_mode
:
''
,
merge_param
:
''
,
name
:
'partnumber_layout1_customize3'
,
save_value_func
:
''
,
set_value_condition
:
'default'
,
set_value_func_pars
:
''
,
set_value_mode
:
''
,
setter_func
:
''
,
state
:
''
,
title
:
'Source'
,
title_i18n
:
{},
tooltip
:
''
,
type
:
'customize'
,
validate
:
''
,
}
],
default_value_mode
:
''
,
display_style
:
{
"type"
:
"FormGridLayout"
,
"property"
:
{
"columns"
:
2
}},
getter_func
:
''
,
interface
:
''
,
layer_list
:
''
,
merge_func
:
''
,
merge_mode
:
''
,
merge_param
:
''
,
name
:
'all_layout2'
,
save_value_func
:
''
,
set_value_condition
:
''
,
set_value_func_pars
:
''
,
set_value_mode
:
''
,
setter_func
:
''
,
state
:
''
,
title
:
'layout'
,
title_i18n
:
{},
tooltip
:
''
,
type
:
'layout'
,
validate
:
''
,
}
],
default_value_mode
:
'Spec'
,
display_style
:
{
"type"
:
"Widget"
},
getter_func
:
''
,
interface
:
''
,
layer_list
:
''
,
merge_func
:
''
,
merge_mode
:
''
,
merge_param
:
''
,
name
:
'all_category'
,
save_value_func
:
''
,
set_value_condition
:
'default'
,
set_value_func_pars
:
''
,
set_value_mode
:
''
,
setter_func
:
''
,
state
:
''
,
title
:
'All'
,
title_i18n
:
{},
tooltip
:
''
,
type
:
'category'
,
validate
:
''
,
}
]
\ 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