Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: KiCAD кто-нибудь использует?
Форум разработчиков электроники ELECTRONIX.ru > Печатные платы (PCB) > Разрабатываем ПП в САПР - PCB development > KiCAD
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35
viknn
свежая сборка для win32 KiCAD 3459 на ftp://kicad.r4b.ru/pub/kicad/install/win
(интересна тем, что позволяет запоминать состояние видимости слоев при записи brd)
faa
Цитата(zöner @ Feb 23 2012, 23:51) *
- добавить количество ширин дорожек в Global design rules (еще штук 5 думаю хватит);

Уже увеличено до 12.

Начал с самых простых и коротких задач.

Цитата(Сергей Борщ @ Feb 22 2012, 04:20) *
34. !!! Добавить в строку статуса рядом с относительными координатами еще одну цифру - расстояние от нуля относительных координат. Это точно не должно быть сложным и ресурсов вычислительных потребует мизер, но позволит измерять расстояния не только по вертикали/горизонтали.

Согласен - будет удобно.
Сделал. bzr3460

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

ЗЫ: Появляться буду редко, реагировать не быстро - работа.
zöner
- в pcbnew можно сделать индикацию ширины/высоты/диагонали выделяемого блока в строке статуса (для измерения размеров)
Aldan
Вопрос опытным пользователям: как сделать так, чтобы при выводе на печать из pcbnew результат был бы такой же, как на экране монитора? Дело в том, что у меня не получается распечатать разведенную плату в выключенным отображением значений компонентов, при условии, что в описании самого модуля в графе "Значение" стоит "видимый". В этом случае на экране монитора можно убрать эту информацию сняв галочку в чекбоксе "Видимость" > "Отображение" > "Values", а при выводе на печать (например, при просмотре) значения снова становятся видимыми.
Достичь поставленной цели можно только снятием галочки видимости в самом модуле каждого из компонентов на плате, что крайне неудобно и долго.
faa
Цитата(Aldan @ Mar 14 2012, 13:52) *
Вопрос опытным пользователям: как сделать так, чтобы при выводе на печать из pcbnew результат был бы такой же, как на экране монитора? Дело в том, что у меня не получается распечатать разведенную плату в выключенным отображением значений компонентов, при условии, что в описании самого модуля в графе "Значение" стоит "видимый". В этом случае на экране монитора можно убрать эту информацию сняв галочку в чекбоксе "Видимость" > "Отображение" > "Values", а при выводе на печать (например, при просмотре) значения снова становятся видимыми.
Достичь поставленной цели можно только снятием галочки видимости в самом модуле каждого из компонентов на плате, что крайне неудобно и долго.

Напечатать (ИМХО) без лишних телодвижений - никак.
Но можно :
1. Начертить в PS(HPGL), потом PS(HPGL) напечатать. При черчении можно отключить вывод значений на шелкографии независимо от того, видны они или нет.
2. Запусть маленький скрипт на перле-питоне (и т.п.) и выключить видимость значение на всей плате, напечатать, потом включить видимость обратно.
Возможно еще есть варианты.
Aldan
Цитата(faa @ Mar 14 2012, 14:12) *
Напечатать (ИМХО) без лишних телодвижений - никак.

Очень жаль.
Цитата(faa @ Mar 14 2012, 14:12) *
Но можно :
1. Начертить в PS(HPGL), потом PS(HPGL) напечатать. При черчении можно отключить вывод значений на шелкографии независимо от того, видны они или нет.

Если я правильно понял, распечатать файл .plt при помощи Кикада без привлечения какой-то другой программы мне не удастся. Кроме того, если я все же реализую этот способ печати и отключу слой шелкографии, то вместе с величинами компонентов исчезнут и их посадочные места, что недопустимо.
Цитата(faa @ Mar 14 2012, 14:12) *
Возможно еще есть варианты.

Поскольку все оказалось так сложно и беспросветно, то я склоняюсь к варианту переопределить видимость значений во всех модулях библиотеки с "видимого" на "невидимый" т.к. именно этот случай используется чаще и тогда мне не придется добиватся невидимости значений при печати.
-------------------
И еще вопрос: как сделать так, чтобы настройки правил проектирования (применяемые ширины дорожек, переходные отв. и т.д.) установленные при разводке одной платы могли бы быть автоматически использованы в новом проекте? Ведь сейчас открывая новый проект нужно все прописывать заново, а это лишнее время и возможные ошибки.
_Pasha
Цитата(Aldan @ Mar 14 2012, 13:59) *
И еще вопрос: как сделать так, чтобы настройки правил проектирования (применяемые ширины дорожек, переходные отв. и т.д.) установленные при разводке одной платы могли бы быть автоматически использованы в новом проекте? Ведь сейчас открывая новый проект нужно все прописывать заново, а это лишнее время и возможные ошибки.

Сделать темплейт и пусть он кочует из проекта в проект
Aldan
Цитата(_Pasha @ Mar 14 2012, 15:13) *
Сделать темплейт и пусть он кочует из проекта в проект

Мысль логична и понятна, но я не спец в таких делах, увы... Или это все доступно и для "чайников"?
MrYuran
Цитата(Aldan @ Mar 14 2012, 16:04) *
Мысль логична и понятна, но я не спец в таких делах, увы... Или это все доступно и для "чайников"?

