Перейти к содержанию
    

Вывод текстовой документации в KiCAD-ГОСТ

<Правка> <Параметры> вкладка <Основные> 'Автоматически заполнять поле "Группа" для:' кнопка <Добавить>, ввожу 'Обозначение элемента:', 'Значение поля "Группа":' кнопка <ОК>

В списке появляется эта группа, отмечаю чекбокс.

Во вкладке <Значения полей> созданная группа тоже видна, но в сгенерированном перечне этих групп нет.

Из руководства пользователя:

Автоматически заполнять поле "Группа" — данный параметр позволяет несколько автоматизировать процесс оформления перечня элементов. А именно, для заданных типов элементов автоматически заполнять поле "Группа" при загрузке документа.

ПРИМЕЧАНИЕ

Автоматическое заполнение применяется только к элементам с пустым полем "Группа".

...

3.2. Значения полей

При оформлении перечня элементов, заполняя поля элементов часто приходится использовать стандартные значения, такие, например, как "Резисторы", "Конденсаторы", "Диоды" и т.д. для поля Группа или "±1%", "±5%", "±10%" для поля Класс точности.

Чтобы ускорить процесс заполнения перечня предусмотрена возможность задавать стандартные значения для определённых полей элементов. Делается это с помощью вкладки Значения полей редактора настроек.

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

При редактировании элементов все эти варианты значений будут всегда присутствовать в выпадающем списке.

Эти параметры лишь помогают заполнить поля, группы формируются совсем иначе.

А именно, сначала все компоненты группируются по обозначению (C, DA, DD, R, VT и т.п.), затем в каждой образованной группе формируются подгруппы по наименованию поля "Группа".

Например, схема состоит из таких элементов:

С1 Конденсаторы ...

С2 Конденсаторы ...

С3 Конденсаторы ...

R1 Резисторы ...

R2 Резисторы ...

R3 Резисторы подстроечные ...

R4 Резисторы подстроечные ...

R5 Резисторы ...

R6 Резисторы ...

VT1 Транзиыторы ...

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

Конденсаторы

С1 ...

С2 ...

С3 ...

 

Резисторы

R1 ...

R2 ...

Резисторы подстроечные

R3 ...

R4 ...

Резисторы

R5 ...

R6 ...

 

Транзисторы

VT1 ...

Если установить параметр "Вставлять пустые строки между разными группами", то получим следующее:

Конденсаторы

С1 ...

С2 ...

С3 ...

 

Резисторы

R1 ...

R2 ...

 

Резисторы подстроечные

R3 ...

R4 ...

 

Резисторы

R5 ...

R6 ...

 

Транзисторы

VT1 ...

Именно так указано в ГОСТ 2.701-2008 п.5.7.6.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Барановский Константин

Как по должно быть по ГОСТу я примерно ;) представляю, меня интересует, как будет работать kicadbom2spec.

...

 

Сейчас проверил. На этот раз добавленная группа появилась. Но объединения по первой букве не произошло.

То есть у меня на схеме присутствуют соединители (разъёмы) с позиционными обозначениями "X" и "XP" и "XS", группа "Соединители" заявлена на обозначение "X". При формировании перечня "X" попали в одну строку (там только один тип) - получилось "Соединитель <тип>" и дальше группа "Соединители", в которую вошли все "XP", дальше ещё одна группа "Соединители", в которую вошли "XS".

 

И ешё. При попытке формировании перечня, который уже открыт, вылезает сообщение "[Errno] Permission denied: '<имя файла с полным путём>' Не удалось создать перечень элементов."

Мало того, что лучше было бы писать "Файл открыт в другой программе" или что-то вроде того и предлагать ввести другое имя, так ведь и имя файла с путём выдаётся в юникоде, что в виндаке приобретает совершенно нечитаемый вид.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Но объединения по первой букве не произошло.

Для приложения, X, XP и XS - это разные группы элементов и никакого объединения по первой букве не происходит.

