Genesis2000脚本命令大全

合集下载

genesis2000脚本(外挂接口)

genesis2000脚本(外挂接口)
专为 PCB/FPC 量身定做的外挂系统!
开发语言: 以 Windows 系统为背景,Genflex Genesis2000 为载体,采用 Perl5.14 + Tkx 结合 PCB 工程 CAM 设计实际情况开发而成。 服务宗旨: 为 CAM 系统维护、脚本开发人员度身配置一套外挂系统环境,让您的精力更专注于 CAM 制作自动化功能的实现。 项目优势: 1、不工作时可最小化至系统托盘,或靠边隐藏。 2、无需绑定可自动获取当前工作 JOB、STEP。 3、外部执行方式操作 Genesis LMC,它是单独运行,不影响 Genesis 任何操作 4、完全用户自定义、自行配置厂内 CAM 作业流程,可以关联先前已有的所有程序, 在整个软件环境里可自己开发其他新的程序。 5、Script 运行结束后的状态图标会根据 script 运行结果而改变以此提醒用户。 6、实现 274X、Tgz、钻孔、Dxf 文件鼠标一键拖放读取
根据公司 CAM 实际情况将设计标 准化操作流程步骤配置到系统中, 并可实现流程步骤的动态调整
专为 PCB/FPC 量身定做的外挂系统!
个性设置: 可根据个人爱好在界面中设置不同的背景图
-----------------------------------------------------谢谢您的关注! -----------------------
《可自定义一套 CAM Guide 流程》 CAM Guide 是一套 CAM 自动化作 业系统工具,它依据不同 PCB 厂统 一的 CAM 作业流程定制的一个超强 大向导器,可以指导和帮助每一位 CAM 技术人员来完成一个料号的制 作。它又像是一个管理工具,它能够 有效记录每一个操作的结果和时间, 方便以后问题追踪和查询。

Genesis2000脚本编写常用命令剖析

Genesis2000脚本编写常用命令剖析

1. switch 的用法,注意每一个case 必须要以breaksw 结尾 否则会继续执行下一个case 的命令(1) 另外,$< 的意思是取得使用者的stand input(2) echo 若加上-n 的选项,则游标会停留在该行最后echo -n "Input one color: "set STOPLIGHT = $<switch ($STOPLIGHT)case red:echo "red"breakswcase orange:echo "orange"breakswcase green:echo "green"breakswdefault:echo "you input $STOPLIGHT"endsw--------------------------------------------------------------------2. 利用set 来取得变数,set ABC = "I am ABC"也可以利用`command` 来取得命令且外,case 也可以用万用字元* 来代替set VER = `uname -r`switch ($VER)case 5.5:echo "run the setup of $VER"breakswcase 5.3:echo "run the setup of $VER"breakswcase 5.*:echo "like 5.x"breakswcase 4.*:echo "like 4.x"breakswdefault:echo "no idea"endsw--------------------------------------------------------------------3. if 的语法,比较数字set n1 = 1set n2 = 2if ($n1 == $n2) thenecho "$n1 Equal $n2"elseecho "$n1 Not Equal $n2"endif--------------------------------------------------------------------4. if 的语法,比较字串set n1 = abcdefset n2 = abcdeif ($n1 == $n2) thenecho "$n1 Equal $n2"elseecho "$n1 Not Equal $n2"endif--------------------------------------------------------------------5. if 的语法,比较相似的字串set n1 = abcdefset n2 = abcdeif ($n1 =~ $n2) thenecho "$n1 Like $n2"elseecho "$n1 Not Like $n2"endif--------------------------------------------------------------------6. if 的语法,比较数字的大小set n1 = 1set n2 = 2if ($n1 > $n2) thenecho "$n1 > $n2"elseendif--------------------------------------------------------------------7. 每分钟执行一次的程式# mm 等于当天时间的【分钟】数set mm = `date | cut -d' ' -f4 | cut -d: -f2`if ( -r $0.out ) thenrm $0.outtouch $0.outelsetouch $0.outendifwhile ( $mm <= 16 )set mm = `date | cut -d' ' -f4 | cut -d: -f2`echo "$mm now is `date`"sleep 60#echo "$mm now is `date`" >> $0.outendecho "Over" >> $0.out--------------------------------------------------------------------8. 一个回圈的范例,并且利用expr 去作加的动作回圈的语法如下:foreach number (1 2 3)echo $numberendset counter = 0while ($counter <= 10)echo "sleeping for 5 seconds"sleep 5counter = `expr $counter + 1 `end--------------------------------------------------------------------9. 设定一个用当天月份与日期作为档案名称的程式如今天是10/02 , 则$prefix 会等于该程式+ 1002set prefix = `basename $0``date '+ %m%d'`echo $0echo $prefix--------------------------------------------------------------------10. 移除在foreach 回圈内指定的档案内的font 字串foreach file ([b,e,g,h,s]*.html)echo -n "Processing $file, remove the line number `grep -n font $file`"# $log 表示这个$file 有几个font 字串set log = `grep -c font $file`if ( $log == '0' ) thenecho ", pass $file"else# 先找出该档案的第一次出现font 的行数,如果3,则$cmd = 3dset cmd = `grep -n font $file | cut -d: -f1 | head -1`d# 利用sed 去执行删除的动作,并把结果输出到${file}1sed $cmd $file > ${file}1# 如果${file}1 没有资料,则passingif ( -z ${file}1 ) thenecho " , ${file}1 is zero"elsecp ${file}1 $filerm {$file}1echo " , $file remove ok"endifendifend# 后来看过sed 的更进一步用法,发现先前写的太笨了,试试这个# sed /font/d $file > ${file}1# 一次OK, 我真是大笨蛋--------------------------------------------------------------------11. 功能:将指定的档案中,出现第一次【回】的那一行,加上<title> xxxx </title>foreach file (sky*.html)set filetitle = ftitle# 主要部份为sed 部份 s/^ *// 表示将该行第一个字元前的空白删除echo "<title>`grep 回$file | head -1 | sed -e 's/^ *//'`</title>" > $ftitle# 将刚刚那一行,再插回去head -1 $file > ${file}headsed 1d $file > ${file}1cat $ftitle >> ${file}headcat ${file}1 >> ${file}headcp ${file}head $filerm ${file}1rm $ftitlerm ${file}headecho "$file ok"end--------------------------------------------------------------------12. 一个实际建立一个ftp server 的程式 里面包括许多应用,相当有参考价值( 未完成)set path = ( /usr/bin /usr/sbin )#set true = `grep -c ftp /etc/passwd`if ( $true == 0 ) thenecho "no ftp user in your system"echo -n "do you want to create the ftp user? "set answer = $<if ($answer == 'y' || $answer == 'Y') thenset maxid = `sort /etc/passwd | tail -1 | cut -d: -f3`echo $maxidset newid = `expr $maxid + 1`echo $newidecho "/usr/sbin/useradd -d /home1/ftp -u $newid -s /etc/false ftp"endifelseecho "Good. Your system already has the ftp user. "set ftphome = `grep ftp: /etc/passwd | cut -d: -f6`echo $ftphomeendifif ( -z $ftphome ) thenecho "ftphome must be non-null"exit 2endifif ( $ftphome == "/usr" || $ftphome == "/" ) thenecho "ftphome can't be / or /usr"exit 2endif# create the ftp home directoryif ( ! -d $ftphome ) thenecho "mkdir $ftphome"endifecho "Setting up the ftphome for SunOS `uname -r`"if ( ! -d $ftphome ) thenecho "mkdir -p $ftphome/usr/bin"endifcp /bin/ls $ftphome/usr/binchmod 111 $ftphome/usr/bin/lschown root $ftphome/usr/binchmod 555 $ftphome/usr/binif ( -r $ftphome/bin ) thenmv -f $ftphome/bin $ftphome/Obinendifln -s usr/bin $ftphome--------------------------------------------------------------------13. 取得该使用者的UIDif ( $#argv == 0 ) thenecho "$0 usage: $1 username"exit 2endifset uid = `grep $1 /etc/passwd | cut -d: -f3`echo $uid--------------------------------------------------------------------14. 将指定档案内的html 取代成htmforeach file ( *.html )echo "Processing $file ..."sed s/html/htm/ $file > ${file}1cp ${file}1 $filerm ${file}1end--------------------------------------------------------------------15. 一个简简单单的范例,看看就好#!/bin/csh -fecho .................echo WELCOME to \* TAPE COPY \*echo .................echo Enter your name:# $< can read from stand inputset name = $<echo " "echo Hi $name \!set D = `date`echo Today\'s date is $D[1] $D[2] $D[3]if ($D[1] == Mon) thenecho -------------------------------------------------------------echo Today is $D[1]day $name, it\'s time to copy your directorys\! echo -------------------------------------------------------------elseecho -------------------------------------------------------------echo Today is $D[1]day $name, no tape copies today\!echo -------------------------------------------------------------endif--------------------------------------------------------------------16. 一个finger 的程式set FINGER = "/usr/ucb/finger"if ( -x $FINGER ) thenif ( $#argv == 0 ) thencat << TAG---------------------------------Hahahah ....---------------------------------TAGelse$FINGER "$*"endifelseecho "Cannot find finger on this system."endif--------------------------------------------------------------------17. 取得变数的方法set W = `who -r`echo $W[9]--------------------------------------------------------------------18. 更改档案名称,将*.html --> *.htm# rename *.html to *.htmecho -n "This will change *.html to *.htm. Can I continue ? (y/n) : " set input = $<if ( $input != "y" && $input != "Y" ) thenecho "Ok. Quit..."exit 2endifforeach file ( *.html )echo "Processing $file to `basename $file .html`.htm "mv $file `basename $file .html`.htmend--------------------------------------------------------------------19. 更改档案名称,将*.htm --> *.htmlecho -n "This will change *.htm to *.html. Can I continue ? (y/n) : " set input = $<if ( $input != "y" && $input != "Y" ) thenecho "Ok. Quit..."exit 2endif# rename *.htm to *.htmlforeach file ( *.htm )echo "Processing $file to `basename $file .htm`.html " mv $file `basename $file .htm`.htmlend--------------------------------------------------------------------20. 将大写的档名改成小写的档名tr string1 string2 会将standard input 的字串,所对应到的string1, 都以string2 取代foreach file ( * )mv $file `echo $file | tr '[A-Z]' '[a-z]'`end--------------------------------------------------------------------21. 将小写的档名改成大写的档名foreach file (*)mv $file `echo $file | tr '[a-z]' '[A-Z]'`end</P< p>。

