LazyCam – generowanie kodu wybierania kieszeni

13 listopada 2019 0

Autor:

Celem niniejszego przykładu będzie opis sposobu wygenerowania g-kodu z wykorzystaniem funkcji wybierania kieszeni dostępnej w programie LazyCam. Pozwala ona nam na przygotowanie programu dla wybrania materiału dla dowolnego konturu. Dzięki niej w łatwy sposób możemy np. przeprowadzić operację planowania materiału czy stołu naszej frezarki. Funkcja ta jest dostępna po wykupieniu licencji dla programu LazyCam.

Jednocześnie przypominam, iż na stronie sklepu www.ebmia.pl nieodpłatnie dostępne jest spolszczenie do programu LazyCam, które możemy wgrać po instalacji programu.

W pierwszym kroku na drodze generacji g-kody należy załadować nasz projekt zapisany w pliku wektorowym. Przy pomocy przycisku Open DXF wczytujemy plik wektorowy do programu Lazycam. Tutaj warto wspomnieć, że program LazyCam najlepiej współpracuje z plikami .dxf dla wersji R12.

 

W nowym oknie wskazujemy nasz plik wektorowy. W naszym przykładzie będzie to Rysunek 1

Po wybraniu pliku i kliknięciu na przycisk Otwórz, pojawi się nam okno wyboru postprocesora – ogólnie wyboru musimy dokonać zależnie od tego na jaką maszynę przygotowujemy g-kod. Z racji funkcji na jakiej chcemy się skupić, wybieramy Mill – czyli g-kod będzie wykonywany na frezarce.

Zależnie od mocy obliczeniowej posiadanego komputera oraz wielkości projektu, proces ładowania projektu może chwilkę potrwać.

Gdy plik załaduje się, na głównym oknie programu pojawi się nasz projekt ( Pole nr. 1 na poniższym rysunku). Wczytany projekt załaduje się w postaci tzw. Łańcuchów, które przypisane zostaną do warstw. Podział poszczególnych warstw widoczny jest  na drzewku po lewej stronie ekranu – pole nr 2. W naszym przypadku została utworzona jedna warstwa o nazwie 0. Poniżej drzewka znajdują się zakładki z funkcjami jakie oferuje program LazyCam ( Pole nr. 3). Tutaj też znajduje się funkcja Pockets, na której się skupimy w dalszej części niniejszego opracowania. Na polu nr. 4 wyświetlane są komunikaty z operacjami jakie wykonał program, czyli na tym etapie widzimy kilka linijek związanych z etapem wczytywania projektu ( załadowanie, poszczególnych łańcuchów, dodanie  warstw, itd…). Na polu nr. 5 znajdują się przyciski funkcyjne z których skorzystaliśmy ładując nasz projekt.

Przydatnym przyciskiem będzie przycisk Ooops, który pozwala nam na cofnięcie wprowadzonych zmian. Przy pomocy przycisku Save *.LCAM możemy zachować nasz projekt ( program zachowuje wszelkie wprowadzone modyfikacje w swoim formacie), do którego możemy w dowolnym momencie wrócić i dokończyć generację g-kodu. Zachowany projekt możemy wczytać przy pomocy przycisku Open *.LCAMI.

Przy pomocy przycisku Post Code wygenerujemy na koniec nasz G-kod.

Po prawej stronie ekranu znajdują się przyciski przy pomocy których możemy wywołać operacje które oferuje program. Będą to między innymi:

Rem. Objects – usunięcie zaznaczonych łańcuchów

Scale – możemy przeskalować zaznaczony obiekt

Move Chain – możemy przesunąć zaznaczony obiekt

Rotate – umożliwia obrót zaznaczonego obiektu

Single/Multiple – załączenie tej funkcji umożliwia zaznaczenie kilku obiektów

Szerszy opis wszystkich dostępnych operacji dostępny jest w instrukcji do programu LazyCam.

