články ¦ ¦ kontakt ¦ Hledat image

Program pro generování G-code pro řezačku svépomocí? stďż˝lďż˝ odkaz / permalink

1.10.2025

[14.12.2024]

Program pro generování G-code pro řezání křídel na CNC řezačce ze souřadnic profilů v .DAT formátu nebo výkresu .dwg není až tak složitá záležitost. Mě by vyhovovalo vycházet z modelu v Autodesk Fusion. Dovedu si představit, že bych model křídla promítal na dvě roviny představující roviny levého a pravého pojezdu. Fusion umí průmět exportovat jako DXF.

image

Jde potom o to vytvořit z geometrie v DXF síť bodů - souřadnic bodů, po kterých mají jet vozíky řezačky. Samozřejmě to není zas tak triviální. Nalezl jsem ale mezitím vyhovující řešení v programu Jedicut a touto myšlenkou jsem se přestal zabývat.

[22.9.2025]

Řešil jsem přípravu řezání křídla na CNC pro nový model a zase mě naštval francouzský program Jedicut. Import mého DXF souboru provázely problémy, Jedicut určil nesmyslně klíčové body, nedařilo se mi natočit DXF tak, aby Jeducut určil klíčové body správně. A bez těch klíčových bodů nejde v Jedicut pořádně nakreslit dráhy náběhů a výběhů z řezu. Po dvou hodinách blbnutí u počítače nad akcí, která by měla být za 15 minut hotová, bez vyhlídky na úspěšné pořešení problému jsem začal přemýšlrt, co s tím. Rozhodl jsem se utratit peníz za lepší program, kterým je podle referencí modelářů program DevFoam, i když chtějí asi 50€ ročně nebo 160€ za doživotní licenci. Program všichni chválí. Ale když jsem začal řešit nákup licence, narazil jsem na plno nejasností a dost mě to zviklalo.

Tak jsem se zase vrátil k myšlence sepsat si vlastní program a sepsal jsem (trochu z legrace) dotaz AI ChatGPT:

"Řezačku křídel z pěny ovládám programem Grbl hotwire. Program očekává G-code. Mám nakreslené profily křídla v dwg, jak z nich vygeneruji g-code pro stroj se čtyřmi osami?"

Následovala diskuze nad programy Jedicut, AdriFoam X4, DevFoam, které mi AI navrhovala použít. To už jsem ale měl vše prostudované - zde zdroj. Tak jsem zkusil:

"Pomůžeš mi s napsáním vlastního programu?"

ChatGPT řekl:

"Ano 👍, s tím ti pomůžu. Pokud ti Jedicut přijde neohrabaný a DevFoam/Profili jsou moc složité nebo drahé, pak má smysl napsat vlastní jednoduchý generátor G-code – čistě pro tvoji 4osou CNC řezačku řízenou GRBL."

Po nějaké další komunikaci, kdy jsem vysvětloval geometrické uspořádání stroje, vyplivnul kód programu v Pythonu ( wiki ). Jazyk Python má knihovnu ezdxf, která umožňuje načítat a analyzovat DXF soubory. Lze tak z DXF vyčíst body nebo interpolovat spline křivky. Použil ho i autor programu Jedicut.

[25.9.2025]

Po třech dnech - třech večerech mám program, který běhá, umí všechny vstupy a parametry. Generuje g-code, nakreslí simulaci řezání. Super! Při praktickém testování se ale ukazuje, že geometrické výpočty navržené Chat-GPT jsou úplná kravina! A to to AI uváděla jako "vyřešíme soustavu rovnic". 😃

[26.9.2025]

Vlastní výpočet geometrie jsem si navrhl sám, stačila půlhoďka nad papírem a v podstatě matematika základní školy, žádné soustavy rovnic. Strukturu programu, proměnné pro držení tvarů řezaných profilů, manipulaci s daty, to AI navrhla správně. Zkusil jsem připravit program pro obdélníkové křídlo, poslal jsem program do GRBL Hotwire a dopadlo to dobře. Program jsem si pojmenoval Dxf2GRBL, učesal jsem si kód, rozdělil do knihoven, názvy proměnných, jak je postupně navrhovala AI, jsem změnil tak, aby to mělo nějaký systém. Programování s AI se mi zalíbilo, AI mi významně zkrátila křivku učení jazyku Python,

image

[27.9.2025]

Pokusy s přímým křídlem dopadly dobře, já ale aktuálně potřebuji říznout křídlo, které se zužuje. Vyexportoval jsem DXF s profily řezání pro nový model, ale zpracování v mém novém programu dopadlo katastrofálně. Začíná kolotoč řešení stále dalších a dalších problémů, práce na modelu letadla se odsouvá o další dny, program pro říznutí křídla pro nový model stále nemám. Mohl bych použít jedicut, ale chci to stůj co stůj zmáknout v mém programu!

[30.9.2025]