Genesis2000脚本编写常用命令解析

Genesis2000脚本编写常用命令解析

1. switch 的用法,注意每一个case 必须要以breaksw 结尾否则会继续执行下一个case 的命令(1) 另外,$< 的意思是取得使用者的stand input(2) echo 若加上-n 的选项,则游标会停留在该行最后echo -n "Input one color: "set STOPLIGHT = $<switch ($STOPLIGHT)case red:echo "red"breakswcase orange:echo "orange"breakswcase green:echo "green"breakswdefault:echo "you input $STOPLIGHT"endsw--------------------------------------------------------------------2. 利用set 来取得变数,set ABC = "I am ABC"也可以利用`command` 来取得命令且外,case 也可以用万用字元* 来代替set VER = `uname -r`switch ($VER)case 5.5:echo "run the setup of $VER"breakswcase 5.3:echo "run the setup of $VER"breakswcase 5.*:echo "like 5.x"breakswcase 4.*:echo "like 4.x"breakswdefault:echo "no idea"endsw-------------------------------------------------------------------- 3. if 的语法,比较数字set n1 = 1set n2 = 2if ($n1 == $n2) thenecho "$n1 Equal $n2"elseecho "$n1 Not Equal $n2"endif-------------------------------------------------------------------- 4. if 的语法,比较字串set n1 = abcdefset n2 = abcdeif ($n1 == $n2) thenecho "$n1 Equal $n2"elseecho "$n1 Not Equal $n2"endif-------------------------------------------------------------------- 5. if 的语法,比较相似的字串set n1 = abcdefset n2 = abcdeif ($n1 =~ $n2) thenecho "$n1 Like $n2"elseecho "$n1 Not Like $n2"endif-------------------------------------------------------------------- 6. if 的语法,比较数字的大小set n1 = 1set n2 = 2if ($n1 > $n2) thenecho "$n1 > $n2"elseecho "$n1 < $n2"endif-------------------------------------------------------------------- 7. 每分钟执行一次的程式# mm 等于当天时间的【分钟】数set mm = `date | cut -d' ' -f4 | cut -d: -f2`if ( -r $0.out ) thenrm $0.outtouch $0.outelsetouch $0.outendifwhile ( $mm <= 16 )set mm = `date | cut -d' ' -f4 | cut -d: -f2`echo "$mm now is `date`"sleep 60#echo "$mm now is `date`" >> $0.outendecho "Over" >> $0.out-------------------------------------------------------------------- 8. 一个回圈的范例,并且利用expr 去作加的动作回圈的语法如下:foreach number (1 2 3)echo $numberendset counter = 0while ($counter <= 10)echo "sleeping for 5 seconds"sleep 5counter = `expr $counter + 1 `end-------------------------------------------------------------------- 9. 设定一个用当天月份与日期作为档案名称的程式如今天是10/02 , 则$prefix 会等于该程式+ 1002date.csh1002set prefix = `basename $0``date '+ %m%d'`echo $0echo $prefix--------------------------------------------------------------------10. 移除在foreach 回圈内指定的档案内的font 字串foreach file ([b,e,g,h,s]*.html)echo -n "Processing $file, remove the line number `grep -n font $file`"# $log 表示这个$file 有几个font 字串set log = `grep -c font $file`if ( $log == '0' ) thenecho ", pass $file"else# 先找出该档案的第一次出现font 的行数,如果3,则$cmd = 3dset cmd = `grep -n font $file | cut -d: -f1 | head -1`d# 利用sed 去执行删除的动作,并把结果输出到${file}1sed $cmd $file > ${file}1# 如果${file}1 没有资料,则passingif ( -z ${file}1 ) thenecho " , ${file}1 is zero"elsecp ${file}1 $filerm {$file}1echo " , $file remove ok"endifendifend# 后来看过sed 的更进一步用法,发现先前写的太笨了,试试这个# sed /font/d $file > ${file}1# 一次OK, 我真是大笨蛋--------------------------------------------------------------------11. 功能:将指定的档案中,出现第一次【回】的那一行,加上<title> xxxx </title>foreach file (sky*.html)set filetitle = ftitle# 主要部份为sed 部份s/^ *// 表示将该行第一个字元前的空白删除echo "<title>`grep 回$file | head -1 | sed -e 's/^ *//'`</title>" > $ftitle# 将刚刚那一行,再插回去head -1 $file > ${file}headsed 1d $file > ${file}1cat $ftitle >> ${file}headcat ${file}1 >> ${file}headcp ${file}head $filerm ${file}1rm $ftitlerm ${file}headecho "$file ok"end--------------------------------------------------------------------12. 一个实际建立一个ftp server 的程式里面包括许多应用,相当有参考价值( 未完成)set path = ( /usr/bin /usr/sbin )#set true = `grep -c ftp /etc/passwd`if ( $true == 0 ) thenecho "no ftp user in your system"echo -n "do you want to create the ftp user? "set answer = $<if ($answer == 'y' || $answer == 'Y') thenset maxid = `sort /etc/passwd | tail -1 | cut -d: -f3`echo $maxidset newid = `expr $maxid + 1`echo $newidecho "/usr/sbin/useradd -d /home1/ftp -u $newid -s /etc/false ftp"endifelseecho "Good. Your system already has the ftp user. "set ftphome = `grep ftp: /etc/passwd | cut -d: -f6`echo $ftphomeendifif ( -z $ftphome ) thenecho "ftphome must be non-null"exit 2endifif ( $ftphome == "/usr" || $ftphome == "/" ) then echo "ftphome can't be / or /usr"exit 2endif# create the ftp home directoryif ( ! -d $ftphome ) thenecho "mkdir $ftphome"endifecho "Setting up the ftphome for SunOS `uname -r`"if ( ! -d $ftphome ) thenecho "mkdir -p $ftphome/usr/bin"endifcp /bin/ls $ftphome/usr/binchmod 111 $ftphome/usr/bin/lschown root $ftphome/usr/binchmod 555 $ftphome/usr/binif ( -r $ftphome/bin ) thenmv -f $ftphome/bin $ftphome/Obinendifln -s usr/bin $ftphome-------------------------------------------------------------------- 13. 取得该使用者的UIDif ( $#argv == 0 ) thenecho "$0 usage: $1 username"exit 2endifset uid = `grep $1 /etc/passwd | cut -d: -f3`echo $uid-------------------------------------------------------------------- 14. 将指定档案内的html 取代成htmforeach file ( *.html )echo "Processing $file ..."sed s/html/htm/ $file > ${file}1cp ${file}1 $filerm ${file}1end--------------------------------------------------------------------15. 一个简简单单的范例,看看就好#!/bin/csh -fecho .................echo WELCOME to \* TAPE COPY \*echo .................echo Enter your name:# $< can read from stand inputset name = $<echo " "echo Hi $name \!set D = `date`echo Today\'s date is $D[1] $D[2] $D[3]if ($D[1] == Mon) thenecho -------------------------------------------------------------echo Today is $D[1]day $name, it\'s time to copy your directorys\!echo -------------------------------------------------------------elseecho -------------------------------------------------------------echo Today is $D[1]day $name, no tape copies today\!echo -------------------------------------------------------------endif--------------------------------------------------------------------16. 一个finger 的程式set FINGER = "/usr/ucb/finger"if ( -x $FINGER ) thenif ( $#argv == 0 ) thencat << TAG---------------------------------Hahahah ....---------------------------------TAGelse$FINGER "$*"endifelseecho "Cannot find finger on this system."endif--------------------------------------------------------------------17. 取得变数的方法set W = `who -r`echo $W[9]--------------------------------------------------------------------18. 更改档案名称,将*.html --> *.htm# rename *.html to *.htmecho -n "This will change *.html to *.htm. Can I continue ? (y/n) : " set input = $<if ( $input != "y" && $input != "Y" ) thenecho "Ok. Quit..."exit 2endifforeach file ( *.html )echo "Processing $file to `basename $file .html`.htm "mv $file `basename $file .html`.htmend--------------------------------------------------------------------19. 更改档案名称,将*.htm --> *.htmlecho -n "This will change *.htm to *.html. Can I continue ? (y/n) : " set input = $<if ( $input != "y" && $input != "Y" ) thenecho "Ok. Quit..."exit 2endif# rename *.htm to *.htmlforeach file ( *.htm )echo "Processing $file to `basename $file .htm`.html "mv $file `basename $file .htm`.htmlend-------------------------------------------------------------------- 20. 将大写的档名改成小写的档名tr string1 string2 会将standard input 的字串,所对应到的string1, 都以string2 取代foreach file ( * )mv $file `echo $file | tr '[A-Z]' '[a-z]'`end-------------------------------------------------------------------- 21. 将小写的档名改成大写的档名foreach file (*)mv $file `echo $file | tr '[a-z]' '[A-Z]'`end</P< p>。

Genesis2000 Script 脚本编程1