Przytrzymując kombinację lewego przycisku myszy oraz przycisku Shift jednocześnie poruszając myszą w przód i tył możemy w łatwy sposób przybliżyć i oddalić widok naszego projektu. Przytrzymując lewy przycisk myszy oraz przycisk Ctrl na klawiaturze możemy przesuwać widok ekranu. Przytrzymując scroll’a na myszce możemy obracać ścieżką narzędzia naszego projektu. Wszystkie te manipulacje umożliwiają i ułatwiają podgląd ścieżki narzędzia. Klikając dwukrotnie na pole z podglądem ścieżki resetujemy sposób wyświetlania projektu. Przy pomocy lewego klawisza myszy możemy zaznaczyć wybrane elementy naszego projektu. Prawym klawiszem myszy wywołujemy menu podręczne, którego przeznaczenie omówione zostało w przytoczonej powyżej instrukcji programu LazyCam.

W prawym górnym rogu podglądu ścieżki narzędzia projektu widzimy odcinek wraz z jego długością. Jest to skala, która pozwala nam zorientować się w wymiarach naszego projektu.

Kolejnym krokiem na drodze utworzenia g-kodu będzie przeliczenie ścieżki narzędzia. Możemy tego dokonać przy pomocy funkcji Clean, której przycisk znajduje się w prawym-górnym rogu ekranu, na prawym pasku funkcyjnym. Funkcja ta optymalizuje ścieżkę narzędzia oraz ustawia punkt zerowy w lewym dolnym rogu projektu. Przeliczenie ścieżki narzędzia ma szczególne znaczenie przy dużym projekcie, gdzie mamy do czynienia z dużą liczbą łańcuchów. Funkcja ta usuwa zbędne ( pokrywające się) elementy, pozwala również zoptymalizować kolejność wykonywania g-kodu tak, aby operacja frezowania trwała jak najkrócej. Funkcja optymalizacji działa dobrze. Jednak gdybyśmy uznali z jakiegoś powodu, że kolejność wykonywania powinna być inna, wówczas na drzewku projektu, które znajduje się po lewej stronie ekranu ( pole nr. 2 na powyższym zdjęciu) możemy ręcznie przemieścić wybrane łańcuchy. W tym celu wystarczy złapać element i przeciągnąć go w wybrane miejsce w kolejce ( projekt wykonywany jest od góry do dołu).

Na poniższym zdjęciu widzimy efekt zastosowania funkcji Clean.

Punkt zerowy możemy ręcznie kreślić w dowolny miejscu. W tym celu wystarczy chwycić lewym przyciskiem myszy za znacznik punktu zerowego i przeciągnąć go w wybrane miejsce. Program automatycznie podpowiada 5 punktów – rogi oraz środek projektu.

 

Załóżmy, że zdecydujemy iż nie potrzebujemy wewnętrznych łańcuchów. W tym celu możemy je zaznaczyć. Przy załączonej funkcji Single/Multiple zaznaczamy wszystkie zbędne elementy.

Następnie naciskamy przycisk Rem. Objects, który spowoduje usunięcie zaznaczonych obiektów. Przyciskiem Ok musimy potwierdzić operację usunięcia. Oczywiście przycisk Delete na klawiaturze również będzie pomocny.

A tak wygląda efekt operacji. Teraz przechodzimy od zakładki Pockets , gdzie musimy wybrać narzędzie, którym zostanie wykonana obróbka. W celu wybrania/zdefiniowania narzędzia naciskamy przycisk Tool.

Przy pierwszym użyciu programu LazyCam w oknie Tool Selection za pewne nie będzie zdefiniowanych narzędzi. Wówczas przy pomocy przycisku Create musimy takowe zdefiniować. W polu New Tool Name wprowadzamy nazwę, po której będzie nam łatwo zidentyfikować narzędzie w przyszłości. Tutaj sugeruję zawrzeć w nazwie średnicę narzędzia. Ja dla przykładu wpisałem Narz1.

Teraz możemy zdefiniować parametry narzędzia. Pomocne przy wyborze narzędzi do obróbki jak i określenia ich parametrów mogą być narzędzia skrawające dostępne w ofercie sklepu ebmia.pl. Od góry będą to parametry:

Tool Dia – średnica narzędzia – bardzo ważny parametr niezbędny do wyliczenia offsetu dla narzędzia; offset to nic innego jak przesunięcie ścieżki narzędzia o promień freza tak, aby wymiar wewnętrzny lub zewnętrzny detalu był prawidłowy;

