For the parts of each edge of the source that are not coincident or overlapping with source-compatible figures or with target figures which extend into the interior of the source figure, a rectangle extending normally from the edge out of the source figure by the given dimension is constructed. The test fails if the constructed rectangle has nonzero intersection area with target figures. Note that overlap of the two figures is never flagged as a MinSpaceTo violation, but touching figures will generate a violation. Figure 15.10 illustrates the test performed under this keyword, for no Region and an expression consisting of a single layer.
If a spacing table (see 15.4) is specified and active, the dimension used is computed from the spacing table, for Manhattan edges. An inactive table will still supply the default spacing, which is taken as the space_in_microns.
If the Diagonal clause is given with positive diag_space, then the diag_space value will be used when the edge being tested is nonorthogonal.
The SameNet clause is currently not implemented, and its presence has no effect.
The MinSpaceTo test also fails if the distance from a corner of the source figure to a non-touching target figure is less than the dimension. The corner test is skipped if the corner point is on the edge of or internal to another figure compatible with either the source or the expression.
When importing Virtuoso technology data, the minSpacing two-layer constraint maps directly to this rule.
The Diagonal and SameNet clauses are set by minDiagonalSpacing and minSameNetSpacing two-layer constraints when importing virtuoso technology data. These may have their own reference strings. To keep these distinguishable, the string can actually be three double-quoted strings, e.g., the form is
"# rule description" "minDiagonalSpacing string" "minSameNetSpacing string"
This guarantees that the original reference strings are regenerated when the !dumpcds command is used to generate a Virtuoso technology file. If a component string doesn't exist, one can use "" (two double-quote marks) as a placeholder. Strings to the right that don't exist can be skipped entirely.