Некоторые ошибки слишком хороши, чтобы совершать их только один раз!

Меню навигации для мобильных

Lithium ECAD - программа для разработки печатных плат

Автор Slabovik, 31 Янв., 2023, 19:34

« предыдущая - следующая »

Slabovik

#25
Добрый день.

Добрался до "порисовать" своего видения переноса инфостроки, которая внизу.
Но вначале повторю визуализацию простого варианта меню сеток.

WS-сетки-простые-плавающие.png

WS-сетки-простые-плавающие-компонент.png

Окошко "Сетки" располагается в рабочей области. По-умолчанию находится в левом верхнем углу. Мышью, зажатием левой кнопки на заголовке может перетаскиваться в любое другое место рабочей области и там оставаться. Вызывается-скрывается нажатием кнопки-пиктограммы в строке меню, либо установкой галочки в пункте меню "Вид"->"Сетки", а также горячей клавишей.

Клик ПКМ по заголовку окошка вызывает подменю (форму) для редактирования списка сеток ("Добавить", либо что-то посложнее).
Клик ПКМ по значению в списке сеток вызывает подменю "Удалить из списка".

Положение окошка должно сохраняться независимо от того, какой корпус или компонент в данный момент редактирует пользователь.

Но всё это можно не делать. Потому что внизу справа, по границе окна программы есть другое инфоменю и там тоже есть "Сетки", которые функционально дублируют функцию выбора рабочей сетки. Плюс там ещё есть координаты курсора (объекта), масштаб и количество выделенных элементов.

Предлагаю вообще убрать окошко "Сетки", располагающееся сейчас слева от рабочей зоны, а инфоменю поместить на чуть ранее предлагавшееся место для видоизменённых "Сеток". Вот примерно как я это представляю.

WS-инфоменю-бар.png

WS-инфоменю-бар-компонент.png

Панель полностью повторяет информацию из нижнего правого угла окна программы.

WS-инфоменю-сетки.png

WS-инфоменю-сетки-компонент.png

режим 1:
Одиночным нажатием ЛКМ по полю с индикацией размера сетки происходит выпадение меню со списком сеток.
После нажатия вне поля списка, выпавшее меню списка закрывается без изменений текущей сетки.
При нажатии ЛКМ на пункте списка, применяется сетка выбранного размера, после чего список закрывается.
При нажатии ПКМ на пункте списка вызывается подменю "Удалить из списка".
При нажатии ПКМ на поле с индикацией размера сетки, вызывается подменю "Добавить" (или чего посложнее).

режим 2:
Двойное нажатие ЛКМ на поле с индикацией размера сетки раскрывает список сеток на постоянной основе, т.е. после выбора сетки данный список не закрывается. Все подменю действуют точно также, как в режиме 1. Закрыть список можно повторным двойным кликом ЛКМ на поле с индикацией размера сетки.

! Кнопка "Сетки" в пиктографическом меню становится в общем-то не нужна.
зы: Аналогичное "режим 1" для сеток поведение можно сделать и пункту бара "Масштаб" с целью выставлять численно точный масштаб для отображения, потому что мышью это делать довольно затруднительно.
Также можно было бы добавить кнопку центровки - приведения центра компонента (точки привязки) к центру поля редактирования - это было бы полезно при потере редактируемого компонента из виду, когда не знаешь, в какую сторону крутить.

! При этом правая нижняя строка утрачивает свой смысл и может быть удалена, либо туда может быть помещена какая-нибудь другая, более второстепенная информация.

Слегка присмотревшись, нахожу, что окошко с выбором слоёв не является оптимальным. Его можно было бы заметным образом "упаковать" без снижения визуального восприятия и функционала. Вот как-то так

WS-слои.png

Окошко со слоями приобрело компактный вид. Подписи слоёв переместились выше, кнопка вызова меню настройки также легла привычно в правую часть заголовка (она, кстати, на 1 пиксель толще строки).
Слегка обрезал слова, imho смысл не теряется, но стало компактнее. Слово "Видимость" в заголовке легко можно заменить на "Слои" без потери смысла. Можно пойти ещё дальше, и убрать слово совсем, поместив на его место кнопу-пиктограмму для вызова настроек слоёв. Высвободится место справа для возможного отображения других слоёв - это более актуально для редактора плат. (зы: но единый стиль в кнопках тоже придётся уважить).

