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

快速切换层面的skill

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
以下源码是可以按空格快速按顺序切换单个层面的skill,我想要在走线命令下运行这个skill,请问大神们我应该如何修改源码

axlSetAlias("EDA_switch_up" "EDA365_SwitchLayer nil")
axlSetAlias("EDA_switch_down" "EDA365_SwitchLayer")

axlCmdRegister( "EDA365_SwitchLayer" 'EDA365_SwitchLayer ?cmdType "interactive")
defun( EDA365_SwitchLayer (@optional (prev nil))
prog((lEtchLayer sCurLayerName iNextLayerNo sNextLayer)
        lEtchLayer = setof(layer axlGetParam("paramLayerGroup:ETCH")->groupMembers nequal(axlDBGetLayerType(strcat("ETCH/" layer)) "PLANE"))
        sCurLayerName = cadr(parseString(axlGetActiveLayer() "/"))
        if( member(sCurLayerName lEtchLayer) then
                if(prev then
                        iNextLayerNo = length(lEtchLayer) - length(member(sCurLayerName lEtchLayer))
                        when(iNextLayerNo < 1 iNextLayerNo = length(lEtchLayer))
                else
                        iNextLayerNo = length(lEtchLayer) - length(member(sCurLayerName lEtchLayer)) + 2
                        when(iNextLayerNo > length(lEtchLayer) iNextLayerNo = 1)
                )
        else
                iNextLayerNo = 1
        )
      
        sNextLayer = nthelem(iNextLayerNo lEtchLayer)
        axlMsgPut("Current Layer:%L" sNextLayer)
        axlVisibleDesign(nil)
    axlVisibleLayer( strcat("ETCH/" sNextLayer) t )
        axlVisibleLayer( strcat("PIN/" sNextLayer) t )
        axlVisibleLayer( strcat("VIA CLASS/" sNextLayer) t )
        axlVisibleLayer( strcat("DRC ERROR CLASS/" sNextLayer) t )
    axlVisibleLayer( "BOARD GEOMETRY/OUTLINE" t )
        axlSetActiveLayer(strcat("ETCH/" sNextLayer))
        axlUIWRedraw(nil)
)
)
  • TA的每日心情
    奋斗
    2025-9-24 15:41
  • 签到天数: 86 天

    [LV.6]常住居民II

    推荐
    发表于 2025-9-12 14:43 | 只看该作者
    陛下万年 发表于 2025-7-9 14:34
    我的17.4版本的,改成后skill运行不了呀,你用的也是Allegro17.4版本的?你的是怎么改的呀?可以再发一份 ...

    把interactive改成general才是正解。

    该用户从未签到

    3#
    发表于 2022-6-20 16:43 | 只看该作者
    请教群里的大神帮忙解答。

    该用户从未签到

    4#
     楼主| 发表于 2022-6-21 09:16 | 只看该作者
    zs_king 发表于 2022-6-20 19:53
    我公众号有发过,全能切换 。。任意模式都可以 !然后上下切层快捷键是  键盘m旁边的 < 和。>  ,关注公众 ...

    公众号的skill是加密的,请问有源码吗,本人skill小白,最近也在学习写skill

    该用户从未签到

    5#
     楼主| 发表于 2022-6-21 09:34 | 只看该作者
    cc毛毛虫 发表于 2022-6-21 09:16
    公众号的skill是加密的,请问有源码吗,本人skill小白,最近也在学习写skill


    该用户从未签到

    6#
     楼主| 发表于 2022-6-22 09:28 | 只看该作者


    公众那个文章底部,有赞赏选项,设置的赞赏自动回复,源码链接自动回复。。。&nbsp; &nbsp ...[/quote]

    好的,谢谢
  • TA的每日心情

    2024-11-18 15:56
  • 签到天数: 82 天

    [LV.6]常住居民II

    7#
    发表于 2022-6-24 11:42 | 只看该作者
    果然多逛逛论坛有好处,突然就找到了这个功能的skill

    该用户从未签到

    8#
     楼主| 发表于 2022-6-28 15:11 | 只看该作者
    把defun()函数换成procedure()就可以在任何模式下,快速换层了

    点评

    我的17.4版本的,改成后skill运行不了呀,你用的也是Allegro17.4版本的?你的是怎么改的呀?可以再发一份完整的skill出来不  详情 回复 发表于 2025-7-9 14:34

    该用户从未签到

    9#
    发表于 2022-6-28 23:56 | 只看该作者
  • TA的每日心情
    开心
    2025-11-14 15:08
  • 签到天数: 148 天

    [LV.7]常住居民III

    11#
    发表于 2025-7-9 14:34 | 只看该作者
    cc毛毛虫 发表于 2022-6-28 15:11
    把defun()函数换成procedure()就可以在任何模式下,快速换层了

    我的17.4版本的,改成后skill运行不了呀,你用的也是Allegro17.4版本的?你的是怎么改的呀?可以再发一份完整的skill出来不

    点评

    把interactive改成general才是正解。  详情 回复 发表于 2025-9-12 14:43

    该用户从未签到

    12#
     楼主| 发表于 2025-8-22 17:06 | 只看该作者
    可关注gzh Skill技术分享 获取
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-11-22 04:07 , Processed in 0.187500 second(s), 27 queries , Gzip On.

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

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

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