Сделать шаблонную схему со всеми настройками и поместить её в соответствующую папочку
KiCAD\Share\Template
Aldan
Цитата(MrYuran @ Mar 14 2012, 16:28) *
Сделать шаблонную схему со всеми настройками и поместить её в соответствующую папочку
KiCAD\Share\Template

Я так понимаю, что речь идет о .brd файле? Ведь именно в нем, как показывает эксперимент, хранятся настройки pcbnew.
Предполагаю, что прежде чем положить файл в папку Template, его нужно удачно обозвать, а Кикаду сообщить, что его в этой папке ждет необходимая для начальных установок проекта информация.
Словом, все это, похоже, нужно делать при сборке Кикада, а не на уровне пользователя.
Если же все просто и доступно для "чайника" - распишите все необходимые действия по шагам после того, как сами попробуете все это сделать практически. Думаю, это будет всем интересно и полезно.
Лишь бы все эти действия не были еще более сложными, чем заново сделать настройки нового проекта sm.gif
break
Aldan
Если я правильно понял, распечатать файл .plt при помощи Кикада без привлечения какой-то другой программы мне не удастся. Кроме того, если я все же реализую этот способ печати и отключу слой шелкографии, то вместе с величинами компонентов исчезнут и их посадочные места, что недопустимо.
Если выбрать "Чертить", "GERBER", не ставить "Чертить значения модулей на слое шелкографии" и выбрать для печати шелкографию (Silks_xxx), то вся шелкография останется, а значения (величины) печататься не будут. Печатать надо будет через GERBView.
Можно ещё выводить и в DXF, а потом распечатать через A9CAD, NanoCAD или ещё что. Правда там пока проблемы с заполненными линиями.
faa
Цитата(Aldan @ Mar 14 2012, 14:59) *
Если я правильно понял, распечатать файл .plt при помощи Кикада без привлечения какой-то другой программы мне не удастся. Кроме того, если я все же реализую этот способ печати и отключу слой шелкографии, то вместе с величинами компонентов исчезнут и их посадочные места, что недопустимо.

Всю шелкографию отключать не надо sm.gif
Там есть отдельная галка "Чертить значения модулей на слое шелкографии"

УПД: Уже все написали выше sm.gif

УПД2: На 20 апреля намечается конференция в МВТУ по СПО, в том числе и по KiCAD-у.
Пригласили поделиться опытом.
Если форс-мажоров не будет, то буду речь держать.
Если у кого есть желание поучаствовать, то можно посодействовать.
MrYuran
Цитата(faa @ Mar 14 2012, 17:03) *
УПД2: На 20 апреля намечается конференция в МВТУ по СПО, в том числе и по KiCAD-у.
Пригласили поделиться опытом.
Если форс-мажоров не будет, то буду речь держать.
Если у кого есть желание поучаствовать, то можно посодействовать.

Первое, что надо заявить - что это практически альтиум дизайнер, разве что без некоторых нюансов, но лучше, удобнее и бесплатный sm.gif
faa
Цитата(break @ Mar 14 2012, 16:58) *
Можно ещё выводить и в DXF, а потом распечатать через A9CAD, NanoCAD или ещё что. Правда там пока проблемы с заполненными линиями.

ИМХО, в постскрипте поправильнее будет - виндовый акробат ридер (есть почти у всех по умолчанию) или фоксит ридер должен взять.
А уж в линухе PS - почти нативный формат.
Да и линии в PS заполнены будут.
:-)
Цитата(faa @ Mar 14 2012, 17:03) *
УПД2: На 20 апреля намечается конференция в МВТУ по СПО, в том числе и по KiCAD-у.
Пригласили поделиться опытом.
Если форс-мажоров не будет, то буду речь держать.
Если у кого есть желание поучаствовать, то можно посодействовать.


А что за конференция? Что за МВТУ? wink.gif Есть какие-нибудь ссылки?
Aldan
Итак, вот что у меня получилось.
Я передумал редактировать модули с целью выключения видимости значений по двум причинам:
- это не получилось сделать «двумя кликами» при помощи «найти и заменить» т.к. необходимые для поиска группы символов, в которых нужно заменить V на I присутствуют одновременно и в значениях и в позициях, а рядом расположенные дополнительные символы не позволяют сделать выделение однозначно,
- если видимость будет выключена в самом модуле, то включить ее обратно не прибегая к новому редактированию уже не будет никакой возможности.
Пробую воспользоваться «Чертить» все типы файлов.
В результате выяснилось следующее:
- ни .plt ни .ps не читаются акробатом и самим Кикадом не распечатываются,
- при помощи .dxf можно добиться результата, но имеющееся на данный момент качество отображения далеко от совершенства,
- вывод на печать gerber-файла показал самый лучший результат, но, как и в случае с .dxf-файлом вывод не ведется на ГОСТ-форматку.
Из всего этого следует, что наилучший результат, причем без применения бубна, будет достигнут только тогда, когда на принтер будет таки выводится именно то, что пользователь видит на своем мониторе, а не то, что выводится сейчас. На мой взгляд это очень правильная «хотелка».
Ну и переход настроек из старого проекта в новый (т.е. сохранение их в некотором кикадовском файле) – тоже очень востребованная «хотелка».
gte
Цитата(MrYuran @ Mar 14 2012, 16:11) *
Первое, что надо заявить - что это практически альтиум дизайнер, разве что без некоторых нюансов, но лучше, удобнее и бесплатный sm.gif

