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

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

Хотел попробовать, но в Ubuntu OpenOffice SDK просто так не установишь, а LibreOffice SDK не подходит. Если есть возможность, выложите собранные бинарники KiCAD, уж очень интересно что да как.

 

Константин, а у Вас какая версия Ubuntu (включая архитектуру)?

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


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

AVL, Ubuntu 13.04 32 bit.

 

P.S. лучше на "ты" ;)

 

Официальный релиз Ubuntu 13.04 вроде бы завтра выходит. По крайней мере сейчас я не нашел где официально можно скачать Ubuntu 13.04.

Константин, у тебя есть ссылка, где можно скачать Ubuntu 13.04?

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


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

Да, официальный релиз должен появиться завтра, но я не смог удержаться и еще месяц назад перешел на тестовую версию, т.к. все говорили о высокой стабильности. Ежедневные сборки доступны здесь: http://cdimage.ubuntu.com/daily-live/current/.

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


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

Приведу два ГОСТа на текстовые КД:

ГОСТ 2.701-2008 - ЕСКД. Схемы. Виды и типы. Общие требования к выполнению. Здесь раздел 5.7 посвящен

перечню элементов (ПЭ), который "помещают на первом листе схемы или выполняют в виде самостоятельного документа".

ПЭ выполняют в виде таблицы заданной формы. Даны правила заполнения.

 

ГОСТ 2.106-96 (переиздание 2007 года) - ЕСКД. Текстовые документы (в том числе спецификация, СП).

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

куда и заносятся компоненты ЭРИ для печатных плат. Приведены формы документов.

gost_eskd_2.701_2008.pdf

gost_eskd_2.106_96__2007_.pdf

Изменено пользователем viknn

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


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

Хотел попробовать, но в Ubuntu OpenOffice SDK просто так не установишь, а LibreOffice SDK не подходит. Если есть возможность, выложите собранные бинарники KiCAD, уж очень интересно что да как.

 

Добавил поддержку LibreOffice, а также новых версий OpenOffice/LibreOffice (начиная с версии 3.4 разработчики OpenOffice/LibreOffice изменили способ соединения с офисом).

 

Отлаживал под Ubuntu 13.04 32-bit (официальный релиз), установленной под VirtualBox.

 

sudo apt-get install bzr cmake g++ freeglut3-dev libwxgtk2.8-dev libreoffice-dev
bzr branch lp:~al-lunev/kicad/GOST-doc-gen
cd GOST-doc-gen
mkdir Release
cd Release
cmake ../. -DKICAD_STABLE_VERSION=ON -DKICAD_GOST=ON -DUSE_GOST_DOC_GEN=ON
. eeschema/env.sh
make
sudo make install
eeschema/eeschema

 

Сейчас есть две проблемы:

1) приходится до команды make запускать ". eeschema/env.sh", чтобы в переменную окружения LD_LIBRARY_PATH прописался путь к библиотекам URE

2) приходится до запуска eeschema также запускать ". eeschema/env.sh" по тем же причинам (в текущей сессии достаточно запустить только один раз)

 

Константин, есть какие-нибудь идеи как решить пункт 1, чтобы не приходилось руками выполнять эту команду? Вчера для этого экспериментировал с cmake, пока не удалось победить.

 

Насчет пункта 2 у меня пока только идея - это добавить возможность в каком-нибудь окошке в кикаде конфигурировать путь к OpenOffice / LibreOffice.

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


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

Переписал свой скрипт, теперь он имеет графический пользовательский интерфейс и с ним можно работать как с обычной программой.

 

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

 

Архив с программой и руководством можно загрузить отсюда: https://launchpad.net/kicadbom2spec

 

Решил попробовать данный скрипт. Установил odfpy 0.9.6.

При запуске скрипта потребовало пакеты (у меня Linux Debian 6.0.7) - установил:

sudo apt-get install python-argparse

sudo apt-get install python-tk

 

