找回密码
 注册
关于网站域名变更的通知
查看: 2255|回复: 33
打印 上一主题 下一主题

SKill分享:你还在为找换层走线而烦恼吗?

[复制链接]
  • TA的每日心情
    奋斗
    2025-2-7 15:34
  • 签到天数: 33 天

    [LV.5]常住居民I

    跳转到指定楼层
    1#
    发表于 2022-8-10 14:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

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

    x
    这个skill比较简单,但是也很好用,它可以通过选择过孔/走线,打开换层走线所在的ETCH层。
    使用方法:
    1. 添加load("show_layers_of_net.il")到allegro.ilinit
    2. Command > slon
    3. 选择走线/过孔/shape
    以上。

    show_layers_of_net.zip

    1.26 KB, 下载次数: 18, 下载积分: 贡献 -30 , 威望 -10

  • TA的每日心情
    奋斗
    2025-2-7 15:34
  • 签到天数: 33 天

    [LV.5]常住居民I

    推荐
     楼主| 发表于 2022-8-10 15:32 | 只看该作者
    顺便给有经验的人提供一下思路,函数主要是用axlDBGetConnect,大可自己尝试复刻,不用下载附件也能实现。
  • TA的每日心情
    奋斗
    2025-2-7 15:34
  • 签到天数: 33 天

    [LV.5]常住居民I

    推荐
     楼主| 发表于 2022-9-2 14:31 | 只看该作者
    几周过去了,分享一下新的源码吧,反正也没啥高级的算法。
    更新了shadow功能,多选高亮等等。

    1. if(axlVersion('version)>16.6
    2.         axlCmdRegister("slon" 'show_layers_of_net ?cmdType "interactive" ?doneCmd 'axlFinishEnterFun ?cancelCmd 'axlCancelEnterFun ?undo t)
    3.         axlCmdRegister("slon" 'show_layers_of_net ?cmdType "interactive" ?doneCmd 'axlFinishEnterFun ?cancelCmd 'axlCancelEnterFun);定义快捷键,16.6以及以下版本要去掉?undo t,17.2 028补丁以前也不支持?undo t
    4. )

    5. (defun show_layers_of_net ()
    6. prog( ()
    7.         axlSetFindFilter( ?enabled list( "NOALL" "CLINES" "VIAS" "SHAPES")  ?onButtons list( "CLINES" "VIAS" "SHAPES") );选择过滤器为CLINES VIAS SHAPES
    8.         mypopup = axlUIPopupDefine( nil
    9.                 (list (list "Done" "axlDBTransactionCommit(_slonTransactionMark), axlFinishEnterFun()")
    10.                 (list "Oops" "axlDBTransactionOops(_slonTransactionMark)");右键菜单的Oops用于返回上一步
    11.                 (list "Cancel" "axlDBTransactionRollback(_slonTransactionMark), axlVisibleSet(slon_oldVis), axlCancelEnterFun()"))
    12.         )
    13.         axlUIPopupSet( mypopup)
    14.         axlClearSelSet()
    15.        
    16.         slon_shdMode = axlColorShadowGet('mode);保留旧的shadow开关
    17.         slon_shdactiveLayer = axlColorShadowGet('activeLayer)
    18.         slon_shdhighlighted = axlColorShadowGet('highlighted)
    19.         slon_shdpercent = axlColorShadowGet('percent)
    20.        
    21.         slon_addSelect = nil;收集选中的CLINES VIAS SHAPES
    22.         slon_oldVis = axlVisibleGet();保留旧的Color
    23.         _slonTransactionMark = axlDBTransactionStart();标记开始的Mark点
    24.         while(axlSelect()
    25.                 axlColorShadowSet('mode t)
    26.                 axlColorShadowSet('activeLayer t)
    27.                 axlColorShadowSet('highlighted t)
    28.                 axlColorShadowSet('percent 20)
    29.                 when(_slonTransactionMark axlDBTransactionMark(_slonTransactionMark));标记Mark点用来返回上一步
    30.                 foreach(slon_select axlGetSelSet()
    31.                         axlHighlightObject(slon_select)
    32.                         slon_addSelect = cons(slon_select slon_addSelect)
    33.                         case(slon_select->objType
    34.                                 ("via"
    35.                                         axlHighlightObject(axlDBGetConnect(slon_select t))
    36.                                         slon_addSelect = append(axlDBGetConnect(slon_select t) slon_addSelect)
    37.                                         foreach(slon_layer axlDBGetConnect(slon_select t)~>layer
    38.                                                 axlVisibleLayer(slon_layer t)
    39.                                         )
    40.                                 )
    41.                                 ("path"
    42.                                         axlHighlightObject(axlDBGetConnect(slon_select t))
    43.                                         slon_addSelect = append(axlDBGetConnect(slon_select t) slon_addSelect)
    44.                                         foreach(slon_pin_via axlDBGetConnect(slon_select t)
    45.                                                 axlHighlightObject(axlDBGetConnect(slon_pin_via t))
    46.                                                 slon_addSelect = append(axlDBGetConnect(slon_pin_via t) slon_addSelect)
    47.                                                 foreach(slon_layer axlDBGetConnect(slon_pin_via t)~>layer
    48.                                                         if(slon_layer != nil
    49.                                                                 axlVisibleLayer(slon_layer t)
    50.                                                         )
    51.                                                 )
    52.                                         )
    53.                                 )
    54.                                 ("shape"
    55.                                         if(slon_select->net then
    56.                                                 axlHighlightObject(axlDBGetConnect(slon_select t))
    57.                                                 slon_addSelect = append(axlDBGetConnect(slon_select t) slon_addSelect)
    58.                                                 foreach(slon_pin_via_cline axlDBGetConnect(slon_select t)
    59.                                                         axlHighlightObject(axlDBGetConnect(slon_pin_via_cline t))
    60.                                                         slon_addSelect = append(axlDBGetConnect(slon_pin_via_cline t) slon_addSelect)
    61.                                                         foreach(slon_layer axlDBGetConnect(slon_pin_via_cline t)~>layer
    62.                                                                 if(slon_layer != nil
    63.                                                                         axlVisibleLayer(slon_layer t)
    64.                                                                 )
    65.                                                         )
    66.                                                 )
    67.                                         else
    68.                                                 axlClearSelSet()
    69.                                         )
    70.                                 )
    71.                         );end case
    72.                 )
    73.         );end while
    74.         _slonTransactionMark = nil
    75.         axlDehighlightObject(slon_addSelect)
    76.         axlVisibleUpdate(nil)
    77.         axlColorShadowSet('mode slon_shdMode)
    78.         axlColorShadowSet('activeLayer slon_shdactiveLayer)
    79.         axlColorShadowSet('highlighted slon_shdhighlighted)
    80.         axlColorShadowSet('percent slon_shdpercent)
    81. );end prog
    82. );end show_layers_of_net
    复制代码
  • TA的每日心情
    奋斗
    2025-2-7 15:34
  • 签到天数: 33 天

    [LV.5]常住居民I

    推荐
     楼主| 发表于 2022-8-11 09:27 | 只看该作者
    zs_king 发表于 2022-8-10 19:04
    我也写了,不仅可以知道NET在哪些层有线,还能是其他的所有东西变暗,选中的net 高亮。。net走向一目了然。

    大佬说得对,我是急着写完就发出来了,确实高亮显示也可以写进去,主要是看论坛好像没看到类似的就先发出来抛砖引玉了

    该用户从未签到

    5#
    发表于 2022-8-10 19:34 | 只看该作者
    zs_king 发表于 2022-8-10 19:04
    我也写了,不仅可以知道NET在哪些层有线,还能是其他的所有东西变暗,选中的net 高亮。。net走向一目了然。

    求分享,谢谢
  • TA的每日心情
    擦汗
    2022-8-31 15:15
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    6#
    发表于 2022-8-11 09:03 | 只看该作者
    楼主你这个贡献设置的好高,30个贡献我得攒15天才能攒到,等我以后富裕了再来下载

    点评

    这个好像是版块默认的下载要求,我浏览权限都是设置不限的了……  详情 回复 发表于 2022-8-11 09:23
  • TA的每日心情
    奋斗
    2025-2-7 15:34
  • 签到天数: 33 天

    [LV.5]常住居民I

    7#
     楼主| 发表于 2022-8-11 09:23 | 只看该作者
    samira123 发表于 2022-8-11 09:03
    楼主你这个贡献设置的好高,30个贡献我得攒15天才能攒到,等我以后富裕了再来下载

    这个好像是版块默认的下载要求,我浏览权限都是设置不限的了……

    该用户从未签到

    8#
    发表于 2022-8-11 10:33 | 只看该作者
    高亮加 shadow toggle?

    点评

    对于信号层不多的板子,确实高亮加shadow toggle就足够了;但是对于信号层多的板子,这个skill只将net经过的层打开,会更有优势一点。  详情 回复 发表于 2022-8-11 11:27
  • TA的每日心情
    奋斗
    2025-2-7 15:34
  • 签到天数: 33 天

    [LV.5]常住居民I

    9#
     楼主| 发表于 2022-8-11 11:27 | 只看该作者
    jordanli22 发表于 2022-8-11 10:33
    高亮加 shadow toggle?

    对于信号层不多的板子,确实高亮加shadow toggle就足够了;但是对于信号层多的板子,这个skill只将net经过的层打开,会更有优势一点。
  • TA的每日心情
    难过
    2025-1-20 15:39
  • 签到天数: 100 天

    [LV.6]常住居民II

    10#
    发表于 2022-8-11 12:31 | 只看该作者
    aaaaaaaaaaaaaaaaaaa

    该用户从未签到

    13#
    发表于 2022-8-12 11:20 | 只看该作者
    一点用都没有,麻烦写些有用的,行吗?
  • TA的每日心情
    奋斗
    2025-2-7 15:34
  • 签到天数: 33 天

    [LV.5]常住居民I

    14#
     楼主| 发表于 2022-8-12 11:24 | 只看该作者
    ccwwbb2013 发表于 2022-08-12 11:20:30
    一点用都没有,麻烦写些有用的,行吗?


    啊这,各人有各人的看法吧,确实这个功能比较单一,但我自己用起来还是挺方便的。

    “来自电巢APP”

  • TA的每日心情
    慵懒
    2025-6-5 15:43
  • 签到天数: 615 天

    [LV.9]以坛为家II

    15#
    发表于 2022-8-12 17:11 | 只看该作者
    能不能上动图看看效果怎样

    该用户从未签到

    16#
    发表于 2022-8-15 11:32 | 只看该作者
    slon与已有s快捷键冲突,怎么修改?

    点评

    你可以试下插入一个菜单调用,或者定义一个快捷键给slon。  详情 回复 发表于 2022-8-15 15:28
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-6-6 18:22 , Processed in 0.093750 second(s), 30 queries , Gzip On.

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

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

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