微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > PCB设计问答 > Genesis学习交流 > 为什么我的脚本要运行两次才会成功

为什么我的脚本要运行两次才会成功

时间:10-02 整理:3721RD 点击:


每当拼版的时候,脚本第一次运行都会报错,脚本代码如下(因为脚本太长,其他层代码又差不多,故省掉了):

#!c:/bin/csh
################################################
source $GENESIS_DIR/sys/scripts/rgpnl/common.def
COM units,type=mm
COM get_user_name
set user_name = ` echo $COMANS | tr a-z A-Z `
DO_INFO -t step -e $JOB/panel -d SR_LIMITS
DO_INFO -t step -e $JOB/panel -d PROF_LIMITS


   set x_pnl_size = $gPROF_LIMITSxmax
   set y_pnl_size = $gPROF_LIMITSymax
   set panel_x = `echo "$x_pnl_size * 25.4" | bc`
   set panel_y = `echo "$y_pnl_size * 25.4" | bc`

set pad_x2 = ` echo " $panel_x - 3 " | bc -l`
set pad_y3 = ` echo " $panel_y - 3 " | bc -l `

set DATE = `date "+%m/%d/%y "`
set layer = \$\$layer

set jn = \$\$job
set text1 = ` echo " $jn $layer $DATE $user_name " | tr "[a-z]" "[A-Z"]`

set bianhao_y = ` echo "$panel_y - 6 " | bc -l`

set bhao = ` echo "$JOB "  `

set dfx = ` echo " $panel_x - 4 " | bc -l`
set df = ` echo " $panel_y - 4 " | bc -l`
set df1 = ` echo " $panel_y - 20 " | bc -l`
set df2 = ` echo " $panel_x - 18 " | bc -l`
set df3 = ` echo " $panel_x - 22 " | bc -l`
set df4 = ` echo " $panel_x - 26 " | bc -l`
set df5 = ` echo " $panel_x - 30 " | bc -l`

###########################################THE SINGAL STERT##################################################################
DO_INFO -t layer -e $JOB/panel/ac -d EXISTS
if ($gEXISTS == yes) then
COM display_layer,name=ac,display=yes,number=1
COM work_layer,name=ac

COM sr_fill,polarity=positive,step_margin_x=0.5,step_margin_y=0.5,\
step_max_dist_x=2540,step_max_dist_y=2540,sr_margin_x=0.5,sr_margin_y=0.5,\
sr_max_dist_x=0,sr_max_dist_y=0,nest_sr=yes,consider_feat=no,\
consider_drill=no,drill_margin=0.5,consider_rout=no,dest=affected_layers,\
attributes=no

COM add_text,attributes=no,type=string,\
x=10,y=3,text=$text1,\
x_size=1.5,y_size=1.6,w_factor=0.66,\
polarity=negative,angle=0,mirror=no,\
fontname=simple,bar_type=UPC39,bar_char_set=full_ascii,bar_checksum=no,bar_background=yes,bar_add_string=yes,bar_add_string_pos=top,\
bar_width=0.2,bar_height=5.08,ver=1