Далее при запуске скрипта вываливается ошибка:

Exception in Tkinter callback
Traceback (most recent call last):
  File "/usr/lib/python2.6/lib-tk/Tkinter.py", line 1413, in __call__
    return self.func(*args)
  File "./kicadbom2spec.pyw", line 561, in specMake
    spec.loadBOM(self.bomFileName.get())
  File "./kicadbom2spec.pyw", line 262, in loadBOM
    group[1].sort(key=self.compareRef)

 

Заархивированный тестовый файл прикрепил.

test.csv.zip

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


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

... при запуске скрипта вываливается ошибка ...

Спасибо большое за описание ошибки! Приложил исправленный скрипт.

 

Прости, но последнее время был очень занят и не мог заняться решением проблем gost_doc_gen. Обязательно что-нибудь придумаем ;)

 

P.S.

В BOM файле, в поле Field 5 должна указываться точность, а примечание в поле Field 6.

kicadbom2spec.pyw.zip

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

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


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

Спасибо большое за описание ошибки! Приложил исправленный скрипт.

 

Спасибо. Теперь заработало.

 

Впечатление положительное, что нет проблем с всякими коннектами / путями к OpenOffice/LibreOffice.

Я уже стал задумываться, может как-то odfpy прикрутить к GOST-doc-gen, либо может есть c++ odfpy-альтернатива.

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


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

AVL, GOST_doc_gen не хочет собираться:

 

[ 72%] Building CXX object eeschema/CMakeFiles/eeschema.dir/__/common/base_units.cpp.o
Linking CXX executable eeschema
/usr/bin/ld: не вдалося знайти -luno_cppuhelpergcc3
/usr/bin/ld: не вдалося знайти -luno_cppu
/usr/bin/ld: не вдалося знайти -luno_salhelpergcc3
/usr/bin/ld: не вдалося знайти -luno_sal
collect2: ошибка: выполнение ld завершилось с кодом возврата 1
make[2]: *** [eeschema/eeschema] Ошибка 1
make[1]: *** [eeschema/CMakeFiles/eeschema.dir/all] Ошибка 2
make: *** [all] Ошибка 2
baranovskiykonstantin@Lenovo-G550:~/src/kicad.GOST_doc_gen/Release$ cd $LD_LIBRARY_PATH
baranovskiykonstantin@Lenovo-G550:/usr/lib/libreoffice/ure-link/lib$ ls
acceptor.uno.so       libjava_uno.so                 libuno_salhelpergcc3.so.3
binaryurp.uno.so      libjpipe.so                    libuno_sal.so.3
bootstrap.uno.so      libjuh.so                      libunsafe_uno_uno.so
connector.uno.so      libjuhx.so                     libxmlreader.so
introspection.uno.so  libjvmaccessgcc3.so.3          namingservice.uno.so
invocadapt.uno.so     libjvmfwk.so.3                 proxyfac.uno.so
invocation.uno.so     liblog_uno_uno.so              reflection.uno.so
javaloader.uno.so     libreg.so.3                    stocservices.uno.so
javavm.uno.so         libsal_textenc.so              streams.uno.so
JREProperties.class   libstore.so.3                  textinstream.uno.so
jvmfwk3rc             libsunjavaplugin.so            textoutstream.uno.so
libaffine_uno_uno.so  libuno_cppuhelpergcc3.so.3     unorc
libgcc3_uno.so        libuno_cppu.so.3               uuresolver.uno.so
libjava_uno           libuno_purpenvhelpergcc3.so.3

 

Вроде бы библиотеки на месте, но никак...

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


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

Впечатление положительное, что нет проблем с всякими коннектами / путями к OpenOffice/LibreOffice.

Получается, что если в C++/Qt-библиотеке (> 4.5) есть простые средства формирования ODF-файлов, то в C++/Wx их нет...

 

здесь кросс-платформенная свободная Qt-утилита kicad_service, © 2010, Павлюков.