В принципе, можно группировать не по всему буквенному обозначению, а только по первой букве, но как тогда быть с VD, VT, VS и т.п.?

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

 

И ешё. При попытке формировании перечня, который уже открыт, вылезает сообщение "[Errno] Permission denied: '<имя файла с полным путём>' Не удалось создать перечень элементов."

Мало того, что лучше было бы писать "Файл открыт в другой программе" или что-то вроде того и предлагать ввести другое имя, так ведь и имя файла с путём выдаётся в юникоде, что в виндаке приобретает совершенно нечитаемый вид.

Поработаю над этим.

Изменено пользователем Барановский Константин

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Барановский Константин

Понял, почему у меня сначала не создавались группы.

Сразу после создания группы, в перечень эта группа не попадает. Надо закрыть программу, потом снова запустить её, и тогда всё получится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

break, программу закрывать не обязательно, нужно заново открыть файл схемы.

Автоматически заполнять поле "Группа" — данный параметр позволяет несколько автоматизировать процесс оформления перечня элементов. А именно, для заданных типов элементов автоматически заполнять поле "Группа" при загрузке документа.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Барановский Константин

Несмотря на то, что в руководстве пользователя написано

К пустому полю разделители не добавляются. Т.е. если при формировании перечня элементов встречается поле с пустым значением, то соответствующие ему разделители в наименование вставляться не будут.
, у меня разделители (запятые) появляются.

 

Предлагаю задание способа формирование групп сделать традиционным способом:

просто символы - полное совпадение;

символы и знаки вопроса ("?") - после первых совпадающих символов - любые символы, при совпадающем их количестве количеству знаков вопроса;

символы и звёздочка ("*") - любое количество любых символов после первых совпадающих символов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Несмотря на то, что в руководстве пользователя написано [...], у меня разделители (запятые) появляются.

К какому полю добавляются разделители?

Обращаю внимание, что в указанной цитате речь идёт о разделителях, которые задаются в настройка на одноимённой вкладке.

 

Предлагаю задание способа формирование групп сделать традиционным способом:

просто символы - полное совпадение;

символы и знаки вопроса ("?") - после первых совпадающих символов - любые символы, при совпадающем их количестве количеству знаков вопроса;

символы и звёздочка ("*") - любое количество любых символов после первых совпадающих символов.

Это хорошая идея, но я имел в виду не процесс автоматического заполнения поля "Группа", а алгоритм формирования групп в перечне.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Барановский Константин

К какому полю добавляются разделители?

К разным. Если есть только значение, то перед значением и после. Если есть и другие поля, то после точности.

 

Это хорошая идея, но я имел в виду не процесс автоматического заполнения поля "Группа", а алгоритм формирования групп в перечне.

Так таким же образом и формировать группы - если при помощи упомянутого механизма элементы можно объединить в одну группу, то и сделать так.

 

Появилась ещё одна идея, может быть более правильная: если названия групп совпадают, то объединить эти группы в одну. Так даже алгоритм получится проще. Да и разбиение на группы получится гибче. Например, можно объединить BA и BF в одну группу, а все остальные (BD, BE, BC…) не объединять.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Появилась ещё одна идея, может быть более правильная: если названия групп совпадают, то объединить эти группы в одну. Так даже алгоритм получится проще. Да и разбиение на группы получится гибче. Например, можно объединить BA и BF в одну группу, а все остальные (BD, BE, BC…) не объединять.

Это в ЕСКД указано достаточно чётко:

5.7.6 Элементы в перечень записывают группами в алфавитном порядке буквенных позиционных обозначений.

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

При выполнении на схеме цифровых обозначений в перечень их записывают в порядке возрастания.

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

 

Из выше сказанного делаю вывод, что "Соединители" X, "Соединители" XP и "Соединители" XS -- это три разные группы, хотя и имеют одинаковое значение поля "Группа". В подобной ситуации kicadbom2spec сформирует три отдельные группы с одинаковым именем, разделённые указанным количеством пустых строк.

 

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

