Strona 1 z 4

Program .bmp to g-code

: 19 lip 2014, 13:23
autor: Gosucherry
Witam !
Jakiś czas zajmuję się programem do generowania g-code z plików bitmapy. Przez ostatni tydzień miałem nieco więcej czasu i napisałem już praktycznie całość. Założenie programu jest proste, dajemy mu plik graficzny w odcieniach szarości o formacie .bmp. Każdy piksel odpowiada wyfrezowanemu miejscu. Odcień szarości w skali 0-255 odpowiada głębokości frezu ( im bliżej czerni, tym głębiej frezuje ), gdzie kolor czarny odpowiada ustawionej przez nas maksymalnej głębokości, a biały oznacza zostawienie miejsca nienaruszonego. Idea programu jest prosta, dajemy plik graficzny wejściowy, ustalamy w programie rozdzielczość pracy ( czyli jakie przesunięcie maszyny reprezentuje 1 piksel na bitmapie ) i program startuje. Po paru sekundach mamy plik wyjściowy w formacie .nc lub .txt ( lub jakimkolwiek innym ) z g-code do całej płaskorzeźby. Czym ten program różni się od większości tego typu rzeczy ? Program nie "wierszuje" płaskorzeźby ( czyniąc ją strasznie niedokładną ) lecz wyszukuje tras pikseli i po nich podążą, tworząc gładkie kształty ( dokładne oraz oszczędne jeżeli chodzi o czas pracy urządzenia ). Ponadto, pod koniec frezowania "bryły" wygładza jej powierzchnię. Jest też możliwość wprowadzenia drugiego pliku .bmp zawierającego tylko pojedyncze linie, np. napisy, lub detale które mają być frezowane pojedynczą kreską i nie mają być wygładzane. Wtedy program frezuje najpierw kształt, potem go wygładza, a na sam koniec nakłada detale, uzyskując najwyższą dokładność. Oczywiście frez jest sterowany tak, by podążał obliczonymi trasami i nie wykonywał zbędnych ruchów. Na poniższych zdjęciach umieszczam przykładowy plik wejściowy .bmp znaleziony na internecie, oraz zrzuty ekranu prezentujące realizację wygenerowanego przez mój program g-code na programie CNCSimulator. Jak widać, symulacja nie dobiegła końca ( symulator nie działa zbyt szybko na moim laptopie ) jak i nie jest ona dostatecznie dokładna, by pokazać precyzję działania mojego narzędzia, lecz gwarantuję, że żadne ograniczenie jakości od strony programu nie istnieje ( przy plikach 1600x1200 px obliczenia trwały parę sekund, na średniej klasy laptopie, z czego jestem dumny ).

Obrazek

Obrazek

Obrazek

Obrazek

Obrazek

Jako, że piszę tu nie po to by się pochwalić programem, a po to by zaczerpnąć waszej cennej opinii i doświadczenia. Prosiłbym o wszelkie uwagi na temat tego co warto umieścić w programie, czy na co zwrócić szczególną uwagę przy projektowaniu g-code. Oczywiście odpowiem chętnie na wszelkie pytania dotyczące owego projektu. Pozdrawiam !

: 25 lut 2016, 18:27
autor: cnc wkj
witam mam pytanko kiedy i czy w ogóle masz zamiar podzielić się tym swoim arcydziełem chętnie bym go wypróbował na swoim ploterku
pozdrawiam

: 13 cze 2016, 14:56
autor: pdasiek
no i jak tam? podzieli się kolega programem?

: 13 cze 2016, 18:19
autor: zacharius
tez chetnie wypróbuje

Re: Program .bmp to g-code

: 18 paź 2018, 12:01
autor: Arkadiusz2000
Czekamy.

Re: Program .bmp to g-code

: 13 kwie 2019, 12:26
autor: ircpcb
Witam. Też robiłem dla siebie coś podobnego - ale raczej do "wycinania" niż frezowania.

Ogólnie chodzi o to że potrzebowałem czegoś co z BMP zrobi mi gcode i w sekwencji kilku przejazdów będzie wycinało to samo - coraz głębiej - pracuję dużo w materiałach typu PP, PE i inne plastikopodobne - gdzie np staję przed problemem wycięcia odpowiedniej części wraz z nawierceniem otworów i takie tam, albo np od czasu do czasu frezuję sobie PCB. No i powstało takie małe gówienko które na razie mi pomaga. W sumie generuje tylko G00 oraz G01 i cały Gcode jest na nich oparty - ale na moje potrzeby w 100% wystarcza.

Chętnie się programem podzielę, może się komuś przyda - tyle że nie wiem jak i gdzie go wrzucić.

Na razie banalnie prosta aplikacja - ale jak Wasze pomysły mogły by mi się przydać - to dodam w wolnym czasie za friko.

Obrazek

Obrazek

