EncloseTo Commands

This topic describes the following EncloseTo commands:

Input: One or two DV layers (containing polygons)

Constraint (operator and positive real number)

Measurement region qualifier (optional)

Orientation Qualifiers (optional)

Intersecting Edge qualifier (optional)

Raw/Merged qualifier (optional)

Output: DV layer – Type varies with the command. EncloseToErrors outputs a DV layer containing error clusters. EncloseToPolygons outputs a DV layer containing polygons. EncloseToEdges outputs a DV layer containing edges.

Description: Enclose is the distance between edges of separate geometry that face each other, one on the inside and one on the outside AND one of the geometry is completely inside the other. The single layer version checks the enclosure between different geometries on the same layer. Enclosure from one to the other, both ways, is checked on each pair of geometry. The two layer version checks the enclosure of geometry on the second layer by geometry on the first 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 enclose another edge if the geometry of the first edge contains the other geometry, 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 encloses an edge of the white geometry:

Edges are considered to face each other for enclosure 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 Enclose

Two Layer Enclose

The first layer is white and the second layer has a dot fill pattern. The command looks for the enclosure of dot geometry by white geometry.

The constraint amount may be given with or without units. If no units are specified the current default length units are used.

Supported operators:

< Less than

<= Less than or equal to

== Equal to

> Greater than

>= Greater than or equal to

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 encloseLayer1 = DVChecker.EncloseToErrors(Array("<", "5mm"), layer1,

Array( "Round", "Acute Also", "Not Obtuse", "Parallel Also",

"Not Perpendicular”));

DVChecker.SaveLayer(encloseLayer1, "enclose errors",

"enclose < 5 on trace layer");

var layer2 = DVChecker.ImportLayer("ground");

var encloseLayer2 = DVChecker.EncloseToErrors(Array("<", 5), layer1,

layer2, Array("Round", "Acute Also", "Not Obtuse", "Parallel Also"));

DVChecker.SaveLayer(encloseLayer2, "enclose errors",

"trace encloses 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:

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, 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:

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.

EncloseToErrors(Array(“<”, 5), layer, Array(“Acute Also, Obtuse Also, Not Parallel, Not Acute));

is interpreted as:

EncloseToErrors(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.

EncloseToErrors(Array(“<”, “5mm”), layer, Array(“Acute Also, Obtuse Only, Not Parallel, Perpendicular Only));

is interpreted as:

EncloseToErrors(Array(“<”, “5mm”), layer, Array(“Obtuse Only));

Acute filter

Obtuse filter

Parallel filter

Perpendicular filter

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.

Specifying Intersecting Also with Enclose always results in no results found. One geometry must be totally contained in the other geometry for edges to be enclosed. If there are intersecting edges, there is no enclosure and no results.

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).