Dxf2GRBL 
Program pro generování programu v G-code pro řezání křídel nebo jiných objektů na hotwire CNC řezačce z nákresu v DXF souboru.
Myšlenka při vývoji programu byla, že chci mít programování řezu plně pod svou kontrolou. Programy, které se běžně pro generování programu pro CNC řezačku používají, jsou částečně CADy a částečně interaktivní prostředky přípravu strategie řezání. Pro řezání křídla vychází ze souřadnic profilů v .DAT formátu, umí i načíst výkres DWG a potom se v nich nějakým způsobem určuje, jak má drát do řezu naběhnout, jak vyjet, umí vložit drážku pro nosník nebo vyříznout díru pro spojovací strubku. Umí nastavit prořez drátu a rychlosti řezu. Problém je v tom, že už je v těch programech zakomponována strategie tvůrce programu, problém je, že některé případy program nedokáže zvládnout. Buďto je neumí, nebo nějakým způsobem selhává. Když se podíváte do diskuzí uživatelů programů jako je Jedicut, Wing G-code Generator, DevFoam, DevWing Foam, AdriFoam X4 a podobně, najdete tam plno případů, které musí uživatelé těch programů řešit pracným obcházením, nebo které programem vůbec řešit nejdou.
Moje myšlenka je mít vše ve svých rukou, dráhu drátu si kompletně připravit sám. A když jsem přemýšlel, jak dráhu řezání připravit, kde ji nakreslit, tak mi celkem přirozeně přišel na mysl CAD a v mém případě Fusion.
Co potřebuji při přípravě řezu řešit:
- určit dráhu, po kterté má drát jet, aby řezal požadovaný tvat
- určit klíčové body na obou stranách do kterých musí drát dojet současně
- posunout dráhu drátu o prořez
- modifikovat profil tak, abych neměl odtokovku "do žiletky", ale aby odtokovka měla zadanou tloušťku
- nastavovat individuálně rychlosti řezu
- přidat do dráhy vyříznutí drážky pro nosníky nebo vyříznutí oantu křidélka nebo klapky
- vyříznout dutinu
- naprogramovat najetí do řezu
- naprogramovat vyjetí z řezu
- případně naprogramovat řezání více dílů najednou v jedné operaci
To všechno dovedu nakreslit v CADu! Profil dovedu snadno modifikovat, třeba upravit tu odtokovku. Snadno přidám korekci na propal (offset). Mohu zakreslit dráhu pro řezání drážek, dutin. Jednoduché je zadání pro šípové křídlo, jednoduché je geometrické překroucení křídla. V CADU kreslím ve dvou rovinách, které představují konec bloku materiálu.
Řezání drátem na CNC stroji probíhá stejně, jako když se řeže ručně. Řezaná dráha - typicky horní / dolní povrch křídla - se na šablonách rozdělí na stejný počet dílků a pilu vede obsluha tak, že dosáhne na obou stranách značku stejného dílku ve stejnou dobu. To jsou ty klíčové body. To sděluji programu tak, že mu každou jednotlivou dráhu pošlu z CADu jako jednotlivý DFX soubor - vždy pár pro obě strany. Na obrázku nahoře to je vidět. Založím si skeře pro jednotlivé úseky, jeden pro levou stranu, druhý pro druhou stranu, levá strana má v názvu předepsanou rychlost řezu. Do skečů si promítnu z výjresu čáru pro ten jednotlivý úsek. Začátek čáry je jeden klíčový bod, konec čáry je druhý klíčový bod. V klíčovém bodu na obou stranách bude řez začínat, do druhého klíčového bodu dojede drát současně na obou stranách, čára bude rozdělena na stejný počet dílků. Jako při tom ručním řezání. Ta "čára" řezu v jednom úseku může být spline, lomená čára, část kružnice, kombinace těchto geometrických objektů, cokoli.
Vyexportuji z CADu všechny skeče do DXF. V parametrech programu zadám:
- vzdálenost pojezdů od sebe, X-Y od A-Z, přesněji řečeno je to vzdálenost vedení drátu na vozících
- vzdálenost krajních profilů - rozměr bnloku materiálu
- vzdálenost bloku materiálu od levého pojezdu (X-Y)
- adresář se zdrojovými DXF
- adresář pro vygenerovaný G-code - po síti si program posílám do dílny
- parametrem mohu zařídit, že se generuje přímé křídlo konstantní hloubky, berou se jen DXF pro levou stranu
- parametrem mohi zařídit prohození profilů, vygenerování programu pro řezání druhé poloviny křídla - zrcadlení
- parametrem mohu nastavit jinou rychlost řezání, než udávají názvy DXF
Po spuštění program
- načte z adresáře všechna DXF
- načte geometrické objekty z DXF a seřadí je tak, aby na sebe navazovaly, spline interpoluje jako lomenou čáru, jemnost interpolace lze zadat parametrem; pokud geometrie na sebe nenavazují, zahlásí chybu
- někdy se stane, že orientace geometrie neodpovídá tomu, jak si představuji, že to má být, mohu geometrii automaticky otočit (jde o kombinaci natočení souřadného systému modelu a skeče)
- seřadí načtenou geometrii do segmentů, jak byly očíslovány DXF
- někdy je směr čar v DXF opačný, program je podle pořeby pootáčí, jsou tak dány klíčové body, jdou za sebou ve správném pořadí a je jich stejný počet pro oba konce řezaného bloku
- vygeneruje program pro stroj - G-code
- G-code zapiše do souboru v zadaném adresáři, programy verzuje
- zobrazí kontrolní obrázek s drahami
- zobrazí minima a maxima X-Y a A-Z
- může zobrazit animaci řezání
Příprava ve Fusionu je jednoduchá. Vyrobím potřebné skeče, všechny v jedné rovině. V podkladovém skeči si promítnu tvar profilu, který je nakreslen už s modifikovanou odtokovkou, ofsetem přidám rezervu na prořez, nakreslím si dráhy nájezdu do řezu a vyjetí z řezu. Potom už jen do jednotlivýh skečl promítnu ten správný kousek geometrie a skeče vyexportuji do DXF. Změny snadné, nad řezem mám 100% kontrolu!
Výhodou toho, že si řezání připravuji ve Fusionu, mohu dráhy v nájezdu a výjezdu kreslit v přesných mírách a snadno tak přenášet zkušenost z minulých řezání, snadno a přesně řezání modifikovat.