Окошко с мастером расположения массивов площадок считаю излишним этом месте. Мастер нужен очень не часто, было бы хорошо его убрать от постоянного созерцания, сделав вызываемым по кнопке. Кнопку можно расположить прямо здесь же (собственно, для мастера корпусов так и сделано). Высвободившееся место легко можно отдать под окошко с описанием, убрав его из-под окна редактирования, тем самым передав ему (окну редактирования) больше места (в итоге гораздо больше, чем забрало от него перенесённое инфоменю).

В общем, есть над чем поразмышлять :)
Общением на форуме подпитываю свою эгоистичную, склонную к самолюбованию сущность.

Lithium

Добрый день! Основательный такой пост :)

По поводу панели вверху, в целом идея понравилась, продумана. Но реализация будет довольно трудоемкой и потребуется много правок в различных местах. Я сохранил это на перспективу, можно будет вернуться к этой теме, когда программа будет иметь все хотя бы основные функции, как минимум это схемоблоки, интерактивный трассировщик и дифпары. 

Навели на мысль, что можно сделать выпадающее меню на масштабе в панели состояния и перенести туда зум, масштаб по выделенным элементам и т.д. И освободить место в верхней панели для более важных команд, например привязки по центру элементов.

Панель видимости слоев так сделать, признаться, даже не представляю как. Заголовок - это элемент окна, просто так туда элементы не добавить. Если кнопку вызова слоев разместить справа от галок, то панель станет шире, чего бы не хотелось. А еще в перспективе внизу могут добавиться другие элементы. Поэтому вариант спорный. Переименовать надписи можно, смысл действительно не теряется.

Описание компонента и корпуса желательно делать однострочным, т.к. в менеджерах простые списки и будет видна только первая строка. Справа конечно есть место для полного описания (я его тут сжал), но удобней, чтоб все было видно в списке. Поэтому панель ввода внизу редактора довольно узкая и есть желание ее сделать вобще однострочной, рабочего пространства станет чуть больше.


Панель описания можно перенести вправо в редакторе корпусов, но в редакторе компонентов там места нет. С учетом желательной однострочности в текущем виде есть какое-то однообразие. И еще панель справа будет провоцировать делать многострочные описания. Если же все таки они сильно нужны, возможно что-то следует сделать с менеджером. 

Панель группы площадок была сделана, чтобы хоть чем-то занять место справа. Сначала там было окно с привязанной 3D-моделью, но редактор долго открывался. Раздражало сильно, убрали. Потом была идея сделать все слои списком. Начали, посмотрели, не понравилось. Если оставить только свойства и слои - пусто смотрится. Может быть есть идеи, чем занять место, кроме описания? Пока рассматриваем только кнопки выравнивания, как в редакторе плат.

Slabovik

Описания сейчас и так многострочные, я полагал, что так и останутся. Может, пусть будут? Выход из ситуации при отображении в однострочных полях прост - при выводе в такое поле надо отфильтровать символы переноса строк, возврата каретки, табуляции, повторяющихся пробелов. Ну и лидирующий пробел (или табуляцию) тоже убрать (подстраховаться от любителей красных строк). Тогда вся инфа, которая помещается в поле вывода, будет отображена вне зависимости, как там пользователь навбивал, в одну строку или во много.

Можно пойти дальше и принудительно при записи в библиотеку делать такую очистку. Что бы ни написал пользователь, оно будет всегда однострочным. А при выводе в узкие, но многострочные поля автоматически переносить слова. Работы больше, но зато универсально.

Пустое место справа в редакторе посадочных мест может пусть и остаётся пустым? Разместить там кнопки вызова мастеров, какие сейчас есть (или какие может будут). Ибо сейчас там слегка путаница: кнопка "Мастер корпусов" логически расположена внутри уже открытого мастера контактных площадок, но функционал, как я понимаю, у неё свой, причём пересекающийся с мастером площадок. Ну, просто логика не выдержана. В идеале, это для пользователя один инструмент, с выбором - только ли контактные площадки он хочет, или вместе с корпусом.

Со слоями понятно. Там в таком случае надо капитально переделывать (точнее, изобретать свои) функции рисовки этих окошек (как я понимаю, вы какие-то готовые формы используете), а это всегда затратно.
Общением на форуме подпитываю свою эгоистичную, склонную к самолюбованию сущность.

Lithium

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

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




Slabovik

Ура! Вышла версия 1.7.8 :)
Как только вернусь с огорода, посмотрим, чего там новенького :)
Общением на форуме подпитываю свою эгоистичную, склонную к самолюбованию сущность.

Slabovik

Обновляемся, пробуем: версия 1.8.0 уже на стоке! :)
Надо пройтись по списку, посмотреть, что изменилось. Критичных мест лично для меня в общем-то не много, но... пока меня чутка пригрузили, гляну, как досуг будет :)
Общением на форуме подпитываю свою эгоистичную, склонную к самолюбованию сущность.

