WireViz: Tool for documenting cables, wiring harnesses and connector pinouts
WireViz
Summary
WireViz is a tool for easily documenting cables, wiring harnesses and connector pinouts. It takes plain text, YAML-formatted files as input and produces beautiful graphical output (SVG, PNG, ...) thanks to GraphViz . It handles automatic BOM (Bill of Materials) creation and has a lot of extra features.
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
- 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
- Generates BOM (Bill of Materials)
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
connectors: X1: type: D-Sub subtype: female pinout: [DCD, RX, TX, DTR, GND, DSR, RTS, CTS, RI] X2: type: Molex KK 254 subtype: female pinout: [GND, RX, TX] cables: W1: gauge: 0.25 mm2 length: 0.2 color_code: DIN wirecount: 3 shield: true connections: - - X1: [5,2,1] - W1: [1,2,3] - X2: [1,3,2] - - X1: 5 - W1: s
Output file:
Bill of Materials (auto-generated)
Demo 02
Tutorial and example gallery
See the tutorial page for sample code, as well as the example gallery to see more of what WireViz can do.
Usage
$ python3 wireviz.py ~/path/to/file/mywire.yml
This will output the following files
mywire.gv GraphViz output mywire.svg Wiring diagram as vector image mywire.png Wiring diagram as raster image mywire.bom.tsv BOM (bill of materials) as tab-separated text file mywire.html HTML page with wiring diagram and BOM embedded
Status
This is very much a work in progress . Source code, API, syntax and functionality may change wildly at any time.
Requirements
Developed and tested using Python 3.7; might not work with older Python versions.
License
GNU GPLv3
- Winform平台的HTML编辑控件——Zeta HTML
- 使用React-Router实现前端路由鉴权
- 使用 CODING DevOps 部署 Serverless 应用
- crmeb 多商户安装完后台登录页空白(加密文件被篡改)
- 五号编程 | Java缓存框架 JetCache
- AI 赋能边缘计算:在 Kuiper 中运行 TensorFlow Lite 模型
- dubbo实战之三:使用Zookeeper注册中心
- @Import注解:导入配置类的四种方式&源码解析
- 一个开源的服务器框架,特别适用于开发小游戏
- 开源ESP8266服务器项目OpenES
- npm 超详细教程
- 「GNU Emacs」- 自动补全(配置笔记) @20210307
- CVPR2021佳作 | 重新标记ImageNet:从全局标签到局部标签(附github代码及论文)
- canal在docker下的搭建(配合canal-admin)
- 开课啦 dubbo-go 实战
- Chrome 录屏神器!自称“最强大”的屏幕录制和注释工具!
- Picgo Gitee Typora(自动上传)搭建markdown免费图库
- 基于java socket技术搭建一个简单的RPC框架
- 几十万台 Exchange 服务器已被入侵,修复补丁来了!
- Kubernetes 实战 —— 02. 开始使用 Kubernetes 和 Docker