написана для просмотра схем kicad (PDF формат kicad еще не поддерживал)

можно подключать ttf-шрифты типа opengostfont

попытка формировать BOM и перечень элементов (формат PS)

kicad_service_src.zip

Изменено пользователем viknn

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


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

AVL, GOST_doc_gen не хочет собираться:

 

[ 72%] Building CXX object eeschema/CMakeFiles/eeschema.dir/__/common/base_units.cpp.o
Linking CXX executable eeschema
/usr/bin/ld: не вдалося знайти -luno_cppuhelpergcc3
/usr/bin/ld: не вдалося знайти -luno_cppu
/usr/bin/ld: не вдалося знайти -luno_salhelpergcc3
/usr/bin/ld: не вдалося знайти -luno_sal
collect2: ошибка: выполнение ld завершилось с кодом возврата 1
make[2]: *** [eeschema/eeschema] Ошибка 1
make[1]: *** [eeschema/CMakeFiles/eeschema.dir/all] Ошибка 2
make: *** [all] Ошибка 2
baranovskiykonstantin@Lenovo-G550:~/src/kicad.GOST_doc_gen/Release$ cd $LD_LIBRARY_PATH
baranovskiykonstantin@Lenovo-G550:/usr/lib/libreoffice/ure-link/lib$ ls
acceptor.uno.so       libjava_uno.so                 libuno_salhelpergcc3.so.3
binaryurp.uno.so      libjpipe.so                    libuno_sal.so.3
bootstrap.uno.so      libjuh.so                      libunsafe_uno_uno.so
connector.uno.so      libjuhx.so                     libxmlreader.so
introspection.uno.so  libjvmaccessgcc3.so.3          namingservice.uno.so
invocadapt.uno.so     libjvmfwk.so.3                 proxyfac.uno.so
invocation.uno.so     liblog_uno_uno.so              reflection.uno.so
javaloader.uno.so     libreg.so.3                    stocservices.uno.so
javavm.uno.so         libsal_textenc.so              streams.uno.so
JREProperties.class   libstore.so.3                  textinstream.uno.so
jvmfwk3rc             libsunjavaplugin.so            textoutstream.uno.so
libaffine_uno_uno.so  libuno_cppuhelpergcc3.so.3     unorc
libgcc3_uno.so        libuno_cppu.so.3               uuresolver.uno.so
libjava_uno           libuno_purpenvhelpergcc3.so.3

 

Вроде бы библиотеки на месте, но никак...

 

Линкер не видит файлы so.3. Ему нужны файлы so.

На этапе линковки линкеру передается путь ${OOO_SDK_DIR}/lib (для ubuntu 13.04 32-bit этот путь = /usr/lib/libreoffice/sdk/lib). Там и лежат файлы so (симлинки на so.3, которые, в свою очередь, лежат в /usr/lib/libreoffice/ure-link/lib)

 

Раз линкер не может найти указанные библиотеки, значит по какой-то причине cmake не смог вычислить корректно значение переменной OOO_SDK_DIR (это вычисление выполняет модуль GOST-doc-gen/CMakeModules/FindOpenOffice.cmake, то есть на него возлагаются надежды, что он на произвольной машине найдет корректно расположение офиса и его SDK).

 

Поэтому нужны логи выполнения команды cmake ../. -DKICAD_STABLE_VERSION=ON -DKICAD_GOST=ON -DUSE_GOST_DOC_GEN=ON | tail -n15

И логи команды ls -la /usr/lib/libreoffice/sdk/lib

 

P.S.

LD_LIBRARY_PATH тоже должен быть проинициализирован (в данном случае = /usr/lib/libreoffice/ure-link/lib, судя по приложенным логам, проинициализирован верно), иначе не будут найдены зависимости, необходимые библиотекам uno_cppuhelpergcc3, uno_cppu, uno_salhelpergcc3, uno_sal.

 

