https://github.com/vygr/js-pcb
JavaScript PCB autorouter
https://github.com/vygr/js-pcb
dsn javascript pcb-layout
Last synced: over 1 year ago
JSON representation
JavaScript PCB autorouter
- Host: GitHub
- URL: https://github.com/vygr/js-pcb
- Owner: vygr
- License: gpl-2.0
- Created: 2016-08-16T14:09:00.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2018-05-02T17:08:09.000Z (about 8 years ago)
- Last Synced: 2025-03-18T16:40:21.096Z (over 1 year ago)
- Topics: dsn, javascript, pcb-layout
- Language: JavaScript
- Size: 1.44 MB
- Stars: 39
- Watchers: 7
- Forks: 10
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# JS-PCB

## JavaScript PCB router and solver.
Uses JS6 features so you need an up to date browser ! Known to work in Chrome
and Firefox on OSX.
Format of PCB data is:
```
NODE_2D [x, y]
NODE_3D [x, y, z]
SHAPE [NODE_2D, ...]
PATH [NODE_3D, ...]
PATHS [PATH, ...]
TERMINAL [terminal_radius, terminal_gap, NODE_3D, SHAPE]
TERMINALS [TERMINAL, ...]
TRACK [track_radius, via_radius, track_gap, TERMINALS, PATHS]
TRACKS [TRACK, ...]
PCB {dims: [width, height, depth], tracks: TRACKS}
```
SHAPE can be empty, [], and this means a circular pad. Two points means an oval
pad, otherwise the polygon shape of the pad.
PATHS can be empty, [], this means no paths. If paths are empty on the input to
the solver it means that this track needs solving, else the paths given
represent protected wiring/paths and are to be routed around.
You can download the .dsn files and run the app by simply going to https://vygr.github.io/JS-PCB
## More screenshots

