[PikoCNC] Skrypt frontów meblowych na planie prostokąta

Rozmowy dotyczące oprogramowania sterującego maszynami CNC i sterowników CNC obrabiarek numerycznych
Awatar użytkownika

Autor tematu
mitek
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 1
Posty: 744
Rejestracja: 09 cze 2009, 22:06
Lokalizacja: k/Krakowa
Kontakt:

[PikoCNC] Skrypt frontów meblowych na planie prostokąta

#1

Post napisał: mitek » 14 sty 2012, 10:01

Kolejny skrypt który pomaga mi produkować fronty meblowe.

- frez opada po zdefiniowanej rampie
- frez wychodzi z materiału po rampie
- dwa dowolnej głębokości przejścia
program meblowy;

//==============================================================================
// program do frezowania ramek na frontach meblowych
//==============================================================================

var szer,wys,odstep,depth,depth2,zejscie,zejscieX,zejscieY:extended;
Fxy,Fz:cardinal;
begin
szer:=370;
wys:=470;
odstep:=70;
fxy:=2000;
Fz:=600;
depth:=7;
depth2:=14;
zejscie:=50;

if (RUN_CNT=0) then begin // wykonywane tylko przy pierwszym uruchomieniu
SetArgPic('kwadrat.jpg'); // obrazek objaśniający
SetArg(0,'Szerokość (mm)',szer);
SetArg(1,'Wysokość (mm)',wys);
SetArg(2,'Margines (mm)',odstep);


SetArg(4,'Szybkość Fxy (mm/min)',Fxy);
SetArg(5,'Szybkość Fz (mm/min)',Fz);
SetArg(6,'Głębokość 1 wejście (mm)',depth);
SetArg(7,'Głębokość 2 wejscie (mm)',depth2);
SetArg(8,'Długość zejścia (mm)',zejscie);
end;

// Organizujeny sposób wyświetlania parametrów
ArgPageTitle('Wymiary frontu'); // nazwa pierwszej zakładki
ArgShow(0);
ArgShow(1);
ArgShow(2);
ArgSeparator('');
ArgSeparator('Autor: Marek Mitoński PPH MITEX');
ArgNewPage('Ustaienia'); // dodanie nowej zakładki
ArgShow(6);
ArgShow(7);
ArgShow(4);
ArgShow(5);
ArgShow(8);

ArgEdit; // i otwarcie okna edycji parametrów

szer:=Arg(0);
wys:=Arg(1);
odstep:=Arg(2);

depth:=Arg(6);
depth2:=Arg(7);
Fxy:=Arg(4);
Fz:=Arg(5);
zejscie:=Arg(8);

// Pierwsze zejscie
if (depth2=20) then begin
// Konczenie pracy
end else begin
//
end;

ZejscieX:=zejscie;
ZejscieY:=zejscie;

// Pierwsze zejscie
SetG(0); SetZ(10); write;
SetG(0); SetX(odstep); SetY(ODSTEP+zejscieY); SetZ(10); write;
SetG(0); SetX(odstep); SetY(ODSTEP+zejscieY); SetZ(1); write;
SetG(1); SetX(odstep); SetY(odstep+5);SetZ(-1*depth); SetF(Fz); write;
SetX(odstep); SetF(Fxy); write;
SetY(odstep); write;
SetX(szer-odstep); write;
SetY(wys-odstep); write;
SetX(odstep); write;
SetY(odstep+zejscieY); write;
SetY(odstep+5); SetZ(-1*depth2); SetF(Fz); write;
SetY(odstep); SetF(Fxy); write;
SetY(odstep); write;
SetX(szer-odstep); write;
SetY(wys-odstep); write;
SetX(odstep); write;
SetY(odstep); write;
SetX(odstep+5); write;
SetX(odstep+zejsciex); SetZ ((-1*depth2)+1); write;
SetG(0); SetZ(10); write;

if (depth2=20) then begin
// Konczenie pracy
end else begin
//
end;

SetG(0); SetX(odstep); SetY(odstep); write; //zakonczenie

end.


[ Dodano: 2012-01-25, 12:41 ]
Modernizacja !!!

program meblowy;

//==============================================================================
// program do frezowania ramek na frontach meblowych
//==============================================================================

var SzufladaOdstep,SzufladaOd,FrezKrawedzi,depth,depth2:extended;
zejscie,zejscieX,zejscieY,odstep,szer,wys,szer1,wys1,Fxy,Fz:cardinal;
begin
Szer:=296;
Wys:=713;
Odstep:=70;
Fxy:=2600;
Fz:=1200;
Depth:=-7;
Depth2:=-9.5;
Zejscie:=45;
SzufladaOd:=220;
FrezKrawedzi:=6;

if (RUN_CNT=0) then begin // wykonywane tylko przy pierwszym uruchomieniu
SetArgPic('kwadrat.jpg'); // obrazek objaśniający
SetArg(0,'Szerokość (mm)',szer);
SetArg(1,'Wysokość (mm)',wys);
SetArg(2,'Margines (mm)',odstep);


