leSearchHierarchy
leSearchHierarchy(d_cellViewId l_bBox x_stopLevel t_objectType l_criteriaList) =>l_objects/nil
Description
Searches the cellview d_cellViewId for objects that match the type and criteria specified. The search is bound by the specified l_bBox and restricted to the specified x_stopLevel. The search assumes all figures are valid if the Layer Selection Window (LSW) has not been initialized.
Arguments
The following table lists the object types and the criteria that you can search for.
Value Returned
|
Returns l_objects, a list of all objects that meet the object type and search criteria. |
|
Examples
Searches all of cell2 at the top-level for paths on poly1 drawing layer with path width >= 3.0:
leSearchHierarchy( cell2 list( 0:0 300:300 ) 0 "path"
list( list( "layer" "==" list( "poly1" "drawing" ) )
list( "path width" ">=" 3.0 ) ) )
Searches for an exact cell with cell name myCell. The use of ^ and $ as used in the example limit the pattern matching. If the search string is myCell, without ^ and $, the function searches for all cells containing myCell in cell names:
cv=geGetWindowCellView()
leSearchHierarchy(cv cv~>bBox 0 "array" list(list("cell name" "==" "^myCell$")))
Searches all of the cellview bounding box 5 levels for all area boundaries in the cellview:
leSearchHierarchy(cv cv~>bBox 5 "area boundary" list())
Searches the cellview for an area boundary named B3:
leSearchHierarchy(cv cv~>bBox 5 "area boundary" list( list( "boundary name" "==" "B3")))
Searches for all cluster boundaries in the cellview named myClusterBound which includes the cluster name myCluster containing the property prop1 having a value of val1:
criteriaList1 = list( list("boundary name" "==" "myClusterBound")
list( "property" "==" list("prop1" "val1"))
list( "cluster name" "==" "myCluster")
)
leSearchHierarchy(cv cv~>bBox 5 "cluster boundary" criteriaList1)
Searches for all blockages in the cellview:
leSearchHierarchy(cv cv~>bBox 5 "blockage" list())
Searches for all the routing blockages in the cellview on the metal1 layer:
criteriaList2 = list( list("blockage type" "==" "routing")
list("layer name" "==" "metal1")
)
leSearchHierarchy(cv cv~>bBox 5 "blockage" criteriaList2)
Searches for all path segments in the cellview with a begin and end style of extend and with a property of prop2 having a value of val2:
criteriaList = list( list("begin style" "==" "extend")
list("end style" "==" "extend")
list("property" "==" list("prop2" "val2"))
)
leSearchHierarchy(cv cv~>bBox 5 "pathSeg" criteriaList)
Interactive Function
Enter this function with only the window ID argument; the system prompts you to specify the object type, criteria type, and where to search. If you do not specify w_windowId, the current window is used.
leHiSearch( [ w_windowId ] ) => t / nil
Return to top