Genesis2000 Script 脚本编程1
一:Genesis-script 之C-Shell
在unix系统中,像在DOS中的batch一样,你可以把一系列命令输入到一个叫做script的文件中. 利用source命令或者设置这个文件的x(可运行)属性并直接键入该文件名, 就像用一个命令那样, 你就可以让 C shell 从文件中读入命令并执行它们.
if ( expression ) command
if ( expression )
command
# ""(backslash)后面只能接newline(回车即可), 不能有任何其他字符载
# 单个命令command不能包括"|", "&" 以及";". 也不能使用其它控制语句
不能使用下面的格式
对其他变量, 也不会发生"下标溢出"的错误, 例如:
当(n > $#var) 时, $var[n-]不给任何结果和错误信息. 而$var[m-n]给出$var[m]到$var[$#var]的words.如果(m > $#var) 则没有任何结果
2.文件操作格式
-操作符 filename
-e 文件存在返回1(.true.), 否则返回0(.false
#!/bin/csh
set ai=1
while ( $ai <= 10 )
echo the ${ai}th time running.
@ ai++
end
4. 开关控制 switchfans
语法为:
switch ( $word )
case str_1:
你可以对路径名进行操作, 以便于去掉你不需要的部分

genesis 2000 自动化阻抗制作脚本使用说明

genesis 2000 自动化阻抗制作脚本使用说明

自动化阻抗制作脚本使用说明1,脚本运行环境:WINDOWS 操作系统,GENESIS8.2、GENESIS9.1、GENESIS9.2、GENESIS9.8 2,制作阻抗测试条种类。

差动阻抗(DF),特性阻抗(SE)。

3,程式运行界面和介绍。

阻抗信息显示区。

A,阻抗信息录入,首先阻搞信息,请确定录入阻抗是的状态,如果状态不对,参考资料将保证是正B.TopRefLayer : 阻抗顶层,即顶层C.BotRefLayer: 阻抗不,测试阻抗条底层。

D.ArtWorkLine :工作稿线宽。

E.ArtWorkSpacing :工作稿线距。

F.SafeCopperSpacing:阻抗线线距铜皮距离。

G.SafeCopperWidthMin:保护铜皮最小宽度。

H.Imp:阻抗值(注:此参数仅添加文字标注时用)。

I.ImpTol:阻抗公差(注:此参数仅添加文字标注时用)。

J.阻抗条宽:测试条宽度。

K.阻抗条长:阻抗条长度。

L.阻抗定位孔:阻抗定位孔左右各一个(左右距板边各1.5MM,上下居阻抗条宽中心)。

M.阻抗测试孔:阻抗测试孔大小为1.00mm。

单组阻抗信息:New:选项:新增阻抗,点击《添加阻抗参数》为新增一组阻抗值。

View选项:点击《添加阻抗参数》,自动计算阻抗组数和添加阻抗条数量,以及查看当Order组数的详细信息。

Edit选项:双击阻抗信息显示区对应ORDER对应组数如下,刚才当前为View,修改时点选EDIT,修改当前组抗条的参数,再选《添加阻抗参数》执行编辑。

所有阻抗参数添加OK后,执行《添加阻抗条》。

结果如下:。

genesis2000脚本GUI界面编写

genesis2000脚本GUI界面编写

genesis2000脚本GUI界面编写下面就是Genesis的GUI的demo程序,从里面可以学到几乎全部的GUI的功能了.前面的变量设定的部份省略不讲,大家可以参考Shell编程#!/bin/csh# This script is for GUI demo.############################################################## ####################alias gui '${GENESIS_DIR}/e${GENESIS_VER}/all/gui'alias gui_out 'echo !:* >> $GuiDefFile'alias gui_lst 'cat !:* >> $GuiDefFile'alias dogui 'gui < $GuiDefFile > $GuiDatFile; source $GuiDatFile; rm -f $GuiDefFile $GuiDatFile'if ($?GENESIS_TMP) thenset TMP = $GENESIS_TMPelse if ($?GENESIS_DIR) thenset TMP = $GENESIS_DIR/tmpelseset TMP = /genesis/tmpendif# Set gui parametersset GuiDefFile = $TMP/GuiDefFile.$$set GuiDatFile = $TMP/GuiDatFile.$$# Set fonts for gui #设定字体前三码表示字体格式,后两码数字表示大小#格式三码h 表字型(可选t) b表字宽粗体(bold)(可选m,细体) r表字正(可选i 表斜体)set TitleFont = hbr18set NormFont = hbr14set HintFont = hbi14# Set colors for gui #颜色是用RGB的型式表示,可以用Genesis中OPTION下COLOR功能来选自己喜欢的,#然后设定到GUI中去每一种颜色用两位数字表示99表示最深00表示最浅依次为R-red G-Green B-Blueset RedColor = 990000set WhiteColor = 999999set TitleColor = 772288set NormColor = 222299############################################################## #set job_list = `dbutil list jobs | awk '{print $1}'`gui_out WIN 200 200 #确定GUI窗口左上角在屏幕中的位置gui_out BG $WhiteColor #BG background背景颜色gui_out LABEL @/tmp/orblogo.xbm #添加标签(可以是一串字符,也可以是一个XPM格式图片我们在#后面会讨论如果制作这种图片,在6.如何加入中文里有说明)gui_out BG $TitleColorgui_out FG $WhiteColor #FG font ground字体颜色gui_out LABEL GUI Demogui_out BG $NormColorgui_out TEXT user_name User name : #TEXT文字输入窗口,并将值传给user_name变量, 显示”User name”gui_out DTEXT user_name Beyond Li #设定文字窗口的初始值Default TEXT=>DTEXT, 初始为Beyond Ligui_out BW 3 #BW 区隔线宽BOLD Width 设为3gui_out FORM #表格开始gui_out LABEL 'Select Job -->'gui_out LIST StepJob 5 S 1 #LIST列表选择功能StepJob为变量5表示显示5行S表示单选#多选为M, 1表示显示时从第1个项目开始显示foreach JobName ($job_list) #这里将除了genesislib以外的所有料号名都显示于LIST列表中if ($JobName != "genesislib") thengui_out $JobName #列表的内容endifendgui_out END #LIST功能结束(LIST传回的值为具体的列表中的值)gui_out ENDFORM #表格结束gui_out BW 1gui_out OPTION pnl_size Panel size: #OPTION下拉选项功能pnl_size 为变量显示”Panel size”gui_out 16x18 #选项的内容gui_out 18x24gui_out 20x24gui_out END #选项功能结束(OPTION传回的值为项目内容具体的值如16x18等)gui_out RADIO sel_pnl 'Panel name method:' H 1 $RedColor #RADIO点选功能变量为sel_p nl “’ . ’”为显示内容#H表示水平显示1表示一栏来显示最后是颜色gui_out Default #供点选的内容gui_out Keyingui_out END #点选功能结束gui_out FORM sel_pnl 2 #表格开始注意到后面有变量sel_pnl 2表示当sel_pnl选2时表格#才显现出来否则将以阴影不可编辑或选择的方式来显示gui_out TEXT pnl_name Panel name:gui_out ENDFORMgui_out CLABEL OK #按钮功能显示”OK”gui_out END #功能结束dogui #将这些传到GUI的程序中,它就会生成我们要的GUI界面.笔者通常在GUI最后,dogui之前加入一个RADIO让人员可以选择是否退出如下gui_out RADIO Exit_Chk 'Exit:' H 1 $RedColor #RADIO点选功能变量为sel_pnl “’ . ’”为显示内容#H表示水平显示1表示一栏来显示最后是颜色gui_out No #供点选的内容gui_out Yesgui_out END #点选功能结束在dogui后紧接着就设置检查if ( $Exit_Chk == 2 ) thenexit 0endif这样就可随时推出目前的GUI画面.其它的应用大家就要思考自己的工作要求,然后将这些功能灵活使用了.。

Genesis2000各大菜单的介绍

Genesis2000各大菜单的介绍
①Netlist Optimizer网络优化( Ctrl+O)
②Electrical Test Manager测试电源管理器( Ctrl+T)
Out put:输出文档
Message:信号
View Log:查看记录
Auto drill manage:输出钻带管理器
Auto rout manage:输出锣带管理器Aoi:测试光学点( Ctrl+G)
Panelization Wizard:排版精灵Panelization Setup:排版设置Sharelist:分析列表ODB++ Messenge:r奥宝使用者Quote Sunmdry:立刻提供ERF editor:编辑ERF档
Options选项
Users:用户
Groups:群
Configuration:组
料号内菜单
Go up:向上Matrix:特性表Steps:文件Symbols: D码库
Stackups:叠板Wheels: D码学习器Forms:表单Flows:流程Attribates:属性Input:导入Output:输出User:用户Extension:贮存资料档案导入资料
Actions(行动菜单)–Input–Path:(找资料路径)–Job:(生产料号)-Identify(读入资料格式) - Translate(执行转换)–Editor(进入编辑) Job(料号):
Create shapelist:产生形状列表Delete shapelist:删除形状列表工作界面左下角
第一个坐标:
绝对坐标(白色)。相对/任意坐标(黑色) 第二个坐标
圆弧坐标。相对/任意坐标(黑色)
第三个坐标
中心坐标:

genesis2000个人操作总结及其它软件程序转换

genesis2000个人操作总结及其它软件程序转换

文件分层后标示:板内:字符(SILK_SCREEN)开窗(SOLDER_MASK)线路(SIGNAL)板外:无需理会Genesis操作快捷键:孔编辑(指复制到钻层的圆圈):1、Alt+E+E+C(填充)2、Alt+E+E+F(打散)3、DFM+Cleanup+Ref(转Pad)Alt+E+B+O:复制后文件旋转Alt+E+E+S:改线宽Alt+O:修边框Alt+E+G+D:加内D块转线框:1、Alt+E+E+O(转块在转线)注:先将线放大在转块,在缩回原样在转线2、Alt+E+E+Surface to Outline(转线)Alt+E++R+P:外形加白线Alt+S+P+C:白线画外形Alt+E+Z+G:图形扩大(图形线扩大)Alt+T:图像放大Alt+E+Z+P:边框扩大(主要用于开窗)Alt+E+C+S:手动拼板Alt+E+M+P:线整体伸缩Alt+E+P+P或N:目标正负层更换Alt+P+E 点Unselect(反选)全局反选:选中目标 Alt+A+EAlt+E+G+S 点stagnant line:first(平均线) Alt+E+E+O (转整体) 注:将正负层阴影部份合并Ctrl+X:移动Ctrl+R:加列 Ctrl+U:加行Alt+E+E+P(铜转PAD)导出文件:(Alt+A+O)开窗层、线路层、字符层转出格式:单位:英制(Inch)MORE:钻孔转出格式:单位:公制(mm)MORE:孔环复制扩充尺寸:孔层复制到线路层淘空:1:1500倍孔层复制到开窗层:1:500倍十字架转圆环:Alt+E+E+U(十字架转圆环)+捉中心点Alt+E+E+U选Mode:Select(选同一类型)拼板步骤:Alt+S+L+T+A:自动拼板AltS+P+C:加边框点击标示层+右键Flatten(打散):标示线到拼板层拼板边框填充:点击填充层(或区域)+右键Fill profile模组板编辑铜皮层:1.将铜片从线路层中移开(新建层1)。

Genesis2000各大菜单的介绍

Genesis2000各大菜单的介绍

Genesis軟體的進入和CAM軟件各大菜单的介紹Greate: 新建创建,文件名只能用小写字母数字.(料號)Database: 文件默认名称Copy: 复制(料號)Dupiate: 自我复制Move job: 移动文件包Rename: 重新命名Delete: 删除(Ctrl+B)Strip job: 导入脚本包Export job: 输出文件包(TGZ)Import job: 导入文件包(TGZ)Archive 存檔①Secure 安全保持②Acquire 獲取料號Save: 保存Close job: 关闭文件包(退出料號)Script: 导脚本Locks: 锁定①Cheek out: 上锁②Cheek in: 解锁Locks statas: 锁定程序Version: 版本号Quit: 推出Genesis(關閉)Select: 选择①Select all: 选择所有②Unselect: 关闭选择、未使用选择Open: 打开Update window: 刷新窗口(Ctrl+F)Entity attribates: 实体属性Input: 导入,导入GerberNetlist anlyzer: 网络分析Electical Testing 测试电源①Netlist Optimizer 网络优化(Ctrl+O)②Electrical Test Manager 测试电源管理器(Ctrl+T) Out put: 输出文檔Message: 信号View Log: 查看记录Auto drill manage:输出钻带管理器Auto rout manage:输出锣帶管理器Aoi:测试光学点(Ctrl+G)Panelization Wizard:排版精灵Panelization Setup:排版设置Sharelist:分析列表ODB++ Messenger:奥宝使用者Quote Sunmdry:立刻提供ERF editor:编辑ERF档Users:用户Groups:群Configuration:组Databases:数据库Licenses:批准Usage:使用Installed:安装Clean unused symbols:清楚未使用的符号Check resized sybols:检查调整的符号Main clipboard:电路板窗口Input:导入Output:输出Genesislib:共用库Go up: 向上Matrix: 特性表Steps: 文件Symbols: D码库Stackups:叠板Wheels: D码学习器Forms:表单Flows:流程Attribates: 属性Input:导入Output:输出User:用户Extension:贮存资料档案Actions(行动菜单)– Input –Path:(找资料路径) –Job:(生产料号) Step:orig -Identify(读入资料格式) - Translate(执行轉換) – Editor(進入编辑)Job(料号):Step(文件):Job matrix(料号特性表):在工作界面(白色方框)蓝色框点右键⑴Work layer:工作层⑵Snap layer:参考层⑶Affected none:关闭所有影响层⑷Affected all:打开所有影响层⑸Affected board:电路板影响层⑹Affected filter:过滤影响层Display:显示层颜色Features histogram:显示物件(查看D码) Copy:复制merge:合并unmerge:反合并Optimize leveis:极性等级最佳化(合层)Fill profole:添满虚线(填铜--工艺边及电镀边) Register:对齐(自动对齐)Matrix:特性表⑴Ceate layer:新建层⑵Rename layer:重新命名⑶Delete layer:删除层Copper/exposed area:记算铜面积(电镀面积) Attributes:属性(查看层)Notes:记事本Clip area:清除区域Re-read:重新读入Truncate:截缩(注: 截缩后无法恢复) Compare:图形对比(原稿比对)Text reference:文字参考Create shapelist:产生形状列表Delete shapelist:删除形状列表第一个坐标:绝对坐标(白色)。

Genesis2000各大菜单的介绍

Genesis2000各大菜单的介绍

Genesis软体的进入和CAM软件各大菜单的介绍Greate: 新建创建,文件名只能用小写字母数字.(料号)Database: 文件默认名称Copy: 复制(料号)Dupiate: 自我复制Move job: 移动文件包Rename: 重新命名Delete: 删除(Ctrl+B)Strip job: 导入脚本包Export job: 输出文件包(TGZ)Import job: 导入文件包(TGZ)Archive 存档①Secure 安全保持②Acquire 获取料号Save: 保存Close job: 关闭文件包(退出料号)Script: 导脚本Locks: 锁定①Cheek out: 上锁②Cheek in: 解锁Locks statas: 锁定程序Version: 版本号Quit: 推出Genesis(关闭)Select: 选择①Select all: 选择所有②Unselect: 关闭选择、未使用选择Open: 打开Update window: 刷新窗口(Ctrl+F)Entity attribates: 实体属性Input: 导入,导入GerberNetlist anlyzer: 网络分析Electical Testing 测试电源①Netlist Optimizer 网络优化(Ctrl+O)②Electrical Test Manager 测试电源管理器(Ctrl+T)Out put: 输出文档Message: 信号View Log: 查看记录Auto drill manage:输出钻带管理器Auto rout manage:输出锣带管理器Aoi:测试光学点(Ctrl+G)Panelization Wizard:排版精灵Panelization Setup:排版设置Sharelist:分析列表ODB++ Messenger:奥宝使用者Quote Sunmdry:立刻提供ERF editor:编辑ERF档Users:用户Groups:群Configuration:组Databases:数据库Licenses:批准Usage:使用Installed:安装Clean unused symbols:清楚未使用的符号Check resized sybols:检查调整的符号Main clipboard:电路板窗口Input:导入Output:输出Genesislib:共用库Go up: 向上Matrix: 特性表Steps: 文件Symbols: D码库Stackups:叠板Wheels: D码学习器Forms:表单Flows:流程Attribates: 属性Input:导入Output:输出User:用户Extension:贮存资料档案Actions(行动菜单)– Input –Path:(找资料路径) –Job:(生产料号) Step:orig -Identify(读入资料格式) - Translate(执行转换) – Editor(进入编辑)Job(料号):Step(文件):Job matrix(料号特性表):在工作界面(白色方框)蓝色框点右键⑴Work layer:工作层⑵Snap layer:参考层⑶Affected none:关闭所有影响层⑷Affected all:打开所有影响层⑸Affected board:电路板影响层⑹Affected filter:过滤影响层Display:显示层颜色Features histogram:显示物件(查看D码) Copy:复制merge:合并unmerge:反合并Optimize leveis:极性等级最佳化(合层)Fill profole:添满虚线(填铜--工艺边及电镀边) Register:对齐(自动对齐)Matrix:特性表⑴Ceate layer:新建层⑵Rename layer:重新命名⑶Delete layer:删除层Copper/exposed area:记算铜面积(电镀面积) Attributes:属性(查看层)Notes:记事本Clip area:清除区域Re-read:重新读入Truncate:截缩(注: 截缩后无法恢复) Compare:图形对比(原稿比对)Text reference:文字参考Create shapelist:产生形状列表Delete shapelist:删除形状列表第一个坐标:绝对坐标(白色)。

genesis2000脚本运行调试

genesis2000脚本运行调试

2
Script Running
程式目錄 (script path) 程式檔名 (script name) 指定參數 (default parameters)
執行記錄 (script log)
執行後並關閉視窗
執行
關閉視窗
3
Script Recording 1
Record: 開始錄製 Stop: 停止錄製 Play: 播放錄製的指令 Pause: 暫停 (Run/Continue)
27
Example of info 1
以下的指令可以列出所有的 categories DO_INFO -t check -e $JOB/$STEP/$CHK_NAME -d ERF -o action=2 以下的指令僅列出 ar 的 category DO_INFO -t check -e $JOB/$STEP/$CHK_NAME -d ERF \ -o action=2+category=ar 以下的指令可以取得 checklist 的結果 DO_INFO -t check -e $JOB/$STEP/$CHK_NAME -d MEAS \ -o action=2+category=ar+severity=R Severity: 嚴重度等級 R: 紅色 Y: 黃色 G: 綠色
23
info command 3
-e entity_path 實體種類的路徑或名稱 -m output_method 輸出方式 output_method = <display> or <script> <display> 以文字方式顯示資料記錄 <script> 輸出資料會加上 ‘set‟ 的指令, 預設 值是使用此項

genesis2000个人操作总结及其它软件程序转换

genesis2000个人操作总结及其它软件程序转换

文件分层后标示:板内:字符(SILK_SCREEN)开窗(SOLDER_MASK)线路(SIGNAL)板外:无需理会Genesis操作快捷键:孔编辑(指复制到钻层的圆圈):1、Alt+E+E+C(填充)2、Alt+E+E+F(打散)3、DFM+Cleanup+Ref(转Pad)Alt+E+B+O:复制后文件旋转Alt+E+E+S:改线宽Alt+O:修边框Alt+E+G+D:加内D块转线框:1、Alt+E+E+O(转块在转线)注:先将线放大在转块,在缩回原样在转线2、Alt+E+E+Surface to Outline(转线)Alt+E++R+P:外形加白线Alt+S+P+C:白线画外形Alt+E+Z+G:图形扩大(图形线扩大)Alt+T:图像放大Alt+E+Z+P:边框扩大(主要用于开窗)Alt+E+C+S:手动拼板Alt+E+M+P:线整体伸缩Alt+E+P+P或N:目标正负层更换Alt+P+E 点Unselect(反选)全局反选:选中目标 Alt+A+EAlt+E+G+S 点stagnant line:first(平均线) Alt+E+E+O (转整体) 注:将正负层阴影部份合并Ctrl+X:移动Ctrl+R:加列 Ctrl+U:加行Alt+E+E+P(铜转PAD)导出文件:(Alt+A+O)开窗层、线路层、字符层转出格式:单位:英制(Inch)MORE:钻孔转出格式:单位:公制(mm)MORE:孔环复制扩充尺寸:孔层复制到线路层淘空:1:1500倍孔层复制到开窗层:1:500倍十字架转圆环:Alt+E+E+U(十字架转圆环)+捉中心点Alt+E+E+U选Mode:Select(选同一类型)拼板步骤:Alt+S+L+T+A:自动拼板AltS+P+C:加边框点击标示层+右键Flatten(打散):标示线到拼板层拼板边框填充:点击填充层(或区域)+右键Fill profile模组板编辑铜皮层:1.将铜片从线路层中移开(新建层1)。

genesis2000脚本编写(第一章)

genesis2000脚本编写(第一章)

本章内容主要介绍genesis自动化程序编写运行环境:首先对genesis2000软件进行简单的介绍;而后介绍genesis2000自动化程序的开发方式和开发语言;最后介绍自动化程序在软件中的接口。

1.1、 genesis2000软件简介:Genesis2000软件是由Orbotech与Valor的合资公司—Frontline公司开发的CAM系统,其目的是为实工程现制前自动化,为CAM处理提供最佳解决方案,由于该软件拥有很强大的功能,很多PCB生产公司都已使用它为CAM 制前服务,笔者认为该软件有以下几方面的优点:1)令人喜欢的操作界面genesis2000软件界面设计人性化,操作简单,易学。

2)用ODB++格式,使用ODB++格式有以下三个优点:(1):使设计和制造之间数据交换最优化。

