poly_perimeter()
Selects polygons based upon the total length of the outside edges. Returns: A polygon layer.
See also: dve_drc()
Syntax
dve_drc (poly_perimeter (inLayer) operator distance);
where:
| inLayer | A polygon layer |
| operator | < Less than <= Less than or equal to == Equal to > Greater than >= Greater than or equal to |
| distance | A real value in layout units |
Example
decl lyrCond = dve_import_layer ("cond"); decl lyrError101 = dve_export_layer ("error101"); decl lyrPoly = NULL; lyrPoly = dve_drc (poly_perimeter (lyrCond) < 20.0); lyrError101 += dve_drc (all_edges (lyrPoly), "Polygon perimeter < 20.0");
Polygon Selection Based on Merge Properties
Polygon Selection Based on Merge Properties selection functions include: poly_edge_code(), poly_path_count(), and poly_path_length().
Polygon merge qualifier commands constrain the selection of edges based upon a specified edge code. All of the commands in this section are based upon edge information computed during a merge operation.
Convention for TOP and BOTTOM layers
Some of the notation in this section depends on a naming convention. The first mentioned layer is called the TOP layer and the second mentioned layer is called the BOTTOM layer. For example,
lyrPoly = dve_bool_and(cond, cond2);
Layer cond is TOP, layer cond2 is BOTTOM.
This is an arbitrary, rather than a descriptive designation. For example the TOP layer might be "metal" and the BOTTOM layer might be "contact".
Using edge codes
When polygon TOP and polygon BOTTOM merge, a set of vertices consisting of the intersection points is derived. Each resultant edge between pairs of these vertices has a unique `edge_code' that describe its relationship to other edges.
Consider two polygons on the TOP and BOTTOM levels (vertices at the intersection are shown as asterisks '*'):

Merging the two polygons produces a merged database containing six types of edges. Each type is shown with a different character:
| TOP_OUTSIDE_BOTTOM (T) | polygon TOP outside polygon BOTTOM |
| BOTTOM_OUTSIDE_TOP (B) | polygon BOT outside polygon TOP |
| TOP_INSIDE_BOTTOM (t) | polygon TOP inside polygon BOTTOM |
| BOTTOM_INSIDE_TOP (b) | polygon BOT inside polygon BOTTOM |
| INTERNAL (I) | edges of TOP and BOTTOM butting internally |
| EXTERNAL (E) | edges of TOP and BOTTOM butting externally |
A side effect of the algorithm is that corner-to-edge and corner-to-corner interactions are not evaluated. For instance, when checking to see if two polygons touch, a contact between a corner and an edge, or between two corners is not counted.
For example, these polygons are not classified as touching:

Edge Code Qualifier
The following qualifier is used extensively in polygon selection commands:
DVE_RN_PATH_CODE
Qualifier Resource Value:
| DVE_RV_TOP | (default) Select edges on top that are outside bottom |
| DVE_RV_BOT | Select edges on bottom that are outside top |
| DVE_RV_TIB | Select edges on top that are inside bottom |
| DVE_RV_BIT | Select edges on bottom that are inside top |
| DVE_RV_INT | Select edges on top and bottom that are butting internally |
| DVE_RV_EXT | Select edges on top and bottom that are butting externally |
Definition of paths and anti-paths
A "path" is a set of coincident edges of a polygon, all of the same type. Other paths of the polygon which do not satisfy the requested path type are called the "anti-paths" of the polygon.
Privacy
Statement
|
Terms of Use
|
Legal |
Contact Us
|
© Agilent 2000-2008 ![]()