Surface Analyzer is an analysis action that finds problems in surface features. It finds points of self-intersection, folds, small islands/holes and incorrectly nested polygons in layer surfaces and in symbols found in a layer.
A
surface is defined in ODB++ as a set of polygons. Some polygons are islands,
other are holes, depending on their relationship to one another. (For each two
polygons, either one fully contains another or they are disjoint; polygons may
intersect only at a single point). Each polygon is a closed chain of edges. The
edges may be arc (curved) or linear segments. In a legal polygon each edge may
touch (or intersect) other edges only at their end points. Genesis produces
legal polygons only. The definition of polygon in other formats is usually
similar.
Different
CAD/CAM programs produce output files with self-intersecting polygons and/or
incorrectly nested polygons. Because the automatic conversion of such polygons
into Genesis can create ambiguous results, we provide an option to ignore the
surface validation check in the input. Using this option allows illegal
polygons to appear in ODB++ jobs.
Small
polygons and folds are legal in ODB++, but can cause processing problems in
some surface editing operations or in some third-party systems that receive
their input from Genesis.
The
Surface Analyzer action shows problematic surfaces and the problematic points
in those surfaces. It may be used after input, or used before editing or output
operations on surfaces. Some operations invoke self-intersection checks
internally. The majority of detected problems (usually self-intersections,
folds and small polygons) can be fixed using Edit -> Reshape -> Clean
Surfaces. Other problems (usually wrong nesting problems) can be fixed using
Break to Islands/Holes.
The
Surface Analyzer may be accessed from the Graphic Editor.
These
categories inform the user if any islands have been placed on top of other islands,
or if holes have been placed on top of other holes.