Hi! I already done my script for the hot key set, but wanna make the script shorter and easy maintain, hence I think aybe use the function recall, I wanna use group list or foreach syntax and make bundle select layers as group, but how to change my script to the funtion recall? because current I try and debug at CIW iinterfacce but reply have error show unbound variable grp1 grp2 grp3 here is my rookie image 1. hiSetBindKey("Layout" " 1" "smwLayersVisible( grp1 )") hiSetBindKey("Layout" " 2" "smwLayersVisible( grp2 )") hiSetBindKey("Layout" " 3" "smwLayersVisible( grp3 )") 2. create list group foreach(grp1 list( '("M1" "drawing") '("CT" "drawing") '("M1_PIN" "drawing") ) leSetLayerVisible(grp1 t) leSetLayerSelectable(grp1 t) );end foreach foreach(grp2 list( '("M2" "drawing") '("VIA1" "drawing") '("M2_PIN" "drawing") ) leSetLayerVisible(grp2 t) leSetLayerSelectable(grp2 t) );end foreach foreach(grp3 list( '("M3" "drawing") '("VIA2" "drawing") '("M3_PIN" "drawing") ) leSetLayerVisible(grp3 t) leSetLayerSelectable(grp3 t) );end foreach etc... already fixed and done script as below thanks! ;;this script mean when you toggle the layer, ;;will combine the default set bindkey. ;;Toggle layer an easy visible ;;To easy see layout Metal layer ;;Separate front end and backend hiSetBindKey("Layout" "1" "toggleMetal1LayersVisible()") hiSetBindKey("Layout" "2" "toggleMetal2LayersVisible() hiRedraw()") hiSetBindKey("Layout" "3" "toggleMetal3LayersVisible() hiRedraw()") hiSetBindKey("Layout" "4" "toggleMetaltopLayersVisible() hiRedraw()") hiSetBindKey("Layout" "6" "toggleBackEndLayersVisible() hiRedraw()") hiSetBindKey("Layout" "7" "toggleFrontEndLayersVisible() hiRedraw()") hiSetBindKey("Layout" "8" "leSetAllLayersVisible(t) hiRedraw()") hiSetBindKey("Layout" "Alt1" "setMetal1LayersVisible()") hiSetBindKey("Layout" "Alt2" "setMetal2LayersVisible() hiRedraw()") hiSetBindKey("Layout" "Alt3" "setMetal3LayersVisible() hiRedraw()") hiSetBindKey("Layout" "Alt4" "setMetalTopLayersVisible() hiredraw()") procedure(toggleMetal1LayersVisible() leSetEntryLayer('("M1" "drawing")) leSetAllLayerVisible(nil) foreach(laylsw list( '("M1" "drawing") '("CT" "drawing") '("M1_PIN" "drawing") ) leSetLayerVisible(laylsw t) leSetLayerSelectable(laylsw t) );end foreach );end procedure procedure(toggleMetal2layersVisible() leSetEntryLayer('("M2" "drawing")) leSetAllLayerVisible(nil) foreach(laylsw list( '("M2" "drawing") '("MV1" "drawing") '("M2_PIN" "drawing") ) leSetLayerVisible(laylsw t) leSetLayerSelectable(laylsw t) );end foreach );end procedure procedure(toggleMetal3layersVisible() leSetEntryLayer('("M3" "drawing")) leSetAllLayerVisible(nil) foreach(laylsw list( '("M3” "drawing") '("MV2" "drawing") '("M2_PIN" "drawing") ) leSetLayerVisible(laylsw t) leSetLayerSelectable(laylsw t) );end foreach );end procedure
↧