Post as Tool  – numer narzędzia; gdy wprowadzimy numer inny niż 0, wówczas w g-kodzie zostanie użyta funkcja M6, która umożliwi wykorzystanie makra wymiany narzędzia ( automatycznej lub ręcznej). Pomocne przy tym mogą być czujniki długości narzędzia oraz makro pomiaru narzędzia dostępne na naszej stronie;

FeedRate – jest to posuw z jakim będzie przeprowadzone frezowanie w materiale;

Plunge Speed – jest to prędkość z jaką narzędzie wchodzi w materiał;

Max Cut p/pass – jest to również bardzo ważny parametr; pozwala on określić jaka warstwa materiału obrabianego zbierana jest przy jednym przejściu narzędzia;

Spindle – prędkość obrotowa wrzeciona; wykorzystywane, gdy nasze sterowanie zainstalowane na maszynie ma możliwość sterowanie prędkością wrzeciona.

Wszystkie powyższe parametry powinny być zdefiniowane zgodnie z tym jaki materiał będziemy obrabiali i jakim narzędziem będziemy pracowali. Zbieranie zbyt dużej ilości materiału frezem o małej średnic, przy zbyt dużym posuwie może skończyć się złamaniem freza i/lub uszkodzeniem materiału.

Wszystkie zdefiniowane narzędzia są zapisywane w bazie programu i będą dostępne w przyszłości, przy kolejnych projektach.

Gdy Zdefiniujemy narzędzie klikamy przycisk Update Tool. Gdy tego nie zrobimy, a opuścimy okno, wprowadzenie zmiany zostaną utracone. Po kliknięciu OK, na oknie Pocets, obok przycisku Tool pojawi się nazwa wybranego narzędzia. Poniżej, w polu Toll Dia będzie widoczna jego średnica. W celu użycia funkcji wybierania kieszeni ponad to musimy zdefiniować następujące parametry:

Step – parametr ten określa jak bardzo kolejne ruchy freza będą się na siebie nakładały; Im mniejszą wartość wprowadzimy tym gęściej będzie wierszowana kieszeń; parametr odnosi się do średnicy narzędzia;

OverHang – parametr nieaktywny;

Finish – określa jak dużo materiału ma zostać zebranego w ruchu wykończającym; w pierwszej kolejności program wierszuje kieszeń zostawiając naddatek po obrysie, a następnie wykonuje frezowanie wykończające zbierając go tak, aby uzyskać dobrą powierzchnię obróbki i żądany wymiar;

Pozostało nam jeszcze określić, czy wybieranie ma odbywać się spiralnie ( opcja Spiral), czy zygzakiem ( opcja ZigZag ). Od naszego wyboru zależy rodzaj wygenerowanej trajektorii. Jeżeli określimy, że wybieranie ma odbywać się spiralnie wówczas musimy określić sposób pracy narzędzia (CCW – praca narzędzia przeciwnie do ruchu wskazówek zegara; CW – zgodnie z ruchem wskazówek zegara); In-0ut/Out-In – tutaj określamy kierunek pracy – z wewnątrz na zewnątrz, lub od zewnątrz do środka. Jeżeli wybraliśmy drugą opcję wówczas musimy określić kąt pod jakim ma zostać wygenerowana ścieżka narzędzia. 0 stopni określa linie poziome, 90 stopni określa linie pionowe. Możemy np. wygenerować ścieżkę w postaci kratownicy, po przez kilkukrotne wykorzystanie funkcji Pocket z różnymi ustawieniami.

Należy zaznaczyć, że funkcja Pocket nie działa do końca poprawnie. Gdy wybierzemy opcję wykonania kieszeni Spiralnie, to wybór CW/CCW oraz Left/Right nie wpływa na zmianę kierunku wykonywania ścieżki. Funkcja In-out/out-in działa poprawnie. Z powodu błędu ścieżka cały czas będzie generowana, tak jakby ustawiony był kierunek CW. A ponieważ kierunek pracy ma wpływ na rodzaj obróbki, to cały czas będziemy mieli do czynienia z konwencjonalnym frezowaniem (narzędzie porusza się zgodnie z kierunkiem posuwu). Innym błędem jaki może pojawić się przy użyciu funkcji generacji kieszeni jest brak generacji ruchów przelotowych – wysokość jest ustawiona na 0, co spowoduje, że podczas tego ruchu narzędzie przejedzie po materiale. Aby to poprawić musimy ręcznie przejść do wybranej warstwy, a następnie w zakładce Layers zdefiniować odpowiednią wysokość przelotową oraz głębokość. Ale o tym za chwilę.