Заявлять можно, но PCB редактор не достиг еще уровня, например, OrCAD Layout 7 (1997).
P.S. Только не надо воспринимать как наезд. Спасибо тем кто трудится над его совершенствованием, но это не повод для самообмана.
zöner
попробуйте Ghostscript, использую и в Linux, и в Windows
Цитата
но PCB редактор не достиг еще уровня, например, OrCAD Layout 7
но PCAD4.5-2006 (я работал во всех версиях) уже почти переплюнул... Остались мелкие недоработки, но они быстро исправляются... На Пикаде все еще работают куча предприятий и разработчиков...

А можно сделать чтобы в схематике при редактировании цепей (кнопка "G") не захватывались все соседние элементы ?
Это имхо главный недостаток по сравнению с Пикадом, где можно выделить нужные элементы/дорожки (удерживая Ctrl/Shift).
Думаю при определении объекта под курсором нужно учитывать попадание на линию, а не просто в ограничивающий прямоугольник объекта...
break
Aldan
- вывод на печать gerber-файла показал самый лучший результат, но, как и в случае с .dxf-файлом вывод не ведется на ГОСТ-форматку.
Надо при "черчении" Установить в параметрах "Чертить форматную рамку на всех слоях".

zöner
А можно сделать чтобы в схематике при редактировании цепей (кнопка "G") не захватывались все соседние элементы ?
Про этот глюк уже неоднократно писали. В какой-то версии испортили, до того было нормально.
_Pasha
Цитата(zöner @ Mar 14 2012, 22:45) *
Это имхо главный недостаток по сравнению с Пикадом

Нее, главный недостаток, - это когда нажатие Enter != нажатие левой кнопки мыши. Ну очень неудобно.
Aldan
Цитата(zöner @ Mar 14 2012, 23:45) *
попробуйте Ghostscript, использую и в Linux, и в Windows

Я продолжил свои эксперименты и обнаружил, что PDFCreator, который стоит у меня виртуальным принтером для создания PDF-файлов, может конвертировать и ps-файлы. Так что необходимости в Ghostscript нет. Но, в этом случае распечатка тоже ведется не в ГОСТтовской рамке, которая чаще всего необходима.
Так что цивилизованное решение рассматриваемой проблемы только одно - привести печать на принтер в соответствие распечатываемому изображению с монитора. Если на мониторе значения не видны, то и при печати они не должны появлятся.
Цитата(break @ Mar 15 2012, 10:17) *
Надо при "черчении" Установить в параметрах "Чертить форматную рамку на всех слоях".

Да, что-то я не проявил дотошности и не заметил этой возможности. Таким образом, на ближайшее время решение проблемы найдено и переделывать библиотеки модулей не придется. Но, все же лучше всего доделать вменяемый вывод на печать - распечатка не должна отличаться от изображения на мониторе.
break
faa
1. В редакторе модулей при редактировании графических элементов (кстати появилась возможность править свойства, что очень давно хотелось, за что большое спасибо) в меню по ПКМ "Править" 2 пункта "Изменить ширину контура на слое (Текущий)" и "Изменить ширину контура на слое (Все)" названы неправильно. На самом деле они изменяют слой графического элемента. С появлением пункта меню "Редактировать контур элемента" эти пункты (и пункты "Изменить ширину контура (Текущую)" и "Изменить ширину контура (Все)") становятся ненужными, можно их удалить.
2. В разводчике на вкладке "Отображать" пропал перевод на все языки, отображается только по-английски.
(Ещё любопытное наблюдение - названия слоёв на некоторые языки переводятся, на некоторые - нет.)

Application: Pcbnew
Version: (2012-03-13 BZR 3460 GOST)-testing
Build: wxWidgets 2.8.12 (no debug,Unicode,compiler with C++ ABI 1002,GCC 3.4.5,wx containers,compatible with 2.6)
Platform: Windows XP (build 2600, Service Pack 3), 32 bit, Little endian, wxMSW
Options: USE_PNG_BITMAPS=ON
KICAD_GOST=ON
USE_WX_GRAPHICS_CONTEXT=OFF
USE_WX_OVERLAY=OFF
USE_BOOST_POLYGON_LIBRARY
MrYuran
Цитата(gte @ Mar 14 2012, 22:03) *
Заявлять можно, но PCB редактор не достиг еще уровня, например, OrCAD Layout 7 (1997).
P.S. Только не надо воспринимать как наезд. Спасибо тем кто трудится над его совершенствованием, но это не повод для самообмана.

Да я пошутил, а Вы что подумали sm.gif

Просто к нам как-то продаватели альтиума нагрянули с заманчивыми предложениями отовариться на полляма, так после такого заявления у них челюсть настолько отвисла, что закончить презентацию так и не смогли.
Разводчик, имхо, намного удобнее, чем родной в пикаде.
faa
Цитата(:-) @ Mar 14 2012, 21:07) *
А что за конференция?

По конференции тут
Цитата(:-) @ Mar 14 2012, 21:07) *
Что за МВТУ? ;)