######################################################################
COM add_pad,attributes=no,x=3,y=3,symbol=fpc-rgtw,polarity=positive,\
angle=0,mirror=no,nx=1,ny=1,dx=0,dy=0,xscale=1,yscale=1
COM add_pad,attributes=no,x=$pad_x2,y=3,symbol=fpc-rgtw,\
polarity=positive,angle=0,mirror=no,nx=1,ny=1,dx=0,dy=0,xscale=1,\
yscale=1
COM add_pad,attributes=no,x=$pad_x2,y=$pad_y3,symbol=fpc-rgtw,\
polarity=positive,angle=0,mirror=no,nx=1,ny=1,dx=0,dy=0,xscale=1,\
yscale=1
COM add_pad,attributes=no,x=3,y=$pad_y3,symbol=fpc-rgtw,\
polarity=positive,angle=0,mirror=no,nx=1,ny=1,dx=0,dy=0,xscale=1,\
yscale=1
######################################################################
COM add_pad,attributes=no,x=4,y=25,symbol=fpc-rgdw,polarity=positive,\
angle=0,mirror=no,nx=1,ny=1,dx=0,dy=0,xscale=1,yscale=1
COM add_pad,attributes=no,x=18,y=$df,symbol=fpc-rgdw,\
polarity=positive,angle=0,mirror=no,nx=1,ny=1,dx=0,dy=0,xscale=1,\
yscale=1
COM add_pad,attributes=no,x=$dfx,y=$df1,symbol=fpc-rgdw,\
polarity=positive,angle=0,mirror=no,nx=1,ny=1,dx=0,dy=0,xscale=1,\
yscale=1
COM add_pad,attributes=no,x=$df2,y=4,symbol=fpc-rgdw,\
polarity=positive,angle=0,mirror=no,nx=1,ny=1,dx=0,dy=0,xscale=1,\
yscale=1
COM add_pad,attributes=no,x=$df3,y=4,symbol=fpc-rgdw,\
polarity=positive,angle=0,mirror=no,nx=1,ny=1,dx=0,dy=0,xscale=1,\
yscale=1
COM add_pad,attributes=no,x=$df4,y=4,symbol=fpc-rgdw,\
polarity=positive,angle=0,mirror=no,nx=1,ny=1,dx=0,dy=0,xscale=1,\
yscale=1
COM add_pad,attributes=no,x=$df5,y=4,symbol=fpc-rgdw,\
polarity=positive,angle=0,mirror=no,nx=1,ny=1,dx=0,dy=0,xscale=1,\
yscale=1
######################################################################
COM add_pad,attributes=no,x=0,y=0,symbol=ycpjx,polarity=positive,\
angle=0,mirror=no,nx=1,ny=1,dx=0,dy=0,xscale=1,yscale=1

COM add_pad,attributes=no,x=0,y=$panel_y,symbol=ycpjx,polarity=positive,\
angle=90,mirror=no,nx=1,ny=1,dx=0,dy=0,xscale=1,yscale=1

COM add_pad,attributes=no,x=$panel_x,y=$panel_y,symbol=ycpjx,polarity=positive,\
angle=180,mirror=no,nx=1,ny=1,dx=0,dy=0,xscale=1,yscale=1

COM add_pad,attributes=no,x=$panel_x,y=0,symbol=ycpjx,polarity=positive,\
angle=270,mirror=no,nx=1,ny=1,dx=0,dy=0,xscale=1,yscale=1


endif
COM display_sr,display=yes

exit

哎,这里面这么多高手,难道就没有知道答案的

呵呵,GENESIS是这样的啊,有方法解决的!

话是没错,但是有很多脚本我也见过运行起来就没有一点问题,所以觉得奇怪,上来这儿只是想看看能不能解决这个问题,呵呵!看来是没有希望了哦。

這麼的複雜,來學習下,先copy下來回去研究

你那个拼版的错误我也遇到过,   是bc 运算器的错误所致,

CSH运行的时候要先被激活,

方法是 :  先用bc算一个变量,用乘法算一个最好   这个变量的值可以不被后续程序所使用

  目的是激活CSH

呵呵,确实如此,终于解决我一直以来的困扰。

兄弟  你的genesis界面颜色 怎么设置的呀?

 

来试试。

以前遇到一个高手,告诉我这样就不报错了
set mkx = `echo "scale=10;$lengthx + 2" | bc`
set error_yesno = `echo $mkx | grep "Invalid keyboard code specified" `
if ($#error_yesno == "5") then
set mkx = `echo "$mkx" | cut -c 32- `
endif

回复 11# qlz704704

    alias bc '${GENESIS_DIR}/e${GENESIS_VER}/misc/gbc'

高手中的高手啊!当时我问的时候怎么不出现啊

没错,是BC算法有问题,前不久我也遇到这个问题,后来转换一下就解决了

我的也要两次在行哦,自动加尾孔都不行了

不错,顶一下!感谢小编

做资料简单,都是脚本问题难搞啊!

我也遇到这个问题好多次了。

好,多多的交流好,多多的交流

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top