LiveStreet
Debian → Электроника в Linux. Обзор программ для рисования схем
Рано или поздно, но здравомыслящий человек, а любой электронщик в той или иной мере таковым и является, пересаживается на открытые системы. Сам факт перехода всегда омрачается тем, что жизненно необходимо выкурить сотни страниц манов, пробежаться по тысячам конференций и форумов и решить остаться в своем болоте под управлением оффтопика. А тем временем жизнь в linux есть, и я постараюсь рассказать какие инструменты можно использовать.
В обзор попали программы, которые доступны в репозиториях debian. Наличие русского языка в интерфейсе желательно, но не обязательно. Очень необходимое условие выживания это работа с распространенными форматами .sch, .dip. Предпочтителен вывод в .pdf (но для сельской местности вполне хватит *.ps с последующим конвертированием в pdf) или .png для показа схемы друзьям, работающим на вражеской операционной системе, а также .dxf (тоже довольно съедобный формат).
eeschema из набора Kicad
Будучи приверженцем GNOME и всего, что с ним связано, яро не люблю программы с префиксом «k» в названии. Но на самом деле все сделано на вкусном wxgtk, так что карман не тянет.
Управление осуществляется клавиатурой, но немного не привычно. Скажем, для копирования объекта вместо Ctrl+C нужно жмакать просто C, вращение R, а перемещение M. К этому быстро привыкаешь и это действительно ускоряет работу.
Библиотека компонентов достаточна для создания сложных схем. При желании как и во всех взрослых редакторах (например, eagle) библиотеку можно дополнить вручную или изменить некоторые элементы по вкусу. Привязка объектов и линий по сетке.
Привыкание: 5 минут и все готово
Работает с форматами: *.sch (kicad)
Экспорт в форматы: *.dxf, *.svg, *.plt, *.ps
gschem из пакета gEDA
Подсказывает красным цветом висящие в воздухе контакты. Имеет более наглядный набор комбинаций клавиш. Например, для копирования нужно одновременно нажать e+c (edit->copy), а для поворота e+r (edit->rotate). Библиотека поинтересней, вставка объектов быстрее за счет отсутствия лишних переключений между меню. Прорисовка линий облагораживается набором привязок к точкам объектов, которые надо не забывать переключать (комбинацией клавиш o+s, например), иначе получится каша, ну или вести проводники навстречу друг другу.
Привыкание: придется потыкаться и запомнить ряд сочетаний клавиш
Работает с форматами: *.sch (gEDA)
Экспорт в форматы: *.png
Проект скучен. Библиотека содержит только рассыпуху. Никаких разъемов DB-9 или микроконтроллеров там не увидеть. Русские буквы не переваривает. Форматы файлов не знакомые.
Привыкание: требуется допинг
Работает с форматами: не ясно
Экспорт в форматы: *.plt
Жуткий аппарат. Как и xcirciut скорее графическая рисовалка, чем схемная. Так и не разобрался, но возможно у кого-то получится лучше.
Привыкание: займет больше 5 минут
Работает с форматами: куча форматов, включая *.dxf
Экспорт в форматы: ратует, что может экспортировать в eagle, но протестировать не удалось
А если под linux, но не свободное?
Немецкий комбайн, дорог и всемогущ (честно признаюсь, что в редактируемом мной листе он иногда падал и терял последние изменения. Но так как нахаляву, то и претензий к cadsoft’у у меня никаких нет). Для рисования схем использует мощную расширяемую библиотеку (можно покопаться в интернете насчет дополнительных объектов и устройств). Русских букв нет и не переваривает. Чтобы начать делать схему «прямо сейчас» можно обойтись и Freeware лицензией (а позже попросить расширенную бесплатную лимитированную по времени версию Freemium ).
При желании можно купить стандартную сборку за $/?125 (для non-profit целей, разумеется), которая будет разводить платы до 160х100мм, что для домашних поделок очень даже вполне или облегченную за $/?49. И в отличие от остальных представленных здесь программ рисования схем формат eagle довольно популярен.
Привыкание: к хорошему привыкаешь быстро
Работает с форматами: *.sch (eagle)
Экспорт в форматы: *.png, *.bmp и другие пиксельные
Вывод: жизнь электронщика в linux равноценна жизни под другими операционными системами. Много форматов и все тянут одеяло на себя. Остается только иметь весь арсенал программного обеспечения, дабы иметь возможность не чувствовать себя ущемленным. А что касается сохранения схем куда-нибудь в стол без выкладывания в общий доступ, то сгодится любой вариант.
Источник
Построение блок-схем и диаграмм в Linux
Есть несколько известных коммерческих программ для построения блок-схем и диаграмм, таких как Visio в Windows или OmniGraffle в MacOS X. А как с этим обстоит дело в Linux? На самом деле имеется несколько достаточно хороших альтернатив Visio и OmniGraffle, например yEd , Dia , LibreOffice Draw , Pencil Project и т.д.
В этом руководстве мы рассмотрим создание блок-схем и диаграмм в Linux с помощью графического редактора yEd.
yEd — это очень дружелюбный к пользователю и мощный редактор диаграмм, написанный на Java. С его помощью вы можете создавать блок-схемы, BPMN/UML-диаграммы, организационные схемы, а также любые другие графики, состоящие из узлов и ребер. Он также имеет множество сложных встроенных алгоритмов для генерации макетов, позволяющих тестрировать альтернативные макеты созданных вами диаграмм и графиков на лету.
Установка yEd в Linux
yEd — это отдельное Java-приложение, которое (в виде JAR-файла) можно скачать с сайта . Вы можете запустить yEd на любой платформе, где установлена Java Run Time (JRE). Скачав заархивированный установочный пакет, вы можете установить его следующим образом:
Затем создайте в директории /usr/bin скрипт с названием yed, запускающий JVM:
Далее, сделайте скрипт исполняемым:
Теперь вы можете запускать yEd с помощью этого скрипта.
Если хотите, можете создать ярлык на рабочем столе для запуска yEd со следующей информацией:
Запустив программу, вы увидите стартовое окно yEd, где вы можете создать или открыть файл.
Построение диаграмм в yEd
yEd позволяет легко создавать любой тип диаграмм. В правой части окна программы находится боковая панель, где можно выбрать различные типы компонентов. Например, показанную ниже схему сети я создал менее чем за десять минут.
Создав диаграмму, вы можете попробовать встроенные аллгоритмы yEd для автоматического преобразования макета. Например, я попробовал изменить оригинальный макет следующим образом:
Построение блок-схем с помощью yEd
Помимо диаграмм, вы также просто можете строить блок-схемы. Пример:
Построив блок-схему, вы также можете пробовать различные типы макетов. Например, вы можете изменить ориентацию блок-схемы с вертикальной на горизонтальную:
yEd имеет встроенные шаблоны для различных типов графиков: сетевых, древовидных и случайных. Например, если вы хотите сгенерировать древовидный график, вы можете просто ввести количество узлов, ветвей и глубину древа.
Среди других возможностей yEd имеется функция автоматической группировки, с помощью которой вы можете автоматически сгруппировать индивидуальные компоненты. Это удобно, если ваша диаграмма состоит из большого числа различных компонентов.
Построив и отредактировав блок-схему или диаграмму, вы можете сохранить ее в файле. По умолчанию yEd использует формат GraphML, основанный на XML. При желании вы можете экспортировать диаграмму в изображения различного формата, включая png, jpg, gif, eps, pdf и svg.
Источник
В чём рисовать блоксхемы?
Нужен примитивный редактор, который бы:
- сам прокладывал линии между блоками после их перемещения
- имел набор базовых блоков (прямоугольники, ромбы и тд.)
- формат хранения svg, ну или что-то подобное
- написан на qt (gtk), никакого веба и облаков
- выполнял только одну функцию — рисование блоксхем
- супер легкий и производительный
Из того что опробовано:
- draw.io — самое адекватное и удобное из всего что пробовал. Но вебня + тормозит. Сохранение/открытие файлов через пень-колоду.
- dia — маргинальное убожество. 100500 функций и все для инопланетян. Сильно забагованная.
- inkscape — вроде всем хорош, но используется не по прямому назначению, и из-за этого не совсем удобен. Слоупок.
- graphviz — экстермально, пусть и unix-way. Хотелось бы более user-friendly + GUI.
- LO/OO/calligra — комбайны
Глянь http://www.drakon.su/ Это типа программирования блоксхемами. По назначению врядли можно использовать, но в ихних редакторах наверняка можно шустро делать блок-схемы. Скорее всего всё виндовое. Да и насчёт экспорта в svg не уверен. Но может удобство пересилит.
Я в либре рисую, draw или как там его. Хватает вполне.
Не осилил сборку. Нужны специфические версии tcl и его либ для запуска. А в репах нету.
Либра — монстр. Ставить целых офисный пакет ради пары блоков — перебор.
Ну я ещё, как офисный пакет использую, мне норм. А нельзя отдельнл поставить дроу? Там вроде отдельным пакетом идёт или тянет за собой все остальное?
В дебиане на штатных запахало.
И dia и draw.io весьма годны. Если бы тебе нужны были не блок-схемы, а физическая/логическая топология сети, то мог бы помочь. Но имхо, блок-схемы это совсем примитив и draw.io должен такое более чем перекрывать. И у него есть экспорт в svg (c сохранением тоже проблем не испытывал).
Обрати внимание также на данный тред: Заготовки блок-схем для tikz по ГОСТу
Да я помню, что кто-то из лоровцев делал программу специально для составления схема по госту, но найти что-то не смог.
В генту 8.5, а нужно 8.6. Влом долбатся с размаскировкой. sqlite3-tcl не нашел в репе.
В общем все равно слишком сложная прога для моих целей.
Он же монолитен.
draw.io — да, годный, но он вяло работает, js же. Там есть экспорт в svg, а не сохранение.
В общим я им и пользуюсь. Но хочется нативная альтернатива. Завтра они свой сайт закроют — и все. Тем более хочется кликнуть по файлику в ФМ и все, а не долбатся с открытием в браузере.
DIA — нет. Худший софт из всех что я видел. Больше всего бесят стрелочки, которые рисуются зеркально на вертикальных линях. В итоге они смотрят не по направлению соединения, а в другую сторону. И этому багу 100 лет, в то время как сам прога по сути мертва.
Ну я dia, пользуюсь проблем не заметил. Вот сет который я использую. Блок-схемы можно просто в inkscape сделать или в latex.
Источник
блок схемы в linux
Собственно вопрос: есть ли программы которые строят блок схемы под Linux (или на крайняк под винд). Но строят их не в визуальном редакторе (т.е. сам мышкой строишь схему), и не по исходному коду, а по текстовому файлу. Т.е. всякая программа построенную блок схему хранит в файле со своим форматом. В этом файле блок схема хранится в структурированном текстовом виде. Есть ли программы у которых есть нормальное описание этих файлов и описание того как самому собрать файл а уже потом блок схему, а не наоборот.
Угу. А еще нужна такая программа, чтобы можно было загрузить в нее все исходники, нажать «сделать зае**сь» и она тебе нарисовала блоксхему, написала ПЗ для заказчика, прокомментировала весь код и собрала пакеты подо все, что только можно.
Если я тебя правильно понял, тебе надо распарсить хмл и по нему нарисовать блок-схему, так?
> А еще нужна такая программа, чтобы можно было загрузить в нее все исходники, нажать «сделать зае**сь» и она тебе нарисовала блоксхему, написала ПЗ для заказчика, прокомментировала весь код и собрала пакеты подо все, что только можно.
а еще чтобы пофиксела все баги и сделала все фичи из ТЗ.
>а еще чтобы пофиксела все баги и сделала все фичи из ТЗ.
ну если честно то не совсем!
Я химик, не программист, поэтому объясню как смогу: есть текстовый файл в котором описан метод получения химических реактивов. Файл этот соотвествует госту, в поэтому там фигурируют одни и теже фразы, только порядок и методология другая.
хотел написать простенькую программу которая считывает этот файл1 находит определенное условие и записывает в другой (для программы построения блок схем) файл2, допустим стоку if . then, и т.д. после чего уже программа построила блок схему простенькую по этому файлу2 блок схему. примерно так, просто сидеть рисовать блок схемы по одним и тем же бумагам с разными условиями не интересно, вот занялся программированием)))
То, что тебе нужно, зовется UML, а софта, с ним работающего — на все случаи жизни http://en.wikipedia.org/wiki/List_of_UML_tools
P.S. На местную школоту можно не обращать внимания.
И большинство программ, работающих с UML, сохраняют эти диаграммы в формате XML.
А что, получать химические реактивы так сложно — даже есть ветвления или циклы? Не могли бы вы опубликовать ссылку на один из таких файлов, или сам файл — целиком или частично?
Какой UML? Тему перечитай.
Поддерживаю анонима с tikz’ом. Еще неплохой вариант — генерировать SVG-схемки.
Ладно, ладно, графвиз конечно же 🙂 Собственно, меня это не очень интересует. А интересует в первую очередь пример такого файла — спецификации получения реактивов.
Если хорошо смоделировать эту предметную область — можно комбинировать спецификации друг с другом автоматически, получая новые спецификации, если это необходимо.
Интересно взглянуть на проблему под этим углом. А уж что там за библиотека для визуализации используется не столь важно.
блок схемы в linux
>Если я тебя правильно понял, тебе надо распарсить хмл и по нему нарисовать блок-схему, так?
а хотя если текст оформить в xml, то тогда как из xml построить блок схему? я так понимаю это легче?
>я так понимаю это легче?
Ну как сказать. Тогда тебе сначала надо парсить твой текст, делать из него хмл, потом парсить хмл и делать из него блоксхему.
>Ну как сказать. Тогда тебе сначала надо парсить твой текст, делать из него хмл, потом парсить хмл и делать из него блоксхему.
ну можно делать так: проанализировать свой текст, как только встречается нужный блок делать fprintf(file,« текс »); это будет впринципе не трудно. как потом из xml построить бок схему. есть программы для этого дела?
Как перевести текст с русского на французкий?
Ну как сказать. Тогда тебе сначала надо парсить русский текст, делать из него китайский, потом парсить китайский и делать из него французкий.
>Ну как сказать. Тогда тебе сначала надо парсить русский текст, делать из него китайский, потом парсить китайский и делать из него французкий.
Источник