Бауманка тут
break
faa
Критический баг в Eeschema: Если поставить на вывод элемента флага "не соединено", потом сразу переключиться на рисование проводников и попробовать провести проводник, то проводник не проводится, а проводится шина чудовищной толщины, причём в другом направлении, после чего Eeschema может вылететь с ошибкой сразу, а может при дальнейших действиях (при нажатии ПКМ - точно). После таких манипуляций закрытие Eeschema однозначно происходит с ошибкой.
Обойти можно поставив в любом месте ещё один флаг "не соединено" и удалив его. После чего можно переключаться на рисование проводников и спокойно рисовать дальше.

Application: Eeschema
Version: (2012-03-13 BZR 3460 GOST)-testing
Build: wxWidgets 2.8.12 (no debug,Unicode,compiler with C++ ABI 1002,GCC 3.4.5,wx containers,compatible with 2.6)
Platform: Windows XP (build 2600, Service Pack 3), 32 bit, Little endian, wxMSW
Options: USE_PNG_BITMAPS=ON
KICAD_GOST=ON
USE_WX_GRAPHICS_CONTEXT=OFF
USE_WX_OVERLAY=OFF
USE_BOOST_POLYGON_LIBRARY

P.S. В версии 3395 такого точно нет.
:-)
Цитата(faa @ Mar 16 2012, 11:01) *
По конференции тут

Бауманка тут


Спасибо за ссылки. Возможно, тоже поучаствую...
_Pasha
Цитата(Aldan @ Mar 14 2012, 15:55) *
Лишь бы все эти действия не были еще более сложными, чем заново сделать настройки нового проекта sm.gif

1. Создали проект с одним пустым листом схемы и одной пустой *.brd
2. Там - создали все настройки.

3. Копируете эти пустые файлы под нужными именами (==имя будущего проекта) в нужную директорию.
4. После коприрования, там же создаете новый проект из манагера проектов.
faa
Цитата(break @ Mar 16 2012, 12:16) *
Критический баг в Eeschema:
P.S. В версии 3395 такого точно нет.

Угу sad.gif
Внесли где-то между 3422 и 3443.
А я там как раз не собирал промежуточные сборки.
Надо в баг-трекер отписать - пусть чинять. А то нарефакторили хз что sad.gif
Aldan
Цитата(_Pasha @ Mar 16 2012, 13:21) *
1. Создали проект с одним пустым листом схемы и одной пустой *.brd.....

Да, такое решение не сильно напрягает, но все же это танец с бубном, а не цивилизованная работа в CAD-е.
faa
Цитата(Aldan @ Mar 16 2012, 14:36) *
Да, такое решение не сильно напрягает, но все же это танец с бубном, а не цивилизованная работа в CAD-е.

От танцев с бубнов тут ничего нет.
Проблема выеденного яица не стоит, а флейма навели...
Уже неоднократно рассказали про пути решения (см. выше).
Позволю себе подвести итог вышесказанному:
Если у Вас бесконечное множество проектов одинаковых - то создайте шаблон, в котором будут
pro, sch и brd файлы с необходимыми настройками и клонируйте его. Причем pro можно обозвать как kicad.pro и положить в share\kicad\template\
Если проекты отличаются, то все равно менять настройки и потратить 5 (ну, пусть, 10 минут) для первоначальной настройки проекта ИМХО не составит проблемы.


Цитата(break @ Mar 16 2012, 12:16) *
Критический баг в Eeschema:
...
P.S. В версии 3395 такого точно нет.


Написал в баг-трекер. Пусть Вано с Диком чинят - они накосячили.
Похоже, стек рушат (возвращают ссылку на локальный объект или что-то типа того).
break
faa
В Eeschema при создании BOM'а по методу "Один тип в строке" в списке иногда перечисление позиционных обозначений идёт от большего к меньшему. Ещё почему-то не группируются одинаковые элементы с по-разному заполненными полями. (В разъёмах - заготовка и тип одни и те же, только отредактированы поля - названия цепей - прямо на схеме).

Если проекты отличаются, то все равно менять настройки и потратить 5 (ну, пусть, 10 минут) для первоначальной настройки проекта ИМХО не составит проблемы.
Абсолютно согласен. Но вот если бы можно было узнавать номера цепей заранее, или, при назначении правил, выбор цепи приводил к установке курсора на эту цепь в схематике...
faa
Цитата(break @ Mar 16 2012, 16:22) *
В Eeschema при создании BOM'а по методу "Один тип в строке" в списке иногда перечисление позиционных обозначений идёт от большего к меньшему. Ещё почему-то не группируются одинаковые элементы с по-разному заполненными полями. (В разъёмах - заготовка и тип одни и те же, только отредактированы поля - названия цепей - прямо на схеме).

Не замечал такого.
А можно пример таких косяков в виде проекта в студию или в мыло?

Цитата(break @ Mar 16 2012, 16:22) *
Но вот если бы можно было узнавать номера цепей заранее, или, при назначении правил, выбор цепи приводил к установке курсора на эту цепь в схематике...

