oasis2gbr web page logo

The GerberExtract Library

For OEMS who wish to integrate the OASIS/GDSII to RS247X conversion into their own application, we now expose the underlying library and API.

The API

ACS_GerberExtractOpen

Gets licensing and checks if input is a valid GDSII/OASIS file

int ACS_GerberExtractOpen(char *exepath, char *input, int argc, char **argv);

where

exepath - executable path
input - input GDSII/OASIS file name
argc - number of optional arguments
argv - list of optional arguments

Returns

0 if successful
1 if failed

(call ACS_GerberExtractGetLastErr to get error information)

ACS_GerberExtractScan

Scans the input file for top structures and layers. This will create a scanned output file if specified (overwriting existing file) or set the specified pointers to the list of structures and layers found; these pointers should not be freed.

int ACS_GerberExtractScan(char *output, int *cnum, char *** cells, int *lnum, char ***layers);

where

output - output scan file (or NULL)
cnum - pointer to number of top cells found (or NULL)
cells - pointer to list of top cells found (or NULL)
lnum - pointer to lnum of layers found (or NULL)
layers - pointer to list of layers found (or NULL)

Returns

0 if successful
1 if failed

(call ACS_GerberExtractGetLastErr to get error information)

ACS_GerberExtractConvert

Instructs the library to convert the GDSII/OASIS input file to Gerber. The parameters for the conversion are provided as a list.

int ACS_GerberExtractConvert(char *output, int argc, char **argv);

where

output - output filename
argc - number of optional arguments
argv - list of optional arguments:

 Cell name to process
 -cell:<cell>

 Layers to extract (unionized)
 -layers:<l1:d1,l2:d2...>

 Extract data from the specified window
 -window:<minX,minY,maxX,maxY>

 Disable compression (SR and arc recovery)
 -nocompress

 Set compaction algorithm (default:speed)
 -mode:<compact|speed>

 Specify the log file
 -log:<logfile>

 Suppress stdout/popup messages
 -silent

 Specify overlap between butting polygons
 -overlap:<overlap_in_file_units>

 For arc recovery process, 0 disables it.
 -circularize:<max_chord_error>

 Re-validates (post overlap) output polygons.
 -revalidate

 Specify the RS274X output format.
 -format:XY

Returns

0 if successful
1 if failed

(call ACS_GerberExtractGetLastErr to get error information)

ACS_GerberExtractGetLastErr

Returns the last error encountered

char * ACS_GerberExtractGetLastErr(int *errCode);

where

errCode - Last error code

Returns

the last error message encountered
or
NULL if there is none


ACS_GerberExtractClose

Returns the license and cleans up.

void ACS_GerberExtractClose();