(2):目前唯一性的可扩充的结构。

(3):更精确的数据描述。

3)强大的操作辅助指令genesis2000软件的操作辅助指令可以简化很多复杂的工作,很简单的操作就可以达到我们想要的目的。

4)大的分析和优化功能genesis2000软件的Analysis和DFM功能在精密度要求越来越高的PCB行业显得极为重要,它自动进行精密的分析和优化,而用手动操作根本不可能实现。

5)自动化程序开发genesis2000软件的自动化程序可以让我们任何有规律的操作,有迹可寻的设定变成自动化,大大节省制作时间和减少人为误操作。

6)不断的围绕用户升级genesis2000软件不断围绕用户的需求进行开发新的实用的功能,笔者在使用的几年间,genesis2000开发了很多新的功能。

1.2:genesis2000软件自动化程序开发方式和语言:1.2.1genesis2000软件自动化程序的编写方式可分为以下三种:1)scripts2)hooks3)forms and flows1.2.2genesis2000软件自动化程序编写语言genesis2000软件自动化程序编写语言可以用多种语言进行实现:如SH、CSH、BSH、KSH、TCL/TK、PERL/TK,等等,本书主要介绍CSH,和PERL/TK两种比较常用的编写语言。

genesis2000菜单

genesis2000菜单