Ну если на цепи ставить метки (удобоваримые), то будут не номера, а метки - по ним легче ориентироваться будет.
А вот скакать по цепям в схематике при настройке в pcb классов по цепям и ширин мысль интересная - посоображаю,
как это можно реализовать (к cvpcb похожий функционал прикрутился почти без проблем).
break
faa
Вот проект. (Почему-то в личке нельзя файлы посылать.)

метки - по ним легче ориентироваться будет
Ну, например, в этом проекте нужно сделать особую цепь между 1 контактом R97 и 4 контактом XP8. Ставить туда метку - не кошерно и не халяльно wink.gif .
Aldan
Решил еще раз выложить библиотеки, т.к. в них накопилось много изменений и все пришло к более завершенному виду.
Со времен последней публикации http://electronix.ru/forum/index.php?showt...st&p=963223
- библиотека Main.lib подросла на 10%,
- библиотека Main.mod подросла на все 30%,
- 3D-библиотека увеличилась примерно на 20%.
Библиотеки Main.lib и Main.mod расположены в прикрепленном файле KiCAD_Lib_Mod_16.03.12.zip, а 3D-библиотека - KiCAD_3DLib_16.03.12.7z, имеющая размер больший, чем разрешенные 5 МБ, расположена по ссылке http://narod.ru/disk/43885235001.1cffa8c5c...6.03.12.7z.html
Кроме того, добавил kicad.pro-файл, настроенный на загрузку именно этих библиотек. Перепроверил и привел в порядок пути в Main.mod к 3D-библиотеке. Снабдил все небольшим readme-файлом. Структура Main.mod приобрела более законченный вид.
Также предлагаю для пробы две сборки Кикада последней стабильной версии kicad_stable_bin_3258.zip ftp://109.71.246.126/pub/kicad/install/win/ укомплектованные этими библиотеками:
- KiCad_stab_3258_GOST_Portable.7z (29,8 МБ) - полная версия с доками, примерами и 3D-библиотекой http://narod.ru/disk/43885471001.24637b69d...ortable.7z.html
- KiCad_stab_3258_GOST_Portable_Lite.7z (6,26 МБ) - облегченная версия, содержащая только необходимое для создания полноценных проектов http://narod.ru/disk/43885301001.2d2ab4052...le_Lite.7z.html
Как видно, эти сборки сделаны простой доукомплектацией готовой сборки с фтп. Они не требуют установки и работать ими, при необходимости, можно прямо с флешки.
viknn
ftp://kicad.r4b.ru/pub/kicad/doc/ru_2012/
размещена обновленная документация по KiCAD на русском языке (в 6 файлах pdf)
в папке odt - русская документация в формате ODT (LibreOffice 3.5)
в папке en - текущая оригинальная документация (англ.)

ftp://kicad.r4b.ru/pub/kicad/library/aldan/
размещены обновленные библиотеки lib/mod/3d от Aldan
Aldan
Цитата(viknn @ Mar 18 2012, 21:37) *
ftp://kicad.r4b.ru/pub/kicad/library/aldan/
размещены обновленные библиотеки lib/mod/3d от Aldan

viknn, благодарю за столь оперативное размещение библиотек на фтп, но, пожалуйста, уберите прошлогодние библиотеки в папочку "old", которая для того и задумана, чтобы убирать в нее старье, а по главной ссылке оставлять только лучшее, дабы не было путаницы.
faa
Цитата(viknn @ Mar 18 2012, 21:37) *
ftp://kicad.r4b.ru/pub/kicad/doc/ru_2012/
размещена обновленная документация по KiCAD на русском языке (в 6 файлах pdf)
в папке odt - русская документация в формате ODT (LibreOffice 3.5)
в папке en - текущая оригинальная документация (англ.)

Спасибо, Юрий. Отличная работа.
Закоммитил в doc на lp с сохранением авторства.
viknn
Цитата(Aldan @ Mar 18 2012, 20:59) *
viknn, благодарю за столь оперативное размещение библиотек на фтп, но, пожалуйста, уберите прошлогодние библиотеки в папочку "old", которая для того и задумана, чтобы убирать в нее старье, а по главной ссылке оставлять только лучшее, дабы не было путаницы.

Так и сделал.
faa
Цитата(break @ Mar 16 2012, 17:58) *
Вот проект. (Почему-то в личке нельзя файлы посылать.)

Вот что выдает вывод "текст для импорта в эл.таблицу"
CODE
ref;value;datasheet;footprint
C1;0,47 мк;;C_0805;1
C2..C8;0,1 мк;;C_0805;7
C9,C10;0,47 мк;;C_0805;2
C11;0,1 мк;;C_0805;1
C12;0,47 мк;;C_0805;1
C13..C20;0,1 мк;;C_0805;8
C21,C22;22;;C_0805;2
C23;0,47 мк;;C_0805;1
C24,C25;10 мк;;C_2220;2
C26;0,1 мк;;C_1206;1
C27;22 мк;;C_1210;1
C28;0.1 мк;;C_0805;1
C29..C32;0,1 мк;;C_0805;4
C33;330;;C_0805;1
R1..R4;4,7 к;;R_0805;4
R5..R8;1 к;;R_0805;4
R9..R32;4,7 к;;R_0805;24
R33..R64;1 к;;R_0805;32
R65..R68;100 к;;R_0805;4
R69..R72;180;;R_0805;4
R73;10;;R_0805;1
R74..R83;4,7 к;;R_0805;10
R84..R93;1 к;;R_0805;10
R94;10 к;;R_0805;1
R95;10;;R_0805;1
R96;300;;R_0805;1
R97;10;;R_1206;1
R98,R99;6,8 к;;R_0805;2
R100,R101;470;;R_0805;2
VD9;SMAJ26A;;DO-214AC_s;1


