For OEMS who wish to integrate the OASIS/GDSII to RS247X conversion into their own application, we now expose the underlying library and 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
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
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
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 encounteredACS_GerberExtractClose
Returns the license and cleans up.
void ACS_GerberExtractClose();