2020-05-30 12:07:16 +02:00
2020-05-30 12:05:56 +02:00
2020-05-30 12:05:56 +02:00
2020-05-24 21:47:58 +02:00
2020-05-30 12:05:56 +02:00
2020-05-29 23:24:23 +02:00

WireViz

Summary

WireViz is a simple yet flexible, YAML-based markup language for documenting cables, wiring harnesses and connector pinouts with beautiful graphical output (SVG, PNG, ...) thanks to GraphViz.

Features

  • WireViz input files are fully text based
    • No special editor required
    • Human readable
    • Easy version control
    • YAML syntax
  • Understands and uses color abbreviations as per IEC 60757 (black=BK, red=RD, ...)
    • Optionally outputs colors as abbreviation (e.g. 'YE'), full name (e.g. 'yellow') or hex value (e.g. '#ffff00'), with choice of UPPER or lower case
  • Auto-generates standard wire color schemes and allows custom ones if needed
    • DIN 47100 (WT/BN/GN/YE/GY/PK/BU/RD/BK/VT/...)
    • IEC 62 (BN/RD/OR/YE/GN/BU/VT/GY/WT/BK/...)
  • Understands wire gauge in mm² or AWG
    • Optionally auto-calculates and displays AWG equivalent when specifying mm²
  • Allows more than one connector per side, as well as loopbacks
  • Allows for easy-autorouting for 1-to-1 wiring

Note: WireViz is not designed to represent the complete wiring of a system. Its main aim is to document the construction of individual wires and harnesses.

Examples

Demo 01

WireViz input file:

nodes:
  X1:
    type: D-Sub
    gender: female
    pinout: [DCD, RX, TX, DTR, GND, DSR, RTS, CTS, RI]
  X2:
    type: Molex KK 254
    gender: female
    pinout: [GND, RX, TX, N/C, OUT, IN]

wires:
  W1:
    mm2: 0.25
    length: 0.2
    color_code: DIN
    num_wires: 3
    shield: true

connections:
  - # format: connector->wire->connector
    - X1: [5,2,1]
    - W1: [1,2,3]
    - X2: [1,3,2]
  - # format: connector->wire or wire->connector
    - X1: 5
    - W1: s
  - # loop: connector-connector
    - X2: 5
    - X2: 6

Output file:

Sample output diagram

Demo 02

Source

More examples

See the example gallery and included readme file.

Status

This is very much a work in progress.

License

GNU GPLv3

Description
No description provided
Readme GPL-3.0 37 MiB
Languages
Python 100%