Strona 1 z 5

Program konwertujący pliki PLT z Corela na CNC dla TurboCNC

: 29 maja 2006, 11:50
autor: Piotr Rakowski
Jak wszyscy użytkownicy Programu TurboCNC wiedzą nie wczytuje on bezpośrednio żadnych innych plików, niż G-kodów. Napisałem więc prosty programik konwertujący pliki PLT (HPGL) na G-kody w postaci pliku CNC w konwersji zrozumiałej dla TurboCNC.

Oczywiście do tego celu można byłoby użyć innego programu, np. KCam lub Mach, ale one mają dla mnie 3 wady:
1. nie zamieniają zapisu liczby w standardzie 0,00 na 0.00 wymaganym przez TurboCNC
2. nie biorą pod uwagę kolorów pisaków (można np. zrobić w ten sposób pogłębianie, o czym piszę dalej)
3. nie można edytować pliku wejściowego.

Moj programik w wersji 1 wykonuje następujące operacje:
1. Wczytuje plik PLT i pozwala go edytować.
2. Pozwala na ustawienie domyślnej wysokości narzędzia (oś Z) w ruchu jałowym (G00)
3. Pozwala wybrać opcję konwersji cale<->mm.
4. Pozwala ustalić głębokość frezowania dla każdego z 8 kolorów pisaka.

Domyślnie pisak nr 1 (rysowany linią czarną w Corelu) ma głębokość wejścia w materiał = 0.1 mm. Każdy następny jest o 0.1 mm bardziej zagłębiony, więc pisak nr 8 wchodzi w materiał na głębokość 0.8 mm. Oczywiście można te wartości zmieniać.

Co to daje? Można bez problemu wykonać frezowanie na głębokość np. 5 mm z zejściem co np. 0.5 mm. Bardzo przydatna funkcja! Wystarczy w Corelu zrobić rysunek wielokolorowy i załatwiona sprawa (ten sam, powielony kilka razy, w rożnych kolorach). Kolory pisaków są podane w programie.

Wartości brzegowe:
- domyślna wartość podzielnika PLT-cale wynosi 1016 (z Corela),
- zaokrąglenie: 1 cal = 25.4 mm.
- numeracja linii G-kodów zaczyna się od N0005 i zwiększana jest co 5.

Oczywiście przed zapisem można bez problemu plik CNC edytować.

Mam zamiar rozwijać ten program. Dodam podgląd plików CNC w oknie 3D i w przyszłości także sterowanie maszyną. Programik ten będzie częścią mojego programu CADoweskiego o nazwie eduCAD, który popełniłem jakiś czas temu. Dzięki temu będzie można tworzyć rysunki i bezpośrednio z programu je wycinać (frezować itp.)

Czekam na Wasze sugestie.

Od 2008 roku program jest częścią pakietu eduCAD. Link do mojego programu eduCAD:

EduCAD

: 29 maja 2006, 16:11
autor: webserver
Jak dla mnie Bomba ;)

: 29 maja 2006, 21:34
autor: Piotr Rakowski
Dzięki wielkie. Zauważyłem maleńką wadę, którą jutro poprawię. Otóż ruch jałowy G00 jest wykonywany rozdzielnie - najpierw Z potem X i Y, a ruch G01 nie. To niestety jest błąd, ale zupełnie mikro.

: 29 maja 2006, 21:58
autor: webserver
a w czym napisales ten program jesli mozna wiedziec ?

: 30 maja 2006, 00:11
autor: abel
Szanowny Panie Piotrze.
Gratulacje za eduCADa, świetną i tanią alternatywę dla "dorosłego", ale niestety drogiego AutoCADa. Wyposażenie w zaprezentowany moduł konwertujący, może uczynić z eduCADa sympatyczne narzędzie nie tylko edukacyjne ale również do zastosowań półprofesjonalnych.
Pozdrowienia.

