EDA365电子论坛网

标题: 快速切换层面的skill [打印本页]

作者: cc毛毛虫    时间: 2022-6-20 11:29
标题: 快速切换层面的skill
以下源码是可以按空格快速按顺序切换单个层面的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)
)
)
作者: limerence    时间: 2022-6-20 16:43
请教群里的大神帮忙解答。

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

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

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



作者: cc毛毛虫    时间: 2022-6-22 09:28
zs_king 发表于 2022-6-21 21:45


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

好的,谢谢
作者: 645071325    时间: 2022-6-24 11:42
果然多逛逛论坛有好处,突然就找到了这个功能的skill
作者: cc毛毛虫    时间: 2022-6-28 15:11
把defun()函数换成procedure()就可以在任何模式下,快速换层了
作者: cjh168    时间: 2022-6-28 23:56
zsqlayer
作者: 夜凉笙歌    时间: 2022-7-6 15:53
同求
作者: 陛下万年    时间: 2025-7-9 14:34
cc毛毛虫 发表于 2022-6-28 15:11
把defun()函数换成procedure()就可以在任何模式下,快速换层了

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

作者: cc毛毛虫    时间: 2025-8-22 17:06
可关注gzh Skill技术分享 获取
作者: id95zz    时间: 2025-9-12 10:08
:P:P学习
作者: db-_-    时间: 2025-9-12 14:43
陛下万年 发表于 2025-7-9 14:34
我的17.4版本的,改成后skill运行不了呀,你用的也是Allegro17.4版本的?你的是怎么改的呀?可以再发一份 ...

把interactive改成general才是正解。





欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2