Slabovik

Запустил у себя 1.8
Только хотел порадоваться за меню площадок, как тут же, не отходя от кассы обнаружил, что не могу установить тип площадки SMT или THT. По умолчанию вставляется круглая SMT площадка, но переключиться на THT посредством выпадающего меню свойств абсолютно не желает. Однако если просто тыкать на неё, то SMT-THT в открывающемся окошке свойств переключается само циклично: один раз окошко открывается - там SMT, закрываешь, снова тыкаешь - там THT. Дырку конечно при этом плохо видно, она не визуализирована (сокрушался об этом ранее), а когда площадка "выбрана", там просто ничего не видно из-за сетки.

В рисовке полилинии сюрприз не наблюдаю - замечательно! :)
А вот при повороте объекта, редактирование которого сопровождается подсказкой-размерами, эти размеры также поворачиваются. Повернул на 180 - любуешься вверхногашными линейками. Мелочь, конечно...

У текста теперь визуализирована точка привязки - решает кучу непоняток, зачёт! :) Вращение текста происходит без его смещения - ещё лучше. При выравнивании точка привязки остаётся на месте, текст сдвигается, но это уже мелочь т.к. я вижу привязку и приноровиться к такому поведению уже вполне приемлемо. А вот другие объекты при вращении вращаются как дамы на шесте, например прямоугольник, окружность (овал) вокруг точки, из которой началась их рисовка мышью. А вот дуга вращается вокруг центра - здесь всё хорошо. Но это наверное потому, что дуга начинает рисоваться от центра :)

Эх, SMT-THT - аж до слёз...  :'(
Общением на форуме подпитываю свою эгоистичную, склонную к самолюбованию сущность.

Lithium

Добрый день!
Ошибка SMT-THT в окне свойств устранена, в следующей версии все хорошо будет.
С поворотами да, проблемы остаются, но все записано и обязательно будет исправлено. 

Slabovik

Повороты - не настолько критично. Там главное, что рассыпание, насколько я заметил, вроде удалось устранить, и за площадки спасибо - они уже приемлемые. А вот самопроизвольное переключение типа - это получилась конкретная засада. Просто даже немного обидно, я ведь из редактора компонентов так и не выбрался, а хотелось бы заценить всё целиком, оформив какой-нибудь проектик :) Честно говоря, значительным препятствием ещё стоит "неопределённый" ноль координат (тоже упоминалось), из-за чего есть неопределённость в относительных положениях сеток, если их размерности не кратны (типичное переключение мм-дюймы) но без этого в общем-то можно обходиться. Нарастёт потом, я надеюсь :)
Общением на форуме подпитываю свою эгоистичную, склонную к самолюбованию сущность.

Slabovik

#34
Много времени прошло, и я смотрю, что на Новый Год нас порадовали версией 1.9.0, за что хочу выразить вполне искреннее спасибо :)

Предыдущие версии так и не удалось зацепить в какой-нибудь проектик из-за множества огорчающих подводных булыжников, а тут сморю - уже близко. По крайней мере, многие из озвученных косяков реально исправлены.

Как всегда, работа начинается с библиотек. Я тоже пойду от них. Удастся вырваться (т.е. создать библиотеки для проекта и не переломать ноги) - выйдем и на схему, и на плату. Есть тут задумка одна, так сказать "по просьбе трудящихся"  ;)

Ну, я повкидываю мысли сюда (надеюсь, нас читают), и пожалуюсь на "бо-бо" своих отбитых о булыжники ручек, куда ж без этого...

При установке и первом запуске просит указать каталоги, где расположены проекты, библиотеки и т.д.
Просит - берём и прописываем (старую конфигурацию почему-то не подхватило, ну да ладно).
Однако затем, когда пробуешь открыть ("New..." или "Open...") проект или библиотеку, он "смотрит" не в каталог, который я только что занёс в конфиг, а в каталог, куда была установлена программа. Приходится выбираться оттуда...
Надо отметить, что смотреть в настроенную папку редактор библиотек начинает исправно, но только после перезапуска.

Нарисовал компонент. Хочу сделать на его основе другой: делаю "Copy" и... получаю две вещи. Первая - приглашение сохранить. Нормально - выполняем.
Вторая - "пустой" компонент-копию. Т.е. то, что я нарисовал (точнее, изменил), туда не скопировалось.
Похоже, что компонент копируется из файла, до того, как туда были сохранены изменения...