Program umożliwia zdefiniowanie zacisków montażowych (Use Clamps) – są to obiekty, które symbolizują w programie sposób zamocowania detalu na maszynie; gdy je zastosujemy, program wygeneruje ścieżkę narzędzia w taki sposób, że pozwoli nam na zmianę położenia mocowania i dokończenie prac w miejscach, w których to mocowanie przed chwilą się znajdowało.

Opcja utwórz wyspy (Create Islands) jest również przydatną funkcją – jeżeli wewnątrz zaznaczonego obiektu dla którego generujemy kieszeń znajduje się inny obiekt, wówczas gdy zaznaczymy tą funkcję, ścieżka zostanie tak wygenerowana, aby ominąć wewnętrzny obiekt, który utworzy tzw. wyspę. Przykład na poniższym zdjęciu ( ten sam projekt, ale bez usunięcia wewnętrznych obiektów).

Po ustawieniu parametrów w zakładce Pockets zaznaczamy obiekty wewnątrz których chcemy wygenerować kod wybierania kieszeni. Wówczas po kliknięciu przycisku Utwórz kieszeń ( Create Pockets ) program LazyCam na podstawie zdefiniowanej średnicy narzędzia oraz pozostałych parametrów wygeneruje ścieżkę narzędzia. Ta zostanie wyświetlona w głównym oknie programu oraz w oknie projektu na drzewie, gdzie zostaną utworzone nowe warstwy ( Pocket oraz Offset ). Przypominam, że drzewo widoczne jest w zakładce Project.

Jeżeli zamiast przycisku Create Pockets widzimy przycisk Pro Demo…– widok taki oznacza, że nie mamy wykupionej lub wgranej licencji. Wówczas nie możemy użyć tej funkcji. Licencję programu można zakupić w sklepie ebmia.pl pod adresem: https://www.ebmia.pl/oprogramowanie-cnc-cad-cam/6790-lazycam-pro-polska-nakladka.html

Teraz bardzo ważna uwaga – należy usunąć łańcuchy dla których generowaliśmy kieszenie. Podczas przeliczania trajektorii program uwzględnił tzw. Offsety tak, aby wewnętrzny wymiar kieszeni był prawidłowy. Gdy nie usuniemy pierwotnych łańcuchów, program uwzględni również te elementy co spowoduje powiększenie wymiaru kieszeni. Łańcuchy te nadal powinny być zaznaczone, a przy użyciu funkcji Rem. Object możemy je usunąć.

A tak wygląda drzewo projektu po generacji trajektorii wybierania kieszeni. Jak widzimy zostały utworzone dodatkowe warstwy offsetu (Offset ) oraz kieszeni (Pockets).

W warstwie 0 znajduje się jedynie Łańcuch#0, czyli ten największy, zewnętrzny prostokąt. Zaznaczając dany obiekt na oknie projektu ze ścieżką narzędzia, ten zostanie również zaznaczony na drzewie projektu, co ułatwi orientowanie się w projekcie.

Ostatnim krokiem przygotowania g-kodu będzie upewnienie się, że każda z warstw ma przypisane dobre narzędzie oraz zdefiniowaną odpowiednią głębokość wybierania. Możemy tego dokonać w zakładce Layers (okno nr. 4).

Zaznaczając na drzewie projektu daną warstwę, w zakładce Layers pojawi się nazwa tej warstwy ( pole Layers ) oraz nazwa narzędzia przypisana do tej warstwy wraz z jego parametrami ( pole Tool ). Warstwy Offset oraz Pocket mają już przypisane narzędzie, ponieważ zostało ono zdefiniowane w zakładce Pockets na etapie tworzenia kieszeni. Warstwa 0 nie posiada przypisanego narzędzia. Przy pomocy przycisku Tool możemy wybrać narzędzie z listy lub utworzyć nowe narzędzie analogicznie jak to było robione poprzednio. Wówczas wybrane narzędzie automatycznie zostanie przypisane do tej warstwy.

