Program .bmp to g-code

Proste programy do obsługi maszyn CNC, vivery, itp. Programy darmowe, napisane przez użytkowników forum

Autor tematu
Gosucherry
Czytelnik forum poziom 1 (min. 10)
Czytelnik forum poziom 1 (min. 10)
Posty w temacie: 1
Posty: 12
Rejestracja: 01 paź 2012, 19:13
Lokalizacja: Katowice

Program .bmp to g-code

#1

Post napisał: Gosucherry » 19 lip 2014, 13:23

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 !



Tagi:


cnc wkj
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 1
Posty: 2
Rejestracja: 22 lut 2016, 12:36
Lokalizacja: Tychy

#2

Post napisał: cnc wkj » 25 lut 2016, 18:27

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


pdasiek
Stały bywalec (min. 70)
Stały bywalec (min. 70)
Posty w temacie: 1
Posty: 71
Rejestracja: 24 lis 2011, 21:59
Lokalizacja: Kielce

#3

Post napisał: pdasiek » 13 cze 2016, 14:56

no i jak tam? podzieli się kolega programem?

Awatar użytkownika

zacharius
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 1
Posty: 2523
Rejestracja: 04 paź 2007, 01:32
Lokalizacja: Kraków
Kontakt:

#4

Post napisał: zacharius » 13 cze 2016, 18:19

tez chetnie wypróbuje
Nie otrzymasz koni wyścigowych krzyżując dwa osły


Arkadiusz2000
Znawca tematu (min. 80)
Znawca tematu (min. 80)
Posty w temacie: 1
Posty: 80
Rejestracja: 11 maja 2017, 18:01
Lokalizacja: Mrągowo

Re: Program .bmp to g-code

#5

Post napisał: Arkadiusz2000 » 18 paź 2018, 12:01

Czekamy.
Wszystko jest trudne nim stanie się proste (C.K. Norwid)


ircpcb
Czytelnik forum poziom 2 (min. 20)
Czytelnik forum poziom 2 (min. 20)
Posty w temacie: 5
Posty: 28
Rejestracja: 15 lut 2015, 09:42
Lokalizacja: Małopolskie

Re: Program .bmp to g-code

#6

Post napisał: ircpcb » 13 kwie 2019, 12:26

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
Czas na CNC - termotransferowi i chemii mówimy NIE


ircpcb
Czytelnik forum poziom 2 (min. 20)
Czytelnik forum poziom 2 (min. 20)
Posty w temacie: 5
Posty: 28
Rejestracja: 15 lut 2015, 09:42
Lokalizacja: Małopolskie

Re: Program .bmp to g-code

#7

Post napisał: ircpcb » 13 kwie 2019, 22:26

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)
Czas na CNC - termotransferowi i chemii mówimy NIE


Steryd
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 1
Posty: 1502
Rejestracja: 13 lut 2017, 19:34
Lokalizacja: Szczecin

Re: Program .bmp to g-code

#8

Post napisał: Steryd » 13 kwie 2019, 22:39

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.
Można?
Morzna!!!


ircpcb
Czytelnik forum poziom 2 (min. 20)
Czytelnik forum poziom 2 (min. 20)
Posty w temacie: 5
Posty: 28
Rejestracja: 15 lut 2015, 09:42
Lokalizacja: Małopolskie

Re: Program .bmp to g-code

#9

Post napisał: ircpcb » 13 kwie 2019, 23:40

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
Czas na CNC - termotransferowi i chemii mówimy NIE


Avalyah
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 1
Posty: 957
Rejestracja: 29 lis 2015, 00:38
Lokalizacja: Bielsko-Biała

Re: Program .bmp to g-code

#10

Post napisał: Avalyah » 14 kwie 2019, 13:28

Wrzucaj to sobie na google drive, nie będziesz się musiał bawić w jakieś pakowanie, jakieś 1mb :P

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Software”