Edycja gkodu

Dyskusje dotyczące najpopularniejszego programu sterującego maszynami CNC

rc666
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 5
Posty: 1244
Rejestracja: 27 cze 2011, 14:48
Lokalizacja: Chrząszczyżewoszyce

#11

Post napisał: rc666 » 10 lut 2012, 16:02

sigiii pisze:zainstalowałem jedit. Ogólnie program mi się podoba. Kolego rc66 możesz opisać jak jedną linię gkodu można w tym edytorze zastąpić np. dwoma?
Niestety ale pomylilem sie word tego nie robi tylko pojedyncze line.
Co ten program robi. Z tego co widze to jakies wiercenia?


Nie ma głupich pytań, są tylko głupcy którzy ich nie zadają...

Tagi:

Awatar użytkownika

grg12
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 3
Posty: 1670
Rejestracja: 03 sty 2007, 14:27
Lokalizacja: Wiedeń

#12

Post napisał: grg12 » 10 lut 2012, 17:09

sigiii pisze:zainstalowałem jedit. Ogólnie program mi się podoba. Kolego rc66 możesz opisać jak jedną linię gkodu można w tym edytorze zastąpić np. dwoma?
Jedną linijkę można łatwo zastąpić dwoma - wciśnij "Ctrl-F" (szukaj), otworzy się okienko poszukiwania - na górze wpisujesz poszukiwany wzorzec (np. G1Z-4.000F20.0), na dole wklejasz tekst którym chcesz zastąpić (musisz skądś skopiować i wkleić a nie napisać bo naciśnięcie "enter" rozpocznie szukanie - potem tylko "Find" i "Find and replace" albo "Replace all"). Ale takie podejście schrzani ci numery linii. Jeśli chcesz je zachować - możesz to zrobić przy pomocy makra. Kod przykładowego makra - w menu makro masz polecenia "Record temporary macro" i "Stop recording" - po uruchomieniu pierwszego edytor zacznie rejestrować wszystko co robisz - potem możesz całość wywołać kombinacją klawiszy. Makra są zwykłymi plikami tekstowymi (programami java). Prosty przykład - uruchom "Record temporary macr" i natychmiast "Stop recording". Wśród otwartych plików powinien pojawić się plik "Temporary_macro.bsh", zajrzyj do niego, wykasuj wszystko co tam jest i wklej kod który jest na dole tego postu, następnie wróć do pliku z twoim przykładowym kodem, poszukaj (przez Ctrl-f) tekstu 0G1Z-8.000F20.0 i nie odznaczając go uruchom polecenie "Run temporary macro" (skrót klawiszowy to prawdopodobnie "Ctrl-m Ctrl-p" - sprawdź w menu "Macros"). Każde wywołanie makra będzie modyfikowało kolejne wystąpienie g-codu. Całość brzmi dość skomplikowanie - ale możesz mi wierzyć, po odrobinie treningu idzie to bardzo szybko.

textArea.goToPrevCharacter(false);
textArea.goToStartOfWhiteSpace(true);
Registers.copy(textArea,'$');
textArea.goToNextCharacter(false);
textArea.goToEndOfWhiteSpace(true);
textArea.delete();
textArea.setSelectedText("0G1Z-4.000F20.0");
textArea.insertEnterAndIndent();
Registers.paste(textArea,'$',false);
textArea.setSelectedText("1G00Z1.000");
textArea.insertEnterAndIndent();
Registers.paste(textArea,'$',false);
textArea.setSelectedText("2G1Z-3.8000F200.0");
SearchAndReplace.setSearchString("0G1Z-8.000F20.0");
SearchAndReplace.setAutoWrapAround(false);
SearchAndReplace.setReverseSearch(false);
SearchAndReplace.setIgnoreCase(false);
SearchAndReplace.setRegexp(false);
SearchAndReplace.setSearchFileSet(new CurrentBufferSet());
SearchAndReplace.find(view);
Ostatnio zmieniony 10 lut 2012, 17:11 przez grg12, łącznie zmieniany 1 raz.


Autor tematu
sigiii
Sympatyk forum poziom 2 (min. 50)
Sympatyk forum poziom 2 (min. 50)
Posty w temacie: 5
Posty: 60
Rejestracja: 15 sie 2007, 23:44
Lokalizacja: slask

#13

Post napisał: sigiii » 10 lut 2012, 17:10

tak wiercenie otworów w stole podciśnieniowym. W sumie taka możliwość edycji gkodu przydała by mi się nie tylko w tym przypadku.


