Uživatelské nástroje

Nástroje pro tento web


cs:tools

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
Následující verzeObě strany příští revize
cs:tools [2019/02/24 09:22] – [Generování seznamu součástek - BOM] jachocs:tools [2019/03/26 18:00] – [Skládání gerber dat] povik
Řádek 438: Řádek 438:
 === Skládání gerber dat === === Skládání gerber dat ===
  
-Pro skládáni dat lze využít program gerbmerge. Který se na internetu vyskytuje v několika různých větvích vývoje. Pro použití s programem kicad je vvýhodné použít relativně novou vývojovou větev [[http://www.dent.med.uni-muenchen.de/~kkunzelm/htdocs/6_software-tools-panelize_metric-kicad-files.html| prof.+Pro skládáni dat lze využít program gerbmerge. Který se na internetu vyskytuje v několika různých větvích vývoje. 
 +Pro použití s programem kicad je výhodné použít relativně novou vývojovou větev [[http://www.dent.med.uni-muenchen.de/~kkunzelm/htdocs/6_software-tools-panelize_metric-kicad-files.html| prof.
  Karl-heinz Kunzelmann]].  Ta vychází z prvotní verze 1.8. a dalších úprav. Poměrně významně se však liší od verze [[https://github.com/MLAB-project/gerbmerge3|gerbmerge3]], která ale má čistější zdrojový kód.    Karl-heinz Kunzelmann]].  Ta vychází z prvotní verze 1.8. a dalších úprav. Poměrně významně se však liší od verze [[https://github.com/MLAB-project/gerbmerge3|gerbmerge3]], která ale má čistější zdrojový kód.  
  
Řádek 459: Řádek 460:
 Nejprve je potřeba se dostat do místa, kde jsou data setu:  Nejprve je potřeba se dostat do místa, kde jsou data setu: 
   MLAB@MLAB:~/MLAB-project/gerbmerge/MLAB_panel/SET10A$   MLAB@MLAB:~/MLAB-project/gerbmerge/MLAB_panel/SET10A$
-Nastavení skládání setu je v souboru layout.cfg a v soboru placement.merge.txt je uloženo požadované rozložení v setu. Soubor s rozložením setu se vygeneruje atomaticky při prvním spuštění programu gerbmerge.+Nastavení skládání setu je v souboru [[http://www.gedasymbols.org/user/stefan_tauner/tools/gerbmerge/doc/layoutfile.html|layout.cfg]] a v soboru placement.merge.txt je uloženo požadované rozložení v setu. Soubor s rozložením setu se vygeneruje atomaticky při prvním spuštění programu gerbmerge.
 Vygenerování takto připravených dat se provede následujícím příkazem: Vygenerování takto připravených dat se provede následujícím příkazem:
   ../../src/gerbmerge/gerbmerge.py --place-file=placement.merge.txt layout.cfg   ../../src/gerbmerge/gerbmerge.py --place-file=placement.merge.txt layout.cfg
 +
 +=== Upravená verze programu gerbmerge pro MLAB ===
 +
 +V MLAB repozitáři [[https://github.com/MLAB-project/gerbmerge|gerbmerge]] existuje větev ust-patches, ve které se testují úpravy gerbmerge pro potřeby MLABu. Vychází z větve prof. Kunzelmanna.
 +
 +První změnou je přidání podpory pro vícero vrtacích vrstev. To je motivováno potřebou oddělit prokovené a neprokovené díry. Druhá změna pak umožňuje rozdělit konfiguraci do více souborů. To by mělo umožnit vyčlenit opakující se kusy konfigurace do sdílených souborů, na které se pak odkáže u konkrétní panelizační úlohy.
 +
 +Pro ilustraci se podívejme na panelizaci [[https://github.com/MLAB-project/gerbmerge/tree/ust-patches/MLAB_panel/02_PRO/2V/PRO201B|PRO201B]]. U ní se definice vrstev pro skládané MLAB moduly nachází v ''mlab_layers.cfg'':
 +
 +  [IncludeSection]
      
 +  *TopLayer=%(prefix)s-F.Cu.gbr
 +  *BottomLayer=%(prefix)s-B.Cu.gbr
 +  *TopSilkscreen=%(prefix)s-F.SilkS.gbr
 +  *TopSoldermask=%(prefix)s-F.Mask.gbr
 +  *BottomSoldermask=%(prefix)s-B.Mask.gbr
 +  Drills=%(prefix)s-PTH.drl
 +  DrillsNPTH=%(prefix)s-NPTH.drl
 +  BoardOutline=%(prefix)s-Edge.Cuts.gbr
 +
 +Za povšimnutí stojí definice dvou vrtacích vrstev ''Drills='' a ''DrillsNPTH=''. I v upravené verzi gerbmerge musí vždy existovat vrstva ''Drills''. Lze k ní však přidat další, která se jmenuje ''Drills'' a něco. Sekce ''[IncludeSection]'' v souboru značí, že se definice pod touto sekcí vloží do sekce, ze které bylo na tento soubor odkázáno. V ''mlab.cfg'', hlavním souboru s konfigurací, stojí:
 +
 +  [EEPROM02A]
 +  
 +  Prefix=%(projdir)s/../PRO201A/EEPROM02A/EEPROM02A
 +  Include = mlab_layers.cfg
 +  
 +  [HBSTEP01B]
 +  
 +  Prefix=%(projdir)s/../PRO201A/HBSTEP01B/HBSTEP01B
 +  Include = mlab_layers.cfg
 +  
 +  ... a podobně
 +
 +To znamená, že výše ukázaný ''mlab_layers.cfg'' se vloží pod sekci ''[EEPROM02A]'' a ''[HBSTEP01B]''. V obou se použijí stejné definice vrstev, jen se v nich za ''%(prefix)s'' doplní jiné prefixy cest. Zdrojové data jsou tu vzata ze sousedního projektu PRO201A. PRO201A a PRO201B jsou totiž podobné panelizace, jen PRO201B používá vlastnosti upraveného gerbmerge.
 +
 +Vedle ''mlab_layers.cfg'' se do ''main.cfg'' vloží ještě ''common.cfg'' a ''output_layers.cfg''. V tomto případě nezáleží na tom, z jaké sekce ''main.cfg'' bylo vložení vyvoláno, protože ve vkládaných souborech se nepoužívá sekce ''[IncludeSection]''. Obsah se vloží tak, jak je, tedy pod původní sekcí, pod kterou je zapsán v ''common.cfg'' a ''output_layers.cfg''.
 +
 +Na závěr si prohlídněme, jak je v PRO201B pro gerbmerge zadáno rozvržení skládaných modulů. gerbmerge nebude rozvržení hledat automaticky, místo toho vypočítá rozvržení ze zadání v [[https://github.com/MLAB-project/gerbmerge/blob/ust-patches/MLAB_panel/02_PRO/2V/PRO201B/layout.txt|layout.txt]]. Formát tohoto souboru je popsán [[http://www.gedasymbols.org/user/stefan_tauner/tools/gerbmerge/doc/layoutfile.html|v dokumentaci gerbmerge]].
 +
 +Skládání se pro PRO201B vyvolá např. takto:
 +
 +  $ cd MLAB_panel/02_PRO/2V/PRO201B
 +  $ python ../../../../src/gerbmerge/gerbmerge.py main.cfg layout.txt 
 +
 +Kde jsme prvně předali název hlavního konfiguračního souboru a poté souboru s rozvržením.
 +
 == GerberTools == == GerberTools ==
  
cs/tools.txt · Poslední úprava: 2023/02/06 21:52 autor: kaklik