TA的每日心情 | 奋斗 2025-2-7 15:34 |
---|
签到天数: 33 天 [LV.5]常住居民I
|
几周过去了,分享一下新的源码吧,反正也没啥高级的算法。
更新了shadow功能,多选高亮等等。
- if(axlVersion('version)>16.6
- axlCmdRegister("slon" 'show_layers_of_net ?cmdType "interactive" ?doneCmd 'axlFinishEnterFun ?cancelCmd 'axlCancelEnterFun ?undo t)
- axlCmdRegister("slon" 'show_layers_of_net ?cmdType "interactive" ?doneCmd 'axlFinishEnterFun ?cancelCmd 'axlCancelEnterFun);定义快捷键,16.6以及以下版本要去掉?undo t,17.2 028补丁以前也不支持?undo t
- )
- (defun show_layers_of_net ()
- prog( ()
- axlSetFindFilter( ?enabled list( "NOALL" "CLINES" "VIAS" "SHAPES") ?onButtons list( "CLINES" "VIAS" "SHAPES") );选择过滤器为CLINES VIAS SHAPES
- mypopup = axlUIPopupDefine( nil
- (list (list "Done" "axlDBTransactionCommit(_slonTransactionMark), axlFinishEnterFun()")
- (list "Oops" "axlDBTransactionOops(_slonTransactionMark)");右键菜单的Oops用于返回上一步
- (list "Cancel" "axlDBTransactionRollback(_slonTransactionMark), axlVisibleSet(slon_oldVis), axlCancelEnterFun()"))
- )
- axlUIPopupSet( mypopup)
- axlClearSelSet()
-
- slon_shdMode = axlColorShadowGet('mode);保留旧的shadow开关
- slon_shdactiveLayer = axlColorShadowGet('activeLayer)
- slon_shdhighlighted = axlColorShadowGet('highlighted)
- slon_shdpercent = axlColorShadowGet('percent)
-
- slon_addSelect = nil;收集选中的CLINES VIAS SHAPES
- slon_oldVis = axlVisibleGet();保留旧的Color
- _slonTransactionMark = axlDBTransactionStart();标记开始的Mark点
- while(axlSelect()
- axlColorShadowSet('mode t)
- axlColorShadowSet('activeLayer t)
- axlColorShadowSet('highlighted t)
- axlColorShadowSet('percent 20)
- when(_slonTransactionMark axlDBTransactionMark(_slonTransactionMark));标记Mark点用来返回上一步
- foreach(slon_select axlGetSelSet()
- axlHighlightObject(slon_select)
- slon_addSelect = cons(slon_select slon_addSelect)
- case(slon_select->objType
- ("via"
- axlHighlightObject(axlDBGetConnect(slon_select t))
- slon_addSelect = append(axlDBGetConnect(slon_select t) slon_addSelect)
- foreach(slon_layer axlDBGetConnect(slon_select t)~>layer
- axlVisibleLayer(slon_layer t)
- )
- )
- ("path"
- axlHighlightObject(axlDBGetConnect(slon_select t))
- slon_addSelect = append(axlDBGetConnect(slon_select t) slon_addSelect)
- foreach(slon_pin_via axlDBGetConnect(slon_select t)
- axlHighlightObject(axlDBGetConnect(slon_pin_via t))
- slon_addSelect = append(axlDBGetConnect(slon_pin_via t) slon_addSelect)
- foreach(slon_layer axlDBGetConnect(slon_pin_via t)~>layer
- if(slon_layer != nil
- axlVisibleLayer(slon_layer t)
- )
- )
- )
- )
- ("shape"
- if(slon_select->net then
- axlHighlightObject(axlDBGetConnect(slon_select t))
- slon_addSelect = append(axlDBGetConnect(slon_select t) slon_addSelect)
- foreach(slon_pin_via_cline axlDBGetConnect(slon_select t)
- axlHighlightObject(axlDBGetConnect(slon_pin_via_cline t))
- slon_addSelect = append(axlDBGetConnect(slon_pin_via_cline t) slon_addSelect)
- foreach(slon_layer axlDBGetConnect(slon_pin_via_cline t)~>layer
- if(slon_layer != nil
- axlVisibleLayer(slon_layer t)
- )
- )
- )
- else
- axlClearSelSet()
- )
- )
- );end case
- )
- );end while
- _slonTransactionMark = nil
- axlDehighlightObject(slon_addSelect)
- axlVisibleUpdate(nil)
- axlColorShadowSet('mode slon_shdMode)
- axlColorShadowSet('activeLayer slon_shdactiveLayer)
- axlColorShadowSet('highlighted slon_shdhighlighted)
- axlColorShadowSet('percent slon_shdpercent)
- );end prog
- );end show_layers_of_net
复制代码 |
|