Skip to content

Latest commit

 

History

History
117 lines (91 loc) · 9.87 KB

README.md

File metadata and controls

117 lines (91 loc) · 9.87 KB

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

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

Перечень элементов в 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 совместимыми с шаблонами документов, в шаблоны были добавлены специальные параметры, которые позволяют включить поддержку таких проектов.