Или, возможно, кто-то предложит лучший вариант?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Барановский Константин

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

break, какая используется операционная система? Не могу воспроизвести указанные ошибки (разделители полей и стандартные значения полей). Какие версии python и wxPython?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Барановский Константин

какая используется операционная система?

Win7 то ли enterprise, то ли что-то в этом роде.

 

Какие версии python и wxPython?

Python, скорее всего, 3. Остальное смогу посмотреть только на следующей неделе.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Барановский Константин

Win7 корпоративная SP1 (x64)

 

Application: kicad

Version: (5.0.0-rc2-dev-581-g09a6bada0), release build

Libraries:

wxWidgets 3.0.3

libcurl/7.54.1 OpenSSL/1.0.2l zlib/1.2.11 libssh2/1.8.0 nghttp2/1.23.1 librtmp/2.3

Platform: Windows 7 (build 7601, Service Pack 1), 64-bit edition, 64 bit, Little endian, wxMSW

Build Info:

wxWidgets: 3.0.3 (wchar_t,wx containers,compatible with 2.8)

Boost: 1.60.0

Curl: 7.54.1

Compiler: GCC 7.1.0 with C++ ABI 1011

 

Build settings:

USE_WX_GRAPHICS_CONTEXT=OFF

USE_WX_OVERLAY=OFF

KICAD_SCRIPTING=ON

KICAD_SCRIPTING_MODULES=ON

KICAD_SCRIPTING_WXPYTHON=ON

KICAD_SCRIPTING_ACTION_MENU=ON

BUILD_GITHUB_PLUGIN=ON

KICAD_USE_OCE=ON

KICAD_SPICE=ON

 

python-core-3.5.4 (если верить названию каталога внутри LibreOffice). Отдельно Python не установлен.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

break, всё равно никак.

Поставил Windows 7 Pro x64 на виртуалку, установил kicad:

Application: kicad

Version: (5.0.0-rc2-45-gc5f56ef57), release build

Libraries:

wxWidgets 3.0.3

libcurl/7.54.1 OpenSSL/1.0.2l zlib/1.2.11 libssh2/1.8.0 nghttp2/1.23.1 librtmp/2.3

Platform: Windows 7 (build 7601, Service Pack 1), 64-bit edition, 64 bit, Little endian, wxMSW

Build Info:

wxWidgets: 3.0.3 (wchar_t,wx containers,compatible with 2.8)

Boost: 1.60.0

OpenCASCADE Community Edition: 6.8.0

Curl: 7.54.1

Compiler: GCC 7.1.0 with C++ ABI 1011

 

Build settings:

USE_WX_GRAPHICS_CONTEXT=OFF

USE_WX_OVERLAY=OFF

KICAD_SCRIPTING=ON

KICAD_SCRIPTING_MODULES=ON

KICAD_SCRIPTING_WXPYTHON=ON

KICAD_SCRIPTING_ACTION_MENU=ON

BUILD_GITHUB_PLUGIN=ON

KICAD_USE_OCE=ON

KICAD_USE_OCC=OFF

KICAD_SPICE=ON

 

и kicadbom2spec v3.14 с использованием компонентов из kicad и указанных проблем не обнаружил.

Можно взглянуть на сообщение об ошибке?

Какие версии компонентов указаны в диалоге "О программе" в kicadbom2spec?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Барановский Константин

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

А та схема, которая не обработана, вызывает другую ошибку:

Внимание!

При открытии файла схемы <путь\имя файла>

возникла ошибка:

'NoneType' object has no attribute 'group'

Главное, что непонятно на какой объект ругается.

 

Версия 3.14

Python 2.7.14-final

wxWidgets: 3.0.2.0 msw (classic)

odfpy: 1.3.6

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...