Рисовать картинки со спецификой из командной строки
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 06.11.24 00:25
Оценка:
Здравствуйте!

Вот, например, есть пакет graphviz — позволяет рисовать графы — написал простенькое текстовое описание графа в файлике, запустил dot, и получил вполне годный либо SVG, либо PNG.

SVG руками рисовать неохота, и в каком-то редакторе графическом тоже, хочется текстом в файлик написать и сгенерить картинку в нужном формате.

Примеры задач:


Можно бы конечно требовать от электронщиков, конструкторов и прочих требовать рендереры ну или хотя бы что там их среда разработки умеет делать, но это не реально.

В принципе, если graphviz'овский dot или другая тулза может что-то подобное, то меня это вполне устроит. Тогда накидайте примеров подобного на языке graphviz'а, плс.
Маньяк Робокряк колесит по городу
Re: Рисовать картинки со спецификой из командной строки
От: kov_serg Россия  
Дата: 06.11.24 07:46
Оценка:
Здравствуйте, Marty, Вы писали:

M>Можно бы конечно требовать от электронщиков, конструкторов и прочих


А чем visio не устраивает?
Re[2]: Рисовать картинки со спецификой из командной строки
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 06.11.24 08:36
Оценка:
Здравствуйте, kov_serg, Вы писали:

M>>Можно бы конечно требовать от электронщиков, конструкторов и прочих


_>А чем visio не устраивает?


1) Там надо мышой водить
2) его нет
Маньяк Робокряк колесит по городу
Re: Рисовать картинки со спецификой из командной строки
От: PlushBeaver  
Дата: 06.11.24 10:28
Оценка:
Здравствуйте, Marty, Вы писали:

M>Вот, например, есть пакет graphviz — позволяет рисовать графы — написал простенькое текстовое описание графа в файлике, запустил dot, и получил вполне годный либо SVG, либо PNG.


Graphviz — это когда у тебя есть структура, а расположение элементов в основном определяет Graphviz.
Твоя задача другая: есть определенное расположение элементов, нужно нарисовать их и расставить сноски; поэтому Graphviz не тот инструмент.
Если схемы должны быть красивыми, то всегда окажется нужно добавить кастомные элементы, поэтому от WYSIWYG на практике уйти малореально.
Я в итоге такие вещи рисую в Google Drawings или в редакторе презентаций Google/Яндекс. Inkscape хвалят, но мне кажется слишком сложным для задачи.

M>SVG руками рисовать неохота, и в каком-то редакторе графическом тоже, хочется текстом в файлик написать и сгенерить картинку в нужном формате.


Хороших не-WYSIWYG программ, похоже, нет, потому что для рисования нужна обратная связь.
Поэтому стоит начать с того, чтобы огранизовать live preview меняющегося SVG.
А дальше всё-таки предложу писать SVG, благо, что координаты и размеры можно задавать в натуральных величинах — буквально перенести с чертежа.
Только не руками, а сделать простейший генератор под конкретную задачу, банально чтобы 48 портов свича не копипастой делать.
Самое мерзкое — расстановка подписей. Лайфхак: на картинке только кружки с номерами, а подписи отдельно (можно тоже генерировать просто как кусок текста).
Отредактировано 06.11.2024 10:30 PlushBeaver . Предыдущая версия .
Re[3]: Рисовать картинки со спецификой из командной строки
От: kov_serg Россия  
Дата: 06.11.24 10:33
Оценка:
Здравствуйте, Marty, Вы писали:

M>Здравствуйте, kov_serg, Вы писали:


M>>>Можно бы конечно требовать от электронщиков, конструкторов и прочих


_>>А чем visio не устраивает?


M>1) Там надо мышой водить

И для электронщиков и конструкторов это проблема?

M>2) его нет

https://inkscape.org
https://www.umlet.com
https://wavedrom.com/editor.html
https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/creating-diagrams https://mermaid.live/edit

Если надо скриптами генерить svg или pdf
Отредактировано 06.11.2024 10:44 kov_serg . Предыдущая версия . Еще …
Отредактировано 06.11.2024 10:43 kov_serg . Предыдущая версия .
Отредактировано 06.11.2024 10:36 kov_serg . Предыдущая версия .
Re[2]: Рисовать картинки со спецификой из командной строки
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 06.11.24 18:12
Оценка:
Здравствуйте, 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>Самое мерзкое — расстановка подписей. Лайфхак: на картинке только кружки с номерами, а подписи отдельно (можно тоже генерировать просто как кусок текста).