И на перловке у меня есть костылик, который этот текст добавляет к схеме.
CODE
#!/usr/bin/perl

$cc0402 = " ±20% 6,3V X7R 0402";
$cc0603 = " ±20% 10V X7R 0603";
$ccx2y0603 = " ±20% 10V X7R X2Y 0603";
$cc0805 = " ±20% 25V X7R 0805";
$cc1206 = " ±20% 16V X7R 1206";
$cc1210 = " ±20% 25V X7R 1210";

#print "Text Notes " . $x . " " . $y . " 0" . " 60 ~ 0\n";

$y1 = 800; # first row
$x1 = 9100; # first col
$ym = 16000; # end row
# +700 - desc
# +5400 - qty
# +7400 - two col
# +14800 - 3 col

$yp = $y1;
$xp = $x1;

$b = "";

$yp += 300;

while (<>) {
chomp;
($pos, $nom, $typ, $pac, $qty) = split(";");
$out = "";
if ($pos =~ /^C/) {
$out = "";
if ($nom =~ /,/) {
$out = $out . $nom . " мкФ";
} else {
$out = $out . $nom . " пФ ";
}
if ($pac =~ /SM0402/) {
$out = $out . $cc0402;
} elsif ($pac =~ /SM0603/) {
$out = $out . $cc0603;
} elsif ($pac =~ /SM0805/) {
$out = $out . $cc0805;
} elsif ($pac =~ /SM1206/) {
$out = $out . $cc1206;
} elsif ($pac =~ /SM1210/) {
$out = $out . $cc1210;
} elsif ($pac =~ /X2Y0603/) {
$out = $out . $ccx2y0603;
} else {
$out = $nom . " ". $tip . " " . $pac;
}
} elsif ($pos =~ /^RA/) {
$out = " резисторная сборка ";
$out = $out . $nom; # . "Ом ";
} elsif ($pos =~ /^R/) {
$out = "";
if ($nom =~ /K/) {
if ($nom =~ /^\d+K\d+$/) {
$nom =~ s/K/,/;
}
$out = $out . $nom . " кОм";
} elsif ($nom =~ /M/) {
if ($nom =~ /^\d+M\d+$/) {
$nom =~ s/M/,/;
}
$out = $out . $nom . " мОм";
} else {
$out = $out . $nom . " Ом ";
}
$out = $out . " ±5%";
if ($pac =~ /SM0402/) {
$out = $out . " 0,0625 Вт 0402";
} elsif ($pac =~ /SM0603/) {
$out = $out . " 0,125 Вт 0603";
} elsif ($pac =~ /SM0805/) {
$out = $out . " 0,25 Вт 0805";
} else {
$out = $out . " " . $pac;
}
} elsif ($pos =~ /^D[A|D]/) {
$out = "";
$out = $out . $nom . " " . $pac; # . "Ом ";
}

print "Text Notes " . $xp . " " . $yp . " 0" . " 60 ~ 0\n";
print $pos . "\n";
if ($out ne "") {
$out = $out . "\n";
} else {
$out = $nom . " " . $typ . " " . $pac . "\n";
}
print "Text Notes " . ($xp + 700) . " " . $yp . " 0" . " 60 ~ 0\n";
print $out;
print "Text Notes " . ($xp + 5400) . " " . $yp . " 0" . " 60 ~ 0\n";
print $qty . "\n";

if ($b ne substr($pos, 0, 1)) {
$b = substr($pos, 0, 1);
$yp += 300;
if ($yp > $ym) {
$yp = $y1 + 300;
$xp += 7400;
}
} else {
$yp += 100;
if ($yp > $ym) {
$yp = $y1;
$xp += 7400;
}
}
}


Можно (и нужно) его подправить под свои требования.
viknn
Один из первых ГОСТов по СПО - Общие положения, ГОСТ Р 54593-2011, действует с 01.01.12
break
faa
Вопрос был не про "текст для импорта в эл.таблицу", а про "Один тип в строке".
В самом начале прикреплённого файла:
Код
        0.1 мк      1    "C28"                                     C_0805
             10      2    "R73 R95"                                     R_0805
             10      1    "R97"                                     R_1206
             22      2    "C22 C21"                                     C_0805
            180      4    "R72 R71 R70 R69"                                     R_0805

В четвёртой и пятой строке нарушен порядок нумерации.
faa
Цитата(break @ Mar 20 2012, 10:35) *
Вопрос был не про "текст для импорта в эл.таблицу", а про "Один тип в строке".
В четвёртой и пятой строке нарушен порядок нумерации.

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

ЗЫ: Если будете еще проекты выкладывать, то cache библиотеки прикладывайте, а то нет элементов на схеме (квадраты с вопросами) и смотреть не удобно.
break
faa
В Pcbnew из контекстного меню посадочного места пропал пункт "Зафиксировать" (горячая клавиша работает), фиксация/освобождение не запоминается в буфере отмены и не считается изменением (кнопка сохранения остаётся неподсвеченной).