Po prawej stronie w polu Cut musimy zdefiniować wysokości przelotowe ( Rapid Height) oraz głębokość cięcia ( CutDepth). Ostatni parametr wprowadzamy z minusem – w ten sposób określamy, że chcemy wejść w materiał ( wszystko zależy od orientacji pracy Państwa maszyny – spotkałem się z maszynami, gdzie operator miał tak ustawioną maszynę, że praca na minus powodowała fizyczny ruch osi do góry, wychodząc z materiału). Parametr Cut Start oznacza powierzchnię materiału i najczęściej przyjmuje wartość 0. Przy pomocy Set Layer możemy ustawić zdefiniowane wysokości wyłącznie dla wybranej warstwy. Przycisk Set All Layers umożliwia przypisane ustawionych wysokości dla wszystkich warstw.

Tutaj ważna uwaga – Parametr głębokości cięcia jest ściśle powiązany z parametrem Cut per pass, który ustawialiśmy przy okazji definicji parametrów narzędzia. Jak widzimy na poniższym zdjęciu parametr ten został ustawiony na 1mm, czyli przy jednym przejeździe zostanie zebrane 1mm materiału. Natomiast głębokość została ustawiona na 5mm.

Dlatego program wygeneruje 5 kolejnych ścieżek, które będą wchodziły coraz bardziej w głąb materiału tak, aby uzyskać zadaną głębokość 5mm. Obracając podgląd naszego projektu zobaczy kolejne warstwy wybierania kieszeni. U góry przerywaną linią koloru czerwonego widoczne są ruchy przelotowe na ustawionej wysokości 5mm.

Gdyby parametr określający grubość materiału na jeden przejazd został ustawiony na 5mm, wówczas program wygenerowałby jeden przejazd.

Gdy zdefiniujemy narzędzia oraz wysokości dla wszystkich warstw pozostało nam już tylko wygenerowanie g-kodu. Możemy tego dokonać przy pomocy wspomnianego wcześniej przycisku Post Code. Pojawi się nam wówczas okno ustawień generacji g-kodu. Przy pomocy przycisku Browse możemy określić lokalizację, gdzie ma być zapisany utworzony g-kod. Standardowo jest to folder programu Mach3, gdzie zapisywane są g-kody.

Parametr Plunge Clearance określa wysokość do jakiej następuje szybkie opuszczania, a następnie zwolnienie do prędkości wejścia w materiał.

Przy pomocy przycisku Set Post Processor możemy załadować inny niż standardowy postprocesor programu LazyCam. Postprocesor w skrócie określa zasady z jakimi generowane sa poszczególne funkcje g-kodu. Istnieje możliwość tworzenia własnych postprocesorów. Nasza firma może pomóc w ich przygotowaniu. W tym temacie zapraszamy do kontaktu na adres mailowy [email protected]

Gdy klikniemy przycisk Ok nastąpi wygenerowanie g-Kodu, które zostanie potwierdzone komunikatem z podaniem ścieżki dostępu do utworzonego pliku.

Na tym kończy się praca z programem LazyCam. Teraz pozostaje już wykonanie kodu na maszynie.

Kod przetestujemy przy pomocy programu Mach3, który również znajduje się w ofercie sklepu www.ebmia.pl. Na stronie nieodpłatnie udostępnione są do pobrania spolszczenie, skrócona instrukcja konfiguracji programu Mach3 oraz pliki konfiguracyjne programu Mach3 dla naszych szaf sterujących USN. Do programu Mach3 dołączone są w gratisie naklejki na klawiaturę, ułatwiające pracę z programem.

Gdy mamy zainstalowany program Mach3 nasz g-kod wczytujemy do programu ( główne okno programu, przycisk Ładuj G-kod ( Load G-Code)). W lewym górnym rogu ekranu mamy podgląd na załadowany g-kod, a po prawej stronie widzimy ścieżkę narzędzia. Poniżej widok okna Tool Path.

Konfiguracja i instalacja Mach3 opisana jest pod adresem: https://www.ebmia.pl/wiedza/porady/budowa-i-sterowanie-maszyn-cnc/konfiguracja-instalacja-mach3-cnc/