rc666
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 5
Posty: 1244
Rejestracja: 27 cze 2011, 14:48
Lokalizacja: Chrząszczyżewoszyce

#14

Post napisał: rc666 » 10 lut 2012, 17:20

sigiii pisze:tak wiercenie otworów w stole podciśnieniowym. W sumie taka możliwość edycji gkodu przydała by mi się nie tylko w tym przypadku.
Dlaczego do wiercenia nie uzywasz G81 dla przykladu.
Poza tym jesli tak duzo zmian musisz robic to nie lepiej i szybciej bedzie od nowa program zrobic?
Nie ma głupich pytań, są tylko głupcy którzy ich nie zadają...


Autor tematu
sigiii
Sympatyk forum poziom 2 (min. 50)
Sympatyk forum poziom 2 (min. 50)
Posty w temacie: 5
Posty: 60
Rejestracja: 15 sie 2007, 23:44
Lokalizacja: slask

#15

Post napisał: sigiii » 10 lut 2012, 18:02

kolego grg12 nie wiem co robię źle. Postępuje wg twojego opisu czyli kopiuję dwie linie gkodu którym ma być zastąpiona jedna linia. Wklejam w okienko Replace with i faktycznie zastępuje ale wszystko znajduje się w jednej linii

Awatar użytkownika

gaspar
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 1
Posty: 1714
Rejestracja: 13 sty 2006, 16:41
Lokalizacja: Stargard
Kontakt:

#16

Post napisał: gaspar » 10 lut 2012, 19:57

W machu możesz napisać prosty program używając zmiennych i powtarzać dowolną ilość razy za pomocą funkcji M98 - podprogramu.

Zmienne deklaruje się #

Dla przykładu prosty program na wiercenie co 5cm na długości 1m (razem 20 otworów)

PROGRAM:

(START)

(deklaracja zmiennej 100 i nadanie jej wartosci rownej 0 i zmiennej 200 o wartosci 10)
#100=0
#200=10

S19000
F150

G0 X0 Y0 Z3
(wywołujemy podprogram 20 razy, czyli zrobimy 20 otworow w jednej lini)
M98 P100 L20
(powrot do pozycji X=0 Y=0)
G0 X0 Y0 Z3
M30

(a tutaj podprogram P100)

O100

(prosty cykl wiercenia)

G0 Z3.
(ustalenie aktualnego Z jako R-planu)
G98
(wiercenie jest co +50mm)
G81 X[#100+50] Y[#200] Z-5 R1. F150
#100=[#100+50]
M99

(KONIEC)

Pamiętaj by po kodzie M99 na samym końcu pliku wcisnąć enter, inaczej nie chce mach czytać (nie wiem czemu)

Odpal go pod machem a zobaczysz jakie to proste... Potem możesz kombinować z wprowadzeniem drugiej zmiennej dynamicznej np Y, która będzie Ci przesuwać otworki w osi Y.

Takie pisanie z palca to bajka jak się pozna zasady, nie trzeba kopiować itp...
https://www.instagram.com/cncworkshop.pl/
Obróbka CNC - frezowanie & toczenie

Awatar użytkownika

grg12
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 3
Posty: 1670
Rejestracja: 03 sty 2007, 14:27
Lokalizacja: Wiedeń

#17

Post napisał: grg12 » 10 lut 2012, 20:15

sigiii pisze:kolego grg12 nie wiem co robię źle. Postępuje wg twojego opisu czyli kopiuję dwie linie gkodu którym ma być zastąpiona jedna linia. Wklejam w okienko Replace with i faktycznie zastępuje ale wszystko znajduje się w jednej linii
Dziwne... W okienku "Replace" tekst jest w wielu liniach czy jednej? Na wszelki wypadek zainstalowałem najnowszą wersję i wypróbowałem na tekście z twojego posta (skopiowałem z przeglądarki) - wszystko działa.


Autor tematu
sigiii
Sympatyk forum poziom 2 (min. 50)
Sympatyk forum poziom 2 (min. 50)
Posty w temacie: 5
Posty: 60
Rejestracja: 15 sie 2007, 23:44
Lokalizacja: slask

#18

Post napisał: sigiii » 10 lut 2012, 20:46

odinstalowałem program i zainstalowałem jeszcze raz najnowszą wersję i wszystko śmiga. dziękuje koledze grg12 właśnie o to mi chodziło.
oczywiście nie zapomniałem o punkciku

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Mach 2 / 3 / 4 (ArtSoft software)”