rteGeomAndNot
rteGeomAndNot( [ ?cv d_cvId ] [ ?lpp1 g_lpp1 ] [ ?lpp2 g_lpp2 ] [ ?outputLpp l_outputLpp ] [ ?blockedLayer l_blockedLayer ] [ ?polygons g_polygons ] [ ?region l_region ] [ ?size1 f_size1 ] [ ?size2 f_size2 ] [ ?trimCorners g_trimCorners ] ) ; => t / nil
Description
Generates new shapes that exist on one layer purpose and do not overlap shapes on another layer purpose. You can optionally use sized shapes from one or both of the layer purposes. And you can choose to operate on a specific region or the entire design.
This function is available only in Layout XL and higher tiers.
Arguments
|
Database ID of the cellview. Defaults to the current cellview. |
|
|
Specifies the first layer purpose pair(s). Required. See Specifying Input Layer Purposes for details. |
|
|
Specifies the second layer purpose pair(s). Required. See Specifying Input Layer Purposes for details. |
|
|
Specifies the output layer and purpose for the generated shapes. Required. You must specify both the layer name and the layer purpose as a list or string. |
|
|
Outputs blockages on the specified layer. Note: the ?blockedLayer and ?outputLpp arguments are mutually exclusive. |
|
|
Generates output shapes as polygons, rather than individual rectangles. Values are
If set to
If set to |
|
|
A list specifying the lower-left and upper-right coordinates of the region on which the function should operate. If not specified, the entire design is included in the operation. |
|
|
Specifies the sizing amount in user units for shapes on the first layer purpose. Default is 0.0. |
|
|
Specifies the sizing amount in user units for shapes on the second layer purpose. Default is 0.0. |
|
|
Specifies that corners be trimmed when shapes are resized.
Values are |
|
Value Returned
Examples
The following is a graphical illustration of the rteGeomAndNot function.

The following example generates new shapes on the metal5/drawing layer purpose that exist on metal2/pin and do not overlap shapes on metal1/pin.
rteGeomAndNot(
?lpp1 list("metal2" "drawing")
?lpp2 list("metal1" "pin")
?outputLpp list("metal5" "drawing")
?region list(2486.75 2850.75 2635.22 2946.52)
)
The following example is the same as the one above, but both layer purposes are included in the ?lpp1 argument.
rteGeomAndNot(
?lpp1 list(
list("metal2" "drawing")
list("metal1" "pin"))
?outputLpp list("metal5" "drawing")
?region list(2486.75 2850.75 2635.22 2946.52)
)
In the following example, 48 is the layer number representing metal1. Argument ?lpp1 includes all purposes for layer metal1. In argument ?lpp2, the layer purpose pair is specified as a string. This is allowed, as the argument contains only one layer.
rteGeomAndNot(
?lpp1 48
?lpp2 "metal2 drawing"
?outputLpp list("metal5" "drawing")
?region list(2486.75 2850.75 2635.22 2946.52)
?size1 0.5
?size2 0.5
?polygons t
?trimCorners t
)
Related Topics
Return to top