Генератор пока делать не хочу, других дел хватает. Хотелось бы что-то готовое, вдруг кто-то что-то видел такое
Маньяк Робокряк колесит по городу
Re[4]: Рисовать картинки со спецификой из командной строки
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 06.11.24 18:15
Оценка:
Здравствуйте, kov_serg, Вы писали:

M>>>>Можно бы конечно требовать от электронщиков, конструкторов и прочих


_>>>А чем visio не устраивает?


M>>1) Там надо мышой водить

_>И для электронщиков и конструкторов это проблема?

Наверное нет, но у меня нет никакого желания выяснять, кто что дизайнил, и потом ещё бегать за ними, клянча картинки


M>>2) его нет

_>https://inkscape.org
_>https://www.umlet.com
_>https://wavedrom.com/editor.html
_>https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/creating-diagrams https://mermaid.live/edit

Не хочу мышеводить


_>Если надо скриптами генерить svg или pdf


Вооот, подайте мне хорошие скрипты, чтобы там простенькими командами примитивы рисовать — вполне хватит закрашенных и нет прямоугольников с возможностью скругления углов, рисование линий и путей, и вывод текста
Маньяк Робокряк колесит по городу
Re: Рисовать картинки со спецификой из командной строки
От: gyraboo  
Дата: 06.11.24 18:25
Оценка:
Здравствуйте, Marty, Вы писали:

M>В принципе, если graphviz'овский dot или другая тулза может что-то подобное, то меня это вполне устроит. Тогда накидайте примеров подобного на языке graphviz'а, плс.


ChatGPT?
Re[2]: Рисовать картинки со спецификой из командной строки
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 06.11.24 18:26
Оценка:
Здравствуйте, gyraboo, Вы писали:

M>>В принципе, если graphviz'овский dot или другая тулза может что-то подобное, то меня это вполне устроит. Тогда накидайте примеров подобного на языке graphviz'а, плс.


G>ChatGPT?


Не то
Маньяк Робокряк колесит по городу
Re: Рисовать картинки со спецификой из командной строки
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 06.11.24 18:58
Оценка: 1 (1)
Здравствуйте, Marty, Вы писали:

Вот пример, как хотелось бы — https://plantuml.com/ru/ditaa

  Скрытый текст


Я сейчас использую диаграммы состояний
  Скрытый текст


и диаграммы активности
  Скрытый текст


Мне очень нравится.

Я бы хотел, чтобы был какой-то такой же простой язык, или как в первом примере — из ASCII-art'а бы рисовалась найсовая картинка
Маньяк Робокряк колесит по городу
Re[5]: Рисовать картинки со спецификой из командной строки
От: kov_serg Россия  
Дата: 06.11.24 19:20
Оценка:
Здравствуйте, Marty, Вы писали:

M>Вооот, подайте мне хорошие скрипты, чтобы там простенькими командами примитивы рисовать — вполне хватит закрашенных и нет прямоугольников с возможностью скругления углов, рисование линий и путей, и вывод текста


Дерзайте:

https://pypi.org/project/enable
https://github.com/enthought/enable/blob/main/kiva/examples/kiva/pdf_arcs.py
Re[6]: Рисовать картинки со спецификой из командной строки
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 06.11.24 19:25
Оценка:
Здравствуйте, kov_serg, Вы писали:

M>>Вооот, подайте мне хорошие скрипты, чтобы там простенькими командами примитивы рисовать — вполне хватит закрашенных и нет прямоугольников с возможностью скругления углов, рисование линий и путей, и вывод текста


_>Дерзайте:


_>https://pypi.org/project/enable


Ни хрена не понятно, нет примеров исходного кода и примеров арта, из него сгенеренного


_>https://github.com/enthought/enable/blob/main/kiva/examples/kiva/pdf_arcs.py


А, это портянки какие-то на питоне писать... Нет, мне нужна гораздо более компактная и простая форма записи, чтобы люди, глубоко далёкие от программирования могли этим пользоваться.
Маньяк Робокряк колесит по городу
Re[7]: Рисовать картинки со спецификой из командной строки
От: kov_serg Россия  
Дата: 06.11.24 19:34
Оценка:
Здравствуйте, Marty, Вы писали:


_>>https://pypi.org/project/enable

M>Ни хрена не понятно, нет примеров исходного кода и примеров арта, из него сгенеренного
_>>https://github.com/enthought/enable/blob/main/kiva/examples/kiva/pdf_arcs.py
Это тоже самое просто пример от enable

M>А, это портянки какие-то на питоне писать... Нет, мне нужна гораздо более компактная и простая форма записи, чтобы люди, глубоко далёкие от программирования могли этим пользоваться.


Вы определитесь что вам надо. Люди далёкие от программирования пользуются visio и мышку иногда solidworks, kompas и друге cad-ы. А еще на телефон фоткают и в догонку голосовое сообщение кидают.
Re[8]: Рисовать картинки со спецификой из командной строки
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 06.11.24 19:52
Оценка:
Здравствуйте, kov_serg, Вы писали:

_>Вы определитесь что вам надо. Люди далёкие от программирования пользуются visio и мышку иногда solidworks, kompas и друге cad-ы. А еще на телефон фоткают и в догонку голосовое сообщение кидают.


Да я и определился, тащем-то.

Человек, далёкий от программирования, но таки инженер, сможет осилить, как поправить диаграмму активности, как в примере тут
Автор: Marty
Дата: 06.11 21:58
Маньяк Робокряк колесит по городу
Re[9]: Рисовать картинки со спецификой из командной строки
От: kov_serg Россия  
Дата: 06.11.24 20:05
Оценка:
Здравствуйте, Marty, Вы писали:

M>Человек, далёкий от программирования, но таки инженер, сможет осилить, как поправить диаграмму активности, как в примере тут
Автор: Marty
Дата: 06.11 21:58


То есть вот это вас не устроило ?

https://www.umlet.com
https://wavedrom.com/editor.html
https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/creating-diagrams https://mermaid.live/edit

Хотя это примерно тоже самое.
Re[10]: Рисовать картинки со спецификой из командной строки
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 06.11.24 20:20
Оценка:
Здравствуйте, kov_serg, Вы писали:

_>То есть вот это вас не устроило ?


Да


_>https://www.umlet.com


UML-диаграммы я прекрасно рисую при помощи PlantUML


_>https://wavedrom.com/editor.html


Тайминг-диаграммы я прекрасно рисую при помощи PlantUML


_>https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/creating-diagrams https://mermaid.live/edit


_>Хотя это примерно тоже самое.


Это аналог PlantUML, который я уже использую.

Мне нужен аналог PlantUML, который был бы на уровне исходника по простоте и понятности как PlantUML, но рисовал бы то, что я описал в стартовом посте
Маньяк Робокряк колесит по городу
Re: Рисовать картинки со спецификой из командной строки
От: m2user  
Дата: 07.11.24 12:10
Оценка:
M>В принципе, если graphviz'овский dot или другая тулза может что-то подобное, то меня это вполне устроит. Тогда накидайте примеров подобного на языке graphviz'а, плс.

OpenSCAD?
https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/The_OpenSCAD_Language#Ellipses
Posted via RSDN NNTP Server 2.1 beta
Re[2]: Рисовать картинки со спецификой из командной строки
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 07.11.24 18:00
Оценка:
Здравствуйте, m2user, Вы писали:

M>>В принципе, если graphviz'овский dot или другая тулза может что-то подобное, то меня это вполне устроит. Тогда накидайте примеров подобного на языке graphviz'а, плс.


M>OpenSCAD?

M>https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/The_OpenSCAD_Language#Ellipses

Про него знаю, сам в нем иногда конструирую, но для текущего кейса это перебор. Да и хз, можно ли там из командной строки скрипт отреднерить в картинку, это же ещё как-то точку взгляда надо как-то задать. В общем, куча гемора
Маньяк Робокряк колесит по городу
Re: начал накидывать
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 10.11.24 23:16
Оценка:
Здравствуйте!

Что-то типа такого:

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 копий по вертикали), к первой копии сделали сноску с текстом вверх



По сноскам () что-то там +- какая-то копипаста, профукал мОмент
Маньяк Робокряк колесит по городу
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.