Вчера вечером начал писать простую программку, которая бы конвертировала герберы в картинку платы с двух сторон с правдоподобной раскраской (чтобы автоматом выдавала вот такое), ну и заодно показывала что она делает в окне. Для графики взял свою либу unigraf (написана мной в 2002, может работать поверх DOS, SVGALib или SDL, используется в моих эмуляторах спринтера и ориона) - заодно исправил там одну багу из-за которого пикселы в нижней части экрана размазывались по вертикали. Пока успехи на лицо - рисует почти правильно, осталось поддержать формат дырок (формат Excellon несколько отличается от формата Gerber) ну и непосредственно сохранение гифов закодить (или заюзать PNG?) - пока предполагается разрешение по умолчанию 1000 точек на дюйм.
Пока успехи на лицо - рисует почти правильно, осталось поддержать формат дырок (формат Excellon несколько отличается от формата Gerber)
Второй вечер работы над программой - герберы 100% рисует правильно (включая Excellon), причём C/C++ программка получилась всего 440 строк (скомпилированный бинарник в линухе весит 19К). Следует отметить, что я программку писал чисто наугад - глядя в текст герберов и предполагая как же оно должно на самом деле работать. Теперь осталось самое важное:
Shaos wrote:
ну и непосредственно сохранение гифов закодить (или заюзать PNG?) - пока предполагается разрешение по умолчанию 1000 точек на дюйм.
P.S. Интересно смотреть как оно прорисовывает - сделаю ка я видео этого процесса
ну и непосредственно сохранение гифов закодить (или заюзать PNG?) - пока предполагается разрешение по умолчанию 1000 точек на дюйм.
Сделал сохранение в GIF (через libgif), но прозрачность дырок никак не могу включить...
Сегодня поправил ещё одну неувязочку в поддержке формата, а также добавил поддержку 4-слойных печатных плат - теперь все мои герберы отображаются нормально! Выше обновил досовскую сборку
Вот примеры сгенерённых файлов (1000 точек на дюйм):
Joined: 08 Jan 2003 23:22 Posts: 22619 Location: Silicon Valley
Когда сконвертил все свои платы из игла обратил внимание, что на получившихся GIF-ах у SMD компонентов контактные площадки выглядят чуть больше чем надо (а у QFP вообще слипаются) - что там я не до конца расковырял...
Joined: 08 Jan 2003 23:22 Posts: 22619 Location: Silicon Valley
Shaos wrote:
Когда сконвертил все свои платы из игла обратил внимание, что на получившихся GIF-ах у SMD компонентов контактные площадки выглядят чуть больше чем надо (а у QFP вообще слипаются) - что там я не до конца расковырял...
Ещё одно known issue - вместо восьмиугольных контактных площадок моя программа рисует круглые
Joined: 08 Jan 2003 23:22 Posts: 22619 Location: Silicon Valley
На днях написал размножитель герберов https://gitlab.com/nedopc/sdk/blob/master/vultured/grb_mul.c(перенёс на гитлаб в мае 2019) Пример использования: grb_mul filename NX NY при этом программа принимая на вход набор гербер-файлов filename.ovl - board dimension (Gerber) filename.top or filename.L1 - top layer (Gerber) filename.L2 (optional) - middle upper layer (Gerber) filename.L3 (optional) - middle lower layer (Gerber) filename.bot or filename.L4 - bottom layer (Gerber) filename.smt - top solder mask (Gerber) filename.smb - bottom solder mask (Gerber) filename.slk - top silckscreen (Gerber) filename.drd - drills (Excellon) создаёт из них другой набор с размноженной копией оригинала NX x NY и суффиксом _NXxNY Например если NX=1 и NY=3, то в результате получится 3 копии 1х3 и у всех файлов будет суффикс _1x3 (типа filename_1x3.top и т.д.)
Joined: 08 Jan 2003 23:22 Posts: 22619 Location: Silicon Valley
Эти программки работают только с герберами, произведёнными в Eagle
Посмотрел чего генерит PCB из gEDA - надо серъёзно переписывать код, чтобы и его поддержать...
Joined: 06 Oct 2006 03:17 Posts: 859 Location: г.Лянтор,Сургутского р-на,ХМАО
С форматом Gerber- файлов я сталкнулся не давно, когда перешёл с PCAD2006 SP2 на Altium Designer. Этот формат чаще стали просить производители печатных плат. Вопрос к Shaosу: а нет ли утилиты под Windows данной конвертилки?
03 Sep 2011 22:19
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22619 Location: Silicon Valley
fifan wrote:
С форматом Gerber- файлов я сталкнулся не давно, когда перешёл с PCAD2006 SP2 на Altium Designer. Этот формат чаще стали просить производители печатных плат. Вопрос к Shaosу: а нет ли утилиты под Windows данной конвертилки?
Сырцы открыты - по идее должны собираться везде Одна проблема - стабильно работает только с герберами, сгенерёнными в Eagle Если очень нужно - могу заточить под Альтиум, но нужны примеры
Users browsing this forum: No registered users and 81 guests
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot post attachments in this forum