edit之resizeglobal------------------所有图形元素surfaces------------------沿着表面resizc therrnals and donuts------------------散热盘及同圆contourize&resize------------------表面化及修改尺寸poly line ------------------多边形by factor------------------按照比例edit之movesame layer------------------同层移动other layer------------------移动到另一层streteh parallel lines------------------平行线伸缩orthogonal strrtch------------------平角线伸缩move triplets (fixed angele)------------------角度不变地移线(ALT+D)move triplets (fixed length)------------------长度不变地移线(ALT+J)move&to panel------------------把STEP中的图形移动到其它的STEP中edit之copysame layer------------------同层移动other layer------------------移动到另一层step&repeatsame layer------------------同层移动other layer------------------同层排版edit之reshapechange symbolsame ------------------更改图形break------------------打散break to Islands/holes------------------打散特殊图形arc to lines------------------弧转线line to pad------------------线转padcontourize------------------创建铜面部件(不常用)drawn to surface------------------线变surfaceclean holes------------------清理空洞clean surface------------------清理surfacefill------------------填充(可以将surface以线填充)design to rout ------------------设计到rout(做锣带常用,最佳值 4 3 2)substitue ------------------替代(常用,分孔图转钻孔)cutting data------------------填充成surface (常用来填充CAD数据)olarityrc direction------------------封闭区域edit之polarity(图像性质)positive------------------图像为正negative------------------图像为负invert------------------正负转换edit之ceate (建立)step------------------新建一个stepsymbol------------------新建一个symbolprofile------------------新建一个profileedit之change (更改)change text------------------更改字符串pads to slots------------------pad变成slots (槽)space tracks evenly------------------自动平均线隙(很重要)ACTIONS菜单check lists ------------------检查清单re-read ERFS------------------重读erf文件netlist analyzer------------------网络分析netlist optimization------------------网络优化output------------------输出clear selete&highlight------------------取消选择或高亮reverse seleteion---------------参考选择(很重要,有TOUCH(接触)COVERED(完全接触))script action------------------设置脚本名称selete drawn------------------选择线(一般用来选大铜皮)convert netlist to layers------------------转化网络到层notes------------------文本contour operations------------------bom view------------------surface操作OPTION菜单seletion------------------选择attributes------------------属性graphic control------------------显示图形控制snap------------------抓取measuer------------------测量工具fill parameters------------------填充参数line parameters------------------线参数colors------------------显示颜色设置components------------------零件ANALYSIS菜单surface analyzer------------------查找铜面部件中的问题drill checks------------------钻孔检查board-drill checks------------------查找钻孔层与补偿削铣层中潜在的工艺性缺陷signal layer checks------------------线路层检查power/ground checks------------------内层检查solder mask check------------------阻焊检查silk screen checks ------------------字符层检查profile checks------------------profile检查drill summary------------------生成padstack中的孔的统计数字,查找padtack中的最小焊环quote analysis------------------smd summary------------------对外层铜箔层执行操作,生成有关被检验层中的SMD定位和封装的统计报告orbotech AOI checks------------------microvia checks------------------提供HDI设计的高效钻孔分析rout layer checks------------------pads for drill------------------列出每种类型钻孔的焊盘尺寸以及焊盘的数量DFM菜单cleanup------------------redundancy cleaunp------------------repair------------------sliver------------------optimization------------------yield improvement------------------advanced------------------custom------------------legacy------------------dft------------------DFM之Cleanuplegnd detection------------------文本检测construct pads (auto)------------------自动转padconstruct pads (auto,all angles)------------------自动转pad(无论角度大小)建议不用construct pads (ref)------------------手动转pad(参照erf)DFM之redundancy cleanupaaredundant line removal------------------删除重线nfp removal------------------------------删重孔、删独立PADdrawn to outline ------------------以线或轮廓来代替线绘区域减少层中的部件数量DFM之repairpad snapping------------------整体PAD对齐pinhole elimination------------------除残铜补沙眼neck down repair------------------修补未完全被其它线或焊盘覆盖的圆端或方端产生的颈锁断开(即修补未连接上的线)DFM之sliversliver&acute angles------------------修补潜在加工缺陷的锐角sliver&peelable repair------------------查找修补信号层、地电层和阻焊层中的sliverlegend sliver fill------------------用于填充具有.nomenclature属性集的组件之间的slivertangency elimination------------------DFM之optimizationsignal layer opt ------------------线路层优化line width opt------------------GENESIS2000入门教程Padup谷大pad paddn缩小pad reroute 扰线路Shave削padlinedown 缩线line/signal 线Layer层 in 里面out外面Same layer同一层spacing间隙 cu 铜皮Other layer 另一层positive正negative负Temp临时top 顶层bot 底层Soldermask 绿油层 silk 字符层power电源导(负片) Vcc电源层(负片) ground地层(负片) apply应用solder焊锡singnal线路信号层 soldnmask绿油层input导入component元器件Close关闭zoom放大缩小create 创建Reste重新设置corner直角step PCB文档 Center中心snap 捕捉board 板Route锣带 repair修理、编辑resize (编辑)放大缩小 analysis分析Sinde边、面 Advanced 高级measuer测量PTH hole沉铜孔 NPTH hole非沉铜孔output 导出VIA hole导通孔smd pad贴片PAD replace 替换fill填充Attribute属性 round圆square正方形rectangle矩形Select选择include 包含 exclude 不包含 step工作单元Reshape改变形状 profile轮廓 drill钻带 rout锣带Actions操作流程 analyis分析 DFM 自动修改编辑 circuit线性Identify识别 translate 转换 job matrix工作室 repair修补、改正Misc辅助层 dutum point相对原点 corner 直角 optimization优化origin 零点 center中心 global全部 check检查reference layer参考层 reference selection参考选择 reverse selection反选snap对齐 invert正负调换 symbol元素 feature半径histogram 元素 exist 存在 angle 角度 dimensions标准尺寸panelization 拼图 fill parameters填充参数 redundancy 沉余、清除层英文简写层属性顶层文字 Top silk screen CM1( gtl ) silk-scren顶层阻焊 Top solder mask SM1 ( gts ) solder-mask 顶层线路 Top layer L1 ( gtl ) signal内层第一层 power ground (gnd) PG2( l2-pw ) power-ground(负片)内层第二层 signal layer L3 signal (正片) 内层第三层 signal layer L4 signal (正片) 内层第四层 power ground (vcc) L5( l5-vcc) power-ground(负片)外层底层 bottom layer L6 ( gbl ) signal底层阻焊 bottom solder mask SM6 solder-mask底层文字 bottom silk screen CM6 silk-scren层菜单Display ---------------------- -----当前层显示的颜色Features histogram ----------------当前层的图像统计Copy ---------------------- -------复制Merge ---------------------- ------合并层Unmerge ------------------- -----反合并层(将复合层分成正负两层) Optimize lerels ----------- -----层优化(当正负层太多时,要优化成最大3层)Fill profile -------------------填充profile(轮廓)Register ------------------ ----层自动对位matrix ------------------ ---- 层属性表(新建、改名、删除)copper/exposed area ----------- 计算铜面积(自动算出百分几)attribates ------------------ - 层属性(较少用)notes ------------------ ------ 记事本(较少用)clip area ------------------ - 删除区域(可自定义,或定义profile) drill tools manager ----------- 钻孔管理(改孔的属性,大小等)drill filter ------------------ 钻孔过滤hole sizes ------------------ 钻孔尺寸(在分孔图转钻孔经常用到) create drill map ------------- 利用钻孔做分孔图(如有槽孔,转出来有变) update verification coupons ----更新首尾孔的列表re-read ------------------重读文件(当文件误删时无法恢复时,可重读) truncate ------------------删除整层数据 (无法用ctrl+z恢复)compare ------------------ 层对比 (很有用,可以查看层与层之间改动过的地方)flaten ------------------翻转(只有在拼版里面才会出现)text reference------------------文字参考create shapelist------------------产生形状列表delete shapelist------------------删除形状列表EDIT菜单undo------------------撤消上一次操作delete------------------删除move------------------移动*copy------------------复制*resize------------------修改图形大小形状*transform------------------旋转、镜像、缩放connections------------------buffer------------------reshape------------------polarity------------------更改层的极性*cerate------------------建立*change------------------更改*attributes------------------属性。

genesis操作纲要

genesis操作纲要