Надо ли настолько настойчиво каждый раз предлагать сохранять компонент? Оставить бы запрос на сохранение при переходе "Components" <-> "Packages" либо в другую библиотеку. Впрочем, предполагаю, что там наверное структурное ограничение в организации буфера редактора. Ну тогда ладно, т.к. сложно (много переделок)... Просто у конкурента, который я пользую, нет такой назойливости и, открыв библиотеку, я редактирую в ней всё, что пожелаю, а запрос на сохранение там только при её (библиотеки) покидании. При этом всё отредактированное там сохраняется, копируется и переносится в другие библиотеки, сколько бы я ни переключался между компонентами в пределах этой бибилиотеки. Конечно, если отвечу при покидании "не сохранять", все сделанные изменения (кроме скопированного в другие библиотеки) не будут сохранены.

Масштабирование колёсиком мыши стало нормальным, объект не убегает самопроизвольно из поля зрения, респект :)

Несколько раздражает, что при переключении с компонента на компонент масштаб всегда становится "по умолчанию" (по-видимому, ставится автоматически по каким-то соображениям, т.к. не одинаковый для разных компонент). Хотелось бы, чтоб масштаб оставался такой же, какой был у только что смотренного компонента - это облегчило бы понимать их размеры не прибегая к лишним движениям по мастабированию.

Видится неуместным изменение вида курсора на "Ладонь" вместо "Стрелка" при наведении на меню "Grids", позунки позиционирования и т.п. Это дезориентирует т.к. положение точки фокуса у "Ладонь" находится где-то под серединой изображения, что неудобно, а сама "Ладонь" довольно большая, что визуально перекрывает сразу две позиции меню.

p.s. Интересно, что когда выполняешь Copy-Paste и во время Paste курсор попадает в те места (у меня в основном Grids - потому что надо), то он не становится ладонью, а вовсе пропадает, хотя пункты нажать можно.

Площадки посадочных мест - зачёт :)

Положение нуля - зачёт-зачёт! Очень не хватало :) Только линии слегка бы притемнить и/или цвет подобрать (в настройке цветов не нашёл), а то яркие очень.
При перетягивании поля у них эффект интересный - они как будто не "от поля сего", пунктир не двигается и кажется, что "деталь" едет относительно них. Но это не мешает, просто занятный эффект получился.

А задание (уточнение) координат концов линий и полигонов (да и площадок тоже) в планах есть? Хорошо бы...
(знаю, что могу в библиотеке напрямую поправить и даже добавить своё, но это слегка напрягает т.к. для простого пользователя это сложновато)

С координатами есть некоторый напряг из-за ограничения точности тремя знаками после запятой. Это с mil'ами связано. Пока крупно, не мешает, а вот эквивалент 12,5 mil (0,3175 мм) не могу выставить в миллиметрах - не хватает разрешения (это из ряда 100-50-25-12,5-6,25). Опасаюсь, что по этой причине проводник не получится тянуть точно посередине между двумя площадками, если они в дюймовой системе, но это потом посмотрим, может я тут не прав... Если бы не двусистемность в габаритах компонентов, то трёх знаков (т.е. микрон!) более чем достаточно... Но с другой стороны: 5-2.5-1.25-0.625-0.312x?

Групповые операции с площадками. Можно выделить группу и поменять ей все параметры - это чтобы не тыкать в каждую. Но есть минус - площадки будут автоматически пронумерованы номером первой выделенной. Например, выделил со второй по восьмую - все они станут номером два. Это неприятный нежданчик... При групповых операциях с площадками я ожидаю изменения их параметров, но не номеров (идентификаторов).

Не понял функционал редактора библиотек в этом месте

LeCAD---libs-blind.png

Мои ожидания, что при нажатии на кнопку "All Libraries" будут показаны все имеющиеся в каталоге библиотеки. Но из двух созданных я вижу только одну. Правда, библиотека DIP с картинки ещё не имеет УГО, а только один корпус, но даже в таком виде я ожидаю её иметь в списке.

Ладно, открываю библиотеку DIP, желаю "Add existing package" и... в открывшемся окне "Package Browser" не вижу ни одного корпуса. Хотя в библиотеках они есть, они открываются. Да и библиотеки DIP тоже в списке нет...
О, волшебная кнопка "Update..." внизу  ::)
После нажатия появляются и обе (!) библиотеки и все корпуса в них! И, чудо! "All Libraries" тоже заработала как надо!

Переключение библиотек в левом окошке "Library" работает по двойному клику. Нормально. А вот "Last Libraries" выбирается по одинарному. Хорошо бы привести под один знаменатель - двойной клик так двойной клик - обычно, надёжно.