Если будете еще проекты выкладывать, то cache библиотеки прикладывайте
Хорошо. (OrCAD'овская привычка - там всё внутри было. sad.gif)
faa
Цитата(break @ Mar 20 2012, 10:35) *
Вопрос был не про "текст для импорта в эл.таблицу", а про "Один тип в строке".


CODE

0,1 мк; 20;"C2 C3 C4 C5 C6 C7 C8 C11 C13 C14 C15 C16 C17 C18 C19 C20 C29 C30 C31 C32"; ; C_0805
0,1 мк; 1;"C26"; ; C_1206
0,47 мк; 5;"C1 C9 C10 C12 C23"; ; C_0805
0.1 мк; 1;"C28"; ; C_0805
1 к; 46;"R5 R6 R7 R8 R33 R34 R35 R36 R37 R38 R39 R40 R41 R42 R43 R44 R45 R46 R47 R48 R49 R50 R51 R52 R53 R54 R55 R56 R57 R58 R59 R60 R61 R62 R63 R64 R84 R85 R86 R87 R88 R89 R90 R91 R92 R93"; ; R_0805
10; 2;"R73 R95"; ; R_0805
10; 1;"R97"; ; R_1206
10 к; 1;"R94"; ; R_0805
10 мк; 2;"C24 C25"; ; C_2220
100 к; 4;"R65 R66 R67 R68"; ; R_0805
180; 4;"R69 R70 R71 R72"; ; R_0805
22; 2;"C21 C22"; ; C_0805
22 мк; 1;"C27"; ; C_1210
300; 1;"R96"; ; R_0805
330; 1;"C33"; ; C_0805
4,7 к; 38;"R1 R2 R3 R4 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29 R30 R31 R32 R74 R75 R76 R77 R78 R79 R80 R81 R82 R83"; ; R_0805
470; 2;"R100 R101"; ; R_0805
6,8 к; 2;"R98 R99"; ; R_0805
SMAJ26A; 1;"VD9"; ; DO-214AC_s


Вроде как пофиксил.
Закоммичу сегодня.
UPD: bzr3472
faa
Цитата(break @ Mar 20 2012, 15:56) *
В Pcbnew из контекстного меню посадочного места пропал пункт "Зафиксировать" (горячая клавиша работает),
фиксация/освобождение не запоминается в буфере отмены и не считается изменением (кнопка сохранения остаётся неподсвеченной).

Не пропал. Последствия наведения порядка в интерфейсе.
Если нажать кнопку на верхнем тулбаре "Режим посадочных мест", то все будет и в контекстном меню.
А горячая клавиша - это для тех, кто знает что и зачем делает wink.gif
Aldan
Подскажите, пожалуйста, как раз и навсегда при генерации ВОМ скрыть поле "даташит", чтобы оно больше никогда не появлялось? Ведь это поле никакого отношения к ГОСТовскому перечню не имеет. Так что же оно все время вылезает и глаза мозолит? Как же его искоренить?
faa
Цитата(Aldan @ Mar 20 2012, 23:36) *
Подскажите, пожалуйста, как раз и навсегда при генерации ВОМ скрыть поле "даташит", чтобы оно больше никогда не появлялось? Ведь это поле никакого отношения к ГОСТовскому перечню не имеет. Так что же оно все время вылезает и глаза мозолит? Как же его искоренить?

В ГОСТ-сборке это поле было специально добавлено Юрием Викуловым для вывода ТУ и т.п. вещей, которые требуются нормоконтролем.
Выносить это поле из ГОСТ-сборки, ИМХО, нецелесообразно (т.к. активно его используем).
Если для оформления перечня пользуетесь электронными таблицами (exel, oocalc и пр.), то просто пропустите при вводе или скройте этот столбец.
Aldan
Цитата(faa @ Mar 21 2012, 00:09) *
В ГОСТ-сборке это поле было специально добавлено Юрием Викуловым для вывода ТУ и т.п. вещей, которые требуются нормоконтролем.
Выносить это поле из ГОСТ-сборки, ИМХО, нецелесообразно (т.к. активно его используем).

Теперь понял. Я-то думал, что это наследие от импортной сборки, ведь у них в полной сборке есть еще куча ПДФок, которые все игнорируют. Думал, что это для них.
Так может быть и назвать это поле именно "ТУ" или более обще - "примечание"? Впрочем, если всех устраивает, то пусть остается все так, как есть.
Кроме того, когда-то может быть будет сделан вывод перечня по ГОСТу и там нынешние названия полей вообще будет не важно, т.к. все будет определять бланк форматки.
adnega
Долго бодался с BOM...
В конце-концов написал скрипт на perl, который объединяет, группирует, сортирует и делает другую полезную работу для приведения перечня элементов к заданному виду.

Было:
C1..C3;C-0.1U;~;SMCCAP/0805-50-100n-K-X7R;ЧИП конденсатор керамический, 0805, X7R, 0.1мкФ х 50В, 10%;0.1;B;0.1u;3
C4..C12;C-0.1U;~;SMCCAP/0805-50-100n-K-X7R;ЧИП конденсатор керамический, 0805, X7R, 0.1мкФ х 50В, 10%;0.1;T;0.1u;9
C13;C-33P;~;SMCCAP/0603-50-33p-F-NP0;ЧИП конденсатор керамический, 0603, NP0, 33пФ x 50В, 1%;33;T;33p;1
C14..C16;C-0.1U;~;SMCCAP/0805-50-100n-K-X7R;ЧИП конденсатор керамический, 0805, X7R, 0.1мкФ х 50В, 10%;0.1;T;0.1u;3
C17;C-33P;~;SMCCAP/0603-50-33p-F-NP0;ЧИП конденсатор керамический, 0603, NP0, 33пФ x 50В, 1%;33;T;33p;1
C18;C-0.1U;~;SMCCAP/0805-50-100n-K-X7R;ЧИП конденсатор керамический, 0805, X7R, 0.1мкФ х 50В, 10%;0.1;B;0.1u;1
C19;CT-22U35V;~;SMTCAP/D-35-22.0-M;ЧИП конденсатор танталовый, D, 22мкФ х 35В, 10%;22uF;B;226;1
C20;C-470P;~;SMCCAP/0805-50-470p-J-NP0;ЧИП конденсатор керамический, 0805, NP0, 470пФ х 50В, 5%;470p;B;471;1
C21;CT-47U16V;~;SMTCAP/C-16-47.0-M;ЧИП конденсатор танталовый, C, 47мкФ х 16В, 20%;47uF;T;47u;1
C22;C-0.1U;~;SMCCAP/0805-50-100n-K-X7R;ЧИП конденсатор керамический, 0805, X7R, 0.1мкФ х 50В, 10%;0.1;T;0.1u;1
C23;C-33P;~;SMCCAP/0603-50-33p-F-NP0;ЧИП конденсатор керамический, 0603, NP0, 33пФ x 50В, 1%;33;T;33p;1

Стало:
POS.RS485
ORDER.OTHER
P;BOX3;DCMARK04MV1;Наклейка для DC-04m, версия 1;1
T;FU1;N25;Предохранитель плавкий 1A, в плату.;1
B;G1;EECS5R5H105;Ионистор 1.000 Ф х 5.5В 20мм 1906H, EECS5R5H105;1
B;PCB2;pcb_dc_04m_b_ver1;Печатная плата pcb_dc_04m_b_ver1 для контроллера DC-04m (нижняя), 129.5х71.8х1.5мм;1
T;PCB1;pcb_dc_04m_t_ver1;Печатная плата pcb_dc_04m_t_ver1 для контроллера DC-04m (верхняя), 129.5х71.8х1.5мм;1
ORDER.микросхемы
B;DA6;IRF7495;MOSFET N-канальный транзистор IRF7495, 100V, 22mOhm@VGS = 10V, 7.3A, SO8;1
B;DA7;LM1117DT-3.3;Стабилизатор линейный LM1117DT-3.3, TO252;1
B;DA5;LTC3873ETS8;Микросхема LTC3873ETS8, импульсный преобразователь напряжения, 3..60В, 200кГц, TS8;1
B;DA3..DA4;MC33063AD;Микросхема MC33063AD, импульсный преобразователь напряжения, 3..40В, 1А, 100кГц;2
T;DA1..DA2;ULN2003A;Микросхема ULN2003A, 7 транзисторных ключей, SO16;2
T;DD1..DD2;74HC595D;Микросхема 74HC595D, сдвиговый регистр 8-бит, SO16;2
ORDER.полупроводники
B;VD40..VD41;1N5819;Диод Шоттки 1N5819, 40В, 1А;2
B;VD15, VD21;30BQ040;ЧИП диод, 40В, 3А;2
T;VD1, VD6..VD7, VD12..VD14, VD18..VD20, VD24..VD28;SMBJ6.0A;ЧИП диод защитный, 600Вт, 6В, DO214AA;14
B;VD35, VD37;SMBJ6.0СA;ЧИП диод защитный, 600Вт, 6В, симметричный, DO214AA;2
T;VT1..VT4;BC807-25;Транзистор PNP, BC807-25, -45В, 500мА, SOT23;4
ORDER.конденсаторы
B;C55..C56, C87;67-134-81/50CE47AX;Конденсатор электролитический SANYO SMD LOW ESR 50CE47AX, размер 6.3x7.7, 47мкФ x 50В;3
B;C85..C86;SMCCAP/0603-50-12p-F-NP0;ЧИП конденсатор керамический, 0603, NP0, 12пФ x 50В, 1%;2

Управляется конфиг-файлом типа:
[pos]
RS485: B, T, R, P
ETH: E, A
[order]
микросхемы: DA, DD, U
полупроводники: VD, VT
конденсаторы: C
резисторы: R
индуктивности, реле и кварцы: L, T, K, TR, ZQ
разъемы: XP, XS, X
[price]
Прайс 10-го магазина: price.txt
[end]
faa
Цитата(adnega @ Mar 21 2012, 13:39) *
Долго бодался с BOM...
В конце-концов написал скрипт на perl, который объединяет, группирует, сортирует и делает другую полезную работу для приведения перечня элементов к заданному виду.


Замечательно. А где сам скрипт-то?
И описание или краткое руководство пользователя?
Или лицензия не позволяет?
А если позволяет, то можно на фтп рядом с кикадом разместить.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.