Never Play Matchmaker

    pcb-stackup
    TypeScript icon, indicating that this package has built-in type declarations

    4.2.8 • 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

    Or, use a script tag:

    <script src="https://unpkg.com/pcb-stackup@^4.0.0/dist/pcb-stackup.min.js"></script>
    <script>
      // global variable pcbStackup now available
      pcbStackup(layers).then(stackup => {
        // ...
      })
    </script>

    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
    yarn 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(filename),
    }))
    
    pcbStackup(layers).then(stackup => {
      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

    220

    Version

    4.2.8

    License

    MIT

    Unpacked Size

    1.55 MB

    Total Files

    19

    Last publish

    Collaborators

    • mcous
    • kasbah