找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 1468|回复: 2
打印 上一主题 下一主题

调入skill程序出错,高手看看。

[复制链接]

7

主题

106

帖子

678

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
678
跳转到指定楼层
1#
发表于 2011-5-29 10:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您!

您需要 登录 才可以下载或查看,没有帐号?注册

x
我在15.7下调入setlayout.il,报错。
E- *Error* axlFormSetField: argument #1 should be any user-defined (other) type (type template = "otg") - nil

坛子里的兄弟写的源码如下:
   ;   Add/Sub layeout Designators auto crossection
;    -------------------------------------------

;==================================================================
;   Main Function
;==================================================================
axlCmdRegister("auto crossection" 'LX_Set_layout)
defun( LX_Set_layout ()
    SL_SetState_Form_Ptr  = nil
    SL_SetState_Form_Data = nil
         when(axlOKToProceed()
           when(  _SL_SetState_Form_Creat()
                  _SL_SetState_Form_Display()
               );end-when
         );end-when
);end-defun LX_Set_layout
;==================================================================
;   _SL_SetState_Form_Creat ()
;==================================================================
(defun _SL_SetState_Form_Creat ()
prog( ()
   form_file = outfile("sl_cn.form")
   fprintf( form_file "FILE_TYPE = FORM_DEFN VERSION=2\nFORM\nFIXED\n")
   fprintf( form_file "PORT 48 28                                  \n")
   fprintf( form_file "HEADER \"Set Layout Cross Section\"         \n")
   fprintf( form_file "TILE                                        \n")
   fprintf( form_file "TEXT \"s--signal g--ground p--power For example:The 4 layers input s g p s\"       \n")
   fprintf( form_file "TLOC 1 0                                    \n")
   fprintf( form_file "ENDTEXT                                     \n")
   fprintf( form_file "TEXT \"Please Input Layer_state:\"          \n")
   fprintf( form_file "TLOC 2 2                                    \n")
   fprintf( form_file "ENDTEXT                                     \n")
   fprintf( form_file "FIELD laystate                              \n")
   fprintf( form_file "FLOC 21 2                                   \n")
   fprintf( form_file "STRFILLIN 23 28                             \n")
   fprintf( form_file "ENDFIELD                                    \n")
   fprintf( form_file "TEXT \"Current layer:\"                     \n")
   fprintf( form_file "TLOC 2 4                                    \n")
   fprintf( form_file "ENDTEXT                                     \n")
   fprintf( form_file "FIELD current_layer                         \n")
   fprintf( form_file "FLOC 4 6                                    \n")
   fprintf( form_file "LIST \"\" 42 8                              \n")
   fprintf( form_file "OPTIONS sort                                \n")
   fprintf( form_file "ENDFIELD                                    \n")
   fprintf( form_file "FIELD rename_on                             \n")
   fprintf( form_file "FLOC 4 22                                   \n")
   fprintf( form_file "CHECKLIST \"Selected ,will rename\"         \n")
   fprintf( form_file "ENDFIELD                                    \n")
   fprintf( form_file "FIELD add                                   \n")
   fprintf( form_file "FLOC 5 24                                   \n")
   fprintf( form_file "MENUBUTTON \"Add\" 8 4                      \n")
   fprintf( form_file "ENDFIELD                                    \n")
   fprintf( form_file "FIELD del                                   \n")
   fprintf( form_file "FLOC 20 24                                  \n")
   fprintf( form_file "MENUBUTTON \"Delete\" 8 4                   \n")
   fprintf( form_file "ENDFIELD                                    \n")
   fprintf( form_file "FIELD cancel                                \n")
   fprintf( form_file "FLOC 35 24                                  \n")
   fprintf( form_file "MENUBUTTON \"Exit\" 8 4                     \n")
   fprintf( form_file "ENDFIELD                                    \n")
   fprintf( form_file "ENDFIELD\n")
   fprintf( form_file "ENDTILE                                     \n")
   fprintf( form_file "ENDFORM                                     \n")
   close( form_file )
   if( isFile("sl_cn.form") then
        return( t )
   else
        axlMsgPut("ERROR 01: Unable to Open .form file")
        return( nil )
   );end-if
   );end_prog
) ; end _SL_SetState_Form_Creat
;==================================================================
;   _SL_SetState_Form_Display ()
;==================================================================
defun( _SL_SetState_Form_Display ()
prog( ()
let( ( form )
   form = axlFormCreate( (gensym) "sl_cn.form" '(se outer) '_SL_State_CallBack t)
   SL_SetState_Form_Ptr = form
if( (SL_SetState_Form_Data == nil) then
   setq( SL_SetState_Form_Data t)
   laystate = strcat("")
   rename_on = nil
   axlFormSetField( form "laystate" laystate)
   putprop( SL_SetState_Form_Data laystate 'laystate)
   _LX_Changname()
   axlFormSetField(form "current_layer" dislayer_list)
   axlFormDisplay( form )
);end-if
);end-let
);end-prog
);end-defun _SL_SetState_Form_Display
;==================================================================
;    _SL_State_CallBack()
;==================================================================
defun( _SL_State_CallBack (form)
prog( ()
    case( form->curField
         ("laystate"
            axlMsgPut("Enter setup of layer .")
            laystate = form->curValue
         t)   
         ("rename_on"
            axlMsgPut("Enter setup of layer .")
            rename_on = form->curValue
            if(rename_on==t
               then
               _LX_del_rename()
               );end_if   
            axlFormListDeleteAll(form "current_layer")
            _LX_Changname()
            axlFormSetField(form "current_layer" dislayer_list)
            axlFormSetField(form "current_layer" nil)
            _LX_CreatCam()
            _LX_CreatClp()
         t)   
         ("add"
            plag=0
            plag=_LX_SL_ADD(laystate)
            if(plag!=1
               then
                   axlFormListDeleteAll(form "current_layer")
                   ;layerlist=axlGetParam("paramLayerGroup:etch")->groupMembers
                   ;foreach( selectlayer layerlist (axlFormSetField form "current_layer" selectlayer))
                   _LX_Changname()
                   axlFormSetField(form "current_layer" dislayer_list)
                   axlFormSetField(form "current_layer" nil)
                   laystate=""
                   laystate = form->curValue
                   _LX_CreatCam()
                   _LX_CreatClp()
                   ;_LX_SL_Cancel()
                   _LX_cancel_caminit()
                   axlMsgPut("Add Done")
                );end_if   
         t)
         ("current_layer"
            axlMsgPut("selected layer can be delete.")
            del_layer = form->curValue
         t)            
        ("del"
            _LX_SL_delete(del_layer)
            if(rename_on==t
               then
               _LX_del_rename()
               );end_if   
            _LX_CreatCam()
            axlFormListDeleteAll(form "current_layer")
            ;layerlist=axlGetParam("paramLayerGroup:etch")->groupMembers
            ;foreach( selectlayer layerlist (axlFormSetField form "current_layer" selectlayer))
            _LX_Changname()
            axlFormSetField(form "current_layer" dislayer_list)
            axlFormSetField(form "current_layer" nil)
            _LX_CreatCam()
            _LX_CreatClp()
            ;_LX_SL_Cancel()
            axlMsgPut("Delete Done")
         t)   
        ("cancel"
            _LX_CreatCam()
            _LX_CreatClp()
            _LX_SL_Cancel()
         nil)
         
);end-case
    );end_prog
);end-defunction _SL_State_CallBack()
;==================================================================
;    _LX_SL_Cancel()
;==========================================================================
defun( _LX_SL_Cancel ()
        when( isFile( "sl_cn.form" )  deleteFile("sl_cn.form"))
        when( SL_SetState_Form_Ptr axlFormClose( SL_SetState_Form_Ptr ))
        axlClearSelSet()
        axlCancelEnterFun()
);end-defun _LX_SL_Cancel

;==========================================================================
;                           _LX_SL_ADD()
;==========================================================================
;defun( _LX_SL_ADD (statepara)
;prog( ()
;   _LX_PDGETC_ERR()
;;-------------add layer---------------------
;   layernum=1
;   IsBottom=0
;   while(IsBottom==0
;        i=1
;        if(next_layer=car(all_layer)!=" "
;           then
;              layernum=layernum+1
;              all_layer=cdr(all_layer)
;              if(all_layer==nil
;                 then
;                    IsBottom=1
;                );end_if
;           else
;             loop=1
;             new_Layer_name=nil
;             new_layer_list=nil
;             while(loop==1
;                  i=i+1
;                  next1_layer=nthelem(i all_layer)
;                  layernum=layernum+1
;                  when(next1_layer=="s"
;                       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_when
;                  when(next1_layer=="g"
;                       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(next1_layer=="p"
;                       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                    
;                  ;把new_layer放入new_layer_list用when语句
;                  i=i+1
;                  next2_layer=nthelem(i all_layer)
;                  if(next2_layer!=" "
;                     then
;                        loop=0
;                        layernum=layernum+1
;                        i=i+1
;                        next3_layer=nthelem(i all_layer)
;                        if(next3_layer==nil
;                           then
;                              need_layer_name="BOTTOM"
;                              IsBottom=1
;                           else
;                              when(next2_layer=="s"
;                                   if(layernum<10
;                                      then
;                                        sprintf(need_layer_name,"%s%d","art0",layernum)
;                                      else
;                                        sprintf(need_layer_name,"%s%d","art",layernum)
;                                      );end_if
;                                   );end_when
;                              when(next2_layer=="g"
;                                   if(layernum<10
;                                      then
;                                        sprintf(need_layer_name,"%s%d","gnd0",layernum)
;                                      else
;                                        sprintf(need_layer_name,"%s%d","gnd",layernum)
;                                      );end_if
;                                   );end_when
;                              when(next2_layer=="p"
;                                   if(layernum<10
;                                      then
;                                        sprintf(need_layer_name,"%s%d","power0",layernum)
;                                      else
;                                        sprintf(need_layer_name,"%s%d","power",layernum)
;                                      );end_if
;                                   );end_when  
;                          );end_if
;                        creat_layer_list=reverse(new_layer_list)
;                        ;foreach(layer_list new_layer_list
;                        ;        creat_layer_list=cons(layer_list creat_layer_list)
;                        ;        );end_foreach     
;                        
;                        foreach(new_Layer_name creat_layer_list
;                                if(getchar(new_Layer_name 1)=='a
;                                    then
;                                     axlLayerCreateCrossSection(need_layer_name "Conductor" "Copper" new_Layer_name "Positive")              
;                                     ;axlShell("replay ./FR4.scr")
;                                     rpt = outfile("./FR4.scr")
;                              fprintf(rpt "version 14.2\n\nscriptmode +invisible\n\nsetwindow pcb\n\ndefine xsection\n")
;                              fprintf(rpt "setwindow form.xsection \n")
;                              fprintf(rpt "FORM xsection %s edit Insert \n" need_layer_name)
;                              fprintf(rpt "FORM xsection done \n")
;                              close(rpt)
;                              axlShell("replay ./FR4.scr")
;                              deleteFile("FR4.scr")      
;
;                                   else
;                                     axlLayerCreateCrossSection(need_layer_name "Plane" "Copper" new_Layer_name "Negative")              
;                                     ;axlSell("replay ./FR4.scr")
;                                     rpt = outfile("./FR4.scr")
;                              fprintf(rpt "version 14.2\n\nscriptmode +invisible\n\nsetwindow pcb\n\ndefine xsection\n")
;                              fprintf(rpt "setwindow form.xsection \n")
;                              fprintf(rpt "FORM xsection %s edit Insert \n" need_layer_name)
;                              fprintf(rpt "FORM xsection done \n")
;                              close(rpt)
;                              axlShell("replay ./FR4.scr")
;                              deleteFile("FR4.scr")      
;                                    
;                                     );end_"p"||"g"
;                                );endach
;                       for(j 1 i-1        
;                           all_layer=cdr(all_layer)
;                           j++
;                           );end_for   
;                    );end_if next2_layer  
;                 );end_while loop
;            );end_if next_layer     
;       );end_while isbottom         
;);end-prog
;);end-defun  _LX_SL_ADD
;============================================================================
                      ;_LX_PDGETC_ERR
;============================================================================
(defun _LX_PDGETC_ERR ()
prog( ()
    if(statepara == "ss"||statepara == nil then
      ;_LX_SL_ERROR()
      axlMsgPut("Don't have the demand of CREATE NEW LAYR") ;输出“没有新建层的要求”
      return(nil)
     );end_if
    alllayer = parseString(statepara "")
    all_layer=cdr(alllayer)
;---------------------have or not "  "-----------------------------------------------------            
    Err_slash=0
    foreach(Err_letter all_layer
            if(Err_letter==" "
               then
                 Err_slash=Err_slash+1
                 if(Err_slash>1
                    then
                       _LX_SL_ERROR()
                    );end_if
               else
                Err_slash=0
               );end_if
           );end_foreach  
;----------------------have or not " s(bottom)"---------------------------------------------------            
    if(nthelem(1 alllayer)!="s"
     then
         _LX_SL_ERROR()
    );end_if
   
  Err_bottom=nil
  foreach(letter all_layer
          Err_bottom=cons(letter Err_bottom)
          );end_foreach
  if(nthelem(2 Err_bottom)==" "
     then
         _LX_SL_ERROR()
    );end_if
   
  if(nthelem(1 Err_bottom)!="s"
     then
         _LX_SL_ERROR()
    );end_if
;--------------------------------------------------------------------------------------------                    
   foreach(eachletter all_layer
          if(eachletter!=" "&&eachletter!="p"&&eachletter!="s"&&eachletter!="g"
             then
                 _LX_SL_ERROR()
             );end_if   
          );end_foreach
;---------------ERR END--------------------------------   
));end_defun
;==================================================================
;   _LX_SL_ERROR Function
;==================================================================
(defun _LX_SL_ERROR ()
prog( ()
      axlMsgPut("The format of INPUT isn't right") ;输出“输入格式不对”
      return(nil)
);end-prog
);end-defun
;==================================================================
;           _LX_SL_delete()
;==================================================================
(defun _LX_SL_delete (statepara)
prog( ()
    para1 = nthelem(2 parseString(statepara "-"))
    alllayer = parseString(para1 "")
    all_layer=cdr(alllayer)
;----------get del_layer_list and del_fr4_list-------------  
   layernum=0
   del_fr4_list=nil
   layerlist=axlGetParam("paramLayerGroup:etch")->groupMembers
   foreach(del_fr4 layerlist
           layernum=layernum+1
           if(del_fr4==para1
              then
              sprintf(del_fr4_name,"%s%d","unnamed",layernum*2)
              );end_if
           );end_foreach  
   delete_now_layer=para1                                                                  
   rpt = outfile("./dellayer.scr")                                                                  
   fprintf(rpt "version 14.2\n\nscriptmode +invisible\n\nsetwindow pcb\n\ntrapsize 1497\ndefine xsection\n")                                             
   fprintf(rpt "setwindow form.xsection \n")
   fprintf(rpt "FORM xsection %s edit Delete\n" del_fr4_name)
   axlVisibleDesign(nil)
   sprintf(vpin "PIN/%s" delete_now_layer)
   sprintf(vvia "VIA/%s" delete_now_layer)
   sprintf(vetch "ETCH/%s" delete_now_layer)
   sprintf(vantietch "ANTI ETCH/%s" delete_now_layer)
   axlVisibleLayer( vpin t )
   axlVisibleLayer( vetch t )
   axlVisibleLayer( vantietch t )
   axlSetFindFilter(?enabled list("noall" "pins" "vias" "clines" "lines" "Shapes" "text") ?onButtons list("noall" "pins" "vias" "clines" "lines" "Shapes" "text"))
   axlDeleteObject(axlGetSelSet(axlAddSelectAll()))
   fprintf(rpt "FORM xsection %s edit Delete\n" delete_now_layer)
   fprintf(rpt "FORM xsection done \n")                                                         
   close(rpt)                                                                             
   axlShell("replay ./dellayer.scr")                                          
   deleteFile("dellayer.scr")                                                  
   ;axlFormListDeleteAll(form "current_layer")
   ;layerlist=axlGetParam("paramLayerGroup:etch")->groupMembers
   ;foreach( selectlayer layerlist (axlFormSetField form "current_layer" selectlayer))
);end_prog
);end-defunction _LX_SL_delete()
;====================================================================                                                                              
               ;_LX_CreatCam
;====================================================================                                                                              
(defun _LX_CreatCam ()
prog( ()
     _LX_Getlayer()
     _LX_CreatCamtxt(_LX_layername)
));end__LX_CreatCam
;=============================================================================  
                    ;_LX_Getlayer
;=============================================================================  
(defun _LX_Getlayer ()
prog( ()
     _LX_layername=nil
     _LX_layername=axlGetParam("paramLayerGroup:etch")->groupMembers
));end__LX_Getlayer     
;=============================================================================  
                    ;_LX_CreatCamtxt
;=============================================================================  
(defun _LX_CreatCamtxt (layername)
prog( ()
     deleteFile("./cam.txt")
     if(layername==nil
        then
           axlMsgPut("have not *.teach file.")
        else
           design_unit=nthelem(1 axlDBGetDesignUnits())
           extrac_accuracy=nthelem(2 axlDBGetDesignUnits())
           if(extrac_accuracy==0||extrac_accuracy==1||extrac_accuracy==2||extrac_accuracy==3 ||extrac_accuracy==4
              then
                case(extrac_accuracy
                    (0
                    ExtraAccuracy=6
                    )
                    (1
                     ExtraAccuracy=60
                    t)
                    (2
                     ExtraAccuracy=600
                    t)
                    (3
                     ExtraAccuracy=6000
                    t)
                    (4
                     ExtraAccuracy=60000
                    t)                    
                    );end_case
                if( design_unit == "millimeters" then ExtraAccuracy=ExtraAccuracy/40)
                if( design_unit == "inches" then ExtraAccuracy=ExtraAccuracy/1000)           
                rpt=outfile("./cam.txt")
                i=0
                foreach(eachname layername
                   case(car(parseString(eachname ""))
                       ("T"
                        i=i+1
                        fprintf(rpt "(axlfcreate \"art01\" '(0 0 0 %d 0 1 0 0 0 0 0 0 0) '(\"VIA CLASS/TOP\" \"PIN/TOP\" \"ETCH/TOP\" \"BOARD GEOMETRY/OUTLINE\" ))\n",ExtraAccuracy)
                       t)
                       ("B"
                        i=i+1
                        if(i<10
                           then
                             sprintf(camlayer,"%s%d","art0",i)
                             fprintf(rpt "(axlfcreate \"%s\" '(0 0 0 %d 0 1 1 0 0 0 0 0 0) '(\"VIA CLASS/BOTTOM\" \"PIN/BOTTOM\" \"ETCH/BOTTOM\" \"BOARD GEOMETRY/OUTLINE\" ))\n",camlayer,ExtraAccuracy)
                           else                                                                                                                                                                        
                             sprintf(camlayer,"%s%d","art",i)                                                                                                                                          
                             fprintf(rpt "(axlfcreate \"%s\" '(0 0 0 %d 0 1 1 0 0 0 0 0 0) '(\"VIA CLASS/BOTTOM\" \"PIN/BOTTOM\" \"ETCH/BOTTOM\" \"BOARD GEOMETRY/OUTLINE\" ))\n",camlayer,ExtraAccuracy)
                          );end_if
                       t)   
                       ("A"
                        i=i+1
                        if(i<10
                           then
                             sprintf(camlayer,"%s%d","art0",i)
                             fprintf(rpt "(axlfcreate \"%s\" '(0 0 0 %d 0 1 0 0 0 0 0 0 0) '(\"VIA CLASS/%s\" \"PIN/%s\" \"ETCH/%s\" \"BOARD GEOMETRY/OUTLINE\" ))\n",camlayer,ExtraAccuracy,eachname,eachname,eachname,eachname)
                           else                                                                                                                                                            
                             sprintf(camlayer,"%s%d","art",i)                                                                                                                              
                             fprintf(rpt "(axlfcreate \"%s\" '(0 0 0 %d 0 1 0 0 0 0 0 0 0) '(\"VIA CLASS/%s\" \"PIN/%s\" \"ETCH/%s\" \"BOARD GEOMETRY/OUTLINE\" ))\n",camlayer,ExtraAccuracy,eachname,eachname,eachname,eachname)
                          );end_if
                       t)
                       ("P"
                        i=i+1
                        if(i<10
                           then
                             sprintf(camlayer,"%s%d","pgp0",i)
                             fprintf(rpt "(axlfcreate \"%s\" '(0 0 0 %d 0 0 0 0 0 0 0 0 0) '(\"ANTI ETCH/%s\" \"VIA CLASS/%s\" \"PIN/%s\" \"ETCH/%s\" \"BOARD GEOMETRY/OUTLINE\" \"ANTI ETCH/ALL\" ))\n",camlayer,ExtraAccuracy,eachname,eachname,eachname,eachname)
                           else                                                                                                                                                                                               
                             sprintf(camlayer,"%s%d","pgp",i)                                                                                                                                                                 
                             fprintf(rpt "(axlfcreate \"%s\" '(0 0 0 %d 0 0 0 0 0 0 0 0 0) '(\"ANTI ETCH/%s\" \"VIA CLASS/%s\" \"PIN/%s\" \"ETCH/%s\" \"BOARD GEOMETRY/OUTLINE\" \"ANTI ETCH/ALL\" ))\n",camlayer,ExtraAccuracy,eachname,eachname,eachname,eachname)
                          );end_if                                                                                                                                                                                            
                       t)                                                                                                                                                                                                     
                       ("G"                                                                                                                                                                                                   
                        i=i+1                                                                                                                                                                                                
                        if(i<10                                                                                                                                                                                               
                           then                                                                                                                                                                                               
                             sprintf(camlayer,"%s%d","pgp0",i)                                                                                                                                                               
                             fprintf(rpt "(axlfcreate \"%s\" '(0 0 0 %d 0 0 0 0 0 0 0 0 0) '(\"ANTI ETCH/%s\" \"VIA CLASS/%s\" \"PIN/%s\" \"ETCH/%s\" \"BOARD GEOMETRY/OUTLINE\" \"ANTI ETCH/ALL\" ))\n",camlayer,ExtraAccuracy,eachname,eachname,eachname,eachname)
                           else                                                                                                                                                                                               
                             sprintf(camlayer,"%s%d","pgp",i)                                                                                                                                                                 
                             fprintf(rpt "(axlfcreate \"%s\" '(0 0 0 %d 0 0 0 0 0 0 0 0 0) '(\"ANTI ETCH/%s\" \"VIA CLASS/%s\" \"PIN/%s\" \"ETCH/%s\" \"BOARD GEOMETRY/OUTLINE\" \"ANTI ETCH/ALL\" ))\n",camlayer,ExtraAccuracy,eachname,eachname,eachname,eachname)
                          );end_if
                       t)         
                     );end_case
                  );end_foreach   
                fprintf(rpt "(axlfcreate \"adt\" '(0 0 0 %d 0 1 0 0 0 0 0 0 0) '(\"REF DES/SILKSCREEN_TOP\" \"PIN/TOP\" \"PACKAGE GEOMETRY/SILKSCREEN_TOP\" \"BOARD GEOMETRY/SILKSCREEN_TOP\" \"BOARD GEOMETRY/OUTLINE\" ))\n",ExtraAccuracy)
                fprintf(rpt "(axlfcreate \"adb\" '(0 0 0 %d 0 1 1 0 0 0 0 0 0) '(\"REF DES/SILKSCREEN_BOTTOM\" \"PIN/BOTTOM\" \"PACKAGE GEOMETRY/SILKSCREEN_BOTTOM\" \"BOARD GEOMETRY/SILKSCREEN_BOTTOM\" \"BOARD GEOMETRY/OUTLINE\" ))\n",ExtraAccuracy)
                fprintf(rpt "(axlfcreate \"all\" '(0 0 0 %d 0 1 0 0 0 0 0 0 0) '(\"PIN/TOP\" \"PIN/BOTTOM\" \"PACKAGE GEOMETRY/SILKSCREEN_TOP\" \"BOARD GEOMETRY/SILKSCREEN_TOP\" \"PACKAGE GEOMETRY/SILKSCREEN_BOTTOM\" \"BOARD GEOMETRY/SILKSCREEN_BOTTOM\" \"BOARD GEOMETRY/OUTLINE\" ))\n",ExtraAccuracy)               
                fprintf(rpt "(axlfcreate \"silktop\" '(0 0 0 %d 0 1 0 0 0 0 0 0 0) '(\"REF DES/SILKSCREEN_TOP\" \"PACKAGE GEOMETRY/SILKSCREEN_TOP\" \"BOARD GEOMETRY/SILKSCREEN_TOP\" \"BOARD GEOMETRY/OUTLINE\" ))\n",ExtraAccuracy)
                fprintf(rpt "(axlfcreate \"silkbotm\" '(0 0 0 %d 0 1 1 0 0 0 0 0 0) '(\"REF DES/SILKSCREEN_BOTTOM\" \"PACKAGE GEOMETRY/SILKSCREEN_BOTTOM\" \"BOARD GEOMETRY/SILKSCREEN_BOTTOM\" \"BOARD GEOMETRY/OUTLINE\" ))\n",ExtraAccuracy)
                fprintf(rpt "(axlfcreate \"soldtop\" '(0 0 0 %d 0 1 0 0 0 0 0 0 0) '(\"VIA CLASS/SOLDERMASK_TOP\" \"PIN/SOLDERMASK_TOP\" \"PACKAGE GEOMETRY/SOLDERMASK_TOP\" \"BOARD GEOMETRY/OUTLINE\" \"BOARD GEOMETRY/SOLDERMASK_TOP\" ))\n",ExtraAccuracy)
                fprintf(rpt "(axlfcreate \"soldbotm\" '(0 0 0 %d 0 1 1 0 0 0 0 0 0) '(\"VIA CLASS/SOLDERMASK_BOTTOM\" \"PIN/SOLDERMASK_BOTTOM\" \"PACKAGE GEOMETRY/SOLDERMASK_BOTTOM\" \"BOARD GEOMETRY/OUTLINE\" \"BOARD GEOMETRY/SOLDERMASK_BOTTOM\" ))\n",ExtraAccuracy)
                fprintf(rpt "(axlfcreate \"pasttop\" '(0 0 0 %d 0 1 0 0 0 0 0 0 0) '(\"PIN/PASTEMASK_TOP\" \"PACKAGE GEOMETRY/DISPLAY_TOP\" \"BOARD GEOMETRY/OUTLINE\" ))\n",ExtraAccuracy)
                fprintf(rpt "(axlfcreate \"pastbotm\" '(0 0 0 %d 0 1 1 0 0 0 0 0 0) '(\"PIN/PASTEMASK_BOTTOM\" \"PACKAGE GEOMETRY/DISPLAY_BOTTOM\" \"BOARD GEOMETRY/OUTLINE\" ))\n",ExtraAccuracy)
              if( axlVersion('version) < 15.0 then
                fprintf(rpt "(axlfcreate \"drill\" '(0 0 0 %d 0 1 0 0 0 0 0 1 1) '(\"MANUFACTURING/NCDRILL_LEGEND\" \"MANUFACTURING/NCDRILL_FIGURE\" \"BOARD GEOMETRY/OUTLINE\" \"BOARD GEOMETRY/DIMENSION\" ))\n",ExtraAccuracy)
              else
               if( axlVersion('version) > 15.0 then
                fprintf(rpt "(axlfcreate \"drill\" '(0 0 0 %d 0 1 0 0 0 0 0 1 1) '(\"MANUFACTURING/NCLEGEND-1-%d\" \"BOARD GEOMETRY/OUTLINE\" \"BOARD GEOMETRY/DIMENSION\" ))\n",ExtraAccuracy length( layername))
                sprintf( nc_layer "MANUFACTURING/NCLEGEND-1-%d" length( layername))
                 unless( axlIsLayer( nc_layer)
                axlMsgPut("Creating Layer %s" nc_layer)
                axlLayerCreateNonConductor( nc_layer)
                )
              )
            )
                fprintf(rpt "(axlfcreate \"xsilk2sold_top\" '(0 0 0 %d 0 1 0 0 0 0 0 0 0) '(\"BOARD GEOMETRY/OUTLINE\" \"REF DES/SILKSCREEN_TOP\" \"PIN/SOLDERMASK_TOP\" \"PACKAGE GEOMETRY/SOLDERMASK_TOP\" \"BOARD GEOMETRY/SILKSCREEN_TOP\" \"BOARD GEOMETRY/SOLDERMASK_TOP\" \"PACKAGE GEOMETRY/SILKSCREEN_TOP\"))\n",ExtraAccuracy)
                fprintf(rpt "(axlfcreate \"xsilk2sold_botm\" '(0 0 0 %d 0 1 1 0 0 0 0 0 0) '(\"BOARD GEOMETRY/OUTLINE\" \"REF DES/SILKSCREEN_BOTTOM\" \"PIN/SOLDERMASK_BOTTOM\" \"PACKAGE GEOMETRY/SILKSCREEN_BOTTOM\" \"PACKAGE GEOMETRY/SOLDERMASK_BOTTOM\" \"BOARD GEOMETRY/SILKSCREEN_BOTTOM\" \"BOARD GEOMETRY/SOLDERMASK_BOTTOM\"))\n",ExtraAccuracy)
                close(rpt)
            else
                axlMsgPut("Please set accuracy with 0 1 2 3 4")
           );end_if
     );end_if
));end_defun _LX_CreatCamtxt  
;===================================================================
;           _LX_CreatClp
;===================================================================
(defun _LX_CreatClp ()
prog( ()  
     board_name=axlCurrentDesign()
     boardname=upperCase(board_name)
;     vers="1"
     sprintf(clptxt,"./%s.clp",boardname)
     rpt=outfile(clptxt)
     fprintf(rpt "(setq _clp_lay_drw (axlDesignType nil))                                                             \n")
     fprintf(rpt "(setq _clp_sym nil)                                                                                 \n")
     fprintf(rpt "(setq _clp_pbuf nil)                                                                                \n")
     fprintf(rpt "(setq _clp_cinfo (make_clp_coord_info))                                                             \n")
     fprintf(rpt "(putprop _clp_cinfo 0.0 'f_rotation)                                                                \n")
     fprintf(rpt "(putprop _clp_cinfo '(0.0 0.0) 'l_origin)                                                           \n")
     fprintf(rpt "(setq _clp_text_orient (make_axlTextOrientation))                                                   \n")
     fprintf(rpt "(setq _clp_pin_text (make_axlPinText))                                                              \n")
     fprintf(rpt "(putprop _clp_cinfo  \"mils\" 't_from_units)                                                        \n")
     fprintf(rpt "(putprop _clp_cinfo (car (axlDBGetDesignUnits)) 't_to_units)                                        \n")
     fprintf(rpt "(setq _clp_group_info (make_clp_group_info))                                                        \n")
     fprintf(rpt "(putprop _clp_cinfo _clp_group_info 'group_info)                                                    \n")
     fprintf(rpt "(setq _clp_accuracy 1)                                                                              \n")
     fprintf(rpt "(_clpCheckAccuracy _clp_accuracy (get _clp_cinfo 't_from_units)  (get _clp_cinfo 't_to_units))\n")
     fprintf(rpt "(putprop _clp_cinfo (list (_clpAdjustPt -2275:-948.3 _clp_cinfo)                                \n")
     fprintf(rpt " (_clpAdjustPt 2175:600 _clp_cinfo)) 'l_extents)                                         \n")
     fprintf(rpt "(putprop _clp_cinfo (_clpAdjustPt '(0 -1118.25) _clp_cinfo) 'l_zeropt)                              \n")
     fprintf(rpt "(unless (_clpSelectRotOrg _clp_cinfo)                                                               \n")
     fprintf(rpt " (error \"CANCEL\"))                                                                                  \n")
     fprintf(rpt " (setq _clp_clip_prop_value (_clpGetClipPropValue))                                                 \n")
     fprintf(rpt "(_clpInitTextOrientation _clp_text_orient \"LEFT\" nil (get _clp_cinfo 'f_rotation) + 0.000000 \"8\" )  \n")
     fprintf(rpt "(setq _clp_dbid (_clpDBCreateText \"%s\"                                                           \n",boardname)
     fprintf(rpt "(_clpAdjustPt 100:300 _clp_cinfo)  _clp_text_orient                                                \n")
     fprintf(rpt "\"PACKAGE GEOMETRY/SILKSCREEN_TOP\" _clp_sym))                                                        \n")
     fprintf(rpt "(_clpInitTextOrientation _clp_text_orient \"LEFT\" nil (get _clp_cinfo 'f_rotation) + 0.000000 \"8\" )  \n")
     _LX_Getlayer();_LX_layername
     i=0
     j=300
     foreach(everylayer _LX_layername
            i=i+1               
             j=j-200
             if(car(parseString(everylayer ""))=="T"
                then
                   fprintf(rpt "(_clpInitTextOrientation _clp_text_orient \"LEFT\" nil (get _clp_cinfo 'f_rotation) + 0.000000 \"8\" )  \n")
                   fprintf(rpt "(_clpInitTextOrientation _clp_text_orient \"LEFT\" nil (get _clp_cinfo 'f_rotation) + 0.000000 \"8\" )  \n")
                   fprintf(rpt "(setq _clp_dbid (_clpDBCreateText \"%s ARTWORK TOP\"                                               \n",boardname)
                   fprintf(rpt "(_clpAdjustPt 100:%d _clp_cinfo)  _clp_text_orient                                                   \n",j)
                   fprintf(rpt "\"ETCH/TOP\" _clp_sym))                                                                               \n")
               );end_if
               
             if(car(parseString(everylayer ""))=="A"
                then
                  fprintf(rpt "(_clpInitTextOrientation _clp_text_orient \"LEFT\" nil (get _clp_cinfo 'f_rotation) + 0.000000 \"8\" )  \n")
                  if(i<10
                     then
                       sprintf(camlayer,"%s%d","LAYER0",i)  
                     else
                       sprintf(camlayer,"%s%d","LAYER",i)  
                    );end_if
                  fprintf(rpt "(setq _clp_dbid (_clpDBCreateText \"%s ARTWORK %s\"                                             \n",boardname, camlayer)
                   fprintf(rpt "(_clpAdjustPt 100:%d _clp_cinfo)  _clp_text_orient                                                   \n",j)
                  fprintf(rpt "\"ETCH/%s\" _clp_sym))                                                                             \n",everylayer)
                );end_if
               
             if(car(parseString(everylayer ""))=="P"
                then
                  fprintf(rpt "(_clpInitTextOrientation _clp_text_orient \"LEFT\" nil (get _clp_cinfo 'f_rotation) + 0.000000 \"8\" )  \n")
                  if(i<10
                     then
                       sprintf(camlayer,"%s%d","PLANE0",i)  
                     else
                       sprintf(camlayer,"%s%d","PLANE",i)  
                    );end_if
                   fprintf(rpt "(setq _clp_dbid (_clpDBCreateText \"%s POWER %s\"                                             \n",boardname, camlayer)
                   fprintf(rpt "(_clpAdjustPt 100:%d _clp_cinfo)  _clp_text_orient                                                   \n",j)
                   fprintf(rpt "\"ETCH/%s\" _clp_sym))                                                                           \n",everylayer)
                );end_if
               
             if(car(parseString(everylayer ""))=="G"
                then
                  fprintf(rpt "(_clpInitTextOrientation _clp_text_orient \"LEFT\" nil (get _clp_cinfo 'f_rotation) + 0.000000 \"8\" )  \n")
                  if(i<10
                     then
                       sprintf(camlayer,"%s%d","PLANE0",i)  
                     else
                       sprintf(camlayer,"%s%d","PLANE",i)  
                    );end_if
                   fprintf(rpt "(setq _clp_dbid (_clpDBCreateText \"%s GROUND %s\"                                              \n",boardname, camlayer)
                   fprintf(rpt "(_clpAdjustPt 100:%d _clp_cinfo)  _clp_text_orient                                                   \n",j)
                   fprintf(rpt "\"ETCH/%s\" _clp_sym))                                                                             \n",everylayer)
                );end_if
               
             if(car(parseString(everylayer ""))=="B"
                then               
                   fprintf(rpt "(_clpInitTextOrientation _clp_text_orient \"LEFT\" t (get _clp_cinfo 'f_rotation) + 0.000000 \"8\" )  \n")
                   fprintf(rpt "(setq _clp_dbid (_clpDBCreateText \"%s ARTWORK BOTTOM\"                                            \n",boardname)
                   fprintf(rpt "(_clpAdjustPt -100:%d _clp_cinfo)  _clp_text_orient                                                   \n",j)
                   fprintf(rpt "\"ETCH/BOTTOM\" _clp_sym))                                                                            \n")
                );end_if
           );end_foreach
     j=j-200
     fprintf(rpt "(_clpInitTextOrientation _clp_text_orient \"LEFT\" nil (get _clp_cinfo 'f_rotation) + 0.000000 \"8\" )  \n")
     fprintf(rpt "(setq _clp_dbid (_clpDBCreateText \"%s SOLDMASK TOP\"                                              \n",boardname)
     fprintf(rpt "(_clpAdjustPt 100:%d _clp_cinfo)  _clp_text_orient                                                 \n",j)
     fprintf(rpt "\"PACKAGE GEOMETRY/SOLDERMASK_TOP\" _clp_sym))                                                        \n")
     fprintf(rpt "(_clpInitTextOrientation _clp_text_orient \"LEFT\" t (get _clp_cinfo 'f_rotation) + 0.000000 \"8\" )    \n")
     fprintf(rpt "(setq _clp_dbid (_clpDBCreateText \"%s SOLDMASK BOTTOM\"                                           \n",boardname)
     fprintf(rpt "(_clpAdjustPt -100:%d _clp_cinfo)  _clp_text_orient                                                 \n",j)
     fprintf(rpt "\"PACKAGE GEOMETRY/SOLDERMASK_BOTTOM\" _clp_sym))                                                     \n")
     j=j-200
     fprintf(rpt "(_clpInitTextOrientation _clp_text_orient \"LEFT\" nil (get _clp_cinfo 'f_rotation) + 0.000000 \"8\" )  \n")
     fprintf(rpt "(setq _clp_dbid (_clpDBCreateText \"%s PASTEMASK TOP\"                                             \n",boardname)
     fprintf(rpt "(_clpAdjustPt 100:%d _clp_cinfo)  _clp_text_orient                                                 \n",j)
     fprintf(rpt "\"PACKAGE GEOMETRY/DISPLAY_TOP\" _clp_sym))                                                           \n")
     fprintf(rpt "(_clpInitTextOrientation _clp_text_orient \"LEFT\" t (get _clp_cinfo 'f_rotation) + 0.000000 \"8\" )    \n")
     fprintf(rpt "(setq _clp_dbid (_clpDBCreateText \"%s PASTEMASK BOTTOM\"                                          \n",boardname)
     fprintf(rpt "(_clpAdjustPt -100:%d _clp_cinfo)  _clp_text_orient                                                 \n",j)
     fprintf(rpt "\"PACKAGE GEOMETRY/DISPLAY_BOTTOM\" _clp_sym))                                                      \n")
     j=j-200
     fprintf(rpt "(_clpInitTextOrientation _clp_text_orient \"LEFT\" nil (get _clp_cinfo 'f_rotation) + 0.000000 \"8\" )  \n")
     fprintf(rpt "(setq _clp_dbid (_clpDBCreateText \"%s SILKSCREEN TOP\"                                            \n",boardname)
     fprintf(rpt "(_clpAdjustPt 100:%d _clp_cinfo)  _clp_text_orient                                                 \n",j)
     fprintf(rpt "\"PACKAGE GEOMETRY/SILKSCREEN_TOP\" _clp_sym))                                                        \n")
     fprintf(rpt "(_clpInitTextOrientation _clp_text_orient \"LEFT\" t (get _clp_cinfo 'f_rotation) + 0.000000 \"8\" )    \n")
     fprintf(rpt "(setq _clp_dbid (_clpDBCreateText \"%s SILKSCREEN BOTTOM\"                                         \n",boardname)
     fprintf(rpt "(_clpAdjustPt -100:%d _clp_cinfo)  _clp_text_orient                                                 \n",j)
     fprintf(rpt "\"PACKAGE GEOMETRY/SILKSCREEN_BOTTOM\" _clp_sym))                                                     \n")
     j=j-200
     fprintf(rpt "(_clpInitTextOrientation _clp_text_orient \"LEFT\" nil (get _clp_cinfo 'f_rotation) + 0.000000 \"8\" )  \n")
     fprintf(rpt "(setq _clp_dbid (_clpDBCreateText \"%s DRILL CHART\"                                        \n",boardname)
     fprintf(rpt "(_clpAdjustPt 100:%d _clp_cinfo)  _clp_text_orient                                                 \n",j)
     fprintf(rpt "\"BOARD GEOMETRY/DIMENSION\" _clp_sym))                                                             \n")                                 
     
     i=0
     foreach(everylayer _LX_layername
             i=i+1
             j=j-200
             fprintf(rpt "(_clpInitTextOrientation _clp_text_orient \"LEFT\" nil (get _clp_cinfo 'f_rotation) + 0.000000 \"8\" )  \n")
             when(car(parseString(everylayer ""))=="T"
                fprintf(rpt "(setq _clp_dbid (_clpDBCreateText \"%d--ARTWORK TOP\"                                                  \n",i)
                );end_when
             when(car(parseString(everylayer ""))=="A"
                  if(i<10
                     then
                       sprintf(camlayer,"%s%d","LAYER0",i)  
                     else
                       sprintf(camlayer,"%s%d","LAYER",i)  
                    );end_if
                fprintf(rpt "(setq _clp_dbid (_clpDBCreateText \"%d--ARTWORK %s\"                                                  \n",i,camlayer)
                );end_when   
             when(car(parseString(everylayer ""))=="P"
                  if(i<10
                     then
                       sprintf(camlayer,"%s%d","PLANE0",i)  
                     else
                       sprintf(camlayer,"%s%d","PLANE",i)  
                    );end_if
                   fprintf(rpt "(setq _clp_dbid (_clpDBCreateText \"%d--POWER %s\"                                                  \n",i,camlayer)
                );end_when
             when(car(parseString(everylayer ""))=="G"
                  if(i<10
                     then
                       sprintf(camlayer,"%s%d","PLANE0",i)  
                     else
                       sprintf(camlayer,"%s%d","PLANE",i)  
                    );end_if
                   fprintf(rpt "(setq _clp_dbid (_clpDBCreateText \"%d--GROUND %s\"                                                  \n",i,camlayer)
                );end_when
             when(car(parseString(everylayer ""))=="B"
                fprintf(rpt "(setq _clp_dbid (_clpDBCreateText \"%d--ARTWORK BOTTOM\"                                                  \n",i)
                );end_when
             fprintf(rpt "(_clpAdjustPt 100:%d _clp_cinfo)  _clp_text_orient                                               \n",j)
             fprintf(rpt "\"BOARD GEOMETRY/DIMENSION\" _clp_sym))                                                               \n")
             );end_foreach        
   fprintf(rpt "(axlMsgPut (list \"Text pasted without CLIP_DRAWING property.\" _clpAxlMsg.classWarn))                \n")
   fprintf(rpt "(_clpDisplayMessage)                                                                                \n")
   fprintf(rpt "(axlFlushDisplay)                                                                                    \n")
   close(rpt)                                                                                            
));end_defun_LX_CreatClp     
;====================================================================================
                      ;_LX_Changname()
;====================================================================================
(defun _LX_Changname ()                                                               
prog( ()                                                                              
   layerlist=axlGetParam("paramLayerGroup:etch")->groupMembers                        
   i=0                                                                                 
   dislayer_listtemp=nil                                                               
   dislayer_list=nil                                                                  
   foreach(dislayer layerlist                                                         
           i=i+1                                                               
           if(i<10                                                            
              then                                                            
                sprintf(dis_layer "0%d--%s",i,dislayer)                        
                dislayer_listtemp=cons(dis_layer dislayer_listtemp)            
              else                                                            
                sprintf(dis_layer "%d--%s",i,dislayer)                        
                dislayer_listtemp=cons(dis_layer dislayer_listtemp)            
             );end_if                                                         
           );end_foreach                                                               
   dislayer_list=reverse(dislayer_listtemp)                                    
));end_defun                                                                           
;====================================================================================
                      ;_LX_SL_ADD()
;====================================================================================
(defun _LX_SL_ADD (statepara)
prog( ()  
    alllayer = parseString(statepara "")
    foreach(eachletter alllayer
          if(eachletter!=" "&&eachletter!="p"&&eachletter!="s"&&eachletter!="g"
             then
                _LX_SL_ERROR()
                return(1)
             );end_if   
          );end_foreach
    if(nthelem(1 alllayer)!="s"
       then
         _LX_SL_ERROR()
         return(1)
       );end_if
    ERR_BOTTOM=reverse(alllayer)
    if(nthelem(1 ERR_BOTTOM)!="s"
       then
         _LX_SL_ERROR()
         return(1)
       );end_if
;-----------------end pd_inputerr-----------   
    layernum=0
    new_layer_list=nil
    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                                                                    
                                                                                                               
                                                                    























































分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!

7

主题

106

帖子

678

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
678
2#
 楼主| 发表于 2011-5-29 10:50 | 只看该作者
是不是15.7下面有变量冲突啊?

7

主题

106

帖子

678

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
678
3#
 楼主| 发表于 2011-5-29 19:43 | 只看该作者
morenhuia  ?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2024-9-21 04:28 , Processed in 0.058506 second(s), 33 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表