changerlayer.il allegro的il

来源:互联网 发布:淘宝为什么不卖烟 编辑:程序博客网 时间:2024/06/16 06:23
when(axlGetAlias("Up") != "UP";此处修改向上翻页快捷键 如"Up" => "+"/* ========================================================= */        axlSetFunckey("Up" "skill UP" t);此处修改向上翻页快捷键 如"Up" => "+"/* ========================================================= */);whenwhen(axlGetAlias("Down") != "DOWN";此处修改向下翻页快捷键 如"Down" => "-"/* ========================================================= */        axlSetFunckey("Down" "skill DOWN" t);此处修改向下翻页快捷键如"Down" => "-"/* ========================================================= */);whenaxlCmdRegister("DOWN" 'DOWN)axlCmdRegister("UP" 'UP)defun(DOWN ()        EC_layers = axlGetParam("paramLayerGroup:ETCH")->groupMembers        sum = length(EC_layers)        ACT_layer = substring(axlGetActiveLayer() 6 20)by_ck = 0        prog( ()                for(i 0 sum-1                        when(ACT_layer == nth(i EC_layers) by_ck = i                                 return(by_ck)                        );when                );for        );prog 获取索引 兼容15.x                        if(by_ck == sum - 1                then                        NXT_layer = nth(0 EC_layers)                else                        NXT_layer = nth(by_ck+1 EC_layers)        );        axlSetActiveLayer(sprintf(nil "ETCH/%s" NXT_layer))         axlVisibleDesign(nil)        axlVisibleLayer(sprintf(nil "ETCH/%s" NXT_layer) t)        axlVisibleLayer(sprintf(nil "VIA CLASS/%s" NXT_layer) t)        axlVisibleLayer(sprintf(nil "PIN/%s" NXT_layer) t)        axlVisibleLayer(sprintf(nil "DRC ERROR CLASS/%s" NXT_layer) t)        axlVisibleLayer(sprintf(nil "ROUTE KEEPOUT/%s" NXT_layer) t)        axlVisibleLayer("ROUTE KEEPOUT/ALL" t)        axlVisibleLayer("BOARD GEOMETRY/OUTLINE" t)        axlVisibleUpdate(t));defundefun(UP ()        EC_layers = axlGetParam("paramLayerGroup:ETCH")->groupMembers        sum = length(EC_layers)        ACT_layer = substring(axlGetActiveLayer() 6 20)by_ck = 0        prog( ()                for(i 0 sum-1                        when(ACT_layer == nth(i EC_layers) by_ck = i                                 return(by_ck)                        );when                );for        );prog 获取索引 兼容15.x                if(by_ck == 0                 then                        NXT_layer = nth((sum-1) EC_layers)                else                        NXT_layer = nth((by_ck-1) EC_layers)        );        axlSetActiveLayer(sprintf(nil "ETCH/%s" NXT_layer))        axlVisibleDesign(nil)        axlVisibleLayer(sprintf(nil "ETCH/%s" NXT_layer) t)        axlVisibleLayer(sprintf(nil "VIA CLASS/%s" NXT_layer) t)        axlVisibleLayer(sprintf(nil "PIN/%s" NXT_layer) t)        axlVisibleLayer(sprintf(nil "DRC ERROR CLASS/%s" NXT_layer) t)        axlVisibleLayer(sprintf(nil "ROUTE KEEPOUT/%s" NXT_layer) t)        axlVisibleLayer("ROUTE KEEPOUT/ALL" t)        axlVisibleLayer("BOARD GEOMETRY/OUTLINE" t)        axlVisibleUpdate(t));defun

0 0