Ready to take your JavaScript development to the next level? Meet npm Enterprise - the ultimate in enterprise JavaScript. Learn more »

pcb-stackup

4.0.0 • Public • Published

pcb stackup

latest next david

Render PCBs as beautiful, precise SVGs from Gerber / NC drill files

Part of the tracespace collection of PCB visualization tools.

install

npm install --save pcb-stackup
# or 
yarn add pcb-stackup

example

arduino-uno-top arduino-uno-bottom

After you clone and set-up the repository as detailed in development setup, you can run pcb-stackup's example script to render the top and bottom of an Arduino Uno PCB.

cd tracespace/packages/pcb-stackup
npm run example

Arduino Uno design files used here under the terms of the Creative Commons Attribution Share-Alike license.

usage

This module is designed to work in Node or in the browser with Browserify or Webpack. The function takes three parameters: an array of layer objects an optional settings object and a callback function.

const fs = require('fs')
const pcbStackup = require('pcb-stackup')
 
const fileNames = [
  '/path/to/board-F.Cu.gtl',
  '/path/to/board-F.Mask.gts',
  '/path/to/board-F.SilkS.gto',
  '/path/to/board-F.Paste.gtp',
  '/path/to/board-B.Cu.gbl',
  '/path/to/board-B.Mask.gbs',
  '/path/to/board-B.SilkS.gbo',
  '/path/to/board-B.Paste.gbp',
  '/path/to/board-Edge.Cuts.gm1',
  '/path/to/board.drl',
  '/path/to/board-NPTH.drl',
]
 
const layers = fileNames.map(filename => ({
  filename,
  gerber: fs.createReadStream(path),
}))
 
pcbStackup(layers, (error, stackup) => {
  if (error) return console.error(error)
 
  console.log(stackup.top.svg) // logs "<svg ... </svg>"
  console.log(stackup.bottom.svg) // logs "<svg ... </svg>"
})

API

See the API documentation.

If your board doesn't appear at all or looks weirdly distorted try rendering it with the options {maskWithOutline: false} or filling in gaps in the outline with e.g. {outlineGapFill: 0.011}.

install

npm i pcb-stackup

Downloadsweekly downloads

61

version

4.0.0

license

MIT

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar
  • avatar
Report a vulnerability