Вот, например, есть пакет graphviz — позволяет рисовать графы — написал простенькое текстовое описание графа в файлике, запустил dot, и получил вполне годный либо SVG, либо PNG.
SVG руками рисовать неохота, и в каком-то редакторе графическом тоже, хочется текстом в файлик написать и сгенерить картинку в нужном формате.
Примеры задач:
Нарисовать приблизительно плату устройства, примерно нарисовать, где на ней расположены разъёмы (IDC, клемники, и другие), дип-свичи, джамперы, светодиоды, и сделать к этим элементам сноски
Нарисовать IDC-разъём (тупо прямоугольником с пинами-квадратиками), и сноски к нему, за что каждый пин отвечает
Нарисовать DIP-switch (тупо прямоугольник чуть похожий на дип-свич), показать, что там есть группы пинов, отвечающие за разные функции, желательно там же расписать, какие комбинации что означают
Нарисовать, например, морду юнита в стойку, обозначить там светодиоды, крышечки, ручечки, включатели-выключатели и тп, тоже со сносками
Можно бы конечно требовать от электронщиков, конструкторов и прочих требовать рендереры ну или хотя бы что там их среда разработки умеет делать, но это не реально.
В принципе, если graphviz'овский dot или другая тулза может что-то подобное, то меня это вполне устроит. Тогда накидайте примеров подобного на языке graphviz'а, плс.
Здравствуйте, Marty, Вы писали:
M>Вот, например, есть пакет graphviz — позволяет рисовать графы — написал простенькое текстовое описание графа в файлике, запустил dot, и получил вполне годный либо SVG, либо PNG.
Graphviz — это когда у тебя есть структура, а расположение элементов в основном определяет Graphviz.
Твоя задача другая: есть определенное расположение элементов, нужно нарисовать их и расставить сноски; поэтому Graphviz не тот инструмент.
Если схемы должны быть красивыми, то всегда окажется нужно добавить кастомные элементы, поэтому от WYSIWYG на практике уйти малореально.
Я в итоге такие вещи рисую в Google Drawings или в редакторе презентаций Google/Яндекс. Inkscape хвалят, но мне кажется слишком сложным для задачи.
M>SVG руками рисовать неохота, и в каком-то редакторе графическом тоже, хочется текстом в файлик написать и сгенерить картинку в нужном формате.
Хороших не-WYSIWYG программ, похоже, нет, потому что для рисования нужна обратная связь.
Поэтому стоит начать с того, чтобы огранизовать live preview меняющегося SVG.
А дальше всё-таки предложу писать SVG, благо, что координаты и размеры можно задавать в натуральных величинах — буквально перенести с чертежа.
Только не руками, а сделать простейший генератор под конкретную задачу, банально чтобы 48 портов свича не копипастой делать.
Самое мерзкое — расстановка подписей. Лайфхак: на картинке только кружки с номерами, а подписи отдельно (можно тоже генерировать просто как кусок текста).
Здравствуйте, PlushBeaver, Вы писали:
M>>Вот, например, есть пакет graphviz — позволяет рисовать графы — написал простенькое текстовое описание графа в файлике, запустил dot, и получил вполне годный либо SVG, либо PNG.
PB>Graphviz — это когда у тебя есть структура, а расположение элементов в основном определяет Graphviz.
Да это понятно, я его привел просто как пример инструмента, аналог которого я хочу
PB>Твоя задача другая: есть определенное расположение элементов, нужно нарисовать их и расставить сноски; поэтому Graphviz не тот инструмент. PB>Если схемы должны быть красивыми, то всегда окажется нужно добавить кастомные элементы, поэтому от WYSIWYG на практике уйти малореально.
Нормально
PB>Я в итоге такие вещи рисую в Google Drawings или в редакторе презентаций Google/Яндекс. Inkscape хвалят, но мне кажется слишком сложным для задачи.
Не хочу ничего рисовать мышкой
M>>SVG руками рисовать неохота, и в каком-то редакторе графическом тоже, хочется текстом в файлик написать и сгенерить картинку в нужном формате.
PB>Хороших не-WYSIWYG программ, похоже, нет, потому что для рисования нужна обратная связь. PB>Поэтому стоит начать с того, чтобы огранизовать live preview меняющегося SVG. PB>А дальше всё-таки предложу писать SVG, благо, что координаты и размеры можно задавать в натуральных величинах — буквально перенести с чертежа.
SVG руками не вариант, там много воды
PB>Только не руками, а сделать простейший генератор под конкретную задачу, банально чтобы 48 портов свича не копипастой делать. PB>Самое мерзкое — расстановка подписей. Лайфхак: на картинке только кружки с номерами, а подписи отдельно (можно тоже генерировать просто как кусок текста).
Генератор пока делать не хочу, других дел хватает. Хотелось бы что-то готовое, вдруг кто-то что-то видел такое
Здравствуйте, kov_serg, Вы писали:
M>>>>Можно бы конечно требовать от электронщиков, конструкторов и прочих
_>>>А чем visio не устраивает?
M>>1) Там надо мышой водить _>И для электронщиков и конструкторов это проблема?
Наверное нет, но у меня нет никакого желания выяснять, кто что дизайнил, и потом ещё бегать за ними, клянча картинки
Вооот, подайте мне хорошие скрипты, чтобы там простенькими командами примитивы рисовать — вполне хватит закрашенных и нет прямоугольников с возможностью скругления углов, рисование линий и путей, и вывод текста
Здравствуйте, Marty, Вы писали:
M>В принципе, если graphviz'овский dot или другая тулза может что-то подобное, то меня это вполне устроит. Тогда накидайте примеров подобного на языке graphviz'а, плс.
ChatGPT?
Re[2]: Рисовать картинки со спецификой из командной строки
Здравствуйте, gyraboo, Вы писали:
M>>В принципе, если graphviz'овский dot или другая тулза может что-то подобное, то меня это вполне устроит. Тогда накидайте примеров подобного на языке graphviz'а, плс.
G>ChatGPT?
Здравствуйте, Marty, Вы писали:
M>Вооот, подайте мне хорошие скрипты, чтобы там простенькими командами примитивы рисовать — вполне хватит закрашенных и нет прямоугольников с возможностью скругления углов, рисование линий и путей, и вывод текста
Здравствуйте, kov_serg, Вы писали:
M>>Вооот, подайте мне хорошие скрипты, чтобы там простенькими командами примитивы рисовать — вполне хватит закрашенных и нет прямоугольников с возможностью скругления углов, рисование линий и путей, и вывод текста
_>Дерзайте:
_>https://pypi.org/project/enable
Ни хрена не понятно, нет примеров исходного кода и примеров арта, из него сгенеренного
А, это портянки какие-то на питоне писать... Нет, мне нужна гораздо более компактная и простая форма записи, чтобы люди, глубоко далёкие от программирования могли этим пользоваться.
Вы определитесь что вам надо. Люди далёкие от программирования пользуются visio и мышку иногда solidworks, kompas и друге cad-ы. А еще на телефон фоткают и в догонку голосовое сообщение кидают.
Re[8]: Рисовать картинки со спецификой из командной строки
Здравствуйте, kov_serg, Вы писали:
_>Вы определитесь что вам надо. Люди далёкие от программирования пользуются visio и мышку иногда solidworks, kompas и друге cad-ы. А еще на телефон фоткают и в догонку голосовое сообщение кидают.
Да я и определился, тащем-то.
Человек, далёкий от программирования, но таки инженер, сможет осилить, как поправить диаграмму активности, как в примере тут
Здравствуйте, Marty, Вы писали:
M>Человек, далёкий от программирования, но таки инженер, сможет осилить, как поправить диаграмму активности, как в примере тут
M>В принципе, если graphviz'овский dot или другая тулза может что-то подобное, то меня это вполне устроит. Тогда накидайте примеров подобного на языке graphviz'а, плс.
Про него знаю, сам в нем иногда конструирую, но для текущего кейса это перебор. Да и хз, можно ли там из командной строки скрипт отреднерить в картинку, это же ещё как-то точку взгляда надо как-то задать. В общем, куча гемора
Simple Drawing
smpd. Очень простое рисование
smpd. Делаем похоженько на PlantUML
smpd. Сноски: footnote, обозначаются минусами -.
smpd. Сноски: налево: /--- — вверх налево (восходящий символ первый ); \--- — вниз налево (нисходящий символ первый)
smpd. Сноски: направо: ---/, — вверх направо (восходящий символ последний); ---\ — вниз направо (нисходящий символ последний)
smpd. Сноски: <--- — горизонтальная налево, ---> — горизонтальная направо.
smpd. Сноски: --- — горизонтальная налево, краткая запись для <---
smpd. Сноски: |--- — вертикальная вниз, |^--- — вертикальная вверх.
smpd. Сноски: Точка . — переход в горизонтальный подчерк только после базового направления сноски (см. выше).
smpd. Сноски: --- — горизонтальный подчерк.
smpd. Сноски: длина сноски и горизонтального подчерка зависит от числа минусов.
smpd. Сноски: сначала задаётся направление и длина сноски, потом опциональная точка "перелома", потом — "подчерк".
smpd. "/---.-------" — сноска налево вверх длиной три условных пункта, потом к ней горизонтальная площадка длиной 7 условных пунктов, текст сноски будет над площадкой. Если площадки нет — текст будет прицеплен к концу линии сноски по центру линии сноски.
smpd. Сноски: "/---()" — сноска, будет вставлено автогенерируемое число (подчерк игнорируется)
smpd. Сноски: "/---(Текст)" — сноска, будет вставлено автогенерируемое число (подчерк игнорируется)
smpd. Сноски: "/---(X/N)" — сноска, X/N — число, заданное явно (подчерк игнорируется)
smpd. Примеры языка. frame #black 15; set default
smpd. Примеры языка. fill #red; set default
smpd. Примеры языка. Прямоугольник: rect (Lx,Ty,Sx,Sy)
smpd. Примеры языка. Прямоугольник: rect (Lx,Ty), (Rx, By)
smpd. Примеры языка. Прямоугольник со скруглением 0.5: roundrect (Lx,Ty,Sx,Sy), 0.5
smpd. Примеры языка. Прямоугольник со скруглением 0.5: roundrect (Lx,Ty), (Rx, By), 0.5
smpd. Примеры языка. roundrect ... rotate -90
smpd. Примеры языка. circle (x,y), 15 rotate 720
smpd. Примеры языка. font "Tahoma" 14
smpd. Примеры языка. circle (x,y), 15 rotate 720 font "Tahoma" 14; Хотя зачем тут фонт для циркли?
smpd. Примеры языка. circle (x,y), 15 rotate 720 font "Tahoma" 14 repeat (2,15),(0.25,3) frame #green 10 fill #blue
smpd. Примеры языка. circle (x,y), 15 rotate 720 font "Tahoma" 14 repeat (2,15),(0.25,3) : /---.----(текст) Прокрутили цирклю два раз вокруг своей оси, сделали две копии по горизонтали и 15 копий по вертикали), к первой копии сделали сноску с текстом вверх
По сноскам () что-то там +- какая-то копипаста, профукал мОмент