PCB论坛网

 找回密码
 注册
查看: 874|回复: 0

求教:UNIX下可以运行的script在windows下不能运行!

[复制链接]
发表于 2005-12-30 14:09:48 | 显示全部楼层 |阅读模式

求教:UNIX下可以运行的script在windows下不能运行,请大师指点,谢谢!

#half_pnlxreg_x1pin1
#fill_paramsbkflatten_layer,source_layer=1stmode=all,
# Script name : plato_drill
# Purpose : To add tooling hole at panel edge
# Written by : John King - Valor F.E
# Change by :Chaifangqiang-plato 1998.11.25
# Date : 09/12/1998
##########################################################
# - All tooling holes assume to be non-plated
##########################################################

##########################################################
#Define GUI
##########################################################

source $GENESIS_DIR/sys/scripts/plato/common.cshrc
alias COMPARE 'echo "if(\!:*) 1;" | bc'
COM units,type=mm

#
# Pre-define GUI color
######################

set aquamarine = 409983
set pink = 997580
set tan = 827155
set gold = 998400
set light_blue = 688590
set grey = 757575
set yellow = 999900
set black = 000000
set create_new_step = no

#
# Check if script not run within a Job
#####################################

if (! $?JOB) then
PAUSE Error - Script should be run in (PANEL) STEP , EXIT ...
exit 0
endif

#
# Check if script not run within a step
#######################################

if (! $?STEP) then
PAUSE Error - Script should be run in (PANEL) STEP , EXIT ...
exit 0
endif


#
# Check MATRIX information
##########################

