Surface Analyzer

Introduction

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.

Background

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.

Categories

Category

ERF Name

Description

Self-intersection in surface

selfintersection_in_
surface

Shows a point of self-intersection in the surface feature of the layer

Self-intersection in symbol

selfintersection_in_
symbol

Shows a symbol containing surface with self-intersection

Wrong Nesting for island

wrong_nesting_
island

Shows an island included inside another island of the same surface

Wrong Nesting for hole

wrong_nesting_
hole

Shows a hole included inside another hole of the same surface or not included in any island

Small Polygon

small_poly

Shows an island/hole smaller then Max Size according to the Mode parameter described above

Small Polygon in symbol

small_poly_sym

Shows a symbol containing surface with small island(s)/hole(s)

Fold

fold

Shows a point of fold in the surface feature of the layer

Fold in symbol

fold_sym

Shows a symbol containing surface with fold

Problematic Surface

problematic_
surface

Shows a surface feature in which at least one of the above problems has been detected

Small edge in surface

small_edge

Shows an edge when its length is less than user value (in surface)

Small edge in symbol

small_edge_sym

Shows an edge when its length is less than user value (in symbol)

Small edge length

pp_small_edge_length

All edges with a length less than this value will be reported.

Note: This category is controlled by the Small edge length parameter.

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.

 

ERF Variables

None