GENESIS脚本编程教材PERL
- 格式:pdf
- 大小:130.18 KB
- 文档页数:10
梅州市中联精密电子有限公司 genesis2000培训教程主视窗结构料号过滤器数据库使用者公用资料库一般料号一般料号左键[M1] 选择 确定 执行中键 [M2] 取消右键 [M3] 启动功能视窗 (右键菜单)标题栏主菜单选择的料号第 2 页 共 102 页 Genesis 图解.doc 收集整理:张继梅相同的使用者但不同的程序开启的料号未开启的料号不同的使用者所开启的料号相同的使用者且相同的程序开启的料号 (自己开启的) Open without Check out (具有修改存储的权限) **有阴影相同的使用者且相同的程序开启的料号 (自己开启的) Open without Check out (不具有修改存储的权限) **有阴影料号图像的意义genesis (使用者名称)genesis (密码)软体版本及工作平台过滤器User: genesis 的使用者 可以用此过滤器来查看 被哪个使用者Check out 的料号有哪些?梅州中联精密 genesis2000培训教程Genesis 图解.doc 收集整理:张继梅 第 3 页 共 102 页图像的意义Wheel (Aperture) 样板, genesislib 才有 版面种类, genesislib 才有 启动输入视窗启动输出视窗延伸,存储第三方的资料档案使用者,存储使用者的档案记录 Wheel (Aperture) 的资料表单 (Work forms), 在 genesislib 中建立 流程 (Work flows), 在 genesislib 中建立查看,只有 genesislib 才有, 必须连结 framework server 管理者可以透过此功能看到料号中具有代表性的资料属性,使用者自行定义的属性回到上一层矩阵,层别特性表阶段,存储资料的实际位置(ex: org, pcs, spnl, panel …)符号,存储使用者自行定义特殊符号的实际位置 (ex: UL logo, trade mark …) 叠板,压合结构第 4 页 共 102 页 Genesis 图解.doc 收集整理:张继梅建立 自我复制删除 导出资料归档自动化程序版本复制 更改名称存储 导入资料 关闭资料 锁 离开新增资料的名称资料种类Close: 关闭视窗 Apply: 执行功能资料种类来源料号及实体目的料号及实体梅州中联精密 genesis2000培训教程Genesis 图解.doc 收集整理:张继梅 第 5 页 共 102 页存储路径模式:Tar gzip (.tgz):收集成档案并压缩 收集成档案 目录可扩展标记语言 (ODBX) 料号名称数据库 输入路径 料号名称存入, 呼叫 secure 的 hook 取出, 呼叫 acquire 的hook实体名称 新名称第 6 页 共 102 页 Genesis 图解.doc 收集整理:张继梅关闭料号Check Out: 向系统取得修改存储的权限 Check In: 将修改存储的权限还给系统梅州中联精密 genesis2000培训教程Genesis 图解.doc 收集整理:张继梅 第 7 页 共 102 页选择 刷新窗口 开启输入窗口 开启输出窗口查看记录自动成型管理者光学检测 排版设定打开 (Job) 实体属性 (Job)网路节点分析器讯息自动钻孔管理者电测管理者排版精灵分享列表(目前不提供此功能)可以加上图形和注解用来提供 设计者制造者之间的资料交流。
程•GENESIS2024概述•安装与配置•基本操作与界面介绍•项目管理功能应用•电路设计实例分析•仿真分析与优化设计•总结与展望目录GENESIS2024概述010405060302软件背景与特点航空航天汽车工业能源领域生物医学前景02030401更高效的计算算法和并行技术,提高仿真速度。
更丰富的物理模型库和更精确的仿真结果。
更强大的多物理场耦合分析能力,实现更复杂的工程问题求解。
更智能的前后处理功能,提高用户的使用体验。
版本更新与功能增强安装与配置GENESIS2024支持Windows 、Linux 和macOS 等主流操作系统。
操作系统建议至少使用4核CPU ,8GB 内存,以硬件要求需要预先安装Python 3.6及以上版本,软件依赖010203系统要求与兼容性1 2 301 02 03data_pathlog_level设置日志级别,可选值为`DEBUG`、`INFO`、`WARNING`、`ERROR`等。
01 02 03优化建议根据实际项目需求,合理调整配置参数以提高运行效率。
定期备份配置文件,以防意外修改导致的问题。
基本操作与界面介绍启动界面及功能区域划分启动界面功能区域划分菜单栏、工具栏和状态栏详解菜单栏工具栏状态栏编辑操作文件操作视图操作其他常用快捷键工具操作常用操作快捷键汇总项目管理功能应用创建新项目及设置项目属性创建新项目在GENESIS2024中,用户可以通过菜单栏或工具栏快速创建新的项目,并根据需要选择项目模板。
设置项目属性新项目创建后,用户需要设置项目的各种属性,如项目名称、项目描述、项目开始和结束日期等。
这些属性有助于用户更好地管理和跟踪项目。
自定义字段除了默认的项目属性外,GENESIS2024还支持用户自定义字段,以满足不同项目的特定需求。
导入项目数据GENESIS2024支持从多种格式的文件中导入项目数据,如Excel、CSV、XML等。
用户可以根据需要选择合适的格式进行导入。
一perl是什么?二perl在哪里?三运行四注释一、Perl是什么?Perl是Practical Extraction and Report Language的缩写,它是由Larry Wall设计的,并由他不断更新和维护,用于在UNIX环境下编程。
.Perl具有高级语言(如C)的强大能力和灵活性。
事实上,你将看到,它的许多特性是从C语言中借用来的。
.与脚本语言一样,Perl不需要编译器和链接器来运行代码,你要做的只是写出程序并告诉Perl来运行而已。
这意味着Perl对于小的编程问题的快速解决方案和为大型事件创建原型来测试潜在的解决方案是十分理想的。
.Perl提供脚本语言(如sed和awk)的所有功能,还具有它们所不具备的很多功能。
Perl还支持sed到Perl及awd到Perl的翻译器。
简而言之,Perl象C一样强大,象awk、sed等脚本描述语言一样方便。
二、Perl在哪里?Perl通常位于/usr/local/bin/perl或/usr/bin/perl中。
你可以在Internet用匿名FTP 免费得到它,如{{ftp:///pub/gnu/perl-5.004.tar.gz}}。
安装过程为:(1)解压:$gunzip perl-5.004.tar.gz$tar xvf - <perl-5.004.tar.gz(2)编译:$make makefile(3)放置:将编译生成的可执行文件拷贝到可执行文件通常所在目录,如:$copy <compiled excutable file> /usr/local/bin/perl注:这需要系统管理员权限。
三、运行用文本编辑器编辑好你的Perl程序,加上可执行属性:$chmod +x <program>就可以执行了:$./<program>。
如果系统提示:"/usr/local/bin/perl not found",则说明你没有安装成功,请重新安装。
genesis编程的基础是“精通”genesis所有操作。
然后才是会c shell ,会perl 就更好了。
2.LMC-Line_Mode_Command这里为什么要先讲LMC呢?想想看我们自动化是做什么?是要用程序自动去执行软件的功能,那么软件的功能是靠什么来做的呢?就是LMC.在Genesis中几乎所有的操作都有对应的LMC,你可以在terminal中查看你执行的每一步的LMC是什么,也可以通过后面讲到的RECORD录制方式来查看保存.(所有的LMC均可以在0206手册中找到,新增的项目可在Release Note中找到),我们讨论几个常见的,进而引导你进入这个丰富的指令世界.注意在Scripts中要调用LMC指令在其前面加COM,执行时就会知道这是LMC. open_job close_job save_job del_entity open_entity等等,这些指令后面都有相应的参数需要设定,如COMopen_entity,job=123,type=matrix,name=matrix,iconic=no 在其后面就有确定是哪个料号,打开的Entity的类型Type是什么,名称是什么,是否显示符号,在我门编写的时候要注意有些指令只能在打开某个特定的窗口之后才能执行,否则会报错.比如你要执行分析的功能,那么你要在执行这个LMC前先要打开一个Step的Graphic Editor窗口.在后面的hooks调用时,使用source $1可以调用LMC的语句中的对象值,具体在line_hooks中进行讨论举几个常用的获取基本信息的LMC:get_affect_layer 取得影响层get_message_bar 取得信息栏的资料get_origin 取得Step的零点get_select_count 取得当前选择的对象的个数get_units 取得当前的单位get_user_name 取得当前的Genesis登入用户get_version 取得当前的Genesis版本get_work_layer 取得当前的工作层别(注意是最上层显示的那个Step的)如何取得呢? 当你执行指令后,返回的值在 COMANS变量中(Command Answer)主意要全部是大写字母,比如执行COM get_select_count 接下来写一行setcur_num = $COMANS就将个数定义到cur_num这个变量中去了(Shell的部份请参考Shell编程),这样就可以在后续的程序中调用这个变量.3.Line_Hooks顾名思义我们可以知道Line_Hooks是专门给LMC的.它是怎么起作用的呢?我们先来讨论Hooks程序编写的规则:1).程序档案必须放置在/genesis/sys/hooks/line_hooks目录下面2).程序命名规则: 程序执行前要执行的hooks命名为 LMC.pre 执行后要执行的为LMC.post比如说LMC open_job,其hooks文件可以有两个 open_job.pre 与open_job.post,3).程序执行时机: 上面的规则代表什么意思呢? 就是说在Genesis执行open_job这个指令时,它会先到line_hooks下确认是否有open_job.pre,先执行这个.pre的hooks文件后,再去执行open_job这个指令,在完成open_job指令后,同样的如果hooks下有open_job.post文件,会执行.post,完毕后才正式完成整个open_job的动作下面我们讨论几个实例来理解,如何利用Line_Hooks实现某些自动化的功能: 1).记录料号JOB被保存的时间机台用户,为后续追踪提供依据.这是一个最常见的例子,虽然Genesis有一个last_save的文件可以让我们查看最后保存的时间,但是一个料号有可能分不同的阶段完成,这样我们就可以将所有保存的状况记录下来,后续就可以查看确认.我们可以想象在保存完料号后进行记录这些数据,那我们可以用save_job.post这个文件来实现:以下为部份程序内容(关于Shell部分请查看Shell编程):source $1set cur_job = $lnVAL[1]set cur_time = ` date +%m%d%H%M%S `COM get_user_nameset cur_user = $COMANSset cur_mach = ` hostname `set cur_path = ` dbutil path jobs $cur_job`echo “ $cur_user save $cur_job on $cur_mach at $cur_time “ >> $cur_path/user/save_job.log前面有讨论在hooks中使用source $1来取得指令的对象值,那么这些对象值怎么调用呢?他们都在lnVAL数组变量中,根据save_job的指令语法save_job,job=111,override=no,我们可以得到当前保存的料号名是111,它的值就是lnVAL数组中的第一个取得数组中的某个值使用$lnVal[#]来实现,此例中用$lnVAL[1]来找到料号名,并将其附值给cur_job变量,下面的时间机台使用shell指令来获得,用户名称则是用LMC取得.取得这些信息后,我们要将信息保存起来,一个地方就是在料号的user下面,这样制作人员就可以在料号/user/下面随时查看了.其中有用到dbutil指令,在后面再介绍.最后将我们收集的信息保存到log文件中.2)输出output底片时检查设定的参数,停止输出并Highlight给人员修改如果你用genesis的output功能来绘制底片,你可能要设定Break S&R参数,通常我们都是设定为no输出以降低输出文件的大小,加快画片速度,那如果人员设定错误了就有可能浪费时间,所以我们可以在output之前进行检查,如果设定不正确,就退出并提醒人员修改: output.presource $1if ( $lnVAL[3] == LP7008 && $lnVAL[7] != no ) thenCOM skip_current_commandPAUSE Error parameter Please Check Break SR and output again!endif通过查看output时的指令我们找到第三个值时数出的类型,第七个值时Break S&R的设定值,所以我们就针对这两个值进行检查,当类型是LP7008时,并且设定不是no的时候就退出,并且提醒PAUSE 就是显示一个提示框.其中COMskip_current_command就是跳过这个指令.怎么样?是不是很想去试试啊!我们的工作中其实有很多可以通过这些方式来做记录或者防止误操作的,动脑筋想想你会有更多收获!(不过还是要啰唆一下,不要随便修改,记得做好备份)4. CSH-Scripts编写我们要写脚本程序,就是为了去执行某些事情,通常的观念每件事情要有基本的先后顺序.输入 => 执行 => 输出同样的写程序也要有这三步:1)输入具体的讲就是取得相关的参数,有些是从料号中取得,有些使用GUI从User的选择中得到,有些是从shell或者系统的基本环境变量中得到.常常在程序开始部分 #!/bin/csh 使用此语句表示你下面的内容为C-shell的程序,然后是一些说明性的文字,说明程序名称用途之类,以及修改的沿革记录等等然后就是初始化后面需要使用到的变量,建议将尽可能多的变量在程序前面进行设定,就算是后面在写的时候才想起来的,也可以加到前面来.有些变量需要使用GUI询问User选择或者输入某些值,也尽可能在前面定义清楚还有就是检查相关的参数是否正确,比如有些指令需要打开料号后才能执行,你可以检查料号名变量是否存在“if ( $?JOB ) then”常见的基本Genesis调用的变量有$JOB 当前开启的料号的名字 (如果没有开启料号,这个变量就不存在)$STEP 当前开启的STEP的名字$FORM 当前开启的FORM2)执行就是程序的主体,这个部份其实是最简单的,因为在输入阶段准备好之后,这一部分就是安排如何来执行想要程序做的内容,其中可能有使用选择语句,可能有循环语句,分支语句等等(请倒Shell编程中了解具体的功能),通过这些逻辑语句将Genesis中的LMC执行指令组合起来就完成了自动化的工作.3)输出等到执行完成后,将执行的结果显示给User,并将执行的信息记录到文件中,保存下来,以便User进行检查确认,这也是很重要的,俗话说得好,要有始有终.当然上面的是基本的思想,并不代表全部都要这样去做,更具实际情况可能在很多的部分都要加入GUI,那么在写的时候就要很注意做注释,以免后续修改时不知道原来编写的逻辑.下面讨论几个程序中常用的指令:dbutil 在0203中有说明(是offline的指令)比如:dbutil path jobs 找到这个料号的路径dbutil delete 删除这个料号DO_INFO (其实是COM info的缩写)alias DO_INFO 'COM info,out_file=$IFILE,write_mode=replace,args= \!:* ;source $IFILE; rm $IFILE'通过DO_INFO可以找到料号中很多的信息,可以在程序中使用或用于检查DO_INFO -t STEP -e $JOB/stepname -d SR$gSRstep 排版的step名称$gSRangle 各step的旋转角度$gSRmirror 各step是否Mirror等参数DO_INFO -t STEP -e $JOB/stepname -d EXISTS$gEXISTS yes or no 检查这个stepname是否存在MATH (数学运算,也是别名缩写)alias MATH 'echo "scale=6; \!*;" | bc' 保留6位alias MATH_1 'echo "scale=1; \!*;" | bc' 保留1位set Sum = ` MATH ( 6 * 7 + 23 ) / $var `COMPARE (也是运算,得出比较值)alias COMPARE 'echo "if(\!:*) 1;" | bc'if ( ` COMPARE "$var \< 20" ` ) then / endif5.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_pnl “\’ . \’”为显示内容#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画面.其它的应用大家就要思考自己的工作要求,然后将这些功能灵活使用了.更多的想法大家可以到CAM-论坛中讨论学习!6.如何加入中文其实现在Genesis已经有中文版的了,不过很多地方没有用它,是因为有些东西翻译后感觉怪怪的没有英语感觉好,所以建议大家学好英语,使用原始的英文版更方便些.那我们现在说的加入中文是什么意思呢?!也没有什么就是做个图片,然后放到GUI中去,当然也可以放到FORM中,这里说到FORM了,其实FORM跟GUI类似就相当于省去了很多的敲代码的过程,就像Basic 与VB,就是图形化的编辑方式.下面就来讲讲如何将图片转成GUI可用的各式:1).先在Word或 Excel中做好想要的中文字或者图形(一般用黑白色,有些可能不能显示彩色)2).使用抓图的功能将图形抓取下来3).将图形格式转为tiff 或者gif格式4).将档案放到UNIX系统的目录中5).使用UNIX的Image Tools 打开6).另存Save_As为XPM格式即可7).将保存的XPM格式图片放到你统一的XPM目录,方便以后调用.好了,开始你的图形化接口编程吧,有时间将自己的创意GUI发到CAM-论坛与大家分享一下.[脚本]-02-设变量与提取字符变量在写程式的时候用来存储值/传递值,以便在程式中使用或者保存信息,在c-shell中使用set指令来设定变量,unset来取消这个变量。
1、在Genesis中使用Perl的配置Perl Scripts1.csh.exe2.cd c:\perl\lib\core3.h2ph.bat*sys/*4.会在c:\perl\site\lib\下产生*.ph5.在c:\winnt\system32\drivers\etc\services文件里加入genesis56753/tcp#Genesis port for scripts6.将Genesis.pm,server.pl拷贝到c:\perl\site\lib这样以后写程式就不用特别指定路径只需use Genesis;即可7.程式的开头如下use Genesis;$f=new Genesis;程式后面就看你要写什么了...........8Genesis for NT要用CSH写一个调用程式假设主程式名称为Example.pl另外写一个呼叫Example.pl的小程式,其档名为:call_example.csh(档名随便)call_example.sh的內容如下:#!/bin/cshperl$path/example.pl要加一個enter,确定换行9.然后就可以Run2、Pdk编译perl教程1.首先选取perl结合目前pdk版本与perl的兼容性,经多次测试最终我选择了perl5.8.8.824这个版本。
虽然现在perl已经有8.10正式版了,要考虑pdk既可以编译win平台,也要支持编译linux平台和solaris平台。
在activestate网站并没有太多的这三平台的共同兼容的模块(主要是tk方面的),我是从perl5.8.8.818一直测试到perl5.10.1.1006版本。
如果你只是编译win平台下,那perl5.10完全没问题。
Perl5.10不带tk模块,需要自行安装(稍候告诉大家如何安装)。
从perl5.8.8.824之后版本的ppm可以自动更新模块了。
也就是说可以利用ppm安装模块!将ppm自动更新地址设置成上图所指示位置(一般默认)。
本章内容主要介绍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两种比较常用的编写语言。
自动化程序编写和运行环境本章内容主要介绍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两种比较常用的编写语言。