Nick Playfair 7dd6e99ef5 pass layer names to getLayers
Update the getLayers method to take in an array of the layer filenames you expect to be in the gerber archive. This will allow the package to be used with gerbers that output different filenames for each layer then EAGLE.
2021-02-07 20:03:37 +00:00
2021-02-07 20:03:37 +00:00
2021-02-01 15:56:26 +00:00
2021-01-31 20:36:47 +00:00
2021-02-07 20:03:37 +00:00
2021-01-30 12:13:33 +00:00
2021-02-05 14:32:17 +00:00
2021-02-05 14:32:17 +00:00
2021-02-06 21:19:30 +00:00

npe_gerber

npm (scoped)

This is still being developed and isn't ready for production! Only tested with gerbers generated by EAGLE.

Requires node version 10 or higher.

Usage

Save a PNG file

const { ImageGenerator } = require('@nplayfair/npe_gerber');

const folderConfig = {
    tmpDir: path.join(__dirname, 'tmp'),
    imgDir: path.join(__dirname, 'img')
}

const imageConfig = {
    resizeWidth: 600,
    density: 1000,
    compLevel: 1
}

const gerberArchive = '/path/to/gerber.zip';

const fileProc = new ImageGenerator(folderConfig, imageConfig);

fileProc.gerberToImage(gerberArchive)
      .then(filename => {
        console.log(`Generated image ${filename}`);
      })

Return a PNG stream

const { ImageGenerator } = require('@nplayfair/npe_gerber');

const folderConfig = {
    tmpDir: path.join(__dirname, 'tmp'),
    imgDir: path.join(__dirname, 'img')
}

const imageConfig = {
    resizeWidth: 600,
    density: 1000,
    compLevel: 1
}

const gerberArchive = '/path/to/gerber.zip';

const fileProc = new ImageGenerator(folderConfig, imageConfig);

fileProc.gerberToStream(gerberArchive)
      .then(stream => {
        // Do something with the stream
      })

Image Processing Configuratation

Several values need to be set in the image configuration object. An SVG vector is first created as an intermediate step before being converted to a PNG. These correspond to the parameters passed to sharp for resizing the intermediary SVG and output PNG file. These settings are:

  • resizeWidth: Width in pixels of the output image.
  • density: DPI to create the SVG with. Low values will result in a poor quality output image.
  • compLevel: PNG compression level.

More information about these settings can be found in the sharp documentation.

Description
Create a PCB image from gerber files
Readme MIT 1 MiB
Languages
TypeScript 97.6%
JavaScript 2.4%