Trzymając lewy przycisk myszy na oknie ścieżki narzędzia i poruszając myszą możemy obrócić widok tak, aby widoczne były kolejne warstwy wybierania kieszeni oraz ruchy przelotowe.

Omówimy pierwsze linijki naszego g-kodu. Jak widzimy kolejne linie kodu numerowane są co 5 – tak jak zostało to zdefiniowane w oknie generacji kodu, gdy klikaliśmy na przycisk Poste Code (parametr Line Number Increment). W pierwszej linijce mamy nazwę projektu oraz datę generacji g-kodu. W drugiej mamy nazwę użytego postprocesora. W linijce 3 o numerze N15 mamy zdefiniowanie pracy w trybie inkrementalnym. W 4 wierszu mamy podniesienie się narzędzia o 1mm do góry z maksymalną prędkością ( G0 ). W linijce 5 mamy załączenie wrzeciona (M3) oraz ustawienie prędkości obrotowej na 18000 obrotów/min ( tak jak to zdefiniowaliśmy dla wybranego narzędzia w programie LazyCam). W kolejnej linijce następuje przejazd do punktu startowego wycinania zewnętrznego prostokąta ( jego lewy, górny róg). Następnie oś Z opuszcza się do wysokości 0.1mm nad materiałem. Tak jak wspomniałem wcześniej – określa to parametr Plunge Clearance. W wierszu 8 następuje zejście do powierzchni materiału – na 0 z prędkością 200 mm/min ( parametr G1 określa ruchy robocze; prędkość 200mm/min definiowaliśmy w parametrze Plunge speed przy okazji definiowania parametrów narzędzia). Kolejne 4 ruchy to przejazd po obrysie największego, zewnętrznego prostokąta. W wierszu N65 następuje szybkie podniesienie na wysokość przelotową 5mm, a następnie w kolejnym wierszy przejazd do miejsca rozpoczęcia wybierania lewej kieszeni. Ponowne opuszczenie do wysokości 0.1mm nad materiałem i teraz powolne opuszczenie ze zdefiniowaną prędkością 200mm/min na głębokość pierwszego z 5 wybrań ( 1mm w głąb materiału).

N5 (File Name = Rysunek1 on Sunday, June 30, 2019)

N10 (Default Mill Post)

N15 G91.1

N20 G0 Z1.0000

N25 M3 S18000

N30 X0.0000 Y200.0000

N35 Z0.1000

N40 G1 Z0.0000 F200.00

N45 X100.0000 F1000.00

N50 Y0.0000

N55 X0.0000

N60 X0.0000 Y200.0000

N65 G0 Z5.0000

N70 X29.5541 Y99.6146

N75 Z0.1000

N80 G1 Z-1.0000 F200.00

 

Aby jeszcze bardziej ułatwić zrozumienie g-kodu, możemy na głównym oknie programu, kliknąć lewym przyciskiem myszy na zielone okno wyświetlające g-kod w programie Mach3, co spowoduje jego podświetlenie – wówczas przy pomocy scroll’a w myszce możemy przechodzić między poszczególnymi linijkami g-kodu. Zaznaczona linijka kodu z ruchem zostanie podświetlona na biało na oknie ścieżki narzędzia znajdującego się po prawej stronie ekranu. W ten sposób możemy prześledzić kolejne ruchy maszyny. Na oknie ze ścieżką narzędzia widoczna jest zielona strzałka, która symbolizuje pozycję osi Z.

W EBMiA.pl oferujemy również Zestaw Mach3 PL + LAZYCAM PRO

Mam nadzieję, że powyższy tutorial będzie komuś przydatny. W razie problemów lub pytań zapraszamy do kontaktu z działem pomocy technicznej działu Automatyki w sklepie ebmia.pl. Wszelkie pytania lub uwagi można przesłać na adres [email protected]. Również te dotyczące edycji postprocesora do programu LazyCam, konfiguracji programu jak i pisania makr dla Mach3. Życzymy udanej pracy z programem LazyCam.

UdostępnijShare on FacebookShare on Google+Tweet about this on Twitter

Powiązane produkty

Newsletter
Bądź na bieżąco