TA的每日心情 | 开心 昨天 14:08 |
---|
签到天数: 242 天 [LV.8]以坛为家I
二级逆天
- 积分
- 1087

|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 陛下万年 于 2025-7-11 10:21 编辑
axlSetAlias("switch_up" "SwitchLayer nil")
axlSetAlias("switch_down" "SwitchLayer")
axlCmdRegister( "SwitchLayer" 'SwitchLayer ?cmdType "interactive")
defun( 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)
|
|