OverhangTo Commands
This topic describes the following OverhangTo commands:
- OverhangToErrors
- OverhangToPolygons
- OverhangToEdges
Input: One or two DV layers (containing polygons)
Constraint (operator and distance)
Measurement region qualifier (optional)
Orientation Qualifiers (optional)
Intersecting Edge qualifier (optional)
Raw/Merged qualifier (optional)
Output: DV layer – Type varies with the command. OverhangToErrors outputs a DV layer containing error clusters. OverhangToPolygons outputs a DV layer containing polygons. OverhangToEdges outputs a DV layer containing edges.
Description: Overhang is the distance between edges, of intersecting geometry, that face each other, one on the inside and one on the outside. The single layer version checks the overhang between different geometries on the same layer. Overhang from one to the other, both ways, is checked on each pair of geometry. The two layer version checks the overhang of geometry on the first layer from geometry on the second layer. This is an edge to edge check, not corner to corner, or corner to edge.
This is not a symmetric operation. The order of the input layers does change the results.
An edge is considered to overhang another edge if the two geometries intersect but neither contains the other and the first edge is inside facing and the other edge is outside facing. Arrows in the following diagrams indicate edge pairs where an edge of the geometry with dots overhangs an edge of the white geometry.
Edges are considered to face each other for overhang checking only if the angle between the inside of one edge and the outside of the other is less than 180 degrees. Collinear edges are not considered facing. The following diagram illustrates angles between inside/outside edges:
The arrows in the following figures indicate the edge pairs that are checked when considering the facing requirement and using default orientation and intersecting qualifiers: Acute Also, Not Obtuse, Parallel Also, Not Perpendicular, and Not Intersecting:
Single Layer Overhang
Two Layer Overhang
The first layer has the dot fill pattern and the second layer is empty. The command looks for the overhang of dot geometry from white geometry.
- OverhangToError results are clusters of
segments that meet the specified constraint. Each error segment indicates
the part of the geometry edge that meets the constraint. The error
clusters are returned in a DV layer. The heavy lines in the following example show the portions of edges that are returned as one error
cluster.

- OverhangToPolygons results are any polygons
that have at least one edge that meets the specified constraints. The
polygons are returned in a DV layer. Both polygons in the following example
are returned.

- OverhangToEdges results are segments of
edges that meet the specified constraints. These segments retain information
about the polygon they are created from. This information allows the
edges to be used as input to other DV commands. The segments are returned
in a DV layer. The heavy lines in the following example show
the segments that are returned as edges. They are not clustered, and
they retain information about the directions inside and outside of the
polygon and sibling relationship.

The constraint amount may be given with or without units. If no units are specified the current default length units are used.
Supported operators:
Qualifiers may be specified to constrain the edges checked. The defaults, if qualifiers are not specified, are Round (measurement region), Acute Also, Not Obtuse, Parallel Also, Not Perpendicular, Not Adjacent, and Merged (geometry).
Example (JScript):
var layer1 = DVChecker.ImportLayer("trace");
var overhangLayer1 = DVChecker.OverhangToErrors(Array("<", "5mm"), layer1,
Array( "Round", "Acute Also", "Not Obtuse", "Parallel Also",
"Not Perpendicular"));
DVChecker.SaveLayer(overhangLayer1, "overhang errors",
"overhang < 5 on trace layer");
var layer2 = DVChecker.ImportLayer("ground");
var overhangLayer2 = DVChecker.OverhangToErrors(Array("<", 5), layer1,
layer2, Array( "Round", "Acute Also", "Not Obtuse", "Parallel Also"));
DVChecker.SaveLayer(overhangLayer2, "overhang errors",
"trace overhanging ground by < 5");
Measurement Region Qualifier
Measurement region qualifier specifies the construction of the region used to test the constraint. There exist the following choices:
- Round: Forms a region with quarter-circle
boundaries that extend past the corners of the edge by the constraint
distance. Round is the default region, if no region is specified.

- Square: Forms a region with right-angle
boundaries that extend past the corners of the edge by the constraint
distance.

- Opposite: Forms a region with right-angle
boundaries that do not extend past the corners of the edge.

Measurement Region Use To Check Constraint
The following figure displays the returned segment for error or edge output, marked in blue, and the measurement regions, marked in red and green, that are used to check the constraint.
Orientation Qualifiers
Orientation qualifiers specify edge or angle orientations that qualify edges to be checked against each other. Up to one choice from each of the following four groups may be used:
- Acute Also
- Obtuse Also
- Not Parallel
- Not Acute
If multiple choices from any of the groups are used, the last choice on the group is used. It replaces any earlier choices of that group in the command.
OverhangToErrors(Array(“<”, 5), layer, Array(“Acute Also, Obtuse Also, Not Parallel, Not Acute));
is interpreted as:
OverhangToErrors(Array(“<”, 5), layer, Array(“Obtuse Also, Not Parallel, Not Acute));
If a choice contains “Only”, that is the only orientation qualifier recognized. Any other orientation qualifiers before or after the first “Only” is ignored.
OverhangToErrors(Array(“<”, “5mm”), layer, Array(“Acute Also, Obtuse Only, Not Parallel, Perpendicular Only));
is interpreted as:
OverhangToErrors(Array(“<”, “5mm”), layer, Array(“Obtuse Only));
Acute filter
- Acute Also – Include the measurement of edges that have an angle between them greater than 0 and less than 90 degrees. Default if none specified.
- Acute Only – Measure only edges that have an angle between them greater than 0 and less than 90 degrees.
- Not Acute – Do not measure edges that have an angle between them of greater than 0 and less than 90 degrees.
Obtuse filter
- Obtuse Also – Include the measurement of edges that have an angle between them of greater than 90 and less than 180 degrees.
- Obtuse Only – Measure only edges that have an angle between them of greater than 90 and less than 180 degrees.
- Not Obtuse – Do not measure edges that have an angle between them of greater than 90 and less than 180 degrees. Default if none specified.
Parallel filter
- Parallel Also – Include the measurement of parallel edges and non-parallel edges. Default if none specified.
- Parallel Only – Measure only parallel edges.
- Not Parallel – Do not measure parallel edges.
Perpendicular filter
- Perpendicular Also – Include the measurement of perpendicular edges and edges of other orientations.
- Perpendicular Only – Measure only perpendicular edges.
- Not Perpendicular – Do not measure perpendicular edges. Default if none specified.
Intersecting Edge Qualifier
Intersecting Edge qualifier determines if two edges that intersect are checked against each other. Intersecting edges are edges that share at least one point. This qualifier is used in conjunction with the orientation qualifiers to determine which edges to check. One of the three choices may be specified.
- Intersecting Also – Check applies to both intersecting and other edges.
- Intersecting Only – Check only applies to intersecting edges.
- Not Intersecting – Check does not apply to intersecting edges. Default if none specified.
The arrows in the following figure indicate the edge pairs checked using Intersecting Only with the other qualifiers defaulted (Acute Also, Not Obtuse, Parallel Also, Not Perpendicular).
Raw/Merged Qualifier
The Raw/Merged qualifier applies to a DV layer created using the ImportLayer command. Raw specifies the geometry is to be used without first being merged. In contrast, the default setting of Merged specifies the geometry is merged prior to its use.
The arrows in the following figures indicate the edge pairs checked using Raw versus Merged with the other qualifiers defaulted (Acute Also, Not Obtuse, Parallel Also, Not Perpendicular, Not Intersecting).