Znaleziono 3 wyniki

autor: mitek
12 paź 2012, 09:25
Forum: PikoCNC
Temat: [PikoCNC] Skrypt do frontów.Dzielenie bez reszty-szczebliny
Odpowiedzi: 7
Odsłony: 2975

Div spasowało dobrze :) z Pascalem to moja pierwsza styczność więc często coś robię dłuższą drogą byle działało :)
autor: mitek
17 sty 2012, 18:14
Forum: PikoCNC
Temat: [PikoCNC] Skrypt do frontów.Dzielenie bez reszty-szczebliny
Odpowiedzi: 7
Odsłony: 2975

Tak czy inaczej byle by prowadziło do celu :) wcześniej pisałem w EduCAD i tam było dzielenie bez reszty dlatego pomyślałem że tu będzie podobnie...

[ Dodano: 2012-01-19, 19:56 ]
Instrukcja DIV załatwia sprawę tak dla potomności :)

Tu jest więcej gdyby ktoś potrzebował..

[ Dodano: 2012-01-25, 12:43 ]
i plik do zassania :)
program meblowy;

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

var
szerokosc,i,szczeblina,iloscszczeblin,odstepszczeblin_staly,odstepszczeblin,wysokosc,margines,glebokosc,x1,y1:Integer;
Fxy,Fz: cardinal;


begin
// {$I panel_funkcje.pas} // dołączenie pliku z funkcjami
szerokosc:=296;
wysokosc:=713;
margines:=40;
fxy:=2500;
Fz:=800;
glebokosc:=-3;
szczeblina:=40;
//r_rogu:=12;
//frez_fi:=16;
//ZRapid:=10;


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


SetArg(4,'Szybkość Fxy (mm/min)',Fxy);
SetArg(5,'Szybkość Fz (mm/min)',Fz);
SetArg(6,'Głębokość wejście (mm)',glebokosc);
SetArg(8,'Szerokość szczebliny',szczeblina);
//SetArg(9,'Promień w rogu',r_rogu);
//SetArg(10,'Średnica freza palcowego (mm)',frez_fi);
end;

// Organizujeny sposób wyświetlania parametrów
ArgPageTitle('Wymiary frontu'); // nazwa pierwszej zakładki
ArgShow(0);
ArgShow(1);
ArgShow(2);
ArgSeparator('');
ArgSeparator('UWAGA!!! program obraca element.');
ArgSeparator('Długa krawędź zawsze po X.');
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

szerokosc:=Arg(0);
wysokosc:=Arg(1);
margines:=Arg(2);

glebokosc:=Arg(6);
Fxy:=Arg(4);
Fz:=Arg(5);
szczeblina:=Arg(8);

// Rysowanie =================================================================

X1:=szerokosc;
Y1:=wysokosc;

SetM(3); //START

if (szerokosc>wysokosc) then begin //obracanie wymiarów

// prostokat w kolo
wysokosc:=y1;
szerokosc:=x1;
SetG(0); SetX(margines); SetY(margines); SetZ(10); write;
SetG(0); SetX(margines); SetY(margines); SetZ(1); write;
SetG(1); SetX(margines); SetY(margines); SetZ(glebokosc); SetF(Fz); write;
SetG(1); SetX(szerokosc-margines); SetY(margines); SetZ(glebokosc); SetF(Fxy); write;
SetG(1); SetX(szerokosc-margines); SetY(wysokosc-margines); SetZ(glebokosc); write;
SetG(1); SetX(margines); SetY(wysokosc-margines); SetZ(glebokosc); write;
SetG(1); SetX(margines); SetY(margines); SetZ(glebokosc); write;
SetG(0); SetX(margines); SetY(margines); SetZ(10); write;
// prostokata w kolo KONIEC

// szczebliny
iloscszczeblin:= (x1-margines-margines) div szczeblina;
odstepszczeblin:= (x1-margines-margines) / iloscszczeblin;
odstepszczeblin_staly :=odstepszczeblin;
for i := 0 to iloscszczeblin-2 do begin
SetG(0); SetX(margines+odstepszczeblin);SetY(margines); SetZ(10); SetF(Fz);write;
SetG(1); SetX(margines+odstepszczeblin);SetY(margines); SetZ(glebokosc); SetF(Fz);write;
SetG(1); SetX(margines+odstepszczeblin);SetY(wysokosc-margines); SetZ(glebokosc); SetF(Fxy) ;write;
SetG(0); SetX(margines+odstepszczeblin);SetY(wysokosc-margines); SetZ(10); SetF(Fxy) ;write;
odstepszczeblin:=odstepszczeblin+odstepszczeblin_staly;
end;
// szczebliny KONIEC


end else begin

// prostokat w kolo
wysokosc:=x1;
szerokosc:=y1;
SetG(0); SetX(margines); SetY(margines); SetZ(10); write;
SetG(0); SetX(margines); SetY(margines); SetZ(1); write;
SetG(1); SetX(margines); SetY(margines); SetZ(glebokosc); SetF(Fz); write;
SetG(1); SetX(szerokosc-margines); SetY(margines); SetZ(glebokosc); SetF(Fxy); write;
SetG(1); SetX(szerokosc-margines); SetY(wysokosc-margines); SetZ(glebokosc); write;
SetG(1); SetX(margines); SetY(wysokosc-margines); SetZ(glebokosc); write;
SetG(1); SetX(margines); SetY(margines); SetZ(glebokosc); write;
SetG(0); SetX(margines); SetY(margines); SetZ(10); write;
// koniec prostokata w kolo

// szczebliny
iloscszczeblin:= (x1-margines-margines) div szczeblina;
odstepszczeblin:= (x1-margines-margines) / iloscszczeblin;
odstepszczeblin_staly :=odstepszczeblin;
for i := 0 to iloscszczeblin-2 do begin
SetG(0); SetX(margines); SetY(margines+odstepszczeblin); SetZ(10); SetF(Fz);write;
SetG(1); SetX(margines); SetY(margines+odstepszczeblin); SetZ(glebokosc); SetF(Fz);write;
SetG(1); SetX(szerokosc-margines); SetY(margines+odstepszczeblin); SetZ(glebokosc); SetF(Fxy) ;write;
SetG(0); SetX(szerokosc-margines); SetY(margines+odstepszczeblin); SetZ(10); SetF(Fxy) ;write;
odstepszczeblin:=odstepszczeblin+odstepszczeblin_staly;
end;
// szczebliny KONIEC

end;

SetM(5); SetM(30); write; // KONIEC

end.
autor: mitek
17 sty 2012, 16:05
Forum: PikoCNC
Temat: [PikoCNC] Skrypt do frontów.Dzielenie bez reszty-szczebliny
Odpowiedzi: 7
Odsłony: 2975

[PikoCNC] Skrypt do frontów.Dzielenie bez reszty-szczebliny

Witam

Mam pytanko co do dzielenia.

Chce zrobić skrypt który będzie robił na elemencie szczelinki ilość i szerokość będzie zależała od szerokości elementu.

Jaką Komedą mogę podzielić wartość liczbową tak by dostać wynik bez reszty (5/2=2 a nie 2,5 :) )

Jest mi to niezbędne.
oczywiście po wszystkim umieszczę cały kod :)

Wróć do „[PikoCNC] Skrypt do frontów.Dzielenie bez reszty-szczebliny”