Ещё из неприятного - ширина окошка Library самопроизвольно меняется при переключении "All Libraries". Но после того, как подвигаешь его ширину - самопроизвольно меняться перестаёт. Но надо бы, чтобы оно сразу не прыгало.
ps: после перезапуска снова прыгает, пока опять вручную не поставишь. Поставил ширину - не прыгает, перезапустил - прыгает...

И ещё. Вот я открыл у себя "Resistors". Жму "All Libraries" и там двойным кликом можно выбрать другую библиотеку. А вот "Resistors" двойным кликом не работает. Вернуться в Resistors можно только либо повторно нажав "All Libraries", либо переключившись в другую библиотеку, вновь "All Libraries" -> "Resistors".
Imho, по двойному клику надо в т.ч. иметь возможность возврата в библиотеку, которая была открыта перед нажатием "All Libraries". Это же касается и списка "Last libraries" в режиме, когда слева дерево "All libraries".

Эх, не хватает линеечки по-быстрому померить расстояние между ножками и какими-то другими объектами. Координаты в првом нижнем углу не спасают т.к. они показывают положение курсора, привязанное к текущей сетке, да и упоминал уже, что там внизу оно неудобно: курсор мыши где-то в центре, координаты далеко на краю экрана... Слегка выручают размерные линейки для слоя "Dimensions". Кстати, как для них шрифт менять можно?
зы: нашёл установку размеров шрифтов. Она не локальная (т.е. для каждого), а глобальная.  Элементарно: Settings->Fonts.

Ладно, пока поплакался, а надо ещё кузовов дорисовать, да примитивов всяких. По ходу разбирательства, напишу ещё что-нибудь. А пока что, несмотря на вот это всё, моментов, которые бы непреодолимо тормознули, нет. И это классно! :)

Можно ли регулировать в индивидуальном порядке положение/размер надписей - имён выводов?

Слегка напрягает, что при открытом "служебном" окошке, например, открытия файлов или редактирования параметров (компонентов или ещё чего), если переключился в окно другой программы, не получается кликом по большому окну редактора вернуться в него. Нужно обязательно найти это маленькое окошко и только тогда получится вернуться в редактор. Не критично конечно...

А на вашем сайте форума нету? Для обмена мнениями да обучения. Форма "Вопросы" как-то не слишком подходит (всегда вызывала определённое неприятие типа "а чего я позориться буду") - общественное обсуждение как-то нейтральнее в этом плане, просто можно почитать. Да, про VK знаю, читаю, но VK - там же тоже не всё...

Есть трудность с эрогенной зоной чувствительности площадки при её выборе при наведении мыши.
Когда мышь приближается к площадке (в моём примере - круглой), она начинает подсвечиваться. Проблемы две.
Первая - зона чувствительности, включающая подсветку, у круглой площадки... квадратная. Вроде бы ничего, но если вдруг над площадкой есть другой элемент, например в моём случае в слое Assembly, его становится очень трудно выбрать.
Картинка для примера

LeCAD---pin_autoselection.png LeCAD---pin_autoselectionzone.png

Слева ситуация. Справа синенькой рамочкой обозначена зона, помещение в которую курсора мыши подсвечивает площадку. Подсвеченая площадка в белой сеточке. Положение подсказки "Number" подсказывает, где в этот момень указатель мыши (в правом нижнем углу синего прямоугольника).
По-идее, зона ведь должна соответствовать форме площадки? (у других форм площадки такая же ситуация) Imho должна...

Задача: мне надо добраться до фигуры в Assembly (виднеется), чтобы потаскать её.
Проблема - несмотря на то, что фигура явно торчит из габаритов площадки, просто достать её не получается, засвечивается площадка.
Ожидаю (по аналогии, как у других программах), что кликая над перекрывающими друг друга объектами, будет происходить циклический перебор выбора этих объектов, но... не всегда получается.
Точнее, происходит вот что. Циклический перебор будет происходить, но только в одном случае - мышь должна быть точно позиционирована над нужным объектом и в процессе перебора не двигаться. Любое движение мыши, хоть на пиксель, по-видимому, "сбрасывает в ноль" этот перебор и добраться до второго (третьего и т.д.) из перекрывающихся объектов в таком случае не получается.
Далее, когда получилось выделить фигуру, пытаешься её тащить и... фокус - тащится площадка  :'(

Ещё у фигур есть фишка. "Привязать к сетке". Привязка узлов работает. Привязать центр - работает не везде адекватно. Попробовал квадратики, треугольники, дуги... А вот уже моя фигура, показанная выше, я её переместил на свободное место. Это "до"

