微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > PCB设计问答 > Genesis学习交流 > 发布一个原创自动调原稿的脚本

发布一个原创自动调原稿的脚本

时间:10-02 整理:3721RD 点击:
#!/usr/bin/csh
##############################################
#    copy layers form orig for pcb
#                   mzb
#                            2006.6.02
##########################################
COM clear_highlight
COM sel_clear_feat
COM clear_layers
COM affected_layer,mode=all,affected=yes
COM info,out_file=c:/tmp/w1,write_mode=replace,\
args=-t matrix -e $JOB/matrix
source c:/tmp/w1
foreach  i (`echo $gROWname`)
COM copy_layer,source_job=$job,source_step=orig,source_layer=$i,\
dest=layer_name,dest_layer=$i-org,mode=replace,invert=no
end
COM display_layer,name=drl,display=yes,number=1
COM work_layer,name=drl
COM display_layer,name=drl-org,display=yes,number=2

大家可以试用一下。请各位高手多多指导。本人QQ214284213.
邮箱。mtlmzb@sina.com

喜欢的就顶!

一起来讨论,请大家发言。

哈哈。
use Genesis;
$host = shift;
$f = new Genesis($host);
$JOB = $ENV{JOB};
$STEP = $ENV{STEP};
$f->COM (clear_highlight);            
$f->COM (sel_clear_feat);                             
$f->COM (affected_layer,mode=>"all",affected=>"no");  
$f->COM (clear_layers);
$f->INFO(entity_type => 'matrix',entity_path => "$JOB/matrix");
@row=@{$f->{doinfo}{gROWrow}};
@name=@{$f->{doinfo}{gROWname}};
@re_row = reverse @row;
if (grep /org/,@name){
             foreach(@re_row){
                              if (($name[$_-1] =~ /org/) or ($name[$_-1] =~ /\+/)){
                                                        $f->COM (matrix_delete_row,
                                                                 job=>$JOB,
                                                                 matrix=>"matrix",
                                                                 row=>$_)
                                                       }
                             }
             $f-> COM (matrix_refresh,job=>$JOB,matrix=>"matrix");
}##endif
undef @row;undef @name;undef @re_row;
$f->INFO(entity_type => 'matrix',entity_path => "$JOB/matrix");
@name=@{$f->{doinfo}{gROWname}};
$f->COM (affected_layer,mode=>'all',affected=>'yes');
foreach (@name){
            if ($_){
                         $f->COM (copy_layer,
                         source_job   => $JOB,
                         source_step  => 'orig',
                         source_layer => $_,
                         dest         => 'layer_name',
                         dest_layer   => "${_}_org",
                         mode         => 'replace',
                         invert       => 'no')
                    }
                }
$f->COM (matrix_refresh,job=>$JOB,matrix=>"matrix");
$f->COM (display_layer, name=>'drl', display=>'yes', number=>1);
$f->COM (work_layer,name=>'drl');
$f->COM (display_layer, name=>'drl_org', display=>'yes', number=>2);

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

网站地图

Top