Skip navigation

OK2RKB | ENG · GER · RUS · FRA · POL · HUN | Main · IE+ · IE- · Prn · Pda · CSSoff

OK2PPK » Texty » Programy » MkBmpW | ---

MkBmpW

offline program

MkBmpW - utilita na export z Eagle do obrázku

v1.1 (2013/10), konzolová aplikace Win32Api

autor OK2PPK

Program MkBmpW je pomocná utilita pro získání barevného výstupu do souboru s obrázkem ze starších verzí (cca kolem v3.5) návrhového systému na plošné spoje Eagle. V současnosti je to myslím v jeho novějších verzích již překonané, ale tehdy byl standardně nabízen pouze černobílý výstup do formátu TIFF v rozlišení 300dpi, a barevný export schema nebo spoje do souboru s obrázkem byl možný leda tak přes hardcopy obrazovky.

Použil jsem možnosti zabudovaného CAM processoru, kde bylo možné si uživatelsky doprogramovat svoje vlastní zařízení, a vytvořil jsem si vlastní nová zařízení nazvaná BMPPSCH a BMPPBRD (najdete je v příkladu souboru eagle.def, který je přibalen do balíku zip níže), pomocí kterých lze CAM processorem vyexportovat data ven do souboru v podobě barevné bitmapy, který sice není možné přímo otevřít v nějakém grafickém editoru, ale je mi známa jeho datová struktura. Soubor jsem si pracovně označil příponou BPP (jako BMP pomocný). Následně bylo potřeba tento soubor převést do podoby nějakého známého bitmapového formátu - zvolil jsme si typ obrázků BMP. Utilita MkBmpW převede pomocný pracovní soubor BPP, získaný z CAM processoru, do známého formátu BMP, a tento je již možné zpracovávat běžnými grafickými editory nebo prohlížeči obrázků. Protože výstup z CAM processoru je v 16-ti barvách, tak je např. vhodné poměrně veliký soubor BMP následně převést do nějakého bezeztrátového formátu, třeba PNG, nebo vzhledem k paletě o pouhých 16-ti barvách plně vyhovuje i obyčejný GIF. Převod do JPG je naopak nevhodný - ztrátová komprese vám rozmaže detaily a díky charakteru vstupních dat její účinnost nebude zase až o tolik lepší.

Příklad zařízení BMPPSCH pro 300dpi:
  [BMPPSCH]

  Type     = DotRow
  Long     = "BMP POM SCH (data pro tvorbu BMP - schemata)"
  ResX     = 300
  ResY     = 300
  Planes   = 4
  Header   = "POMBMP%c%c%c%c"
  Color.91 = 2
  Color.92 = 1
  Color.93 = 6
  Color.94 = 4
  Color.95 = 8
  Color.96 = 8
Příklad zařízení BMPPBRD pro 300dpi:
  [BMPPBRD]

  Type     = DotRow
  Long     = "BMP POM BRD (data pro tvorbu BMP - desky)"
  ResX     = 300
  ResY     = 300
  Planes   = 4
  Header   = "POMBMP%c%c%c%c"
  Color.1  = 4
  Color.16 = 1
  Color.17 = 2
  Color.18 = 2
  Color.44 = 2
  Color.45 = 2
  Color.19 = 14
  Color.20 = 15
  Color.21 = 7
  Color.22 = 7
  Color.23 = 7
  Color.24 = 7
  Color.25 = 7
  Color.26 = 7
  Color.27 = 7
  Color.28 = 7

Abych nemusel CAM processor vždy pracně nastavovat, připravil jsem si v něm několik úloh (jejich příklad najdete opět v níže uvedeném balíku zip v souboru eagle.cam), kterými jsem si pak vždy rychle přednastavil základní sadu parametrů, a pak už jsem před vlastním exportem pouze modifikoval ty parametry, které jsem potřeboval zrovna nastavit jinak (např. výběr vrstev nebo zrcadlení apod.). Upozorňuji, že si musíte ty úkoly v přiložené ukázce případně zkorigovat podle svých potřeb, hlavně právě vrstvy a zrcadlení, měl jsem jen obecně nastavené nějaké výstupy pro schemata v několika měřítkách, pro výstup spodního spoje a pro pohled shora pro přípravu osazovacíhom plánu nebo horního spoje.

Protože export z editoru schemat a z editoru spojů může potřebovat jiný přístup k barvám, např. u jednoho je vhodné zaměnit bílou a černou a u druhého ne, tak utilita MkBmpW umožňuje načíst externí paletu ze souboru, kde si barvy změníte. V paletě přiřazujete barvám 0-15, které byly získány jako výstup z CAM processoru, skutečné hodnoty barev RGB. V balíku zip níže jsou tři ukázky palety, jedna se standardními 16ti barvami, druhá má některé z barev zesvětlené a třetí má navíc prohozenou bílou a černou. V praxi pak při převodu spojů použijete utilitu bez třetího parametru, kdy pracuje s vnitřní paletou, a při převodu schemat jí přidáte jako třetí parametr odkaz na soubor palety s prohozenou bílou a černou. Nebo naopak, podle vaší skutečné potřeby.

Ve starších verzích Eaglu nebylo možné jednoduše získat ani inverzní výstup pro předlohu na výrobu spojů negativní fotocestou. Výše uvedeným postupem je to opět snadno možné. U zařízení BMPPBRD v CAM processoru je vhodné pro výstup na výrobu fotocestou zvýšit rozlišení na alespoň 600DPI, plán spojů se vyexportuje do souboru BPP, utilita MkBmpW umí pracovat i s vyššími rozlišeními, takže jí lze opět soubor BPP převést na BMP, a následně se provede inverze spoje v některém grafickém programu. Při tisku je pak potřeba správně nastavit velikosti obrázku, např.v XNVIEW stačí nastavit rozlišení obrázku na dané DPI v obou osách a při tisku zvolit tisk dle dpi a zkontrolovat si, zda výstup z tiskárny rozměrově souhlasí s originálními rozměry desky v návrhovém systému.

Na závěr ještě jednou upozorňuji, že celý postup je poplatný své době a dané verzi návrhového systému, pro jiné verze by ho možná bylo nutné upravit, nebo nemusí jít už vůbec použít, nebo je už zbytečný.

Syntaxe:
  MKBMPW soubor1 soubor2 [soubor_s_paletou] ... převede soubor1 na soubor2

    soubor1 ... vstupní soubor (BPP) získaný jako výstup z CAM processoru Eagle
    soubor2 ... výstupní soubor - obrázek ve formátu BMP
    soubor_s_paletou ... paleta, která se má použít místo výchozí

Stažení: mkbmpw11.zip - balík s programem a souvisejícími soubory (19kB)

Změny:

v0.1 2000/8 - výchozí verze, aplikace pro DOS.

v0.2 2000/11 - opraven chybný algoritmus práce s bitovými rovinami.

v0.3 2000/12 - upravena výchozí paleta (zesvětleny barvy 1, 2, 3, 4 a 5).

v0.4 2000/12 - doplněna možnost změnit výchozí paletu načtením jiné z externího souboru.

v1.0 2013/8 - první verze pro win, přepsáno z původní verse 0.4 pro DOS do konzolové aplikace pro Win32 API.

v1.1 2013/10 - zrychleno doplněním souborových V/V operací o vyrovnávací paměti

Nahoru