LeCAD---fig_center_before.png

А вот это после "Snap Center to Grid"

LeCAD---fig_center_after.png

Одна из точек уехала. Если правильно помню, последняя, т.е. на которой заканчивал фигуру. Вокруг неё вращение фигуры делается.
Самое неприятное, что "Undo" на эту операцию не работает, если нарисованное испортилось после "Center...", то его только вручную либо исправлять, либо перерисовывать...
Для "Snap Node to Grid" Undo исправно работает.

Кстати, с вращением тоже непонятка. Вот

LeCAD---fig_rotat-1.png LeCAD---fig_rotat-2.png LeCAD---fig_rotat-3.png LeCAD---fig_rotat-4.png

Я нарисовал крестик рядом с узлом, вокруг которого вращается фигура. Однако... вращается она вокруг непонятно чего. Надежда получить фигуру, отражённую относительно вертикали или горизонтали и попадающую в те же координаты угасла... Нарисовать простой DIP-кузов для сборочного чертежа уже второй день пытаюсь. Чего хочу? А вот примерно этого

LeCAD---nolecad_my_work_example.png
LeCAD---nolecad_my_work_3D.png
убрал спойлеры (Master)


А незамкнутые полилинии будут?
Общением на форуме подпитываю свою эгоистичную, склонную к самолюбованию сущность.

Lithium

#35
Добрый день!

Да, времени много прошло. И с наступившим вас Новым годом! :)

Теперь по порядку:

1) каталог по умолчанию при открытии New и Open считывается из конфига при запуске программы.  Сейчас доработал, будет обновляться при изменении каталогов.

2) копируется уже сохраненный компонент или корпус. Потом, когда пытаетесь открыть копию, сначала закрывается исходный компонент, и уже тогда спрашивается про изменения.

Тут 2 пути: или добавить проверку изменений перед копированием, или сделать область действия стека отмены на всю библиотеку, а не на отдельные редакторы. Второй вариант лучше, т.к. программа не будет спрашивать про сохранение изменений при переключении между компонентами и корпусами в рамках одной библиотеки. Захотели открыть другую библиотеку, тогда перед закрытием текущей спросит. Скорей всего это и будет реализовано.

3) Масштабирование колесиком не менялось :) Видимо это из-за того, что 0 теперь по центру рабочей области. На углах будет действовать как раньше.

4) При открытии компонента он масштабируется так, чтобы вместиться на весь экран. Убирать это не хотелось бы, а вот сделать настройку можно. Добавлю на будущее.

5) Про курсоры и "ладонь" напишите подробнее. Лучше скрин, при наведении на какую точку она появляется. Ладонь явно вроде бы нигде не используется и у меня не показывается.

6) Цвет перекрестия в редакторе корпусов привязан к границе рабочей области. Она есть в настройках цветов.

7) Координаты и размеры элементов в планах есть. А также группировка и поворот вокруг центра, а не какого-то узла или точки.

8)_С сеткой, в смысле шаг после запятой, пока вопрос открытый. Дополнительные разряды могут подпортить некоторые формы. Виджеты будут отображать и нули тоже: 2.5000 мм. С 3 разрядами это еще терпимо, больше уже не очень. Надо подумать, как это решить. Скорей всего надо будет использовать не spinbox, а обычные текстовые поля с валидаторами. Вобщем, нужна проработка. Вопрос не столько сложный, сколько объемный. Много где потребуются правки.

9) Групповые операции. Диалоговые окна меняют все параметры всех выделенных элементов. Если надо у всех выделенных изменить отдельные параметры, следует использовать панель свойств справа. В случае с площадками и пинами пожалуй надо сделать так: если номер будет пустой, то он не будет изменяться. Ну и в окне эту информацию где-то разместить.

10) "Last Libraries" не сломается от двойного щелчка, а вот выбор библиотеки в дереве по одинарному оказался не удобен. Поэтому пока пусть остается так.

11) Ширина левой панели прыгает, все верно описали. Судя по всему, это особенность механизма DockWidgets в Qt. Обычно (так в сети пишут) решается установкой фиксированной ширины панели. Но тут не подходит, надо по-другому решать. Есть одна идея, но пока нет времени проверить.

12) Возврат к открытой библиотеке из всех библиотек по двойному щелчку сделаем.

13) Размеры шрифта для... размеров (Dimension) задаются индивидуально, шрифт пока фиксированный, позже будет выбор, но скорей всего использоваться будут только векторные. Позже будет добавлен еще размер для углов и устранены замечания, если появятся по ходу использования.

