GENESIS里怎么做阴阳拼板?
我做到这里就进行不下去了?这是怎么回事?
是SET拼版的,要实体才能吧...
circuit小单元可以通过matrix下面的菜单flip,然后在mother panel里面拼。 如果step里面已经有嵌套其他step的话,是不能flip的。
你的意思是说;如果是单PCS直接拼PNL的话就可以flip,如是拼好SET再拼PNL就不可以了
未定义为Board的层可以操作吗?
呵呵 我遇到过这样的情况 要做两排版了 兄弟
就像是一个pnl中做两个板子一样的 再做一set 就拼进去就好了
进来, 也学习一下!
镜像后是不可以再编辑的,不然就会有你那种情况出现的~~~
說明:step為PCB,生成鏡像為PCB+1,板層分別為gto,gts,gtl,l2,l3.......ln(n為內層數),gbl,gbs,gbo,代碼只做到八層板,若多于8層,請自己根據內層交換進行添加。若有set拼板,將pcb改為set,先執行PCB代碼,再執行SET代碼。
層名請根據自己的層名進行更改。
CODE:
#!/bin/csh
#阴阳拼板自动生成PCB+1
#版本号:1.0
#代码:楚三少
##########################################
DO_INFO -t step -e $JOB/pcb
COM copy_entity,type=step,source_job=$job,source_name=pcb,dest_job=$job,dest_name=pcb+1,dest_database=
COM open_entity,job=$job,type=step,name=pcb+1,iconic=no
set prof_x = ` echo $gPROF_LIMITSxmax / 2 | bc `
set prof_y = ` echo $gPROF_LIMITSymax / 2 | bc `
#PAUSE $prof_x
#PAUSE $prof_y
AUX set_group,group=1
COM units,type=inch
COM affected_layer,mode=all,affected=yes
COM sel_transform,mode=anchor,oper=mirror,duplicate=no,x_anchor= $prof_x ,y_anchor= $prof_y ,angle=0,x_scale=1,y_scale=1,x_offset=0,y_offset=0
COM affected_layer,mode=all,affected=no
#交换字符层
COM display_layer,name=gto,display=yes,number=1
COM work_layer,name=gto
COM sel_move_other,target_layer=temp,invert=no,dx=0,dy=0,size=0,x_anchor=0,y_anchor=0,rotation=0,mirror=none
COM display_layer,name=gto,display=no,number=1
COM display_layer,name=gbo,display=yes,number=1
COM work_layer,name=gbo
COM sel_move_other,target_layer=gto,invert=no,dx=0,dy=0,size=0,x_anchor=0,y_anchor=0,rotation=0,mirror=none
COM display_layer,name=gbo,display=no,number=1
COM display_layer,name=temp,display=yes,number=1
COM work_layer,name=temp
COM sel_move_other,target_layer=gbo,invert=no,dx=0,dy=0,size=0,x_anchor=0,y_anchor=0,rotation=0,mirror=none
COM display_layer,name=temp,display=no,number=1
#交换阻焊层
COM display_layer,name=gts,display=yes,number=1
COM work_layer,name=gts
COM sel_move_other,target_layer=temp,invert=no,dx=0,dy=0,size=0,x_anchor=0,y_anchor=0,rotation=0,mirror=none
COM display_layer,name=gts,display=no,number=1
COM display_layer,name=gbs,display=yes,number=1
COM work_layer,name=gbs
COM sel_move_other,target_layer=gts,invert=no,dx=0,dy=0,size=0,x_anchor=0,y_anchor=0,rotation=0,mirror=none
COM display_layer,name=gbs,display=no,number=1
COM display_layer,name=temp,display=yes,number=1
COM work_layer,name=temp
COM sel_move_other,target_layer=gbs,invert=no,dx=0,dy=0,size=0,x_anchor=0,y_anchor=0,rotation=0,mirror=none
COM display_layer,name=temp,display=no,number=1
#交换图形层
COM display_layer,name=gtl,display=yes,number=1
COM work_layer,name=gtl
COM sel_move_other,target_layer=temp,invert=no,dx=0,dy=0,size=0,x_anchor=0,y_anchor=0,rotation=0,mirror=none
COM display_layer,name=gtl,display=no,number=1
COM display_layer,name=gbl,display=yes,number=1
COM work_layer,name=gbl
COM sel_move_other,target_layer=gtl,invert=no,dx=0,dy=0,size=0,x_anchor=0,y_anchor=0,rotation=0,mirror=none
COM display_layer,name=gbl,display=no,number=1
COM display_layer,name=temp,display=yes,number=1
COM work_layer,name=temp
COM sel_move_other,target_layer=gbl,invert=no,dx=0,dy=0,size=0,x_anchor=0,y_anchor=0,rotation=0,mirror=none
COM display_layer,name=temp,display=no,number=1
#得到板的层数
set layernum = 2
DO_INFO -t matrix -e $JOB/matrix
set matrix_counter = 1
while ( $matrix_counter <= $gNUM_ROWS )
set layer_firstname = `echo $gROWname[$matrix_counter] | cut -c1-1`
if ($layer_firstname == "l" ) then
@ layernum ++
endif
@ matrix_counter ++
end
#PAUSE $layernum
#M4交换内层
if ( $layernum == 4 ) then
COM display_layer,name=l2,display=yes,number=1
COM work_layer,name=l2
COM sel_move_other,target_layer=temp,invert=no,dx=0,dy=0,size=0,x_anchor=0,y_anchor=0,rotation=0,mirror=none
COM display_layer,name=l2,display=no,number=1
COM display_layer,name=l3,display=yes,number=1
COM work_layer,name=l3
COM sel_move_other,target_layer=l2,invert=no,dx=0,dy=0,size=0,x_anchor=0,y_anchor=0,rotation=0,mirror=none
COM display_layer,name=l3,display=no,number=1
COM display_layer,name=temp,display=yes,number=1
COM work_layer,name=temp
COM sel_move_other,target_layer=l3,invert=no,dx=0,dy=0,size=0,x_anchor=0,y_anchor=0,rotation=0,mirror=none
COM display_layer,name=temp,display=no,number=1
endif
#M6交换内层
if ( $layernum == 6 ) then
COM display_layer,name=l2,display=yes,number=1
COM work_layer,name=l2
COM sel_move_other,target_layer=temp,invert=no,dx=0,dy=0,size=0,x_anchor=0,y_anchor=0,rotation=0,mirror=none
COM display_layer,name=l2,display=no,number=1
COM display_layer,name=l5,display=yes,number=1
COM work_layer,name=l5
COM sel_move_other,target_layer=l2,invert=no,dx=0,dy=0,size=0,x_anchor=0,y_anchor=0,rotation=0,mirror=none
COM display_layer,name=l5,display=no,number=1
COM display_layer,name=temp,display=yes,number=1
COM work_layer,name=temp
COM sel_move_other,target_layer=l5,invert=no,dx=0,dy=0,size=0,x_anchor=0,y_anchor=0,rotation=0,mirror=none
COM display_layer,name=temp,display=no,number=1
COM display_layer,name=l3,display=yes,number=1
COM work_layer,name=l3
COM sel_move_other,target_layer=temp,invert=no,dx=0,dy=0,size=0,x_anchor=0,y_anchor=0,rotation=0,mirror=none
COM display_layer,name=l3,display=no,number=1
COM display_layer,name=l4,display=yes,number=1
COM work_layer,name=l4
COM sel_move_other,target_layer=l3,invert=no,dx=0,dy=0,size=0,x_anchor=0,y_anchor=0,rotation=0,mirror=none
COM display_layer,name=l4,display=no,number=1
COM display_layer,name=temp,display=yes,number=1
COM work_layer,name=temp
COM sel_move_other,target_layer=l4,invert=no,dx=0,dy=0,size=0,x_anchor=0,y_anchor=0,rotation=0,mirror=none
COM display_layer,name=temp,display=no,number=1
endif
#M8交换内层
if ( $layernum == 8 ) then
COM display_layer,name=l2,display=yes,number=1
COM work_layer,name=l2
COM sel_move_other,target_layer=temp,invert=no,dx=0,dy=0,size=0,x_anchor=0,y_anchor=0,rotation=0,mirror=none
COM display_layer,name=l2,display=no,number=1
COM display_layer,name=l7,display=yes,number=1
COM work_layer,name=l7
COM sel_move_other,target_layer=l2,invert=no,dx=0,dy=0,size=0,x_anchor=0,y_anchor=0,rotation=0,mirror=none
COM display_layer,name=l7,display=no,number=1
COM display_layer,name=temp,display=yes,number=1
COM work_layer,name=temp
COM sel_move_other,target_layer=l7,invert=no,dx=0,dy=0,size=0,x_anchor=0,y_anchor=0,rotation=0,mirror=none
COM display_layer,name=temp,display=no,number=1
COM display_layer,name=l3,display=yes,number=1
COM work_layer,name=l3
COM sel_move_other,target_layer=temp,invert=no,dx=0,dy=0,size=0,x_anchor=0,y_anchor=0,rotation=0,mirror=none
COM display_layer,name=l3,display=no,number=1
COM display_layer,name=l6,display=yes,number=1
COM work_layer,name=l6
COM sel_move_other,target_layer=l3,invert=no,dx=0,dy=0,size=0,x_anchor=0,y_anchor=0,rotation=0,mirror=none
COM display_layer,name=l6,display=no,number=1
COM display_layer,name=temp,display=yes,number=1
COM work_layer,name=temp
COM sel_move_other,target_layer=l6,invert=no,dx=0,dy=0,size=0,x_anchor=0,y_anchor=0,rotation=0,mirror=none
COM display_layer,name=temp,display=no,number=1
COM display_layer,name=l4,display=yes,number=1
COM work_layer,name=l4
COM sel_move_other,target_layer=temp,invert=no,dx=0,dy=0,size=0,x_anchor=0,y_anchor=0,rotation=0,mirror=none
COM display_layer,name=l4,display=no,number=1
COM display_layer,name=l5,display=yes,number=1
COM work_layer,name=l5
COM sel_move_other,target_layer=l4,invert=no,dx=0,dy=0,size=0,x_anchor=0,y_anchor=0,rotation=0,mirror=none
COM display_layer,name=l5,display=no,number=1
COM display_layer,name=temp,display=yes,number=1
COM work_layer,name=temp
COM sel_move_other,target_layer=l5,invert=no,dx=0,dy=0,size=0,x_anchor=0,y_anchor=0,rotation=0,mirror=none
COM display_layer,name=temp,display=no,number=1
endif