Genesis2000 实 际 操 作 纲 要前页:资料输入作业程序(DATA Input)1、在我在电脑指定文件放置位置2、资料解压缩3、建立料号(create job)File—create4、进入输入文件视窗(Input)1)、指定资料来源目录(path)2)、指定料号目录(job)及实体资料名称(step)3)、系统分析各资料格式及参数等(Identify)4)、检查修正分析结果(paraneters layer name)5)、自动翻译/执行转换(translate)6)、进入编辑/修改视窗(EDITOR)一、〝yg〞文件操作1、工作模版进行命名简称各层次名称分析各层次内容(与实际板内容无关的东西全部清除)即在模版(JOB matrix)删除相应层次Ctrl+B2、层次排序(两种)1)、线路—防焊—文字—边框—孔2)、文字—防焊—线路—内层—线路—防焊—文字—边框—孔命令:ctrl+x 移动3、定义层次属性(JOB matrix)1)、定义层别用途(Board Misc)2)、定义层别的资料种类(Sigal Sold mask、、、、)3)、定义层别的板性(Posi neg)4)、定义钻孔层次或型层贯穿的层次(span bah "I")操作定义时可单一操作也可多层一起操作—加键shift即可4、孔层与其余层对位1)、先可以固定层作标准如GTL层2)、孔层为移放层标示为工作层(操作层)3)、确定小光标点即跳点(s+a)snaplayer锁定层-先跳到孔层后跳到固定层4)、借用控制图标选择相对应捕捉点5)、定零点(一般单只及左下角最底位置)origin①、手工定零点操作:点击控制(lntersece-origin)命令:step-datumpoit输入坐标 0 0②、自动定零点操作:所有层为影响层(Affected)借用控制图标(intersect)命令:Ctrl+x 及 !二、orig文件操作1、工作模块(文件)重命名-orig命令:Ctrl+d自我复制视窗:JOB matrix2、定义轮廓线-profile(标准的独立边框层)命令:edit-crgt-profile(定义的意义)有用无用借用网络选择图标备注:如有多余东西在边框层新建立 lo后为独立边框层,如有未连接好的端点位借用命令:Alt+o不平行且需在同直线相连3、调整边框线的宽度-默认1miL命令:Edit-Reshape-chage sgmbol输入字为小如线宽10mil——≤10mil4、钻孔的处理(补偿:Pth/Npth/Via)合并(孔径相同)1)、单位:mm2)、补偿(按理论标准)Pth/Npth/先处理机械孔位的焊盘右键-Drill toolsmanger3、机械孔位盘焊处理①、作挡油点(干膜线路NPTH孔位上焊盘除外)②、取消③、如果工艺为干膜线路则NPTH孔位上焊盘一定取消借用过滤器—user filter 3)、合并(孔径完全相同才可执行)4)、删除刀具(刀序)右键-features histogram-点亮select——close——ctrl+b5)、重排刀序:T1—T2—T3—T4—T5、、、、、命令右键—Drill toolsmanger—meregetools6)、钻孔的检查(重孔连孔)命令:Analysis—drill checks7)、两孔相连相切相离(专指不等合标准的孔)各类孔相关处理—分刀具方法:在相应孔径加大0.1mil 即可分开命令:EDIT—RESIZE—GLOBAL只需直接输入加大的数据 如0.1mil即可8)、查看孔的部个数借用单选图标双击孔位即可5、线形转盘形—只针对外层线路和防焊方法:( CTRL+W 图像切换)以零线图像为准借用单选图标再定好操作层命令:DFM—Cleanup—Constructpads(Ref)6、孔层与其余各层修正对齐(只限线路防焊层)命令:DFM—Repair—pad snapping三、EDIT 文件操作1、删除板外所有无用的东西命令:Affected Board (clip area)2、线路补偿(一般12mil以下的线宽)命令:Features histogram命令:EDIT—RESIZE—GLOBAL 直接输入数据 1mil即可3、如果大铜皮或网格不补偿的处理命令:Actions-Select Drawn-mixed 操作时需新建立一层★3、机械孔位盘焊处理 (此步放在孔径补偿)①、作挡油点(干膜线路NPTH孔位上焊盘除外)②、取消③、如果工艺为干膜线路则NPTH孔位上焊盘一定取消借用过滤器—user filter4、删除外围铜皮标准10-12mil命令:EDIT—copy—other layer—(以负片显示)5、检查外围铜皮走线是否被削断定(人工检查)6、设置SMD的属性(只有外层线路)命令:DFM—Cleanup—Set Smd Attribute7、优化外层线路命令:DFM—Optimization—Signal Layer Opt8、外层线路/内层正片线路的检查命令:Analysis—Singal Layer Checks—所有设置可以不修改优化内层负片线路命令:DFM—Optimization—Power/Ground Opt内层负片线路的检查命令:Analysis—Power/Ground Checks—所有设置可以不修改9、防焊的处理①、过孔、机械孔的处理②、防焊优化命令:DFM—Optimization—Solder Mask Opt③、开通窗绿油桥10、防焊的检查命令:Analysis—Solder Mask Checks11、文字的处理手工移动文字/改变文字大小/比例/削文字命令:Alt+T(镜像、旋转、改比例)四、Step 文件处理/排版1、备排连片时所用到的数据并作好记录2、建立新的工作模块STEP(客户)命令:Step—Panelization—Panel Size3、定义工作边(板骨边)命令:Step—Panelization—Active area4、在工作边上加定位孔(边框、板骨)命令:Step—Profile—Create Rout5、排版中间内容命令:Step—Panelization—Step&Repeat—Table五、Panel 文件处理1、备排大片时所用到的数据并作好记录2、建立新的工作模块 Panel 层命令:Step—Panelization—Step&Repeat—Automatic 3、Step旋转命令:Step—Panelization—S&R Edit4、填充电镀边命令:Step—Panelization—Pattern fillGenesis快捷键及命令ctrl+n 网络分析ctrl+o 网络优化ctrl+t 电测试管理ctrl+g 奥宝AOI窗口在Graphic Editorb 恢复至上次显示状态n 切换相邻feature(在加rout chain时特别有用) ctrl+a 手动缩放ctrl+b 删除选择的物件ctrl+c 复制ctrl+d 下移ctrl+e 指定放大缩小的中心ctrl+f 刷新ctrl+g 选择网格形式ctrl+h 满屏显示ctrl+i 放大ctrl+l 左移ctrl+m 4层或大于4层显示Ctrl+n 显示负的图形ctrl+o 缩小ctrl+p 打印ctrl+q 平行线拉伸ctrl+r 右移ctrl+s 捕捉功能ctrl+u 上移ctrl+v 粘贴ctrl+w 在实体、轮廓、骨架之间切换ctrl+x 移动ctrl+z 恢复到前一步操作alt+c 同层复制alt+d 移动三连线,角度不变alt+g 图形控制面板alt+h 帮助菜单arl+j 移动三连线,长度不变alt+l 线参数alt+n 选择参数alt+o 弹出倒角菜单alt+t 弹出转换菜单s+a 转换snap层s+c 捕捉到中心s+e 捕捉到边缘s+g 捕捉到栅格s+i 捕捉到交*点s+m 捕捉到中点s+o 关闭对齐s+p 捕捉到轮廓线s+s 捕捉到骨架。

genesis 2000软件操作

genesis 2000软件操作
designrulecheck其它的圖像工具2配合signallayeroptimization參考engineeringtoolkit的檔案功能修改尺寸修改形狀新增回復上次動作memstackfilo每個graphiceditor產生一個undostack移動到其它層平行線伸縮移動到其它層平行線伸縮複製到其它層陣列式複製複製到其它層陣列式複製修改尺寸全體的物件表面物件螃蟹腳及同心圓表面化及修改尺寸依比例全體的物件表面物件1表面物件2螃蟹腳及同心圓表面化及修改尺寸mil01mil025mil一次只能做一個依比例需加上rotate180度倒直角選取圓弧模式r角半徑角度倒斜角選取導角模式可依各邊長度或角度打散打散成島空洞還原成表面物件線轉成pad表面物件轉成padpad表面化線塗的資料轉成表面物件清除空洞清理表面物件設計轉為成型替代將角度歸零打散specialsymbolstext打散成島空洞還原成表面物件若removelayers線轉成pad表面物件轉成pad生成surfacemil01mil025mil清除空洞清理表面物件可以清除島islands填充將表面物件surfacedrawn設計轉為成型替代極性相反新增新增step新增symbol新增profile新增step新增symbol資料存在job新增profileprofile定義stepprofile建立後不可去除
回到上一個視窗
視窗功能 (Pan) 2
將座標設為視窗中心(以現在視窗的倍率為顯示倍率)
**可將滑鼠移到某座標, 再按 <Ctrl> <e> 蛇行移動視窗, 移動範圍為 90% (以現在視窗的倍率為顯示倍率) 範圍 設定起點 移動方式
量測功能 (Measurement)
量測
量測點到點 間距 網路之最小間距(<100 mil) 錫墊

Genesis2000中常用菜单

Genesis2000中常用菜单

Genesis2000中常用菜单一、 EDIT1、esize:(1)GLObaL:整版改变光圈大小(2)BY Factor:按倍数放大2、Reshape:CHANGE Symbol:改变光圈大小Break:打散(把一个复杂图形打散成一个基本组成量)Break To Islands/Holes把一个含Holes的Surfaces打散成两层Line TO pad:起点与终点重合的线可转成PadClean Holes:可盖掉小的HolesFill:将surfaces的图形Fill回去(即转成用线填)3、ange:space Tracks Evenly均分线pad之间的距离4、ctions(1)hecklists :把一些分散的功能做成一个表格(2)Netlist Analyzer:网络比较(3)Select Drawn:系统自动分析可转成surfaces的file二、Analysis:分析1、surfaces Analysis:分析有问题的SURFACES2、Drill cheaks:普通钻孔分析(平面)3、signal layer checks:对层的检测4、Power/ground checks:电源层/接地层的检测5、solder mask check:阻焊层的检测6、silk screen checks:字符层检测7、Drill Checks:钻孔层检测8、SMD checks:给出SMD报告9、Pads for Drills:根据钻孔对Pads分类三、DFM1、Cleanup:(1)construe Pads(Auto)自动转换pads(2)construe pads(Ref)手动转换pads(3)set SMD Attribute:系统自动检测是否加SMD pads(定义SMD。

格式)(4)Line unification:对线的重组2、Redudancy cleanupRedundancy Line Removal:多余的线删除3、Repair(A)Pad snapping:焊盘修复(B)Pinhole Elimination:针孔(C)NecK Down Repair:线与线未完全重合处的修改4、sliver(A)sliver & Acute Angles:小空隙的修改(B)sliver & Peelable Repair:选用surfaces修改还是选用file修改(C)legend sliver fill:字符间距修复(D)Tangency Elimination:大面积铜皮上小空隙的修复四、optimization:优化(A)signal Layer opt:对层的优化(B)Line widith opt:对线优化(C)D/G opt :电源/接地层的优化(D)Solder Mask opt:对阻焊层的优化(E)Sik screen opt :字符层的优化(F)yield Improvement:Etch compensate:蚀刻补偿Advanced Teardrops Creation:加泪滴状盘copper Balancing:加假焊盘。

