WidthTo Commands
This topic describes the following commands:
- WidthToErrors
- WidthToPolygons
Input: DV layer (containing polygons)
Constraint (operator and positive real number)
Measurement region qualifier (optional)
Orientation qualifiers (optional)
Adjacent Edge qualifier (optional)
Raw/Merged qualifier (optional)
Output: DV layer – type varies with the command. WidthToErrors outputs a DV layer containing error clusters. WidthToPolygons outputs a DV layer containing polygons. WidthToEdges outputs a DV layer containing edges.
Description: Checks the width of individual geometry. Width is the distance between facing, inside edges on the same geometry. This is an edge-to-edge check, not corner-to-corner, or corner-to-edge.
The arrows in the following figures indicate the edge pairs that are checked when using default orientation and adjacent qualifiers: Acute Also, Not Obtuse, Parallel Also, Not Perpendicular, and Not Adjacent.
- WidthToErrors results are clusters of segments
that meet the specified constraints. 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 two error clusters.

- WidthToPolygons results are polygons that
have at least one edge pair that meets the specified constraints. The
constraint amount may be given with or without units. If no units are
specified the current default length units are used. The polygons are
returned in a DV layer. The entire polygon in the following example
is returned.

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 widthLayer1 = DVChecker.WidthToErrors(Array(“<”, 5), layer1,
Array("Round”, “Acute Also”, “Not Obtuse”, “Parallel Also”, “Not Perpendicular”,
“Adjacent Also”, “Merged”));
DVChecker.SaveLayer(widthLayer1, “width errors”, “width < 5 on trace layer”);
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. The region
formed consists of the area just “opposite” 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, 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 groups may be used:
- Acute Also
- Obtuse Also
- Not Parallel
- Not Acute
If multiple choices from any of the groups are specified, the last choice on the group is used, and it then replaces any earlier choices of that group in the command.
WidthToErrors(Array(“<”, 5), layer, Array(“Acute Also, Obtuse Also, Not Parallel, Not Acute));
is interpreted as:
WidthToErrors(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.
WidthToErrors(Array(“<”, “5mm”), layer, Array(“Acute Also, Obtuse Only, Not Parallel, Perpendicular Only));
is interpreted as:
WidthToErrors(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.
Adjacent Edge Qualifier
Adjacent Edge qualifier determines if adjacent edges are checked against each other. Adjacent edges are edges that share a start or end point. This qualifier is used in conjunction with the orientation qualifiers to determine which edges to check. One of the following choices may be specified:
- Adjacent Also – Check applies to both adjacent and other edges.
- Adjacent Only – Check only applies to adjacent edges.
- Not Adjacent – Check does not apply to adjacent edges. Default if none specified.
The arrows in the following figures indicate the edge pairs that are checked when using Adjacent Only with the default orientation-adjacent qualifiers (Acute Also, Not Obtuse, Parallel Also, Not Perpendicular, and Not Adjacent).
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.