Получается, что если в C++/Qt-библиотеке (> 4.5) есть простые средства формирования ODF-файлов, то в C++/Wx их нет...

 

Жаль, что KiCad не на базе Qt :)

 

Прикручивать Qt только, чтобы формировать odf - избыточно, хотя тоже вариант.

 

Значит имеем 3 варианта:

1) оставить все как есть (OO SDK). В случае с Windows пытаюсь добиться компиляции KiCad с помощью VC Express 2010 (с помощью VC Toolkit 2003 уже не получается собрать wxWidgets, поскольку в составе VC Toolkit 2003 нет nmake.exe). Если удастся собрать сам KiCad, то появляется возможность слинковать OO SDK. Жаль, что библиотеки OO SDK не собирают для mingw, и очень странно, что они есть только для VC.

2) прикручивать odfpy

3) прикручивать qt

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


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

нужны логи выполнения команды cmake ../. -DKICAD_STABLE_VERSION=ON -DKICAD_GOST=ON -DUSE_GOST_DOC_GEN=ON | tail -n15

И логи команды ls -la /usr/lib/libreoffice/sdk/lib

baranovskiykonstantin@Lenovo-G550:~/src/kicad.GOST_doc_gen/Release$ cmake -DKICAD_STABLE_VERSION=ON -DKICAD_GOST=ON -DUSE_GOST_DOC_GEN=ON ../ | tail -n15
Build stable version of KiCad
-- Looking for gettimeofday
-- Looking for gettimeofday - found
-- Looking for getc_unlocked
-- Looking for getc_unlocked - found
-- Bazaar version control system version  found.
-- Kicad Bazaar build version: (2013-04-28 BZR 4097 GOST)
-- Found OpenOffice.org SDK: /usr/lib/libreoffice/sdk
-- Found OpenOffice.org program directory: /usr/lib/libreoffice/program
-- Found unopkg executable: /usr/lib/libreoffice/program/unopkg
-- Found URE Java path: /usr/lib/libreoffice/ure-link/share/java
-- Found OpenOffice.org SDK include directory: /usr/lib/libreoffice/sdk/include
-- Found Doxygen: /usr/bin/doxygen (found version "1.8.3.1") 
-- Configuring done
-- Generating done
-- Build files have been written to: /home/baranovskiykonstantin/src/kicad.GOST_doc_gen/Release
baranovskiykonstantin@Lenovo-G550:~/src/kicad.GOST_doc_gen/Release$ ls -la /usr/lib/libreoffice/sdk/lib
итого 16
drwxr-xr-x 2 root root 4096 Апр 24 10:53 .
drwxr-xr-x 6 root root 4096 Апр 24 10:53 ..
-rw-r--r-- 1 root root 4234 Апр 11 21:44 libsalcpprt.a
lrwxrwxrwx 1 root root   45 Апр 11 21:22 libuno_cppuhelpergcc3.so -> ../../ure-link/lib/libuno_cppuhelpergcc3.so.3
lrwxrwxrwx 1 root root   35 Апр 11 21:22 libuno_cppu.so -> ../../ure-link/lib/libuno_cppu.so.3
lrwxrwxrwx 1 root root   48 Апр 11 21:22 libuno_purpenvhelpergcc3.so -> ../../ure-link/lib/libuno_purpenvhelpergcc3.so.3
lrwxrwxrwx 1 root root   44 Апр 11 21:22 libuno_salhelpergcc3.so -> ../../ure-link/lib/libuno_salhelpergcc3.so.3
lrwxrwxrwx 1 root root   34 Апр 11 21:22 libuno_sal.so -> ../../ure-link/lib/libuno_sal.so.3

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


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

Константин, проверь, пожалуйста, новый коммит (4098) с исправлением. По идее должно заработать.

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


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

AVL, спасибо большое! Все собралось и заработало. Выглядит очень мощно, сейчас свободного времени немного, нет возможности оценить все особенности данного инструмента.

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

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


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

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

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

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

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

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

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

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

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

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