Dodane 19 minuty 30 sekundy:
albo wycinanie napisu :

Obrazek

Obrazek

Dodane 4 minuty 58 sekundy:
Ewentualnie inne kształty.

Obrazek

Obrazek

Dodane 52 sekundy:
Od innych programów wyróżnia go to - że sam sobie obiera drogę - a nie frezuje całego pola.

Jak ktoś zainteresowany - to dajcie znać gdzie go wrzucić.

Dodane 53 minuty 12 sekundy:
Tu podobno można pobrać plik wielkości do 1 mega za darmo - więc proszę :

http://chomikuj.pl/MOJPRYWATNYCHOMICZEK

BCGC.7z

hasło do aplikacji to cncinfopl

Dodane 42 sekundy:
Spakowane 7zipem - aby zmieściło się w 1 MB

Dodane 1 godzina 27 minuty :
Właśnie chciałem sobie testowo PCB wyfrezować i działa lepiej niż myślałem.
Warunki - to dobrze zrozumieć działanie skalowania programu (że posługujemy się pixelami) wcześniej definiując ile jeden pixel to mm.

Np. ustawiając jeden pixel - jako 1 mm - otrzymamy duży obraz na frezarce - a ustawiając np 1 pixel jako 0.250mm - uzyskamy 4 razy mniejszy obraz.

Kolejnym warunkiem jest ustawienie separatora na "kropka" - bo skompilowałem program defaultowo z przecinkiem i programy nie chcą czytać takiego Gcode.

Jestem bardzo zadowolony. Teraz mogę zrezygnować z Eagle-a oraz konwertera Eagle to gcode. Wystarczy w byle czym (nawet w paint) zrobić sobie pcb, i od razu go na gcode (pamiętając tylko jaką skalę wybrać)

Obrazek

Dodane 1 godzina 59 minuty 56 sekundy:
Powiedzmy że wprowadziłem poprawki. Przyspieszyłem także nieco generowanie Gcode z większych obrazków.

Nowa wersja dostępna tam gdzie stara - czyli :

http://chomikuj.pl/MOJPRYWATNYCHOMICZEK

Re: Program .bmp to g-code

: 13 kwie 2019, 22:26
autor: ircpcb
Mam już kolejną wersję :) posiada kolejne ciekawe modyfikacje (jak np kontynuację w okolicy poprzednio zakończonego miejsca) + optymalizację wielkości gcode - Zmniejsza o jakieś 20% ilość linii - bezpiecznie eliminując niepotrzebne XY.

Mam czas - to poprawiam to co mi nie działa (lub dziwnie działa) na frezarce. W tym miesiącu to pewnie ostatni wolny weekend.

Wersja 0.4 za chwilę będzie dostępna na Chomiku.

Dodane 52 minuty 56 sekundy:
Do uwzględnienia w kolejnej wersji - W razie dużych Gcode - wyłączyć automatyczne generowanie podglądu - trwa długo, a nie jest potrzebne aż tak. Każdy może sobie kliknąć. (np ja. wku***a mnie to)

Re: Program .bmp to g-code

: 13 kwie 2019, 22:39
autor: Steryd
ciekawe. ja bym widział tutaj jeszcze inne zastosowanie i jak możesz pomyśl- dla drukarek 3D
Ja akurat się bawię m. in w dorabianie slicera do betonu i tam jest deczko inne sterowanie ekstruderem. W sumie teraz to przeskakuję skryptem, ale gdyby zamiast zejścia w Z można było wybrać np. funkcję M to by było coś w sam raz dla mnie.

Re: Program .bmp to g-code

: 13 kwie 2019, 23:40
autor: ircpcb
Jeżeli to jest takie proste - to wytłumacz dokładniej i się doda taką opcje. Nie znam się na drukarkach 3D totalnie - jaka funkcja za to dokładnie odpowiada ?.

Najlepiej weź kawałek gcode z mojego programu gdzie jest zjechanie osią Z - zamień na to co powinno być (ta funkcja M) i pokaż na forum jak ma wyglądać wyjściowy Gcode.

Dodane 3 minuty 5 sekundy:


Wojownicy się nie poddają. Znalazłem jeszcze kilka pierdół do poprawy - więc wersja 1.0.0.5 dostępna już na chomiku. Tyle się mogę Wam odwdzięczyć za pomoc.

Optymalizuje działanie podglądu, szybciej generuje gcode. itp. Teraz już nie mam się do czego przyczepić - a to oznacza że czekam na Was :) przyczepiajcie się - będziemy poprawiać.

http://chomikuj.pl/MOJPRYWATNYCHOMICZEK

Re: Program .bmp to g-code

: 14 kwie 2019, 13:28
autor: Avalyah
Wrzucaj to sobie na google drive, nie będziesz się musiał bawić w jakieś pakowanie, jakieś 1mb :P