Skip to content

baranovskiykonstantin/eskd-templates

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Шаблоны документов ЕСКД

Этот репозиторий содержит исходные файлы для сборки нескольких типов шаблонов документов из Единой Системы Конструкторской Документации (ЕСКД):

Перечень элементов в LibreOffice

На основе выбранного шаблона создаётся текстовый документ, оформленный согласно требованиям ЕСКД.
Документ построен таким образом, чтобы максимально упростить процесс заполнения содержимого и основной надписи:

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

Использование шаблонов совместно с KiCad

Чтобы заполнить документ данными из проекта KiCad нужно пройти следующие шаги:

  1. Заполнить поля компонентов схемы должным образом и обновить список цепей.
  2. На основе шаблона создать новый документ и сохранить его в каталоге проекта KiCad.
  3. Настроить параметры формирования перечня/спецификации/ведомости.
  4. Запустить макрос построения перечня/спецификации/ведомости.
  5. Запустить макрос заполнения основной надписи.
  6. При необходимости, поправить форматирование и содержимое документа.

Описание

Шаблоны документов в отрытом формате *.ott - это обычные zip-архивы содержащие определённую структуру каталогов и файлов. Для каждого типа документов в репозитории имеется каталог с содержимым шаблона в распакованном виде. Это позволяет вести контроль изменений с помощью git. Скрипт Makefile позволяет генерировать шаблоны в формате *.ott с помощью утилиты make.

Добавление файлов в шаблон

Для макросов, изображений, шрифтов и некоторых других файлов предусмотрены специальные каталоги. Например, Fonts для шрифтов, Scripts/python для макросов на языке программирования Python.

Все файлы содержащиеся в шаблоне обязательно должны быть указаны в файле META-INF/manifest.xml. После добавления какого-либо файла в шаблон, запись о нём нужно добавить в файл manifest.xml.

Сборка шаблонов

Разработка шаблонов ведётся в среде GNU/Linux. На операционных системах Windows нужно воспользоваться подсистемой WSL.

Для сборки всех шаблонов достаточно запустить команду make all или просто make в корневом каталоге проекта. При этом шаблоны сохраняются в каталоге ~/.config/libreoffice/4/user/template где их ожидает видеть LibreOffice. Чтобы сохранить собранный шаблон в другом каталоге, его можно указать с помощью параметра OUT:

make OUT=/path/to/templates/output

Чтобы собрать только некоторые из шаблонов нужно указать их название (по имени каталога):

make index # только перечень элементов
make spec  # только спецификация
make bom manual # собрать ведомость покупных изделий и пояснительную записку

Специальна команда make archive позволяет упаковать все собранные шаблоны в 7z-архив (zip-архив плохо поддерживает кириллицу в Windows). Архив будет записан во временный каталог /tmp.

История проекта

Изначально целью проекта была автоматизация процесса генерации комплекта документации к проектам схем и печатных плат разработанных в САПР KiCad. Но в итоге шаблоны вышли довольно универсальными и могут использоваться для создания документов не связанных с KiCad.

Первой попыткой организовать вывод конструкторской документации напрямую из KiCad было приложение kicadbom2spec написанное на Python. Оно имело графический интерфейс для редактирования полей компонентов, полученных из KiCad, и позволяло создавать только перечень элементов. Когда стал вопрос добавления поддержки других типов документов было решено перейти на формат шаблонов документов со встроенными макросами вместо модернизации приложения и тому было несколько причин:

  • созданный приложением документ было неудобно править в LibreOffice/OpenOffice
  • добавление поддержки новых типов документов требовало существенного усложнения приложения, что сильно затруднило бы сопровождение проекта
  • приложение было написано на устаревшей версии Python (Python3 начал вытеснять Python2 в большинстве дистрибутивов GNU/Linux)

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

Шаблоны тоже требуют наличия определённый полей у компонентов схемы KiCad, но сейчас они могут быть созданы и заполнены средствами KiCad. Перечень и формат полей для шаблонов немного изменился, по сравнению с приложением kicadbom2spec. Чтобы сделать проекты KiCad оформленные с помощью kicadbom2spec совместимыми с шаблонами документов, в шаблоны были добавлены специальные параметры, которые позволяют включить поддержку таких проектов.