genesis 操作基本命令

genesis 操作基本命令

概觀區及座標區
概觀區 可以知道圖形顯示區位於整層 圖形的位置 **選擇區域放大的功能可用在 概觀區內
座標區 顯示目前滑鼠游標所在的座標值
資訊列
特殊座標 極座標 (角度及長度) 弳座標 (x, y)
絶對/相對座標
Datum 用於: 1. 排版 (S&R) 2. 圖案填滿 (Pattern Fill)
層 別 列 表
選擇指示器 資訊列
圖形編輯器視窗
圖形顯示區
標題區
圖 像 工 具 區
概觀區 座標區 訊息列
標題列
視窗名稱
軟體版本
工作平台 電腦名稱
登入Genesis 的使用者名稱
標題區
Frontline 的 Logo (軟體公司)
軟體名稱
開啟此視窗 的系統日期時間
圖像工具區
顯示功能區 資料查詢區 單一操作(編輯)區 選擇區
許可權 1
使用, 目前使用中的許可權 安裝, 安裝在系統上的許可權
許可權 2
選項
使用者
<user>@<computer>.<display>
電腦名稱 Genesis 使用者名稱 X window 顯示名稱
許可權 3
選項
等級
期限
最多 安裝數
最多 場合數
視窗
開啟輸入視窗
回到 Engineering Toolkit 開啟輸出視窗

電源

混合

文字
防焊
M1
錫膏
鑽孔
成型
文件
修正欄 2
文字 訊號 訊號 混合 電源 防焊 錫膏 成型
(類型, 極性) 層名
錫膏 防焊 電源 混合 訊號 訊號 文字 鑽孔 雜集

GENESIS2000入门教程要抄写

GENESIS2000入门教程要抄写

