您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 国内外标准规范 > genesis2000脚本编写4(Genesis内部变量)
第四章GENESIS2000内定变量作者:刘才林完成于2008/3月第1页共28页在genesis2000编程中,我们需要很多genesis自身已经定义的变量,并且在变量后面跟上不同的参数,会得到genesis里面很多的内定值(比如层的属性),使用这些内定值会使我们的程序编写简单,且让程序更有价值,下面我们将详细讲述这部分内容。第四章GENESIS2000内定变量作者:刘才林完成于2008/3月第2页共28页4.1:info简介:在genesis2000中,我们可以通过info指令得到genesisdatabase里面的各种信息,我们可以把这些信息写到程序里面,实现genesis自动化,info指令格式如下:COMinfo,args=-ttype-eentity_path\-ddatatype-pparameters,[-sserial_number]\[-ooptions]–help\out_file=~/out_file,write_mode=replace|appendsource~/out_file在我们把info写进程序时,为书写方便,我们把它简写为DO_INFO,这个简写别名在$GENESIS_DIR/sys/hooks/script_start.csh中已自动定义,其定义的内容如下:aliasDO_INFO'setIFILE=/tmp/info.$$;\\COMinfo,out_file=$IFILE,write_mode=replace,args=\!:*;\\source$IFILE;rm$IFILE'如果你发现DO_INFO不能使用,则可按照上面内容进行定义:4.2:info参数定义:在上面我们讲述info的格式,它的参数有4个,如下:(1):out_file定义将信息输出文件的路径及文件名,如/tmp/info(2):units设置输出资料的单位,是inch还是mm。(3):write_mode,设置输出到文件是追加到原来的文件,还是替换原来的文件。(4):args设置抽取datebase那一部分的信息:由以下8个选项组合定义:●–t设置获取信息实体项目名称:如matrix●–e设置获取信息实体项目路径:如JOB/matrix●–d设置获取信息实体项目中的数据类别:如matrix中的ROW●–m设置获取信息的方式是以程序的方式输出还是以显示的方式输出●–p设置获取信息实体项目中的数据参数,如step中的x,y●–o设置获取信息实体项目中的选项,多用于checklist●–s设置仅获取信息数组中的那一组,用序号表示●–help输出帮助文件。下面我们详细讲述各参数的意义:4.2.1:out_fieout_file参数是设置输出文件的路径及路径名,它以纯文本的方式存储,例如:我们写一个名为info的脚本,程序内容如下:COMinfo,out_file=/tmp/info,args=-tlayer-e$JOB/pcs/drill\-mscript,write_mode=replace则我们会在/tmp目录下找到名为info的文本文件,打开后可看见如下内容:setgCONTEXT='board'setgTYPE='drill'setgPOLARITY='positive'setgSIDE='none'setgDRL_START='silkc'setgDRL_END='silks'setgFOIL_SIDE='none'setgSHEET_SIDE='none'setgROW='9'第四章GENESIS2000内定变量作者:刘才林完成于2008/3月第3页共28页……setgIS_CHANGED='yes'我们可以看出里面包含很多关于datebase的信息。4.2.2:write_mode:write_mode是我们输出文件模式,是将内容追加到以前的文件,还是替换以前的文件,append为追加,replace为替换,根据我们的需要写为不同的模式:例如我们要输出layer的参数,以替换的方式输出,则程序内容如下:COMinfo,out_file=/tmp/info,args=-tlayer-e$JOB/pcs/drill\-mscript,write_mode=replace当我们打开/tmp/info文件就可以看到所有$JOB/pcs/drill中所有关于层的信息,以前/tmp/info所有的内容都将被清除。如果我们要输出layer的参数,以追加方式输出,其程序内容如下:COMinfo,out_file=/tmp/info,args=-tlayer-e$JOB/pcs/drill\-mscript,write_mode=append我们再次打开/tmp/info文件就可以看到两次关于$JOB/pcs/drill层的信息。4.2.3:args中-t选项:我们在前面讲述-t为设置获取信息实体项目名称,除我们要取得帮助内容外,其它的程序都应有-t这个选项,这个选项后面可跟以下参数。●attributes属性信息●job料号信息●ncset钻孔输出信息●step实体信息●check分析报告信息●layer层信息●notes注记信息●symbol符号信息●comp元件层信息●matrix矩阵信息●panel_classes拼版精灵信息●wheelwheel文件信息●eda设计信息●netlist网络对比信息●rootroot信息●etsetetset信息●ncrset铣输出信息●stackup叠板信息●camtek-aoisetcamtek-aoiset信息●mania_aoisetmania_aoiset信息范例:(1):取得料号信息:COMinfo,out_file=/tmp/info,args=-tjob–e$JOB我们会得到当前料号的信息,其内容如下:setgSTEPS_LIST=('pcs''panel')setgSYMBOLS_LIST=()第四章GENESIS2000内定变量作者:刘才林完成于2008/3月第4页共28页setgWHEELS_LIST=()setgMATRIX_LIST=('matrix')setgSTACKUPS_LIST=('ttt')setgTEMPLATES_LIST=()setgATTRname=('.comment''.customer''.global_camtek_aoiset''.technology''.primary_side''.design_origin_x''.design_origin_y''.board_thickness')setgATTRval=('''''''''top''0''0''0.000000')setgFORMS_LIST=('autocool''autogh''ex''ff')setgFLOWS_LIST=('fgg''genesis''gggfgg')setgIS_CHANGED='no'4.2.4:args的-e选项:-e选项为设置获取信息实体项目路径,也就是我们获取信息的路径,如果我们不写路径,程序就无法搞清楚你要获取那部分的信息,你也许会说这样会输出所有database的信息,但实际上是不可能,我想你也不需要这样做。所以我们要指定路径:如$JOB/$STEP/drill等。其中因root为昀高目录,而不需要定义路径,其余实体皆需要定义正确路径。下面我们给出每种实体路径的范例:(1):root(不需要路径)COMinfo,out_file=/tmp/info,args=-troot(2):job:COMinfo,out_file=/tmp/info,args=-tjob–e$JOB(3):attributes:COMinfo,out_file=/tmp/info,args=-tattributes–e$JOB(4):ncset:COMinfo,out_file=/tmp/info,args=-tncset–e$JOB/pcs/drill/dd(5):setp:COMinfo,out_file=/tmp/info,args=-tstep–e$JOB/step(6):check:COMinfo,out_file=/tmp/info,args=-tcheck–e$JOB/step/check1(7):layer:COMinfo,out_file=/tmp/info,args=-tlayer–e$JOB/pcs/drill(8):notes:COMinfo,out_file=/tmp/info,args=-tnotes–e$JOB/pcs/drill/notes(9):symbol:COMinfo,out_file=/tmp/info,args=-tsymbol–e$JOB/shiyan(10):comp:COMinfo,out_file=/tmp/info,args=-tcomp–e$JOB/pcs/top/1(11):matrix:COMinfo,out_file=/tmp/info,args=-tmatrix–e$JOB/matrix(12):panel_classes:COMinfo,out_file=/tmp/info,args=-tpanel_classes–e$JOB(13):wheel:第四章GENESIS2000内定变量作者:刘才林完成于2008/3月第5页共28页COMinfo,out_file=/tmp/info,args=-twheel–e$JOB/xxx(14):eda:COMinfo,out_file=/tmp/info,args=-teda–e$JOB/step(15):netlist:COMinfo,out_file=/tmp/info,args=-tnetlist–e$JOB/step/netlistname(16):etset:COMinfo,out_file=/tmp/info,args=-tetset–e$JOB/step/etsetname(17):ncrset:COMinfo,out_file=/tmp/info,args=-tncrset–e$JOB/$STEP/rout/ncrset(18):stackup:COMinfo,out_file=/tmp/info,args=-tstackup–e$JOB/stackup4.2.5:args的-d选项:-d选项是设置获取信息实体项目中的数据类别,几乎每一个实体中都有很多类别,如step中就有17个类别,因为我们会经常用到这些类别,下面我们给出常用的实体数据类别:(1):root●JOB_LIST(array)读取料号列表信息(2):job●STEPS_LIST(Array)读取steps列表信息●SYMBOLS_LIST(Array)读取symbols列表信息●WHEELS_LIST(Array)读取wheels列表信息●MATRIX_LIST(Array)读取matrix列表信息●STACKUPS_LIST(Array)读取stackups列表信息●TEMPLATES_LIST(Array)读取templates列表信息●ATTR(Array)读取属性相关信息●FORMS_LIST(Array)读取forms列表信息●FLOWS_LIST(Array)读取flows列表信息●CHANGES(Freetextoutput)读取改变而未保存的内容●IS_CHANGED读取料号是否已经改变而未保存(3):step●DATUM读取基准点信息●LIMITS读取图形的昀大坐标●NUM_SR读取拼版里面有几种排版●SR(Array)读取排版信息●SR_LIMITS读取排版坐标信息●NUM_REPEATS读取有多少个拼版●REPEAT(Array)读取每个pcs的排版信息●PROF_LIMITS读取profile的坐标信息●PROF(Freetextoutput)读取profile的每个点信息●ACTIVE_AREA读取激活图形区域信
本文标题:genesis2000脚本编写4(Genesis内部变量)
链接地址:https://www.777doc.com/doc-6500736 .html