web page header logo

ODB++ Surfaces


An ODB++ surface is defined by a composite polyline that defines the outer composite curve followed by one or more children that represent "cutouts" from the outer polygon. This is a very elegant method of describing say a complete ground plane with many holes in it.

Unfortunately, the RS274X specification has no equivalent of the surface. Therefore the translator has to process this so that it can be represented in RS247X. The approach used is to "booleanize" the outer and inner areas and output a "re-entrant" polygon as shown below.

Breaking Arcs into Segments

The boolean computation only works on polygons -- not on arcs. Prior to booleanizing the surface, both inner and outer composite curves must have their arcs fractured. The user can control the smoothness of the approximation using the parameters arcres or arcsag.



This parameter is the angle used to break an arc into a series of chords. The valid range of values is from 0.5 degree up to 45 degrees.


The disadvantage when using the arcsag parameter is that for layouts with curves of greatly different radii, a given setting will generate either too many segments for small radius arcs or too few segments for large radius arcs. Therefore we have defined an alternate parameter, arcsag, which behaves differently.



This parameter is the maximum error between the arc and the chords used to approximate the arc. For example, if you know that you want the chords approximating your arcs to be no more than a maximum of 0.001 inch from the arc then enter 0.001 as the arcsag. The program will calculate, for each arc, how many chords are required to achieve this tolerance.



Revision History


417 Ingalls St. Unit C, Santa Cruz, CA 95060 831.426.6163 email:  info@artwork.com