: 30 maja 2006, 00:18
autor: Piotr Rakowski
webserver pisze:a w czym napisales ten program jesli mozna wiedziec ?
Nieśmiertelny Delphi 5 Pro. Mam wersję licencjonowaną, jakby co.
abel pisze:Szanowny Panie Piotrze.
Gratulacje za eduCADa, świetną i tanią alternatywę dla "dorosłego", ale niestety drogiego AutoCADa. Wyposażenie w zaprezentowany moduł konwertujący, może uczynić z eduCADa sympatyczne narzędzie nie tylko edukacyjne ale również do zastosowań półprofesjonalnych.
Pozdrowienia.
Cieszę się, że sie spodobał. Powstał specjalnie do zastosowań edukacyjnych, ale ma naprawdę sporo możliwości. Szczególnie przydatne może być "rysowanie zautomatyzowane", dzięki wykorzystaniu wbudowanego języka skryptowego eduSCRIPT, o składni pascalowskiej. Dzięki temu eduCAD to prawdziwy program CADowski. Dodam, że jego wersja domowa kosztuje jedynie 39 zł. Pełna 149 zł (z licencją komercyjną).

[ Dodano: 2006-05-30, 00:53 ]
Właśnie wrzuciłem nową wersję programu PLT2CNC. Jest pozbawiona wady, o której pisałem powyżej. Jest pod tym samym linkiem, co poprzednio.

: 30 maja 2006, 08:11
autor: bartuss1
ten programik cnc jest super, działa pod machem w jednostkach mm

: 30 maja 2006, 22:11
autor: Piotr Rakowski
Jak obiecałem wrzuciłem następną wersję programu już z podglądem obróbki 3D.

W programie na razie nie ma żadnego opisu, więc parę słów wyjaśnień. Program wczytuje plik PLT (przycisk Otwórz plik PLT), następnie go konwertuje (przycisk Konwertuj) i jednocześnie tworzy podgląd w panelu podglądu (czarny, po lewo). W obu oknach: PLT i G-kodów możliwa jest edycja tekstu. Przycisk konwersji można używać wielokrotnie, np. po zmianie wartości w oknie PLT, albo zmianie głębokości poszczególnych pisaków, albo osi Z.

W oknie podglądu po konwersji pojawia się nam rysunek ścieżki narzędzia. Każda ścieżka pisaka rysowana jest w kolorze pisaka, za wyjątkiem koloru czarnego, któy jest rysowany jasnozielono. Ruch jałowy (G00) rysowany jest kolorem białym. Kolory przyporządkowane są na razie na stałe. Jak będzie trzeba dorobię opcje dowolnej zmiany kolorów.

Pod oknem podglądu są następujące elementy funkcjonalne:
- suwaki osi X, Y i Z. Służą do zmiany konta widzenia rysunku wg danej osi.
- pola pokazujące kąty ustawienia każdej z osi (nieaktywne - niezmienialne);
- przyciski sterujące podglądem:
<< - zmniejszenie podglądu do 1/2,
>> - powiększenie podglądu 2x,
0 - widok z góry (X, Y, Z = 0),
[x] - pokaż cały rysunek,
Osie - pokaż układ współrzędnych (chwilowo).

W trakcie pracy działa także środkowy przycisk myszki (pod scrollerem). Pozwala na płynne przemieszczanie rysunku po ekranie. Ostatnim zadaniem jest zapis pliku g-kodów na dysk (przycisk Zapisz plik CNC).

Duża wersja okna programu:

Tu znajdziecie także przykładowy plik PLT, w którym każda litera rysowana jest innym pisakiem: http://www.mikrozabawki.pl/cnc/napis.plt

No i oczywiście link do programu (nie zmienił się): http://www.mikrozabawki.pl/cnc/plt2cnc.exe

Czekam na Wasze uwagi i sugestie rozwoju.

: 31 maja 2006, 11:12
autor: abel
Pozwalam sobie na podzielenie się paroma uwagami dotyczącymi programu PLT2CN.