DO_INFO -t matrix -e $JOB/matrix -d ROW
set matrix_counter = 0
set L_NUM = 0
set INN_LAYERS = ( )
set INN_LAYERS_POL = ( )
set OUT_LAYERS = ( )
set OUT_LAYERS_POL = ( )
set SM_LAYERS = ( )
set SS_LAYERS = ( )
set DRL_LAYERS = ( )
set outer_layer_no = ( )
while ( $matrix_counter <= $#gROWcontext )
switch ($gROWcontext[$matrix_counter])
case empty:
case misc:
@ matrix_counter++
continue
default:
switch ($gROWlayer_type[$matrix_counter])
case signal:
case power_ground:
case mixed:
if ($gROWside[$matrix_counter] == "top" || $gROWside[$matrix_counter] == "bottom") then
set OUT_LAYERS = ( $OUT_LAYERS $gROWname[$matrix_counter] )
set OUT_LAYERS_POL = ( $OUT_LAYERS_POL $gROWpolarity[$matrix_counter] )
else
set INN_LAYERS = ( $INN_LAYERS $gROWname[$matrix_counter] )
set INN_LAYERS_POL = ( $INN_LAYERS_POL $gROWpolarity[$matrix_counter] )
endif
@ L_NUM++
if ($gROWside[$matrix_counter] == "top" || $gROWside[$matrix_counter] == "bottom") then
set outer_layer_no = ($outer_layer_no $L_NUM)
endif
breaksw
case solder_mask:
set SM_LAYERS = ( $SM_LAYERS $gROWname[$matrix_counter] )
breaksw
case silk_screen:
set SS_LAYERS = ( $SS_LAYERS $gROWname[$matrix_counter] )
breaksw
case drill:
if ($gROWname[$matrix_counter] == "indrl") then
COM delete_layer,layer=indrl
else
set DRL_LAYERS = ( $DRL_LAYERS $gROWname[$matrix_counter] )
endif
breaksw
endsw
endsw
@ matrix_counter++
end

if ($L_NUM < 2 ) then
PAUSE Error - Problem on MATRIX information , EXIT ...
exit 0
endif

if ($#DRL_LAYERS == 0 ) then
PAUSE Error - Missing Drill definition in MATRIX , EXIT ...
exit 0
endif

#
# Open editor window
#####################

COM open_entity,job=$JOB,type=step,name=$STEP
set group = $COMANS
AUX set_group,group=$group
set pn1 = `echo $JOB | tr "[a-z]" "[A-Z]" | cut -c1-4`
set pn2 = `echo $JOB | tr "[a-z]" "[A-Z]" | cut -c5-`
set opr = ""
set pnl_x = "" ; set pnl_y = ""
set x_dis=""

#
# Test if SR exist and get panel size and SR size automatically
################################################################

DO_INFO -t step -e $JOB/$STEP -d SR_LIMITS
DO_INFO -t step -e $JOB/$STEP -d PROF_LIMITS
#gPROF_LIMITSxmin,gPROF_LIMITSymin,gPROF_LIMITSxmax,gPROF_LIMITSymax(Panel size)
#gSR_LIMITSxmin,gSR_LIMITSymin,gSR_LIMITSxmax ,gSR_LIMITSymax (SR size)

set sr_x = `echo "scale=6;$gSR_LIMITSxmax - $gSR_LIMITSxmin" | bc`
set sr_y = `echo "scale=6;$gSR_LIMITSymax - $gSR_LIMITSymin" | bc`
set pnl_x = `echo "scale=6;$gPROF_LIMITSxmax - $gPROF_LIMITSxmin" | bc`
set pnl_y = `echo "scale=6;$gPROF_LIMITSymax - $gPROF_LIMITSymin" | bc`

if ($sr_x == 0 || $sr_y == 0) then
PAUSE - Error No Step and Repeat data found in STEP $STEP, abort ...
exit 0
endif


set first_name = ''
set second_name = ''
set third_name = ''
set fourth_name = ''
set fifth_name = ''
set sixth_name = ''
set seventh_name = ''
set eighth_name = ''
set nineth_name = ''
#
# Create GUI for parameters input
#################################

para_input:

gui_out WIN 300 100
gui_out FONT tbr24
gui_out FG $black
gui_out BG $aquamarine
gui_out LABEL "PLATO PANELIZATION SCREEN"
gui_out BG $gold
gui_out LABEL "Please enter the letter of name of the job "
gui_out BG $aquamarine
gui_out FORM
gui_out FONT cbr14
gui_out TEXT first_string 1 "The name of the job is :"
gui_out DTEXT first_string $first_name
gui_out LABEL
#gui_out ENDFORM
#gui_out FORM
gui_out FONT cbr14
gui_out TEXT second_string 1 ''
gui_out DTEXT second_string $second_name
gui_out LABEL
#gui_out ENDFORM
#gui_out FORM
gui_out FONT cbr14
gui_out TEXT third_string 1 ''
gui_out DTEXT first_string $third_name
gui_out LABEL
#gui_out ENDFORM
#gui_out FORM
gui_out FONT cbr14
gui_out TEXT fourth_string 1 ""
gui_out DTEXT fourth_string $fourth_name
gui_out LABEL
#gui_out ENDFORM
#gui_out FORM
gui_out FONT cbr14
gui_out TEXT fifth_string 1 ""
gui_out DTEXT fifth_string $fifth_name
gui_out LABEL
#gui_out ENDFORM
#gui_out FORM
gui_out FONT cbr14
gui_out TEXT sixth_string 1 ""
gui_out DTEXT sixth_string $sixth_name
gui_out LABEL
#gui_out ENDFORM
#gui_out FORM
gui_out FONT cbr14
gui_out TEXT seventh_string 1 ""
gui_out DTEXT seventh_string $seventh_name
gui_out LABEL
#gui_out ENDFORM
#gui_out FORM
gui_out FONT cbr14
gui_out TEXT eighth_string 1 ""
gui_out DTEXT eighth_string $eighth_name
gui_out LABEL
#gui_out ENDFORM
#gui_out FORM
gui_out FONT cbr14
gui_out TEXT nineth_string 1 ""
gui_out DTEXT nineth_string $nineth_name
gui_out LABEL
gui_out ENDFORM


gui_out BG $gold
#gui_out FORM
#gui_out FONT cbi18
#gui_out TEXT j_string 16 "JOB NAME : "
#gui_out DTEXT j_string $JOB
#gui_out LABEL
#gui_out ENDFORM
gui_out FORM
gui_out TEXT s_string 16 "STEP NAME : "
gui_out DTEXT s_string $STEP
gui_out LABEL
gui_out ENDFORM
gui_out FORM
gui_out TEXT opr 16 "OPERATOR NAME : "
gui_out DTEXT opr $opr
gui_out LABEL
gui_out ENDFORM


gui_out FORM
gui_out TEXT x_dis 16 "INPUT THIRD TARGET HOLE X DISTANCE : "
gui_out DTEXT x_dis $x_dis
gui_out LABEL
gui_out ENDFORM

gui_out FORM
gui_out TEXT pnl_x_string 8 "PANEL X : "
gui_out DTEXT pnl_x_string $pnl_x
gui_out LABEL
gui_out ENDFORM
gui_out FORM
gui_out TEXT pnl_y_string 8 "PANEL Y : "
gui_out DTEXT pnl_y_string $pnl_y
gui_out LABEL
gui_out ENDFORM
gui_out BG $light_blue
gui_out FONT tbr24
gui_out LABEL "- PARAMETERS INPUT (unit = mm) -"
gui_out FONT cbr14
gui_out "RADIO confirm Confirm? H 1 890000"
gui_out Yes
gui_out No
gui_out END
gui_out FONT tbr24
gui_out BG $aquamarine
gui_out CLABEL "<OK>"
dogui


if ($confirm == 2) then
PAUSE - Script stop by user , EXIT ...
exit 0
endif

# Delete all existing overlay if the step already exist
#######################################################

if ($create_new_step == no) then
PAUSE - Existing features in this step will be deleted first ...
COM affected_layer,mode=board,affected=yes
COM sel_delete
COM affected_layer,mode=all,affected=no
endif

# Delete all existing overlay if the step already exist

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|手机版|PCB设计论坛|EDA论坛|PCB论坛网 ( 沪ICP备05006956号-1 )

GMT+8, 2024-9-27 06:08 , Processed in 0.131137 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表