14) Положение номеров/имен выводов задается автоматически. Единственное, что с ними можно сделать, это изменить шрифты. Ну и показать/скрыть конечно.

15) По поводу возврата в главное окно при открытом диалоговом - это уже вопрос к операционной системе) Сомневаюсь, что тут можно что-то сделать.

16) Наш форум почти готов, он еще не открыт, но уже работает в тестовом режиме. Приглашаю всех :)

17)  " Далее, когда получилось выделить фигуру, пытаешься её тащить и... фокус - тащится площадка" Повторил, исправим.

18)_ Поломка фигуры после Snap_Center у меня не повторилась. Вобще странно, там только одна координата позиции меняется. Если ошибка повторяется, попробуйте написать последовательность действий.

19) "Пример какой-то работы" у меня почему-то не открылся.

20) Полилинии если нужны, то будут. Для этого почти все готово. Фрезеровка на плате уже делается полилинией.

Спасибо за такую подборку!


:: добавлено 14 Янв., 2024, 18:06
С "ладонью" решена проблема.

Slabovik

#36
Добрый день.
Пытаясь повторить уход узла фигуры при центровке, нашёл, что всё ещё проявляется фишка с "задвоением" последнего узла фигуры, на котором рисовка фигуры прекращается по двойному клику. При этом хотя бы одна линия в этом узле не должна совпадать с направлениями сетки.

Рисую фигуру. Цифрами пометил направление рисовки. На узле 8 двойной клик, чтобы закончить фигуру. Затем я её "подсветил"

LeCAD---fig_node-8.png

Можно подвигать каждый узел. Всё хорошо, кроме узла 8. Вот тут я его попробовал сдвинуть влево

LeCAD---fig_node-x.png

Неожиданно выявился лишний узел (уже было описано ранее, но вроде фиксили).

Если последний клик при рисовке фигуры был с линиями, идущими по сетке (90° друг к другу и они вертикальные-горизонтальные), то такого фокуса не происходит.

В корпусах поведение аналогично

LeCAD---fig_node-3-ok.png

LeCAD---fig_node-3.png

Повторить же фокус с (п.18) сходу не получается. Я не помню последовательность действий. Я рисовал "ножки" для изображения в слое Assembly и бодался с сетками для их размещения. После копирования вот этих фигур, глюк также копировался. НО после того, как я подвигал "проблемный" узел каждой фигуры (просто сдвинул на шаг сетки и вернул на место) вращение стало чётко с центром этому узлу (а не рядом), и 'Snap Center to Grid' выполняется исправно, без сдвигов. "Лишних" точек, как нарисовано выше, в упомянутом месте точно не было - это я проверил.

По (п.2) удобнее конечно сохранение (запрос) делать по выходу из библиотеки (ну и в любое время по нажатии кнопки в меню). Но там больше проблема была в том, что не копировалось уже нарисованное.

По (п.9) с точки зрения пользователя, если операция по изменению свойств пинов групповая (это ведь легко отследить), то поле с номером сделать пустым по умолчанию. Это оставит возможность пользователю забить туда номер, если это ему надо. Но вот наоборот делать точно не надо - в смысле, заставлять пользователя убирать номер из поля, если он не желает замены номеров. Как вариант - вообще это поле при групповой операции сделать "серым" (и пустым), т.е. не подлежащим редактированию. Ведь по сути, одинаковые номера пинам присваивать приходится довольно редко, можно и "пощёлкать" пины для этого индивидуально.

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

По (п.14) я понял, что мне не понравилось (отчего появилось желание корректировать позицию)

Шрифт Simple размер 7
LeCAD---pin_vector_simple.png

Шрифт Simple размер 8
LeCAD---pin_vector_simple_8.png

Шрифт GOST размер 8
LeCAD---pin_vector_GOST_8.png

Шрифт "по умолчанию", написано True Type GOST B, размер 7
LeCAD---pin_TT_GOST.png

Проблема: векторные шрифты находятся чрезмерно близко к концу пина.
Шрифт "по умолчанию" фактически в моей системе отсутствует, подставляется какой-то другой. На Arial похож (не он), но есть нюанс. Когда ставлю Arial, по вертикали шрифт становится чётко напротив вывода

LeCAD---pin_TT_Arial.png

а шрифт "по умолчанию" становится чуть ниже (картинка выше, перед Arial)

True Type, с их подстановками и некоторой неопределённостью, конечно нервы мотают, но можно ли (когда-нибудь в планах на будущее) просить сделать регулируемый пользователем "зазор" от конца пина до начала текста? Это как минимум. Как максимум... ну тут фантазий много, наверное потом...

