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
c52da11a
Commit
c52da11a
authored
4 years ago
by
Scott Sun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
s
parent
0b956001
Changes
7
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
225 additions
and
417 deletions
+225
-417
ATS_AIM_customer_data_analysis.js
ats/topcam/ATS_AIM_customer_data_analysis.js
+86
-17
ATS_AIM_data_format.js
ats/topcam/ATS_AIM_data_format.js
+14
-6
ATS_AIM_data_input.js
ats/topcam/ATS_AIM_data_input.js
+8
-3
config_ats.js
ats/topcam/config_ats.js
+1
-1
scotttest.js
public_script/scotttest.js
+88
-365
template.js
template.js
+28
-22
mytest.js
test/mytest.js
+0
-3
No files found.
ats/topcam/ATS_AIM_customer_data_analysis.js
View file @
c52da11a
...
@@ -206,6 +206,7 @@ try {
...
@@ -206,6 +206,7 @@ try {
if
(
GEN
.
checkInout
({
job
:
job
,
mode
:
"test"
})
!=
0
&&
mode
==
"aimdfm"
){
throw
"the job check"
}
if
(
GEN
.
checkInout
({
job
:
job
,
mode
:
"test"
})
!=
0
&&
mode
==
"aimdfm"
){
throw
"the job check"
}
GEN
.
checkInout
({
job
:
job
,
mode
:
"out"
});
GEN
.
checkInout
({
job
:
job
,
mode
:
"out"
});
script_info
({
msg
:
"Data Analysis"
,
result_severity
:
"info"
})
script_info
({
msg
:
"Data Analysis"
,
result_severity
:
"info"
})
global
.
_ERRORMAG
=
"Failed to Data Analysis"
;
script_info
({
progress
:
65
})
script_info
({
progress
:
65
})
var
pcs_step
=
par
.
pcs_step
==
""
?
"cad"
:
par
.
pcs_step
;
var
pcs_step
=
par
.
pcs_step
==
""
?
"cad"
:
par
.
pcs_step
;
var
array_step
=
par
.
array_step
==
""
?
"stp"
:
par
.
array_step
;
var
array_step
=
par
.
array_step
==
""
?
"stp"
:
par
.
array_step
;
...
@@ -217,7 +218,9 @@ try {
...
@@ -217,7 +218,9 @@ try {
pcs_step
=
step_list
[
0
]
pcs_step
=
step_list
[
0
]
}
}
script_info
({
msg
:
"Error-Upload matrix"
,
result_severity
:
"info"
})
script_info
({
msg
:
"Upload matrix"
,
result_severity
:
"info"
})
global
.
_ERRORMAG
=
"Error-Upload matrix"
;
script_info
({
progress
:
65
})
script_info
({
progress
:
65
})
var
matrix
=
UPLOAD_LAYER_MATRIX
({
job
:
job
})
// 分析matrix 获得分析后的matrix信息
var
matrix
=
UPLOAD_LAYER_MATRIX
({
job
:
job
})
// 分析matrix 获得分析后的matrix信息
GEN
.
openStep
({
job
:
job
,
name
:
pcs_step
})
GEN
.
openStep
({
job
:
job
,
name
:
pcs_step
})
...
@@ -273,7 +276,9 @@ try {
...
@@ -273,7 +276,9 @@ try {
})
})
GEN
.
clearLayers
()
GEN
.
clearLayers
()
script_info
({
msg
:
"Error-Drill Stackup analysis"
})
script_info
({
msg
:
"Drill Stackup analysis"
})
global
.
_ERRORMAG
=
"Error-Drill Stackup analysis"
;
script_info
({
progress
:
70
})
script_info
({
progress
:
70
})
// * new 钻孔叠构
// * new 钻孔叠构
var
cam_drill_structure
=
[]
var
cam_drill_structure
=
[]
...
@@ -397,7 +402,9 @@ try {
...
@@ -397,7 +402,9 @@ try {
var
analysis_obj
=
analysis
({
job
:
job
,
jobId
:
JobId
,
pcs_step
:
pcs_step
,
array_step
:
array_step
,
matrix
:
matrix
})
var
analysis_obj
=
analysis
({
job
:
job
,
jobId
:
JobId
,
pcs_step
:
pcs_step
,
array_step
:
array_step
,
matrix
:
matrix
})
// 创建profile
// 创建profile
var
tmp_matrix
=
GEN
.
getMatrix
({
job
:
job
})
var
tmp_matrix
=
GEN
.
getMatrix
({
job
:
job
})
script_info
({
msg
:
"Error-Profile analysis"
})
script_info
({
msg
:
"Profile analysis"
})
global
.
_ERRORMAG
=
"Error-Profile analysis"
;
script_info
({
progress
:
70
})
script_info
({
progress
:
70
})
// * profile 和 拼版
// * profile 和 拼版
var
pandle_step
=
step_list
.
map
(
function
(
v
){
var
pandle_step
=
step_list
.
map
(
function
(
v
){
...
@@ -471,7 +478,9 @@ try {
...
@@ -471,7 +478,9 @@ try {
}
}
ALL
.
gold_fingers
=
gold_fingers
ALL
.
gold_fingers
=
gold_fingers
GEN
.
closeStep
()
GEN
.
closeStep
()
script_info
({
msg
:
"Error-PN analysis"
})
script_info
({
msg
:
"PN analysis"
})
global
.
_ERRORMAG
=
"Error-PN analysis"
;
var
config
=
{
var
config
=
{
jobInfo
:
{
jobInfo
:
{
layer_count
:
[
"signal"
,
"power_ground"
],
// Board属性的signal或者power_ground层
layer_count
:
[
"signal"
,
"power_ground"
],
// Board属性的signal或者power_ground层
...
@@ -541,7 +550,12 @@ try {
...
@@ -541,7 +550,12 @@ try {
}
}
}
}
console
.
log
(
"=================================> 4 save job info"
)
console
.
log
(
"=================================> 4 save job info"
)
if
(
db_customer
==
"1352"
){
jobInfo
.
array_size_x
=
jobInfo
.
pcs_size_x
jobInfo
.
array_size_y
=
jobInfo
.
pcs_size_y
delete
jobInfo
.
pcs_size_x
delete
jobInfo
.
pcs_size_y
}
save_job_info
({
save_job_info
({
jobid
:
JobId
,
jobid
:
JobId
,
jobinfohash
:
jobInfo
jobinfohash
:
jobInfo
...
@@ -549,7 +563,9 @@ try {
...
@@ -549,7 +563,9 @@ try {
console
.
log
(
"=================================> 5 save drill info"
)
console
.
log
(
"=================================> 5 save drill info"
)
script_info
({
msg
:
"Error-Drill layer analysis"
})
script_info
({
msg
:
"Drill layer analysis"
})
global
.
_ERRORMAG
=
"Error-Drill layer analysis"
;
script_info
({
progress
:
75
})
script_info
({
progress
:
75
})
// * 获取pcs_step 和 array_step的钻孔信息
// * 获取pcs_step 和 array_step的钻孔信息
var
drill_tool_info
=
{};
var
drill_tool_info
=
{};
...
@@ -569,10 +585,11 @@ try {
...
@@ -569,10 +585,11 @@ try {
var
type
=
item
.
type
;
var
type
=
item
.
type
;
var
step
=
item
.
name
;
var
step
=
item
.
name
;
if
(
GEN
.
isStepExists
({
job
:
job
,
step
:
step
})){
if
(
GEN
.
isStepExists
({
job
:
job
,
step
:
step
})){
GEN
.
openStep
({
job
:
job
,
name
:
step
})
drillLayers
.
forEach
(
function
(
layer
){
drillLayers
.
forEach
(
function
(
layer
){
var
layer
=
layer
.
name
;
var
layer
=
layer
.
name
;
if
(
!
GEN
.
isLayerEmpty
({
job
:
job
,
step
:
step
,
layer
:
layer
})){
if
(
!
GEN
.
isLayerEmpty
({
job
:
job
,
step
:
step
,
layer
:
layer
})){
//
GEN.COM("tools_set,layer="+layer+",slots=by_length")
GEN
.
COM
(
"tools_set,layer="
+
layer
+
",slots=by_length"
)
var
tool
=
GEN
.
getTool
({
job
:
job
,
step
:
step
,
layer
:
layer
,
units
:
"mm"
});
// {"1":{"count":"01156","num":"1","type":"plated","min_tol":"0","max_tol":"0","finish_size":"100.31","drill_size":"100.31","slot_len":"0","type2":"standard","shape":"hole","bit":0}}
var
tool
=
GEN
.
getTool
({
job
:
job
,
step
:
step
,
layer
:
layer
,
units
:
"mm"
});
// {"1":{"count":"01156","num":"1","type":"plated","min_tol":"0","max_tol":"0","finish_size":"100.31","drill_size":"100.31","slot_len":"0","type2":"standard","shape":"hole","bit":0}}
if
(
!
drill_tool_info
[
layer
]){
if
(
!
drill_tool_info
[
layer
]){
drill_tool_info
[
layer
]
=
tool
;
drill_tool_info
[
layer
]
=
tool
;
...
@@ -605,6 +622,7 @@ try {
...
@@ -605,6 +622,7 @@ try {
}
}
}
}
})
})
GEN
.
closeStep
()
}
}
})
})
...
@@ -674,7 +692,9 @@ try {
...
@@ -674,7 +692,9 @@ try {
})
})
console
.
log
(
"=============================> 6 set smd bga"
)
console
.
log
(
"=============================> 6 set smd bga"
)
script_info
({
msg
:
"Error-SMD&BGA analysis"
})
script_info
({
msg
:
"SMD&BGA analysis"
})
global
.
_ERRORMAG
=
"Error-SMD&BGA analysis"
;
script_info
({
progress
:
80
});
script_info
({
progress
:
80
});
step_list
.
forEach
(
function
(
step
){
step_list
.
forEach
(
function
(
step
){
GEN
.
openStep
({
job
:
job
,
name
:
step
})
GEN
.
openStep
({
job
:
job
,
name
:
step
})
...
@@ -734,7 +754,9 @@ try {
...
@@ -734,7 +754,9 @@ try {
if
(
oping_layer
){
if
(
oping_layer
){
GEN
.
COM
(
"filter_atr_set,filter_name=popup,condition=yes,attribute=.smd"
)
GEN
.
COM
(
"filter_atr_set,filter_name=popup,condition=yes,attribute=.smd"
)
GEN
.
COM
(
"sel_ref_feat,layers="
+
oping_layer
+
",use=filter,mode=disjoint,pads_as=shape,f_types=line
\
;pad
\
;surface
\
;arc
\
;text,polarity=positive
\
;negative,include_syms=,exclude_syms="
)
GEN
.
COM
(
"sel_ref_feat,layers="
+
oping_layer
+
",use=filter,mode=disjoint,pads_as=shape,f_types=line
\
;pad
\
;surface
\
;arc
\
;text,polarity=positive
\
;negative,include_syms=,exclude_syms="
)
GEN
.
COM
(
"COM filter_reset,filter_name=popup"
)
if
(
GEN
.
getSelectCount
()
>
0
){
GEN
.
COM
(
"sel_delete_atr,attributes=.smd"
)
}
}
}
})
})
GEN
.
closeStep
()
GEN
.
closeStep
()
...
@@ -775,7 +797,6 @@ try {
...
@@ -775,7 +797,6 @@ try {
var
signalLayers
=
analysis_obj
.
matrixInfo
.
mSignals
.
map
(
function
(
v
){
return
v
.
name
})
var
signalLayers
=
analysis_obj
.
matrixInfo
.
mSignals
.
map
(
function
(
v
){
return
v
.
name
})
var
drillLayers
=
analysis_obj
.
matrixInfo
.
mDrills
.
map
(
function
(
v
){
return
v
.
name
})
var
drillLayers
=
analysis_obj
.
matrixInfo
.
mDrills
.
map
(
function
(
v
){
return
v
.
name
})
console
.
log
(
"=============================> 13 save copperArea copper_distribution"
)
console
.
log
(
"=============================> 13 save copperArea copper_distribution"
)
var
copper_distribution_steplist
=
[
pcs_step
,
array_step
];
var
copper_distribution_steplist
=
[
pcs_step
,
array_step
];
copper_distribution_steplist
.
forEach
(
function
(
step
){
copper_distribution_steplist
.
forEach
(
function
(
step
){
...
@@ -838,7 +859,9 @@ try {
...
@@ -838,7 +859,9 @@ try {
// jobpath = "/home/local_db/server_db/jobs/"+job
// jobpath = "/home/local_db/server_db/jobs/"+job
// }
// }
// mkPath(jobpath,["user","opcam","steps"])
// mkPath(jobpath,["user","opcam","steps"])
script_info
({
msg
:
"Error-Signal layer analysis"
})
script_info
({
msg
:
"Signal layer analysis"
})
global
.
_ERRORMAG
=
"Error-Signal layer analysis"
;
script_info
({
progress
:
85
})
script_info
({
progress
:
85
})
stepList
.
forEach
(
function
(
step
){
stepList
.
forEach
(
function
(
step
){
GEN
.
openStep
({
job
:
job
,
name
:
step
})
GEN
.
openStep
({
job
:
job
,
name
:
step
})
...
@@ -996,7 +1019,9 @@ try {
...
@@ -996,7 +1019,9 @@ try {
// layers: signalLayers,
// layers: signalLayers,
// items: [tmpitem]
// items: [tmpitem]
// })
// })
script_info
({
msg
:
"Error-Run Checklist"
,
result_severity
:
"ok"
})
script_info
({
msg
:
"Run Checklist"
,
result_severity
:
"ok"
})
global
.
_ERRORMAG
=
"Error-Run Checklist"
;
// if (GEN.isChklistExists({ job: job, step: step, chklist: oChecklistName })) {
// if (GEN.isChklistExists({ job: job, step: step, chklist: oChecklistName })) {
// GEN.COM("chklist_delete", { chklist: oChecklistName })
// GEN.COM("chklist_delete", { chklist: oChecklistName })
// }
// }
...
@@ -1044,6 +1069,7 @@ try {
...
@@ -1044,6 +1069,7 @@ try {
GEN
.
closeStep
()
GEN
.
closeStep
()
})
})
// mvOutProfile({job:job, step:pcs_step})
// mvOutProfile({job:job, step:pcs_step})
global
.
_ERRORMAG
=
false
;
// 保存
// 保存
if
(
/yes/ig
.
test
(
par
.
auto_save
)){
if
(
/yes/ig
.
test
(
par
.
auto_save
)){
...
@@ -1093,10 +1119,10 @@ try {
...
@@ -1093,10 +1119,10 @@ try {
// }
// }
// 邮件触发
// 邮件触发
//
sendEmail({
sendEmail
({
//
subject:db_customer + ' / '+job+' reading is ready!',
subject
:
db_customer
+
' / '
+
job
+
' reading is ready!'
,
//
content: db_customer + ' / '+job+' reading is ready!'
content
:
db_customer
+
' / '
+
job
+
' reading is ready!'
//
})
})
if
(
mode
===
"aimdfm"
)
{
if
(
mode
===
"aimdfm"
)
{
$
.
QDfm
.
updateRow
({
$
.
QDfm
.
updateRow
({
...
@@ -1506,6 +1532,49 @@ function analysis(props){
...
@@ -1506,6 +1532,49 @@ function analysis(props){
return
res
.
length
return
res
.
length
}
}
T_m_p
.
prototype
.
analysis_vc_card_size
=
function
(
props
){
// card短边尺寸 string
T_m_p
.
prototype
.
analysis_vc_card_size
=
function
(
props
){
// card短边尺寸 string
if
(
db_customer
==
"1352"
){
var
signals
=
this
.
matrixInfo
.
mSignals
.
map
(
function
(
v
){
return
v
.
name
})
GEN
.
openStep
({
job
:
this
.
job
,
name
:
this
.
pcs_step
})
GEN
.
selClearFeature
()
GEN
.
affectedLayer
({
affected
:
'yes'
,
layer
:
signals
,
clear_before
:
'yes'
})
GEN
.
selectByFilter
({
profile
:
"in"
});
if
(
GEN
.
getSelectCount
()
>
0
){
if
(
GEN
.
isLayerExists
({
job
:
this
.
job
,
layer
:
"_signals"
})){
GEN
.
deleteLayer
({
job
:
this
.
job
,
layer
:[
"_signals"
]})}
GEN
.
selCopyOther
({
dest
:
'layer_name'
,
target_layer
:
'_signals'
,
invert
:
'no'
,
dx
:
0
,
dy
:
0
,
size
:
0
})
var
tmp
=
GEN
.
getLayerLimits
({
job
:
this
.
job
,
step
:
this
.
pcs_step
,
layer
:
'_signals'
,
units
:
'mm'
})
var
size1
=
Number
(
tmp
.
xsize
);
var
size2
=
Number
(
tmp
.
ysize
);
if
(
size1
>
size2
){
var
tmpsize
=
size2
size2
=
size1
size1
=
tmpsize
}
var
tmp_width
=
0
;
// 获取边线宽度
if
(
GEN
.
isLayerExists
({
job
:
this
.
job
,
layer
:
"tmp2"
})){
GEN
.
deleteLayer
({
job
:
this
.
job
,
layer
:[
"tmp2"
]})}
GEN
.
COM
(
"profile_to_rout,layer=tmp2,width=1"
)
// 看_signals是否有跟tmp2碰到
GEN
.
workLayer
({
name
:
"_signals"
,
display_number
:
2
,
clear_before
:
'yes'
})
GEN
.
COM
(
"filter_reset,filter_name=popup"
)
GEN
.
COM
(
"filter_set,filter_name=popup,update_popup=no,feat_types=line"
)
GEN
.
COM
(
"sel_ref_feat,layers=tmp2,use=filter,mode=touch,pads_as=shape,f_types=line
\
;pad
\
;surface
\
;arc
\
;text,polarity=positive
\
;negative,include_syms=,exclude_syms="
)
if
(
GEN
.
getSelectCount
()
>
0
)
{
// 获取选择东西的 symbol
var
feats
=
GEN
.
getFeatures
({
job
:
this
.
job
,
step
:
this
.
pcs_step
,
layer
:
"_signals"
,
options
:
"select"
,
units
:
"mm"
});
GEN
.
selClearFeature
()
var
minSyms
=
feats
.
map
(
function
(
v
){
return
(
v
.
symbol
.
slice
(
1
)
-
0
)})
minSyms
.
sort
();
tmp_width
=
minSyms
[
0
]
/
1000
}
if
(
props
==
"xsize"
){
return
(
size1
-
tmp_width
).
toFixed
(
2
)
//
}
if
(
props
==
"ysize"
){
return
(
size2
-
tmp_width
).
toFixed
(
2
)
//
}
}
GEN
.
closeStep
()
}
return
GEN
.
getProfileLimits
({
job
:
this
.
job
,
step
:
this
.
pcs_step
,
units
:
"mm"
})[
props
].
toFixed
(
2
)
return
GEN
.
getProfileLimits
({
job
:
this
.
job
,
step
:
this
.
pcs_step
,
units
:
"mm"
})[
props
].
toFixed
(
2
)
}
}
T_m_p
.
prototype
.
analysis_vc_array_size
=
function
(
props
){
// array长边尺寸 string
T_m_p
.
prototype
.
analysis_vc_array_size
=
function
(
props
){
// array长边尺寸 string
...
...
This diff is collapsed.
Click to expand it.
ats/topcam/ATS_AIM_data_format.js
View file @
c52da11a
...
@@ -103,6 +103,7 @@ try {
...
@@ -103,6 +103,7 @@ try {
throw
cam_workflow_info
throw
cam_workflow_info
}
}
script_info
({
msg
:
"Data formatting"
,
result_severity
:
"info"
})
script_info
({
msg
:
"Data formatting"
,
result_severity
:
"info"
})
global
.
_ERRORMAG
=
"Failed to data format"
;
script_info
({
progress
:
35
})
script_info
({
progress
:
35
})
var
par
=
PAR
;
var
par
=
PAR
;
if
(
!
par
.
hasOwnProperty
(
"config_path"
)
||
par
.
config_path
==
""
){
if
(
!
par
.
hasOwnProperty
(
"config_path"
)
||
par
.
config_path
==
""
){
...
@@ -132,17 +133,19 @@ try {
...
@@ -132,17 +133,19 @@ try {
var
config
=
eval
(
cfg
)
var
config
=
eval
(
cfg
)
var
job
=
Job
;
var
job
=
Job
;
if
(
_
.
isEmpty
(
job
))
throw
"没有传入料号名!"
;
if
(
_
.
isEmpty
(
job
))
throw
"没有传入料号名!"
;
job
=
job
.
toLowerCase
()
job
=
job
.
toLowerCase
()
;
var
custCfg
=
config
.
customer
[
par
.
customer
]
// 获取客户配置
var
custCfg
=
config
.
customer
[
par
.
customer
]
;
// 获取客户配置
if
(
!
custCfg
){
throw
"config error"
}
if
(
!
custCfg
){
throw
"config error"
}
// 料号验证
// 料号验证
if
(
!
GEN
.
isJobExists
({
job
:
job
})){
if
(
!
GEN
.
isJobExists
({
job
:
job
})){
script_info
({
msg
:
"No PN was found in system"
,
result_severity
:
"error"
})
script_info
({
msg
:
"Find PN in system"
,
result_severity
:
"error"
})
global
.
_ERRORMAG
=
"No PN was found in system"
;
throw
"job "
+
job
+
" is not exist"
}
throw
"job "
+
job
+
" is not exist"
}
if
(
!
GEN
.
isJobOpen
({
job
:
job
})){
GEN
.
openJob
({
job
:
job
})}
if
(
!
GEN
.
isJobOpen
({
job
:
job
})){
GEN
.
openJob
({
job
:
job
})}
if
(
GEN
.
checkInout
({
job
:
job
,
mode
:
"test"
})
!=
0
&&
mode
==
"aimdfm"
){
if
(
GEN
.
checkInout
({
job
:
job
,
mode
:
"test"
})
!=
0
&&
mode
==
"aimdfm"
){
script_info
({
msg
:
"PN is not checkin"
,
result_severity
:
"error"
})
script_info
({
msg
:
"PN Checkin"
,
result_severity
:
"error"
})
global
.
_ERRORMAG
=
"PN is not checkin"
;
throw
"the job check"
}
throw
"the job check"
}
console
.
log
(
"Checkout====== ========================>"
)
console
.
log
(
"Checkout====== ========================>"
)
GEN
.
checkInout
({
job
:
job
,
mode
:
"out"
});
GEN
.
checkInout
({
job
:
job
,
mode
:
"out"
});
...
@@ -264,7 +267,8 @@ try {
...
@@ -264,7 +267,8 @@ try {
var
after_sort_matrix
=
ret
.
sortNames
var
after_sort_matrix
=
ret
.
sortNames
// 改名
// 改名
script_info
({
msg
:
"Failed to change name(Name clashes)"
,
result_severity
:
"info"
})
script_info
({
msg
:
"Change the name"
,
result_severity
:
"info"
})
global
.
_ERRORMAG
=
"Failed to change name"
;
script_info
({
progress
:
50
})
script_info
({
progress
:
50
})
err
=
reName
({
job
:
job
,
matrix
:
after_sort_matrix
,
cfg
:
format_cfg
})
err
=
reName
({
job
:
job
,
matrix
:
after_sort_matrix
,
cfg
:
format_cfg
})
if
(
err
){
throw
err
}
if
(
err
){
throw
err
}
...
@@ -392,6 +396,8 @@ try {
...
@@ -392,6 +396,8 @@ try {
GEN
.
COM
(
"open_job,job="
+
job
);
GEN
.
COM
(
"open_job,job="
+
job
);
script_info
({
msg
:
"Creating Profile"
,
result_severity
:
"info"
})
script_info
({
msg
:
"Creating Profile"
,
result_severity
:
"info"
})
global
.
_ERRORMAG
=
"Failed to create profile"
;
script_info
({
progress
:
55
})
script_info
({
progress
:
55
})
var
all_layer
=
Object
.
keys
(
tmp_matrix
);
var
all_layer
=
Object
.
keys
(
tmp_matrix
);
// 没有outline层
// 没有outline层
...
@@ -523,6 +529,8 @@ try {
...
@@ -523,6 +529,8 @@ try {
var
hasProfile
=
GEN
.
getProfile
({
job
:
job
,
step
:
tmp_step
})
var
hasProfile
=
GEN
.
getProfile
({
job
:
job
,
step
:
tmp_step
})
if
(
hasProfile
.
match
(
/
\n
/ig
).
length
==
1
){
if
(
hasProfile
.
match
(
/
\n
/ig
).
length
==
1
){
script_info
({
msg
:
"Failed to create profile"
,
result_severity
:
"warn"
})
script_info
({
msg
:
"Failed to create profile"
,
result_severity
:
"warn"
})
global
.
_ERRORMAG
=
"Failed to create profile"
;
job_attrs
.
readin_result
=
"Failed to create profile"
job_attrs
.
readin_result
=
"Failed to create profile"
db
.
query
(
""
,
function
(
q
){
db
.
query
(
""
,
function
(
q
){
return
q
.
updateRow
({
return
q
.
updateRow
({
...
@@ -538,6 +546,7 @@ try {
...
@@ -538,6 +546,7 @@ try {
script_info
({
msg
:
"Data format is done"
,
result_severity
:
"warn"
})
script_info
({
msg
:
"Data format is done"
,
result_severity
:
"warn"
})
global
.
_ERRORMAG
=
false
;
db
.
query
(
""
,
function
(
q
){
db
.
query
(
""
,
function
(
q
){
return
q
.
updateRow
({
return
q
.
updateRow
({
...
@@ -554,7 +563,6 @@ try {
...
@@ -554,7 +563,6 @@ try {
GEN
.
checkInout
({
job
:
job
,
mode
:
"in"
})
GEN
.
checkInout
({
job
:
job
,
mode
:
"in"
})
GEN
.
closeJob
({
job
:
job
})
GEN
.
closeJob
({
job
:
job
})
if
(
mode
===
"aimdfm"
)
{
if
(
mode
===
"aimdfm"
)
{
$
.
QDfm
.
updateRow
({
$
.
QDfm
.
updateRow
({
table
:
"pdm_aimdfm_task"
,
table
:
"pdm_aimdfm_task"
,
...
...
This diff is collapsed.
Click to expand it.
ats/topcam/ATS_AIM_data_input.js
View file @
c52da11a
...
@@ -229,6 +229,8 @@ try {
...
@@ -229,6 +229,8 @@ try {
script_info
({
progress
:
10
})
script_info
({
progress
:
10
})
if
(
/odb/ig
.
test
(
jobInfo
.
type
)){
// odb导入
if
(
/odb/ig
.
test
(
jobInfo
.
type
)){
// odb导入
script_info
({
msg
:
"Import odb++"
,
result_severity
:
"error"
});
global
.
_ERRORMAG
=
"Fail to import odb++"
;
if
(
jobInfo
.
data
.
length
==
1
){
// 只分析到一个tgz文件 直接导入
if
(
jobInfo
.
data
.
length
==
1
){
// 只分析到一个tgz文件 直接导入
IKM
.
msg
(
"只分析到一个tgz文件 直接导入"
)
IKM
.
msg
(
"只分析到一个tgz文件 直接导入"
)
import_info
.
push
({
name
:
jobInfo
.
data
[
0
].
file
.
name
,
type
:
"odb++"
,
date
:
now
(),
user
:
$
.
user_name
})
import_info
.
push
({
name
:
jobInfo
.
data
[
0
].
file
.
name
,
type
:
"odb++"
,
date
:
now
(),
user
:
$
.
user_name
})
...
@@ -301,6 +303,8 @@ try {
...
@@ -301,6 +303,8 @@ try {
}
}
if
(
/gerber/ig
.
test
(
jobInfo
.
type
)){
// gerber导入
if
(
/gerber/ig
.
test
(
jobInfo
.
type
)){
// gerber导入
script_info
({
msg
:
"Import gerber"
,
result_severity
:
"error"
});
global
.
_ERRORMAG
=
"Fail to import gerber"
;
GEN
.
createJob
({
name
:
job
,
db
:
custCfg
.
db
})
GEN
.
createJob
({
name
:
job
,
db
:
custCfg
.
db
})
GEN
.
createStep
({
job
:
job
,
name
:
step
})
GEN
.
createStep
({
job
:
job
,
name
:
step
})
var
gerberInfo
=
jobInfo
.
data
.
map
(
function
(
item
){
var
gerberInfo
=
jobInfo
.
data
.
map
(
function
(
item
){
...
@@ -338,6 +342,7 @@ try {
...
@@ -338,6 +342,7 @@ try {
}
}
if
(
!
importOk
){
throw
"import error"
}
if
(
!
importOk
){
throw
"import error"
}
script_info
({
progress
:
20
})
script_info
({
progress
:
20
})
global
.
_ERRORMAG
=
null
;
reNameStep
(
job
)
reNameStep
(
job
)
if
(
/2171/
.
test
(
par
.
customer
)){
if
(
/2171/
.
test
(
par
.
customer
)){
// var matrix = GEN.getMatrix({job:job});
// var matrix = GEN.getMatrix({job:job});
...
@@ -607,7 +612,7 @@ function decompression(path, zips) {
...
@@ -607,7 +612,7 @@ function decompression(path, zips) {
function
changePath
(
path
)
{
function
changePath
(
path
)
{
return
path
.
replace
(
/
[^/]
+
\/
/ig
,
function
(
v
){
return
path
.
replace
(
/
[^/]
+
\/
/ig
,
function
(
v
){
if
(
v
.
length
>=
10
&&
/
\s
/ig
.
test
(
v
))
{
if
(
v
.
length
>=
10
&&
/
\s
/ig
.
test
(
v
))
{
v
=
v
.
replace
(
" "
,
""
)
v
=
v
.
replace
(
" "
,
"
\\
"
)
return
v
.
slice
(
0
,
6
)
+
"~1/"
return
v
.
slice
(
0
,
6
)
+
"~1/"
}
else
{
}
else
{
return
v
return
v
...
@@ -618,9 +623,9 @@ function changePath(path) {
...
@@ -618,9 +623,9 @@ function changePath(path) {
function
autoUn
(
path
,
dirname
)
{
function
autoUn
(
path
,
dirname
)
{
if
(
/
\.
rar$/
.
test
(
path
)){
if
(
/
\.
rar$/
.
test
(
path
)){
fs
.
mkdir
(
dirname
)
fs
.
mkdir
(
dirname
)
process
.
exec
(
'unrar'
,
[
'x'
,
path
,
dirname
,
"-o+"
])
process
.
exec
(
'
/opt/rar/
unrar'
,
[
'x'
,
path
,
dirname
,
"-o+"
])
}
else
{
}
else
{
process
.
exec
(
'7za'
,
[
'x'
,
path
,
"-o"
+
dirname
,
"-aoa"
])
process
.
exec
(
'
/usr/local/lib/p7zip/
7za'
,
[
'x'
,
path
,
"-o"
+
dirname
,
"-aoa"
])
}
}
}
}
...
...
This diff is collapsed.
Click to expand it.
ats/topcam/config_ats.js
View file @
c52da11a
...
@@ -608,7 +608,7 @@
...
@@ -608,7 +608,7 @@
{
"orig_name"
:
[
"^(?:(?!assy|enig|pm|past|ss|silk|sm|soldermask).)+_top
\
.art$"
,
"^top$"
,
"^top.art$"
],
"tl_name"
:
"top"
},
{
"orig_name"
:
[
"^(?:(?!assy|enig|pm|past|ss|silk|sm|soldermask).)+_top
\
.art$"
,
"^top$"
,
"^top.art$"
],
"tl_name"
:
"top"
},
{
"orig_name"
:
[
"^(?:(?!assy|enig|pm|past|ss|silk|sm|soldermask).)+_bottom
\
.art$"
,
"^bot
\\
.art$"
,
"^bottom$"
,
"^bottom
\\
.art$"
],
"tl_name"
:
"bottom"
},
{
"orig_name"
:
[
"^(?:(?!assy|enig|pm|past|ss|silk|sm|soldermask).)+_bottom
\
.art$"
,
"^bot
\\
.art$"
,
"^bottom$"
,
"^bottom
\\
.art$"
],
"tl_name"
:
"bottom"
},
{
"orig_name"
:
[
"int(
\\
d+)
\\
.art"
],
"tl_name"
:
"l_($1+1)"
},
{
"orig_name"
:
[
"int(
\\
d+)
\\
.art"
],
"tl_name"
:
"l_($1+1)"
},
{
"orig_name"
:
[
"l(
\\
d+).*
\\
.gbr$"
,
"^0?(
\\
d+)[
\\
D].*
\\
.art$"
,
"
\\
.p(
\\
d+)p?$"
,
"
\\
.l(
\\
d+)$"
,
"^l(
\\
d+).*
\\
.art$"
,
"^l(
\\
d+)
\\
.art$"
,
"^0(
\\
d+).*ccp_ms"
,
"^s(
\\
d+)
\\
.art"
,
"laye?r?(
\\
d+)"
,
"layer_(
\\
d+)"
],
"tl_name"
:
"l_($1)"
},
{
"orig_name"
:
[
"
^lay(
\\
d+)
\\
.art$|
l(
\\
d+).*
\\
.gbr$"
,
"^0?(
\\
d+)[
\\
D].*
\\
.art$"
,
"
\\
.p(
\\
d+)p?$"
,
"
\\
.l(
\\
d+)$"
,
"^l(
\\
d+).*
\\
.art$"
,
"^l(
\\
d+)
\\
.art$"
,
"^0(
\\
d+).*ccp_ms"
,
"^s(
\\
d+)
\\
.art"
,
"laye?r?(
\\
d+)"
,
"layer_(
\\
d+)"
],
"tl_name"
:
"l_($1)"
},
{
"orig_name"
:
[
"(
\\
d+)-(
\\
d+)-((?:(?!laser)[a-zA-Z])+)
\\
.drl$"
,
"
\\
.d(
\\
d+)-(
\\
d+)((?:(?!laser)[a-zA-Z])+)$"
],
"tl_name"
:
"d($1)-($2)-($3)"
},
{
"orig_name"
:
[
"(
\\
d+)-(
\\
d+)-((?:(?!laser)[a-zA-Z])+)
\\
.drl$"
,
"
\\
.d(
\\
d+)-(
\\
d+)((?:(?!laser)[a-zA-Z])+)$"
],
"tl_name"
:
"d($1)-($2)-($3)"
},
{
"orig_name"
:
[
"
\\
.ncd(
\\
d)-(
\\
d)$"
,
"
\\
.d(
\\
d+)-(
\\
d+)$"
,
"-(
\\
d+)-(
\\
d+)
\\
.drl$"
,
"(
\\
d+)-(
\\
d+)-laser
\\
.drl$"
,
"d(
\\
d+)-(
\\
d+)"
],
"tl_name"
:
"d_($1)-($2)"
},
{
"orig_name"
:
[
"
\\
.ncd(
\\
d)-(
\\
d)$"
,
"
\\
.d(
\\
d+)-(
\\
d+)$"
,
"-(
\\
d+)-(
\\
d+)
\\
.drl$"
,
"(
\\
d+)-(
\\
d+)-laser
\\
.drl$"
,
"d(
\\
d+)-(
\\
d+)"
],
"tl_name"
:
"d_($1)-($2)"
},
{
"orig_name"
:
[
"
\\
.ncdthru$"
],
"tl_name"
:
"drill"
},
{
"orig_name"
:
[
"
\\
.ncdthru$"
],
"tl_name"
:
"drill"
},
...
...
This diff is collapsed.
Click to expand it.
public_script/scotttest.js
View file @
c52da11a
This diff is collapsed.
Click to expand it.
template.js
View file @
c52da11a
...
@@ -78,28 +78,30 @@ for(var key in default_par){ if (!par.hasOwnProperty(key) || par[key] == ""){ pa
...
@@ -78,28 +78,30 @@ for(var key in default_par){ if (!par.hasOwnProperty(key) || par[key] == ""){ pa
var
job
=
Job
;
var
job
=
Job
;
try
{
try
{
if
(
_
.
isEmpty
(
job
)){
throw
"参数job不存在"
}
else
{
job
=
job
.
toLowerCase
()
}
if
(
_
.
isEmpty
(
job
)){
throw
"参数job不存在"
}
else
{
job
=
job
.
toLowerCase
()
}
if
(
!
GEN
.
isJobExists
({
job
:
job
})){
throw
"料号"
+
job
+
"不存在"
}
// if(!GEN.isJobExists({job:job})){throw "料号"+job+"不存在"}
if
(
!
GEN
.
isJobOpen
({
job
:
job
})){
GEN
.
openJob
({
job
:
job
})
}
// if(!GEN.isJobOpen({job:job})){ GEN.openJob({job:job}) }
if
(
mode
==
"aimdfm"
){
if
(
GEN
.
checkInout
({
job
:
job
,
mode
:
"test"
})
!=
0
){
throw
"the job check"
}
else
{
GEN
.
checkInout
({
job
:
job
,
mode
:
"out"
})
}
}
// if(mode == "aimdfm"){ if(GEN.checkInout({job:job,mode:"test"}) != 0){ throw "the job check" } else { GEN.checkInout({job:job,mode:"out"}) } }
var
stepList
=
GEN
.
getStepList
({
job
:
job
})
stepList
=
stepList
.
filter
(
function
(
step
){
// var stepList = GEN.getStepList({job:job})
var
reg
=
new
RegExp
(
par
.
step
,
"ig"
)
// stepList = stepList.filter(function(step){
return
reg
.
test
(
step
)
// var reg = new RegExp(par.step,"ig")
})
// process.exec('7za', ['x' ,"/tmp/topcamtest/custom0.zip", "-o/tmp/topcamtest/custom0", "-aoa"])
stepList
.
forEach
(
function
(
step
){
// return reg.test(step)
GEN
.
openStep
({
job
:
job
,
name
:
step
})
// })
process
.
exec
(
'/usr/local/lib/p7zip/7za'
,
[
'x'
,
"/tmp/tmp/custom0.zip"
,
"-o/tmp/tmp/custom0"
,
"-aoa"
])
// /usr/local/lib/p7zip/7za x /tmp/topcamtest/custom0.zip -o/tmp/topcamtest/custom0 -aoa
// /usr/bin/sudo -u genesis -b -s /usr/bin/id -un > /tmp/topcamtest/test.txt
// mkdir /tmp/test
// exportInfo(ret)
// /usr/bin/sudo -u genesis -b -s /usr/local/lib/p7zip/7za x /tmp/topcamtest/custom0.zip -o/tmp/topcamtest/custom0 -aoa
// sudo -u genesis -b -s /bin/csh -c "setenv DISPLAY ':0.0';cd /opt/toplinker/aimdfmserver/bin;./aimdfmserver > /dev/null"
// stepList.forEach(function(step){
// GEN.openStep({job:job,name:step});
// GEN.COM("tools_set,layer=ftdrill,slots=by_length")
// var tool = GEN.getTool({job:job,step:step,layer:"ftdrill",units:"mm"},true); // {"1":{"count":"01156","num":"1","type":"plated","min_tol":"0","max_tol":"0","finish_size":"100.31","drill_size":"100.31","slot_len":"0","type2":"standard","shape":"hole","bit":0}}
// var tool = GEN.getTool({job:job,step:step,layer:"ftdrill",units:"mm"},true); // {"1":{"count":"01156","num":"1","type":"plated","min_tol":"0","max_tol":"0","finish_size":"100.31","drill_size":"100.31","slot_len":"0","type2":"standard","shape":"hole","bit":0}}
// fs.writeFile("/home/toplinker/samba/scott_test/tmp", _.toString(tool))
// fs.writeFile("/home/toplinker/samba/scott_test/tmp", _.toString(tool))
// })
})
// 保存
// 保存
if
(
/yes/ig
.
test
(
par
.
auto_save
)){
GEN
.
checkInout
({
job
:
job
,
mode
:
"out"
});
GEN
.
saveJob
({
job
:
job
});
GEN
.
checkInout
({
job
:
job
,
mode
:
"in"
});
GEN
.
closeJob
({
job
:
job
});}
else
{
GEN
.
checkInout
({
job
:
job
,
mode
:
"in"
})}
if
(
/yes/ig
.
test
(
par
.
auto_save
)){
GEN
.
checkInout
({
job
:
job
,
mode
:
"out"
});
GEN
.
saveJob
({
job
:
job
});
GEN
.
checkInout
({
job
:
job
,
mode
:
"in"
});
GEN
.
closeJob
({
job
:
job
});}
else
{
GEN
.
checkInout
({
job
:
job
,
mode
:
"in"
})}
if
(
mode
===
"aimdfm"
)
{
if
(
mode
===
"aimdfm"
)
{
...
@@ -113,3 +115,7 @@ try {
...
@@ -113,3 +115,7 @@ try {
resultData
.
push
({
type
:
"error"
,
title
:
"脚本执行出错!"
,
detail
:
[{
desc
:
_
.
toString
(
e
)}]});
resultData
.
push
({
type
:
"error"
,
title
:
"脚本执行出错!"
,
detail
:
[{
desc
:
_
.
toString
(
e
)}]});
return
(
mode
===
"aimdfm"
)
?
{
status
:
Status
,
result_data
:
resultData
}
:
"Error"
;
return
(
mode
===
"aimdfm"
)
?
{
status
:
Status
,
result_data
:
resultData
}
:
"Error"
;
}
}
function
exportInfo
(
info
){
fs
.
writeFile
(
"/home/toplinker/samba/scott_test/tmp"
,
_
.
toString
(
info
))
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
test/mytest.js
View file @
c52da11a
...
@@ -11,9 +11,6 @@ var JobId = $.job_id;
...
@@ -11,9 +11,6 @@ var JobId = $.job_id;
try
{
try
{
var
_matrix
=
GEN
.
getMatrix
({
job
:
job
})
var
_matrix
=
GEN
.
getMatrix
({
job
:
job
})
var
_layers
=
Object
.
keys
(
_matrix
)
var
_layers
=
Object
.
keys
(
_matrix
)
var
specialLayers
=
_layers
.
filter
(
function
(
v
){
return
/^gnd
\d?\\
.art$|^in
\d?\\
.art$|^vcc
\\
.art$/
.
test
(
v
)})
var
specialLayers
=
_layers
.
filter
(
function
(
v
){
return
/^gnd
\d?\\
.art$|^in
\d?\\
.art$|^vcc
\\
.art$/
.
test
(
v
)})
...
...
This diff is collapsed.
Click to expand it.
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