求教: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
|