1. Program akcetuje tylko pliki .plt utworzone w Corelu. Aby móc konwertować tego typu pliki pochodzące z innych programów, należy je zaimportować do Corela, a następnie zapisać (polecenie - eksportuj) jako plik .plt.

2. Przetestowałem wynikowe G - kody różnymi programami (INPLOT, DESKAM 2000, GCode 2000, KCam 4, CNC Player - na parę innych zabrakło czasu, a w TurboCNC i Machu już chyba to zrobiono) i stwierdziłem, że wygenerowane przez PLT2CN kody były bezbłędne i we wszystkich programach symulacje lub wizualizacje wiernie odtworzyły rysunki wyjściowe.

3. Program w miarę szybko konwertuje pliki do ok. 1000 lini G - kodu. Przy bardziej złożonych rysunkach np. 5000 linii i więcej trwa to dosyć długo. Porównywałem z popularnym KCamem 4 i w nim konwersja następuje znacznie szybciej.

4. Przy skomplikowanych rysunkach o dużej ilości przejść jałowych, rysunek ruchu jałowego bardzo mocno maskuje rysunek właściwy i staje się on wręcz nieczytelny.
W takich przypadkach bardzo pomocna by była możliwość chwilowego wyłączania rysunku ruchu jałowego.

5. Brakuje mi możliwości zmniejszania i ukrywania okna PLT2CN.

6. Program ma możliwość edycji plików .plt i G-kodu, ale niestety w przypadku G - kodu zmiany nie przenoszą się na podgląd. A gdyby dorobić możliwość również wczytywania
G - kodów i ich podglądu?

7. Aby uzyskać wiele przejść trzeba tworzyć rysunek wielokolorowy. Czy nie można oprócz tego, już na poziomie programu wprowadzić symulacji aktywności pisaków, co w prosty sposób pozwoli na wybór ilości przejść.

8. Wniosek na koniec: Program robi świetnie to do czego został stworzony - czyli bezbłędnie konwertuje pliki .plt na G - kod. Reszta - o ile Pan Piotr nie obrazi się za uwagi - może zostanie uwzględniona i programik będzie bardziej uniwersalny czyli super!!!.

Gratuluję i pozdrawiam.

: 31 maja 2006, 16:37
autor: Piotr Rakowski
Bardzo dziękuję za wnikliwą analizę mojego programu. Na usprawiedliwienie powiem, że program napisałem głównie dla siebie, ponieważ osobiście TurboCNC przypadł mi najbardziej do gustu. KCam ma sporo niedociągnięć, a Mach jest przegadany. Interface Macha jest egzemplifikacją tego, jak nie należy pisać interfejsu programu. Ale ad rem:

1. Tak, rzeczywiście na razie zrobiłem współpracę z Corelem. Ale współpracę z innymi programami dorobię, jak tylko prześlecie mi Panowie jakieś plik PLT utworzone w innych, niż Corel programach. Interpretuję narazie 3 rodzaje poleceń pliku PLT
PU (pen up) = G00,
PD (pen down) = G01,
SP (select pen) = G01->Z.
Inne dorobię, jak tylko w pliku PLT wystąpią.

2. :lol:

3. Nie robiłem optymalizacji algorytmu konwersji. Poza tym konwersja ponad 5000 linii trwa nie dłużej niż 30 sek. Jeśli jest to za długo - popracuję nad tym.

4 i 5. Dorobię, bez problemu.

6. Program nie służy do podgładu pliku G-kodów, a pliku skonwertowanego. Podgląd tworzony jest w trakcie konwersji na podstawie pliku PLT, nie g-kodów. Ale z pewnością w przyszłości dorobię i tę opcję.

7. Ta opcja jest wbudowana. Przoszę wczytać plik, skonwertować i zacząć zmieniać głębokość pisaków. Potem znów konwersja. Działa...

8. Pan Piotr się nie obraża i bardzo dziękuje za podpowiedzi. Wiem w jakim kierunku iść, czyli jak poprawić ten program.

Dziękuję za uznanie. Czekam na pliki PLT.