Как делать простые чертежи кабелей для технической документации с WireViz
Вступление
Разрабатывая сложные электронные устройства помимо печатных плат скорее всего понадобиться немало кабелей (проводных сборок), которые могут служить для подключения датчиков, блоков питания, иных модулей

В наилучшем и правильном случае каждая составляющая (в т.ч. кабели) должна присутствовать в итоговой сборке и иметь исчерпывающую техническую документацию: чертеж и перечень.

Но для своих простых устройств и при ограниченных ресурсах это может быть и будет слишком сложно и неоправданно, так что проще вручную что-то как-то соединить и погнали. Чтобы внести немного определённости советую воспользоваться ПО Wireviz для создания простых и понятных чертежей кабельных сборок, которые послужат для их дальнейшего повторения и передачи.
|
|
Пример
Рассмотрим на примере кабеля для соединения отладочной платы STM32F4xx MiniF4 и программатора-отладчика ST-LINK V2:
Настоящий кабель сделан с использованием разъемов XH 4х2.54mm и разноцветных проводов UL1007-22AWG):

А вот так просто это выглядит в виде чертежа, при этом всё понятно даже для неподготовленного человека и такую картину не стыдно показывать изготовителю:
Можно с легкостью клепать чертежи, которые имеют понятный и опрятный вид, легко редактируются и отслеживаются изменения, и, кроме того, будут похожи друг на друга, даже если это делали в разные периоды или/и разные люди.
Установка
1) Скачать и установить Python на свою систему

2) Установить пакет Wireviz, для этого открываем командную строку (Win + R) и пишем и нажимаем OK:
cmd

Пишем команду установки и жмём Enter:
pip3 install wireviz

3) Устанавливаем GraphViz (необходим для работы Wireviz, создает графические файлы). Если он не будет установлен, то при попытке использовать Wireviz будет ошибка:
failed to execute WindowsPath('dot'), make sure the GraphViz executables are on your system PATH![]()
Итак, нужно зайти на их сайт скачать последнюю стабильную версию для Windows:

Скачается архив с папкой Graphviz-12.0.0-win64, эту папку поместим куда-то на диск (можно рядом с программами):

Теперь в поиске Windows пишем Edit the system environmental variables и открываем его:

Открывается окно System Properties, где нужно нажать Environmental Variables:

В списке System variables найдите Path, выберете его и нажмите Edit...

Теперь в открывшемся окне нажимаем New и вставляем путь к ранее разархивированной папке Graphviz-12.0.0-win64/bin:

4) Проверка что установка прошла успешно. Опять открываем командную строку ( Win + R -> cmd) и пишем:
wireviz --version

✔ Установка прошла успешно, в терминале видно установленную версию WireViz.
Использование
Открываем любую папку и скачиваем туда или создаем там .yml файл с названием WRD.yml и со следующий содержанием:
metadata:
title: ST-LINK SWD <-> MCU SWD
pn: DEV-CBL-001-R01
authors:
Created:
name: Cxemka.Com
date: 2024-07-23
Approved:
name: Cxemka.Com
date: 2024-07-23
revisions:
A:
name: Cxemka.Com
date: 2024-07-23
changelog: Initial commit
template:
name: din-6771
sheetsize: A3
connectors:
X_STLINK: &2p_xh_t # <a href="https://www.lcsc.com/product-detail/Housings-Wire-To-Board-Wire-To-Wire_JST-XHP-4_C144403.html">https://www.lcsc.com/product-detail/Housings-Wire-...</a> pinlabels: [GND, CLK, DIO, VCC]
type: 2.5mm 1x4P XH 4 1 Without a buckle
manufacturer: JST
mpn: XHP-4
supplier: LCSC.com
spn: C144403
subtype: male
color: WH
image:
src: IMG/XHP-4.png
additional_components:
-
type: Crimp XHP (SXH-001T-P0.6) # <a href="https://www.lcsc.com/product-detail/Housing-Contact_JST-SXH-001T-P0-6_C140573.html">https://www.lcsc.com/product-detail/Housing-Contac...</a> manufacturer: JST
mpn: SXH-001T-P0.6
supplier: LCSC.com
spn: C140573
qty_multiplier: populated
X_MCU: # <a href="https://www.lcsc.com/product-detail/Housings-Wire-To-Board-Wire-To-Wire_JST-XHP-4_C144403.html">https://www.lcsc.com/product-detail/Housings-Wire-...</a> <<: *2p_xh_t
pinlabels: [CLK, DIO, GND, VCC]
cables:
C:
colors: [BK, BU, GN, RD] # number of wires implicit in color list
gauge: 0.25 mm2 # also accepts AWG as unit
show_equiv: true # auto-calculate AWG equivalent from metric gauge
length: 0.2 # length in m
shield: false
mpn: UL1007-24AWG
connections:
-
- X_STLINK.X1: [1, 2, 3, 4]
- C.C1: [1, 2, 3, 4]
- X_MCU.X2: [3, 1, 2, 4]
Также создаем папку IMG и добавляем туда картинку XHP-4.png (это не обязательно).

Далее в строке пишем cmd и жмём Enter чтобы открыть терминал прямо в папке (чтобы путь не нужно было вручную указывать):

Теперь пишем название программы и название файла вместе с расширением, жмём Enter:
wireviz WRD.yml

Должны сгенерироваться несколько файлов, о чем видено сообщение к окне терминала и сами файлы:

Проверим их, они все открываются и уже могут быть использованы:

Главная суть в том, что сначала мы создаем класс объекта со свойствами, а далее создаем объекты класса или используем его же. Например создали разъем XH-2.54mm и описали его (коло-во контактов, номер, цвет) и далее используем сколько нужно. То же самое с проводами и гильзами.
Другие примеры
Первый пример тот же, но теперь с рамкой, в которой можно заполнить название, дату, историю, в итоге выглядит очень презентабельно
:
Больше примеров на GitHub в галереи, с помощью них можно быстро освоить базовые вещи:
| Example 7 |
|
|
|
Example 10 |
|
|
|
Example 11 |
|
|
Скачать проект (Обновление от 18.06.2025)
- С сервера: wireviz_wiring_diagram.zip
Заключение
- Wireviz позволяет создавать простые и опрятные схемы кабелей, что можно использовать как часть технической документации электронного устройства
- Разъемы, провода, контакты и соединения описываются в текстовом виде и имеют стандартный набор полей (производитель, номер производителя, учетный номер...), что позволяет легко получать крайне идентичный результат на выходе, отслеживать изменения и вносить правки
- Также возможно сделать автоматизированную прорисовку (на сервере) используя GitHub Actions или что-то подобное