19. Полилинии конечно нужны. Например, для уже упоминаемой мной изображения ножки, замкнутый контур вовсе не нужен, для него полилинии достаточно. И группировка нужна.

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

зы: не понял, почему не видно картинок в предыдущем моём посте. Спойлеры не открываются? Сейчас без спойлеров картинки видно?

Добавлю.
С убеганием узла фигуры повторил. Глюк с задвоением узла здесь вроде не при делах, наверное. По шагам.

1. Рисую фигуру. Любую. Можно просто квадрат.
Нарисованное можно потаскать. Здесь я "вытащил" на вид узел 6, который был спрятан под узлом 5, на котором я заканчивал рисовать, и потаскал фигуру целиком. На картинках показано, как я её вращаю
LeCAD---fig_runaway-1.png LeCAD---fig_runaway-2.png LeCAD---fig_runaway-3.png LeCAD---fig_runaway-4.png

Таскать можно любые узлы, кроме первого, вокруг которого происходит вращение. Можно делать Snap - работает.

Занятно, что если изменить форму фигуры, центр у неё никуда не смещается - он остаётся там, где был вычислен, как только фигура была нарисована.

2. А теперь сдвинем узел 1. Я сдвинул на одно деление сетки вправо и вниз, но двигать всё-равно куда - эффект одинаков.
Как теперь выглядит вращение

LeCAD---fig_runaway-red_1.png LeCAD---fig_runaway-red_2.png LeCAD---fig_runaway-red_3.png LeCAD---fig_runaway-red_4.png

Центр вращения остался, где и был.
А теперь фокус. "Привязать узлы к сетке"

LeCAD---fig_runaway-snap2grid.png

упс... узелок убежал.

То же самое происходит при "Привязать центр к сетке". Только при этом фигура целиком тоже может сместиться, а может и не сместиться. Но узел "1" всегда убегает.

Фишка ещё в том, что Undo вот так не работает. Вот здесь я фигуру перед центрированием повращал (от вращения смещение не зависит). Хочу вернуть назад и... у меня фигура не принимает прежний вид а вращается! в обратную сторону. И только после какого-то количества отмен вращений двиганий других узлов, узел 1 вдруг встаёт на прежнее место. Т.е. Undo есть, но не по порядку, оно "где-то там", явно нарушена очередь.

Если не применять Undo а просто повторить "Привязать", то... '1' сместится ещё дальше

LeCAD---fig_runaway-snap2grid-x2.png LeCAD---fig_runaway-snap2grid-x3.png

Самая главная фишка. Возможно, значимая. Если после привязки подвигать вручную узел '1', то... узел перестаёт убегать, но зато точка вращения перемещается туда, куда убежал этот узел. Если подвигать узел, повращать фигуру - глюк возвращается, только может меняться направление и величина убегания узла.

Вот как-то так. На деле неприятнейшая вещь...
Общением на форуме подпитываю свою эгоистичную, склонную к самолюбованию сущность.

Lithium

#37
Добрый день!

Двойные узлы на полигонах исправлены. Там были доработки, но, получается, не все. 

Стек отмены для всей библиотеки, а не каждого редактора, сделаем по возможности до 2 версии. 

Регулирование отступа векторного шрифта от выводов сделать можно, но наверно лучше будет, если его просто по умолчанию нормальным сделать, как для TrueType. Исправим.

Координаты и размеры примитивов будут добавлены в панель свойств справа и в диалоговые окна. Руки никак не доходят(

Полилинии добавим после 2 версии, если получится, то раньше. 

Сейчас без спойлеров картинки видно)

С убеганием узла будем разбираться. Согласен, неприятнейшая вещь! 

:: добавлено 18 Янв., 2024, 22:41
Да, добавлю: доработано выделение элементов друг под другом и диалоговые окна пинов и падов, чтобы номера не менялись.

zenon

Решил тоже между делом попробовать.
Самое главное сейчас для меня - реперы за пределами границ платы, переходные отверстия поставил, но в файле сверловки (при просмотре их нет).
Сами границы платы можно только прямоугольные делать? Возможность их редактирования - не понял как?
Вообще удобно было бы линиями и дугами outline чертить, но может это я не разобрался как? не разобрался... а есть же на сайте... :)
И не пойму, возможность разнести схему/плату на разные мониторы как?
https://github.com/minamonra/

Lithium

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

На разные мониторы схему и плату пока не разнести. Есть идея, как это сделать, но будет после 2 версии, может даже ближе к 3. Быстро переключаться между схемой и платой можно клавишей F4.