找回密码
 注册
查看: 2084|回复: 14
打印 上一主题 下一主题

检查盲埋孔叠孔

  [复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2016-4-1 11:52 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x
针对allegro一些版本的BUG,盲埋孔叠孔不报错,借用论坛里的一个程序改的,水平有限,瞎改。

axlCmdRegister("BBVIATOBBVIA" `BBVIATOBBVIA)        
procedure( BBVIATOBBVIA()
         let(
                    (vias
                            lx
                            ly
                            ux
                            uy
                            VIATOVIAS
                            logfile
                            rep_file
                            section_list
                    )


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
            section_list = axlGetXSection()       
                        num = 0
                        vialayer_name_list = nil
                          foreach(x section_list
                     everylayer_name = nth(0 x)
                     everylayer_type = nth(1 x)  ;conductor plane
                                         
                             if(  everylayer_type == "PLANE" || everylayer_type == "CONDUCTOR"  then       
                                              num = num + 1
                                          vialayer_name = strcat( "VIA CLASS/" everylayer_name)
                                                  vialayer_name_list = cons(vialayer_name vialayer_name_list)
                                                  ;axlVisibleLayer( vialayer_name t)
                          ;axlVisibleUpdate(t)
                                        )
                            )                       

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
            axlClearSelSet()
            axlVisibleDesign(nil)
            axlMsgPut("%d " num)
                        VIATOVIAS=nil
            for(n 0 num-1
                        axlVisibleDesign(nil)
                        axlMsgPut("%d " n)
            if( (n+1) < num then
                        vialayer_namex = nth(n vialayer_name_list)
                        axlVisibleLayer( vialayer_namex t)
                        vialayer_namex = nth(n+1 vialayer_name_list)
                        axlVisibleLayer( vialayer_namex t)
            axlVisibleUpdate(t)

            axlSetFindFilter( ?enabled (list "vias" ) ?onButtons (list "vias"))
            vias = axlGetSelSet(axlAddSelectAll())

          foreach( via  vias
                        axlClearSelSet()
                        lx=car(via->xy)-4
                        ly=cadr(via->xy)-4
                        ux=car(via->xy)+4
                        uy=cadr(via->xy)+4
                 axlAddSelectBox(list(lx:ly ux:uy))
                 n = axlGetSelSetCount()
                 if( axlGetSelSetCount()>1  then
                          VIATOVIAS=cons(via VIATOVIAS)
                          ); end if
                        );end foreach                       
                                                               
                        );if
                        );for
               
                foreach(vialayer_name vialayer_name_list
                         axlVisibleLayer( vialayer_name t)
                 axlVisibleUpdate(t)       
                       )

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;                       
                     logfile="./VIA_TO_VIA.txt"
                     rep_file=outfile(logfile)
              fprintf(rep_file "\t Stack Vias Report\n\n padstack Name\t\tLocation\n\n")
                          
                          
         foreach( via VIATOVIAS
                 
              fprintf(rep_file "%L\t\t%L\n" via->name , via->xy )
                                                                 
                   if( length(VIATOVIAS)==0 then
                    axlMsgPut("No VIA TO VIA .")
                    else
                    axlMsgPut("%d VIA TO VIA exist."  length(VIATOVIAS))
                      );end if
                                );end foreach
                  


                 axlClearSelSet()
           close(rep_file)
           axlUIViewFileCreate(logfile " Vias Log" t)
          );end let
        );end defun
               

BBVIA.jpg (43.36 KB, 下载次数: 2)

BBVIA.jpg

该用户从未签到

2#
 楼主| 发表于 2016-4-1 14:15 | 只看该作者
程序有问题

该用户从未签到

4#
发表于 2016-4-17 22:59 | 只看该作者
Allegro 自身可以检查这种问题啊。看看 BB Via Separation 设置
  • TA的每日心情
    开心
    2024-1-3 15:02
  • 签到天数: 48 天

    [LV.5]常住居民I

    6#
    发表于 2017-4-27 09:26 | 只看该作者
    非常的好,谢谢分享

    该用户从未签到

    7#
    发表于 2017-4-27 19:28 | 只看该作者
    非常的好,谢谢分享

    该用户从未签到

    10#
    发表于 2017-11-17 02:06 | 只看该作者
    程序有问题

    该用户从未签到

    11#
    发表于 2017-12-7 11:27 | 只看该作者
    刚开始学,不太能看懂

    该用户从未签到

    12#
    发表于 2017-12-11 09:01 | 只看该作者
    有問題嗎? 來去檢查看看一下 !! 謝囉
  • TA的每日心情
    开心
    2023-4-6 15:34
  • 签到天数: 1 天

    [LV.1]初来乍到

    13#
    发表于 2018-9-7 09:25 | 只看该作者
    skill程序优化完了?能否分享下,谢谢!

    该用户从未签到

    14#
    发表于 2019-1-29 10:40 | 只看该作者
    thank's for your provide
  • TA的每日心情
    开心
    2024-3-28 15:16
  • 签到天数: 32 天

    [LV.5]常住居民I

    15#
    发表于 2024-1-8 08:53 | 只看该作者
    6666666666
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-5-29 18:09 , Processed in 0.093750 second(s), 27 queries , Gzip On.

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

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

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