SetArg(4,'Szybkość Fxy (mm/min)',Fxy);
SetArg(5,'Szybkość Fz (mm/min)',Fz);
SetArg(6,'Głębokość 1 wejście (mm)',depth);
SetArg(7,'Głębokość 2 wejscie (mm)',depth2);
SetArg(8,'Długość zejścia (mm)',zejscie);
SetArg(9,'Szuflada od wymiaru [dzieli na 3](mm)',SzufladaOd);
SetArg(10,'Rozmiar freza krawedzi [do szuflad](mm)',FrezKrawedzi);

end;

// Organizujeny sposób wyświetlania parametrów
ArgPageTitle('Wymiary frontu'); // nazwa pierwszej zakładki
ArgShow(0);
ArgShow(1);
ArgShow(2);
ArgSeparator('');
ArgSeparator('Autor: Marek Mitoński PPH MITEX');
ArgNewPage('Ustaienia'); // dodanie nowej zakładki
ArgShow(6);
ArgShow(7);
ArgShow(4);
ArgShow(5);
ArgShow(8);
ArgShow(9);
ArgShow(10);

ArgEdit; // i otwarcie okna edycji parametrów

szer:=Arg(0);
wys:=Arg(1);
odstep:=Arg(2);

depth:=Arg(6);
depth2:=Arg(7);
Fxy:=Arg(4);
Fz:=Arg(5);
zejscie:=Arg(8);
SzufladaOd:=Arg(9);
FrezKrawedzi:=Arg(10);

ZejscieX := zejscie;
ZejscieY := zejscie;
szer1 := szer;
wys1 := wys;

SetM(3);write; //START



if (SzufladaOd>wys) then begin //SZUFLADA
SzufladaOdstep:= ((wys-(2*FrezKrawedzi))div 4)+FrezKrawedzi ;
msgOk('Szuflada');
SetG(0); SetX(odstep); SetY(SzufladaOdstep + zejscieY); SetZ(10); write;
SetG(0); SetX(odstep); SetY(SzufladaOdstep + zejscieY); SetZ(1); write;
SetG(1); SetX(odstep); SetY(SzufladaOdstep); SetZ(depth); SetF(Fz); write;
SetG(1); SetX(odstep); SetF(Fxy); write;
SetG(1); SetY(SzufladaOdstep); write;
SetG(1); SetX(szer-odstep); write;
SetG(1); SetY(wys-SzufladaOdstep); write;
SetG(1); SetX(odstep); write;
SetG(1); SetY(SzufladaOdstep+zejscieY); write;
SetG(1); SetY(SzufladaOdstep+2); SetZ(depth2); SetF(Fz); write;
SetG(1); SetY(SzufladaOdstep); SetF(Fxy); write;
SetG(1); SetY(SzufladaOdstep); write;
SetG(1); SetX(szer-odstep); write;
SetG(1); SetY(wys-SzufladaOdstep); write;
SetG(1); SetX(odstep); write;
SetG(1); SetY(SzufladaOdstep); write;
SetG(1); SetX(odstep+5); write;
SetG(1); SetX(odstep+zejsciex); SetZ ((depth2)+1); write;
SetG(0); SetZ(10); write;

end else begin;

if (szer<wys) then begin; //obracanie
wys := szer1;
szer := wys1;
end;

// Pierwsze zejscie
SetG(0); SetZ(10); write;
SetG(0); SetX(odstep); SetY(ODSTEP+zejscieY); SetZ(10); write;
SetG(0); SetX(odstep); SetY(ODSTEP+zejscieY); SetZ(1); write;
SetG(1); SetX(odstep); SetY(odstep+5);SetZ(depth); SetF(Fz); write;
SetG(1); SetX(odstep); SetF(Fxy); write;
SetG(1); SetY(odstep); write;
SetG(1); SetX(szer-odstep); write;
SetG(1); SetY(wys-odstep); write;
SetG(1); SetX(odstep); write;
SetG(1); SetY(odstep+zejscieY); write;
SetG(1); SetY(odstep+5); SetZ(depth2); SetF(Fz); write;
SetG(1); SetY(odstep); SetF(Fxy); write;
SetG(1); SetY(odstep); write;
SetG(1); SetX(szer-odstep); write;
SetG(1); SetY(wys-odstep); write;
SetG(1); SetX(odstep); write;
SetG(1); SetY(odstep); write;
SetG(1); SetX(odstep+5); write;
SetG(1); SetX(odstep+zejsciex); SetZ ((depth2)+1); write;
SetG(0); SetZ(10); write;

//zakonczenie
SetG(0); SetZ(10);write;
SetM(5); SetM(30); write; // KONIEC
End


end.
Załączniki
piko skrypt.JPG
piko skrypt.JPG (47.83 KiB) Przejrzano 779 razy



Tagi:

Wróć do „Ogólne Dyskusje na Temat Systemów Sterowania CNC”