GENESIS2000入门教程Padup谷大pad paddn缩小pad reroute扰线路Shave削pad linedown缩线line/signal线Layer 层in 里面out外面Same layer 同一层spacing 间隙cu铜皮Other layer另一层positive 正negative负Temp 临时top顶层bot底层Soldermask绿油层silk字符层power 电源导(负片) Vcc 电源层(负片) ground 地层(负片) apply 应用solder 焊锡singnal 线路信号层soldnmask绿油层input 导入component 元器件Close 关闭zoom放大缩小create 创建Reste 重新设置corner 直角step PCB文档Center 中心snap 捕捉board 板Route 锣带repair 修理、编辑resize (编辑)放大缩小analysis 分析Sinde 边、面Advanced 高级measuer 测量PTH hole 沉铜孔NPTH hole 非沉铜孔output 导出VIA hole 导通孔smd pad 贴片PAD replace 替换fill 填充Attribute 属性round 圆square 正方形rectangle 矩形Select 选择include 包含exclude 不包含step 工作单元Reshape 改变形状profile 轮廓drill 钻带rout 锣带Actions 操作流程analyis 分析DFM 自动修改编辑circuit 线性Identify 识别translate 转换job matrix 工作室repair 修补、改正Misc 辅助层dutum point 相对原点corner 直角optimization 优化origin 零点center 中心global 全部check 检查reference layer 参考层reference selection 参考选择reverse selection 反选snap 对齐invert 正负调换symbol 元素feature 半径histogram 元素exist 存在angle 角度dimensions 标准尺寸panelization 拼图fill parameters 填充参数redundancy 沉余、清除层英文简写层属性顶层文字Top silk screen GTO silk-scren顶层阻焊Top solder mask GTS solder-mask顶层线路Top layer GTL signal内层第一层power ground (gnd) PLN2 power-ground(负片)内层第二层signal layer SIG3 signal (正片)内层第三层signal layer SIG4 signal (正片)内层第四层power ground (vcc) PLN5 power-ground(负片)外层底层bottom layer GBL signal底层阻焊bottom solder mask GBS solder-mask底层文字bottom silk screen GBO silk-scren层菜单Display ---------------------- -----当前层显示的颜色Features histogram ---------------- 当前层的图像统计Copy ---------------------- ------- 复制Merge ---------------------- ------ 合并层Unmerge ------------------- ----- 反合并层(将复合层分成正负两层)Optimize lerels ----------- ----- 层优化(当正负层太多时,要优化成最大3层)Fill profile ------------------- 填充profile(轮廓)matrix ------------------ ---- 层属性表(新建、改名、删除)copper/exposed area ----------- 计算铜面积(自动算出百分几)attribates ------------------ - 层属性(较少用)notes ------------------ ------ 记事本(较少用)clip area ------------------ - 删除区域(可自定义,或定义profile)drill tools manager ----------- 钻孔管理(改孔的属性,大小等)drill filter ------------------ 钻孔过滤hole sizes ------------------ 钻孔尺寸(在分孔图转钻孔经常用到)create drill map ------------- 利用钻孔做分孔图(如有槽孔,转出来有变)update verification coupons ---- 更新首尾孔的列表re-read ------------------ 重读文件(当文件误删时无法恢复时,可重读)truncate ------------------ 删除整层数据(无法用ctrl+z恢复)compare ------------------ 层对比(很有用,可以查看层与层之间改动过的地方)flaten ------------------ 翻转(只有在拼版里面才会出现)text reference------------------文字参考create shapelist------------------产生形状列表delete shapelist------------------删除形状列表EDIT菜单undo------------------撤消上一次操作delete------------------删除move------------------移动*copy------------------复制*resize------------------修改图形大小形状*transform------------------旋转、镜像、缩放connections------------------buffer------------------reshape------------------polarity------------------更改层的极性*cerate------------------建立*change------------------更改*attributes------------------属性edit之resizeglobal------------------所有图形元素surfaces------------------沿着表面resizc therrnals and donuts------------------散热盘及同圆contourize&resize------------------表面化及修改尺寸poly line ------------------多边形by factor------------------按照比例edit之movesame layer------------------同层移动other layer------------------移动到另一层streteh parallel lines------------------平行线伸缩orthogonal strrtch------------------平角线伸缩move triplets (fixed angele)------------------角度不变地移线(ALT+D)move triplets (fixed length)------------------长度不变地移线(ALT+J)move&to panel------------------把STEP中的图形移动到其它的STEP中same layer------------------同层移动other layer------------------移动到另一层step&repeatsame layer------------------同层移动other layer------------------同层排版edit之reshapechange symbolsame ------------------更改图形break------------------打散break to Islands/holes------------------打散特殊图形arc to lines------------------弧转线line to pad------------------线转padcontourize------------------创建铜面部件(不常用)drawn to surface------------------ 线变surfaceclean holes------------------清理空洞clean surface------------------清理surfacefill------------------填充(可以将surface以线填充)design to rout ------------------设计到rout(做锣带常用,最佳值432)substitue ------------------替代(常用,分孔图转钻孔)cutting data------------------填充成surface (常用来填充CAD数据)olarityrc direction------------------封闭区域edit之polarity(图像性质)positive------------------图像为正negative------------------图像为负invert------------------正负转换edit之ceate(建立)step------------------新建一个stepsymbol------------------新建一个symbolprofile------------------新建一个profileedit之change(更改)change text------------------更改字符串pads to slots------------------pad 变成slots (槽)space tracks evenly------------------自动平均线隙(很重要)ACTIONS菜单check lists------------------检查清单re-read ERFS------------------重读erf文件netlist analyzer------------------网络分析netlist optimization------------------网络优化output------------------输出clear selete&highlight------------------取消选择或高亮reverse seleteion---------------参考选择(很重要,有TOUCH(接触)COVERED(完全接触))script action------------------设置脚本名称selete drawn------------------选择线(一般用来选大铜皮)convert netlist to layers------------------转化网络到层notes------------------文本contour operations------------------bom view------------------surface操作seletion------------------选择attributes------------------属性graphic control------------------显示图形控制snap------------------抓取measuer------------------测量工具fill parameters------------------填充参数line parameters------------------线参数colors------------------显示颜色设置components------------------零件ANAL YSIS菜单surface analyzer------------------查找铜面部件中的问题drill checks------------------钻孔检查board-drill checks------------------查找钻孔层与补偿削铣层中潜在的工艺性缺陷signal layer checks------------------线路层检查power/ground checks------------------内层检查solder mask check------------------阻焊检查silk screen checks ------------------字符层检查profile checks------------------profile检查drill summary------------------生成padstack中的孔的统计数字,查找padtack中的最小焊环quote analysis------------------smd summary------------------对外层铜箔层执行操作,生成有关被检验层中的SMD定位和封装的统计报告orbotech AOI checks------------------microvia checks------------------ 提供HDI设计的高效钻孔分析rout layer checks------------------pads for drill------------------列出每种类型钻孔的焊盘尺寸以及焊盘的数量DFM菜单cleanup------------------redundancy cleaunp------------------repair------------------sliver------------------optimization------------------yield improvement------------------advanced------------------custom------------------legacy------------------dft------------------DFM之Cleanuplegnd detection------------------文本检测construct pads (auto)------------------自动转padconstruct pads (auto,all angles)------------------自动转pad(无论角度大小)建议不用construct pads (ref)------------------手动转pad (参照erf)DFM之redundancy cleanupaaredundant line removal------------------删除重线drawn to outline ------------------以线或轮廓来代替线绘区域减少层中的部件数量DFM之repairpad snapping------------------整体PAD对齐pinhole elimination------------------除残铜补沙眼neck down repair------------------修补未完全被其它线或焊盘覆盖的圆端或方端产生的颈锁断开(即修补未连接上的线)DFM之sliversliver&acute angles------------------修补潜在加工缺陷的锐角sliver&peelable repair------------------查找修补信号层、地电层和阻焊层中的sliverlegend sliver fill------------------用于填充具有.nomenclature属性集的组件之间的sliver tangency elimination------------------DFM之optimizationsignal layer opt ------------------线路层优化line width opt------------------通过削线来达到最小值power/ground opt------------------内层优化solder mask opt------------------阻焊优化silk screen opt ------------------字符优化solder paste opt------------------锡膏优化positive plane opt ------------------DFM之yield improvementetch compansate------------------对蚀刻进行补偿、但保持CAD规范advanced teatdrops creation------------------加泪滴copper balancing------------------用于平衡铜箔分布来实现信号层上的镀覆均匀GENESIS2000常用快捷键Home 将当前图象恢复到初始状态( 等同于Ctrl + H )PageUP 扩大(Ctrl+I)PageDown 缩小(Ctrl+O)四个方向键分别向各自方向移动(配合Shift键可以实现慢移)Ctrl 跟其它键组合用,例如配合框选可以选中与框线接触的对象Shift 跟其它键组合用,例如按住Shift键不动,可用鼠标连续选中多个对象Ctrl + W 查看轮廓或骨架(有三种状态,可轮流切换)Ctrl + Z 撤消以前的操作Ctrl + X 可在按下该组合键后,再移动当前对象Ctrl + C 复制Ctrl + V 粘贴Ctrl + B 删除被选中物件Ctrl + N 查看负的对象Ctrl + S 调出抓取窗口Ctrl + I 在矩阵内可插入一行或一列(在编辑窗口可以放大)Ctrl + M 显示多于四层Ctrl + Q 框选对象后垂直或水平移动Ctrl + F 刷新Alt + G 调出控制窗口Alt + C 同层复制Alt + T 打开Transform菜单Alt + D 保持角度移动三段线的中间线Alt + L 加线的方向控制Alt + J 保持长度移动三段线的中间线Alt + O 打开Connection菜单S + A 切换抓取层S + O 关闭抓取方式S + C 抓取所选对象的中心点S + I 抓取所选对象的交叉点S + M 抓取所选对象的中点S + G 抓格点S + S 抓骨架S + E 抓边缘S + P 抓Profile双击鼠标中键取消被选的同类物件三击鼠标中键取消高亮显示状态和被选状态导入资料时,如果是这样的错误,那么查看Report,里面要是有下面那句错误提示那么就修改iol_sip-677002-Self intersecting polygon将NO改成YES,双击打开就OK了反正如果在genesis遇到这种自相交的情况,你只要把polygon选择,加个0.1mil就会修正了,修正很简单,就是把这个polygon选择,加大0.1mil,有时候你输出的时候会出现错误提示,就可以用surface 分析命令,找到那些自相交的polygon,然后选择加大1、drill数据如果是多个合在一起的话,要分为几部分并且每一部分它们对应的代码应该意义匹配,2、建立d码模版的时候,如果按照正常建立无法转换,就要考虑是否是特殊字符。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Genesis2000脚本命令大全1.switch的用法,注意每一个case必须要以breaksw结尾否则会继续执行下一个case的命令(1)另外,$<的意思是取得使用者的stand input(2)echo若加上-n的选项,则游标会停留在该行最后echo-n"Input one color:"set STOPLIGHT=$<switch($STOPLIGHT)case red:echo"red"breakswcase orange:echo"orange"breakswcase green:echo"green"breakswdefault:echo"you input$STOPLIGHT"endsw--------------------------------------------------------------------2.利用set来取得变数,set ABC="I am ABC"也可以利用`command`来取得命令且外,case也可以用万用字元*来代替set VER=`uname-r`switch($VER)case5.5:echo"run the setup of$VER"breakswcase5.3:echo"run the setup of$VER"breakswcase5.*:echo"like5.x"breakswcase4.*:echo"like4.x"breakswdefault:echo"no idea"endsw--------------------------------------------------------------------3.if的语法,比较数字set n1=1set n2=2if($n1==$n2)thenecho"$n1Equal$n2"elseecho"$n1Not Equal$n2"endif--------------------------------------------------------------------4.if的语法,比较字串set n1=abcdefset n2=abcdeif($n1==$n2)thenecho"$n1Equal$n2"elseecho"$n1Not Equal$n2"--------------------------------------------------------------------5.if的语法,比较相似的字串set n1=abcdefset n2=abcdeif($n1=~$n2)thenecho"$n1Like$n2"elseecho"$n1Not Like$n2"endif--------------------------------------------------------------------6.if的语法,比较数字的大小set n1=1set n2=2if($n1>$n2)thenecho"$n1>$n2"echo"$n1<$n2"endif--------------------------------------------------------------------7.每分钟执行一次的程式#mm等于当天时间的【分钟】数set mm=`date|cut-d''-f4|cut-d:-f2`if(-r$0.out)thenrm$0.outtouch$0.outelsetouch$0.outendifwhile($mm<=16)set mm=`date|cut-d''-f4|cut-d:-f2`echo"$mm now is`date`"sleep60#echo"$mm now is`date`">>$0.outendecho"Over">>$0.out--------------------------------------------------------------------8.一个回圈的范例,并且利用expr去作加的动作回圈的语法如下:foreach number(123)echo$numberendset counter=0while($counter<=10)echo"sleeping for5seconds"sleep5counter=`expr$counter+1`end--------------------------------------------------------------------9.设定一个用当天月份与日期作为档案名称的程式如今天是10/02,则$prefix会等于该程式+1002date.csh1002set prefix=`basename$0``date'+%m%d'`echo$0echo$prefix--------------------------------------------------------------------10.移除在foreach回圈内指定的档案内的font字串foreach file([b,e,g,h,s]*.html)echo-n"Processing$file,remove the line number`grep-n font $file`"#$log表示这个$file有几个font字串set log=`grep-c font$file`if($log=='0')thenecho",pass$file"else#先找出该档案的第一次出现font的行数,如果3,则$cmd=3dset cmd=`grep-n font$file|cut-d:-f1|head-1`d#利用sed去执行删除的动作,并把结果输出到${file}1sed$cmd$file>${file}1#如果${file}1没有资料,则passingif(-z${file}1)thenecho",${file}1is zero"elsecp${file}1$filerm{$file}1echo",$file remove ok"endifendifend#后来看过sed的更进一步用法,发现先前写的太笨了,试试这个#sed/font/d$file>${file}1#一次OK,我真是大笨蛋--------------------------------------------------------------------11.功能:将指定的档案中,出现第一次【回】的那一行,加上<ti tle>xxxx</title>foreach file(sky*.html)set filetitle=ftitle#主要部份为sed部份s/^*//表示将该行第一个字元前的空白删除echo"<title>`grep回$file|head-1|sed-e's/^*//'`</tit le>">$ftitle#将刚刚那一行,再插回去head-1$file>${file}headsed1d$file>${file}1cat$ftitle>>${file}headcat${file}1>>${file}headcp${file}head$filerm${file}1rm$ftitlerm${file}headecho"$file ok"end--------------------------------------------------------------------12.一个实际建立一个ftp server的程式里面包括许多应用,相当有参考价值(未完成)set path=(/usr/bin/usr/sbin)#set true=`grep-c ftp/etc/passwd`if($true==0)thenecho"no ftp user in your system"echo-n"do you want to create the ftp user?"set answer=$<if($answer=='y'||$answer=='Y')thenset maxid=`sort/etc/passwd|tail-1|cut-d:-f3`echo$maxidset newid=`expr$maxid+1`echo$newidecho"/usr/sbin/useradd-d/home1/ftp-u$newid-s/etc/false ftp"endifelseecho"Good.Your system already has the ftp user."set ftphome=`grep ftp:/etc/passwd|cut-d:-f6`echo$ftphomeendifif(-z$ftphome)thenecho"ftphome must be non-null"exit2endifif($ftphome=="/usr"||$ftphome=="/")then echo"ftphome can't be/or/usr"exit2endif#create the ftp home directoryif(!-d$ftphome)thenecho"mkdir$ftphome"endifecho"Setting up the ftphome for SunOS`uname-r`"if(!-d$ftphome)thenecho"mkdir-p$ftphome/usr/bin"endifcp/bin/ls$ftphome/usr/binchmod111$ftphome/usr/bin/lschown root$ftphome/usr/binchmod555$ftphome/usr/binif(-r$ftphome/bin)thenmv-f$ftphome/bin$ftphome/Obinendifln-s usr/bin$ftphome--------------------------------------------------------------------13.取得该使用者的UIDif($#argv==0)thenecho"$0usage:$1username"exit2endifset uid=`grep$1/etc/passwd|cut-d:-f3`echo$uid--------------------------------------------------------------------14.将指定档案内的html取代成htmforeach file(*.html)echo"Processing$file..."sed s/html/htm/$file>${file}1cp${file}1$filerm${file}1end--------------------------------------------------------------------15.一个简简单单的范例,看看就好#!/bin/csh-f echo.................echo WELCOME to\*TAPE COPY\* echo.................echo Enter your name:#$<can read from stand inputset name=$<echo""echo Hi$name\!set D=`date`echo Today\'s date is$D[1]$D[2]$D[3]if($D[1]==Mon)thenecho-------------------------------------------------------------echo Today is$D[1]day$name,it\'s time to copy your director ys\!echo-------------------------------------------------------------elseecho-------------------------------------------------------------echo Today is$D[1]day$name,no tape copies today\!echo-------------------------------------------------------------endif--------------------------------------------------------------------16.一个finger的程式set FINGER="/usr/ucb/finger"if(-x$FINGER)thenif($#argv==0)thencat<<TAG---------------------------------Hahahah....---------------------------------TAGelse$FINGER"$*"endifelseecho"Cannot find finger on this system."endif--------------------------------------------------------------------17.取得变数的方法set W=`who-r`echo$W[9]--------------------------------------------------------------------18.更改档案名称,将*.html-->*.htm#rename*.html to*.htmecho-n"This will change*.html to*.htm.Can I continue?(y/n): "set input=$<if($input!="y"&&$input!="Y")thenecho"Ok.Quit..."exit2endifforeach file(*.html)echo"Processing$file to`basename$file.html`.htm"mv$file`basename$file.html`.htmend--------------------------------------------------------------------19.更改档案名称,将*.htm-->*.htmlecho-n"This will change*.htm to*.html.Can I continue?(y/n): "set input=$<if($input!="y"&&$input!="Y")thenecho"Ok.Quit..."exit2endif#rename*.htm to*.htmlforeach file(*.htm)echo"Processing$file to`basename$file.htm`.html"mv$file`basename$file.htm`.htmlend--------------------------------------------------------------------20.将大写的档名改成小写的档名tr string1string2会将standard input的字串,所对应到的string1,都以string2取代foreach file(*)mv$file`echo$file|tr'[A-Z]''[a-z]'`end--------------------------------------------------------------------21.将小写的档名改成大写的档名foreach file(*)mv$file`echo$file|tr'[a-z]''[A-Z]'`end。

相关文档
最新文档