在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 521|回复: 1

[原创] skill练习,图层选择

[复制链接]
发表于 2025-2-24 17:19:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x
数字0-6显示/隐藏走线层

Ctrl+0-6只显示当前层
~显示/隐藏前道工艺层
<Feol    = list('("SB" "drawing") '("DNW" "drawing") '("NBL" "drawing") '("SUBCUT" "drawing") '("Nwell" "drawing") '("Active" "drawing") '("NP" "drawing") '("PP" "drawing"))
Routing = '("Poly" "Metal1" "Metal2" "Metal3" "Metal4" "Metal5" "TTOPME")
Connect = '("Contact" "Via1" "Via2" "Via3" "Via4" "TopVia")
Purpose = '("drawing" "pin" "text")

pteSetConfig("sortAscendant" "Mask" "Layers")
hiSetBindKey("Layout" "<key>`" "LayershowFeol()")
procedure(layerset()
         for(i 0 6
             Layer      = nth(i Routing)
             Index      = sprintf(nil "%d" i)

             Bindkeyc   =sprintf(nil "Ctrl Shift<Key>%s" Index)
             Cmdc       =sprintf(nil "LayerChange(\"%s\")" Layer )
             hiSetBindKey("Layout" Bindkeyc Cmdc)

             Bindkeyo   =sprintf(nil "Ctrl<Key>%s" Index)
             Cmdo       =sprintf(nil "Layeronly(\"%s\")" Layer )
             hiSetBindKey("Layout" Bindkeyo Cmdo)

             Bindkeys   =sprintf(nil "<Key>%s" Index)
             Cmds       =sprintf(nil "Layershow(\"%s\")" Layer )
             hiSetBindKey("Layout" Bindkeys Cmds)
             )
                    )

procedure(LayershowFeol()
          if(leIsLayerVisible(nth(0 Routing)) then
            if(leIsLayerVisible(nth(5 Feol)) then
               leSetAllLayerVisible(nil)
               pteShowRoutingLPP(t)
               pteSetAllVisible(?panel "Layers")
            else
                foreach(Feo Feol
                   leSetEntryLayer(Feo)
                        )
               )
          else
            if(  leIsLayerVisible(nth(5 Feol)) then
                 foreach(Feo Feol
                   leSetEntryLayer(Feo)
                        )
            else leSetAllLayerVisible(t)
               )
              )
            )
procedure(LayerChange(Lpp)
        let((objs)
            objs = geGetSelSet()
            foreach(obj objs
                    if(obj~>isShape
                       obj~>layerName = Lpp
                          ]

procedure(Layeronly(Lpp)
          leSetAllLayerVisible(nil)
          leSetEntryLayer(list(Lpp nth(2 Purpose)))
          leSetEntryLayer(list(Lpp nth(1 Purpose)))
          leSetEntryLayer(list(Lpp nth(0 Purpose)]

procedure(Layershow(Lpp)
          if(leIsLayerVisible(Lpp) then
          pteSetVisible(strcat(Lpp " " nth(2 Purpose)) nil "Layers")
          pteSetVisible(strcat(Lpp " " nth(1 Purpose)) nil "Layers")
          pteSetVisible(strcat(Lpp " " nth(0 Purpose)) nil "Layers")
          else
          leSetEntryLayer(list(Lpp nth(2 Purpose)))
          leSetEntryLayer(list(Lpp nth(1 Purpose)))
          leSetEntryLayer(list(Lpp nth(0 Purpose]
layerset()
>
发表于 2025-2-24 17:24:10 | 显示全部楼层
试试用AI
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-4-1 00:08 , Processed in 0.014104 second(s), 7 queries , Gzip On, MemCached On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表