Cadence Skill 论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6530|回复: 2

[求助] 光绘问题

[复制链接]
发表于 2014-3-23 12:54:10 | 显示全部楼层 |阅读模式
我在改自动设置层叠的Skill时,每次设置层叠后TOP层的光绘就不出现,除非是比TOP多一位,比如TOP1就出现了,这是个什么情况,我改的光绘部分的代码,请各位指点哪里设置错误了
(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")
                snum=0
                gnum=0
                vnum=0
                foreach(eachname layername
                   case(car(parseString(eachname ""))
                       ("T"
                                               sprintf(camlayer,"%s","TOP")
                                                fprintf(rpt "(axlfcreate \"%s\" '(0 0 0 %d 0 1 0 0 0 0 0 0 0) '(\"VIA CLASS/TOP\" \"PIN/TOP\" \"ETCH/TOP\" \"BOARD GEOMETRY/OUTLINE\" ))\n",camlayer,ExtraAccuracy)
                       t)  
                       ("B"                                                                                                                                                                                   
                             sprintf(camlayer,"%s","BOTTOM")                                                                                                                                          
                             fprintf(rpt "(axlfcreate \"%s\" '(0 0 0 %d 0 1 0 0 0 0 0 0 0) '(\"VIA CLASS/BOTTOM\" \"PIN/BOTTOM\" \"ETCH/BOTTOM\" \"BOARD GEOMETRY/OUTLINE\" ))\n",camlayer,ExtraAccuracy)                          
                       t)   
                       ("S"
                        snum=snum+1                                                                                                                                                         
                             sprintf(camlayer,"%s%d","SIG",snum)                                                                                                                              
                             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)
                       t)
                       ("V"
                        vnum=vnum+1                                                                                                                                                                                             
                             sprintf(camlayer,"%s%d","VCC",vnum)                                                                                                                                                                 
                             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)                                                                                                                                                                                          
                       t)                                                                                                                                                                                                     
                       ("G"                                                                                                                                                                                                   
                        gnum=gnum+1                                                                                                                                                                                                                                                                                                                                                                                             
                             sprintf(camlayer,"%s%d","GND",gnum)                                                                                                                                                                 
                             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)
                       t)         
                     );end_case
                  );end_foreach   
                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/OUTLINE\" ))\n",ExtraAccuracy)
                fprintf(rpt "(axlfcreate \"SILKBOTTOM\" '(0 0 0 %d 0 1 0 0 0 0 0 0 0) '(\"REF DES/SILKSCREEN_BOTTOM\" \"PACKAGE 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 \"SOLDBOTTOM\" '(0 0 0 %d 0 1 0 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 \"PASTETOP\" '(0 0 0 %d 0 1 0 0 0 0 0 0 0) '(\"PIN/PASTEMASK_TOP\" \"PACKAGE GEOMETRY/PASTEMASK_TOP\" \"BOARD GEOMETRY/OUTLINE\" ))\n",ExtraAccuracy)
                fprintf(rpt "(axlfcreate \"PASTEBOTTOM\" '(0 0 0 %d 0 1 0 0 0 0 0 0 0) '(\"PIN/PASTEMASK_BOTTOM\" \"PACKAGE GEOMETRY/PASTEMASK_BOTTOM\" \"BOARD GEOMETRY/OUTLINE\" ))\n",ExtraAccuracy)
                close(rpt)
            else
                axlMsgPut("Please set accuracy with 0 1 2 3 4")
           );end_if
     );end_if
));end_defun _LX_CreatCamtx

发表于 2014-3-23 14:46:07 | 显示全部楼层
你再新设光绘的时候,建议将之前的删除!光绘里面最后一个是删不掉的。。。
 楼主| 发表于 2014-3-23 17:41:53 | 显示全部楼层
每次新设我都是新建brd,改成TOP01就可以,不想要01
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|网站地图|Cadence Skill 论坛 ( 蜀ICP备13024417号 )

GMT+8, 2024-5-3 03:39 , Processed in 0.143361 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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