- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
genesis编程基础
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等等,这些指令后面都有相应的参数需要设定,如COM open_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 接下来写一行set cur_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
您可能关注的文档
最近下载
- 英文版公司章程ARTICLES OF ASSOCIATION OF.docx VIP
- 从《倾城之恋》的白流苏透析张爱玲小说中的女性形象.docx
- 2025年海南省中考物理试题卷(含答案解析).docx
- 公司章程英文版 Company Articles of Association.doc VIP
- 室内外照明线路敷设要点.ppt VIP
- 2024年建设工程监理人员技能竞赛理论考试题库(含答案).doc VIP
- Cinema 4D动画实战项目教程:C4D建模技法PPT教学课件.pptx VIP
- 档案搬迁服务 投标方案.doc
- 日本 东要介--透析液纯净化.cn.pdf VIP
- mpr300电机保护器使用使用说明书.doc
文档评论(0)