Tři dny usilovného vývoje a debugování. Narazil jsem na problém s orientací křivek v DXF, musel jsem se naučit otáčet je tak, aby na sebe koncové body a počáteční body navazovaly. Narazil jsem na problém s otočenými souřadnicemi. Řez profilem, který mám ve Fusionu orientovaný tak, jak chci aby byl orientovaný v řezačce, je po načtení z DXF otočený o 180 stupňů. Ale jen někdy. Musel jsem se naučit otočit to celé v programu. Narazil jsem na problém se společnými body sousedních křivek, které se v datech z Fusionu liší na 7. místě za desetinnou čárkou a mě se v programu jeví jako body různé. atd. atd. Naučil jsem se v Pythonu vyrábět debug výpisy, naučil jsem se operace nad maticemi s body, to vše s podporou AI, která mě zbavila nudného prohledávání referenčních manuálů. Je to jako když se něco učíte a vedle vás sedí senior, který zodpovídá vaše dotazy a ještě přidá nějaký komentář se souvislostmi, protože si pamatuje, na co jste se ptali předtím, včera, minulý týden. Ale musíte vědět, co chcete udělat.

image

Od rozhodnutí napsat si program sám uplynul týden, týden jsem tomu obětoval večery a neděle na to padla celá. Nakonec to dělá co má a vypadá to, že budu moci program rutině používat. Zužující se a geometricky překroucené křídlo jsem programem g-code pro stroj vygenerovaný mým programem vyřízl bez problému, levou polovinu i zrcadlově stejnou pravou polovinu, kdy zrcadlení zařidil parametr v mém programu. Tak zase mohu v dílně pokračovat se stavbou modelu. Viz Dxf2GRBL.

AI mi vývoj výrazně urychlila. Jsem programátor, programuji v c# a v databázi Oracle, ale tady jsem byl v jiném světě geometrie s pro mě novým jazykem. Pro věci, které bych programoval primitivními obraty, mi AI navrhla použít knihovny a obraty, na které bych hned tak nepřišel, kdo ví, jestli vůbec. A ještě mi dělala společníka, kterému jsem se mohl vypovídat a v chatu s ní jsem se mohl vracet k diskuzi, kterou jsme vedli v minulosti.

Kontrola st�l� odkaz / permalink

27.12.2024

Napsal jsem si jednoduchý prográmek, který mi zobrazí v zákrytu dráhy drátu na obou stranách řezačky:

image

Je to jazyk Python, který má knihovny umožňující různé praktické věci. Třeba knihovna ezdxf umožňuje načítat a analyzovat DXF soubory.

Já ručně upravuji program G-code, řeším ručně nájezdy a výjezdy, posouvám profily nahoru a dolů a potřebuji si ověřit, zda se vejdu do desky XPS. Prográmek čte soubor .NC s G-code, napočte maxima souřadnic v osách X-Y a A-Z a dráhy vykreslí.

ukázka programu: kontrola_rezani.py
ukázka G-code: kridlo_3_L.nc

Není to korektní, je to jen jednoduchá kontrola a funguje jen v jednoduchých případech. Program ovládá vozíky řezačky a když je křídlo zůžené a vozík je dál od konce bloku XPS, musí jet po dráze zvětšeného profilu křídla, aby řez na okraji bloku měl požadovaný rozměr. Já to počítám jako kdyby křídlo bylo dlouhé od vozíku k vozíku. Uvádím tu prográmek proto, aby bylo vidět, že to je (relativně image) jednoduchá záležitost.

Kontrola 2 - GcodeHotwireCheck st�l� odkaz / permalink

2.10.2025

Napsal jsem si jednoduchý prográmek, který mi zobrazí animaci řezání na mém stroji- GcodeHotwireCheck:

image

Napsáno v jazyku Python. Načte soubor G-code, který posílám do stroje a vykreslí mi, jak pojedou vozíky řezačky - úchyty drátu v rámu pily, tedy konce drátu. Je to někdy trochu matoucí, blok materiálu je třeba 150 mm od jedné strany pily a 350 mm od druhé strany, aby drát jel v místě profilu na okraji bloku ten profil, musí jet vozíky při zužujícím se křídle hůře představitelnou cestou. Hlavně však vidím, zda jsem do programu, kterým generuji G-code poslal geometrii řrzu v dfx ve správném pořadí a správnou geometrii.


zpátky na: Jedicut │ dál na: Dxf2GRBL


přehled kapitol:

  1. CNC horký drát
  2. HotWire ver1 - CNC řezačka svépomocí - blog
  3. GRBL Hotwire
  4. Wing G-code Generator
  5. DevWing Foam 2
  6. Jedicut
  7. Program svépomocí
  8. Dxf2GRBL
  9. devSim
  10. Žhavení pily
  11. Tipy pro řezání horkým drátem

(zveřejněno v rubrice Modely letadel | Dílna | CNC řezačka HotWire verze 1)