⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 setlayout.il

📁 cadence 自动增加层和删除层的程序
💻 IL
📖 第 1 页 / 共 4 页
字号:
    foreach(layertemp alllayer
            when(layertemp=="s"
                 layernum++
                 if(layernum!=1&&layernum!=0
                    then
                      if(layernum<10
                         then
                           sprintf(new_Layer_name,"%s%d","art0",layernum)
                           new_layer_list=cons(new_Layer_name new_layer_list)
                         else
                           sprintf(new_Layer_name,"%s%d","art",layernum)
                           new_layer_list=cons(new_Layer_name new_layer_list) 
                         );end_if
                      );end_if   
                 );end_when      
            when(layertemp=="g"
                 layernum++
                 if(layernum<10
                    then
                      sprintf(new_Layer_name,"%s%d","gnd0",layernum)
                      new_layer_list=cons(new_Layer_name new_layer_list)
                    else
                      sprintf(new_Layer_name,"%s%d","gnd",layernum)
                      new_layer_list=cons(new_Layer_name new_layer_list) 
                    );end_if
                 );end_when      
            when(layertemp=="p"
                 layernum++
                 if(layernum<10
                    then
                      sprintf(new_Layer_name,"%s%d","power0",layernum)
                      new_layer_list=cons(new_Layer_name new_layer_list)
                    else
                      sprintf(new_Layer_name,"%s%d","power",layernum)
                      new_layer_list=cons(new_Layer_name new_layer_list) 
                    );end_if
                 );end_when
             );end_foreach    
         new_layer_list=cdr(new_layer_list)
         add_layer_list=reverse(new_layer_list)      
         _LX_CreatNewlayer(add_layer_list)       
));end_defun _LX_SL_ADD
;====================================================================================
                      ;_LX_CreatNewlayer()
;====================================================================================
(defun _LX_CreatNewlayer (listpara)
prog( ()  
    rpt = outfile("./creatlayer.scr")
    fprintf(rpt "version 14.2\n\nscriptmode +invisible\n\nsetwindow pcb\n\ndefine xsection\n")
    fprintf(rpt "setwindow form.xsection \n")                        
    i=2
    foreach(need_layer_name listpara  
            j=i*2+1                                                    
            fprintf(rpt "FORM xsection bottom edit Insert \n")
            if(car(parseString(need_layer_name ""))=="a"
               then
                  fprintf(rpt "FORM xsection unnamed%d etch_material COPPER \n",j )
                  fprintf(rpt "FORM xsection unnamed%d layer_type Conductor\n",j )
                  fprintf(rpt "FORM xsection unnamed%d etch_subc_name %s \n",j,need_layer_name )
                  i++
               );end_if
            if(car(parseString(need_layer_name ""))=="p"||car(parseString(need_layer_name ""))=="g"
               then
                  fprintf(rpt "FORM xsection unnamed%d etch_material COPPER \n",j )
                  fprintf(rpt "FORM xsection unnamed%d layer_type Plane\n",j )
                  fprintf(rpt "FORM xsection unnamed%d etch_subc_name %s \n",j,need_layer_name )
                  fprintf(rpt "FORM xsection %s film_type Negative      \n",need_layer_name)
                  i++
               );end_if
            fprintf(rpt "FORM xsection bottom edit Insert \n")
             );end_foreach  
    fprintf(rpt "FORM xsection done \n")                                  
    close(rpt)                                                            
    axlShell("replay ./creatlayer.scr")                                
    deleteFile("creatlayer.scr")                                       
));end_defun _LX_CreatNewlayer                                        
;=================================================
;_LX_del_rename()
;=================================================
(defun _LX_del_rename ()
prog( ()
   layerlist=axlGetParam("paramLayerGroup:etch")->groupMembers
   i=1
   rpt=outfile("./rename.scr")
   fprintf(rpt "version 14.2\n\nscriptmode +invisible\n\nsetwindow pcb\ntrapsize 35565\ndefine xsection\n")
   fprintf(rpt "setwindow form.xsection \n")                        
   foreach(re_each layerlist
           re_list = parseString(re_each "") 
           re_listtemp = reverse(re_list)
           re_listtemp=cdr(re_listtemp)
           re_listtemp=cdr(re_listtemp)
           re_name=buildString(reverse(re_listtemp) "")
           if(car(re_list)!="B"
              then
                if(car(re_list)!="T" 
                   then
                      i++
                      if(i<10
                         then
                            sprintf(tailnum "0%d",i)
                         else
                            sprintf(tailnum "%d",i)
                         );end_if
                      rename=strncat(re_name tailnum 2)
                      fprintf(rpt "FORM xsection %s etch_subc_name %s \n",re_each,rename)                        
                   );end_if
              );end_if
           );end_foreach
   fprintf(rpt "FORM xsection done \n") 
   close(rpt)                                                            
   axlShell("replay ./rename.scr")                                
   deleteFile("creatlayer.scr")                                       
));end__LX_del_rename
;=================================================
;                  _LX_cancel_caminit()
;=================================================
(defun _LX_cancel_caminit ()
prog( ()
let( (nParaStateTemp nParaStatet)
     nParaStateTemp=nil
     nParaStateTemp=axlGetParam("paramLayerGroup:etch")->groupMembers
     nParaState=reverse(nParaStateTemp)
     rpt=outfile("./cancelCaminit.scr")
     fprintf(rpt "version 14.2\n\nscriptmode +invisible\n\nsetwindow pcb\ntrapsize 13240\n")  
     fprintf(rpt "film param                                   \n")  
     fprintf(rpt "setwindow form.film_control                  \n")  
;     fprintf(rpt "FORM film_control filmtree  BOTTOM           \n")  
     foreach(eachStatePara  nParaState
			 fprintf(rpt "FORM film_control filmtree %s \n",eachStatePara)
             fprintf(rpt "FORM film_control filmtree popup Cut %s \n",eachStatePara)  
             );end_foreach   
;     fprintf(rpt "FORM film_control filmtree popup Cut TOP \n")  
     fprintf(rpt "FORM film_control load                   \n")
     fprintf(rpt "fillin \"cam.txt\"                       \n")
     fprintf(rpt "FORM film_control filmtree  TOP          \n")
     fprintf(rpt "FORM film_control filmtree popup Cut TOP \n")
     fprintf(rpt "FORM film_control ok                     \n")
     close(rpt)
     axlShell("replay ./cancelCaminit.scr")                                           
     deleteFile("cancelCaminit.scr")                                                
);end_let
));end_defun  _LX_cancel_caminit                                                                    
                                                                                                               
                                                                    

                                                                      
                                                                      
                                                                      
                                                                      
 
                         









                                                           
                                                           
                                                           
                                                           
                                                           
                                                           
                                                           
                                                           

































































































⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -