Chce zrobić sobie program do wiercenia i mam kilka problemów
- pierwszy problem to taki że nie mogę użyć funkcji [SetArg] z cyfrą większą niż 49 potem zwyczajnie np się nie wyświetla parametr ... czy można to jakoś obejść bo sam program będzie miał sporo więcej parametrów samych współrzędnych mam 15 wiec razy 3 daje już 45 a dodatkowo chce dodać możliwość uruchomienia odpowiedniego otworu i tak dalej...
- następnym problemem jest to że używając G81 jak dam w kilku otworach tą samą głębokość to zostaje wywiercony tylko pierwszy. podobnie jest jak zastosuje R...
program meblowy;
//==============================================================================
// program do frezowania ramek na frontach meblowych
//==============================================================================
var
mode,Fxy,Fz:cardinal;
szerokosc,dlugosc,
x1,y1,z1,
x2,y2,z2,
x3,y3,z3,
x4,y4,z4,
x5,y5,z5,
x6,y6,z6,
x7,y7,z7,
x8,y8,z8,
x9,y9,z9,
x10,y10,z10,
x11,y11,z11,
x12,y12,z12,
x13,y13,z13,
x14,y14,z14,
x15,y15,z15:extended;
M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15 :boolean;
begin
// {$I panel_funkcje.pas} // dołączenie pliku z funkcjami
szerokosc:=480;
dlugosc:=720;
fxy:=2000;
Fz:=600;
x1:=32; y1:=54; z1:=-9; M1:=TRUE;
x2:=64; y2:=54; z2:=-9; M2:=TRUE;
x3:=96; y3:=80; z3:=-9; M3:=TRUE;
x4:=128; y4:=80; z4:=-9; M4:=TRUE;
x5:=10; y5:=10; z5:=-6; M5:=False;
x6:=10; y6:=10; z6:=-6; M6:=False;
x7:=10; y7:=10; z7:=-6; M7:=False;
x8:=10; y8:=10; z8:=-6; M8:=False;
x9:=10; y9:=10; z9:=-6; M9:=False;
x10:=10; y10:=10; z10:=-6; M10:=False;
x11:=10; y11:=10; z11:=-6 M11:=False;
x12:=10; y12:=10; z12:=-6; M12:=False;
x13:=10; y13:=10; z13:=-6; M13:=False;
x14:=10; y14:=10; z14:=-6; M14:=False;
x15:=10; y15:=10; z15:=-6; M15:=False;
if (RUN_CNT=0) then begin // wykonywane tylko przy pierwszym uruchomieniu
SetArgPic('wiercenia.bmp'); // obrazek objaśniający
SetArg(10,'= X [mm]',X1);
SetArg(11,'= Y [mm]',Y1);
SetArg(12,'= Z [mm]',Z1);
SetArg(13,'Wierć',M1);
SetArg(20,'= X [mm]',X2);
SetArg(21,'= Y [mm]',Y2);
SetArg(22,'= Z [mm]',Z2);
SetArg(23,'Wierć',M2);
SetArg(30,'= X [mm]',X3);
SetArg(31,'= Y [mm]',Y3);
SetArg(32,'= Z [mm]',Z3);
SetArg(33,'Wierć',M3);
SetArg(40,'= X [mm]',X4);
SetArg(41,'= Y [mm]',Y4);
SetArg(42,'= Z [mm]',Z4);
SetArg(43,'Wierć',M4);
SetArg(0,'Szerokosc',Szerokosc);
SetArg(1,'Długość',Dlugosc);
SetArg(2,'Szybkość Fxy (mm/min)',Fxy);
SetArg(3,'Szybkość Fz (mm/min)',Fz);
end;
// Organizujeny sposób wyświetlania parametrów
ArgPageTitle('wsp 1'); // nazwa pierwszej zakładki
ArgShow(13);
ArgShow(10);
ArgShow(11);
ArgShow(12);
ArgNewPage('wsp 2'); // nazwa pierwszej zakładki
ArgShow(23);
ArgShow(20);
ArgShow(21);
ArgShow(22);
ArgNewPage('wsp 3'); // nazwa pierwszej zakładki
ArgShow(33);
ArgShow(30);
ArgShow(31);
ArgShow(32);
ArgNewPage('wsp 4'); // nazwa pierwszej zakładki
ArgShow(43);
ArgShow(40);
ArgShow(41);
ArgShow(42);
ArgNewPage('Ustaienia'); // dodanie nowej zakładki
ArgShow(0);
ArgShow(1);
ArgShow(2);
ArgShow(3);
ArgSeparator('');
ArgSeparator('Autor: Marek Mitoński PPH MITEX');
ArgEdit; // i otwarcie okna edycji parametrów
x1:=Arg(10); y1:=Arg(11); z1:=Arg(12); M1:=Arg(13);
x2:=Arg(20); y2:=Arg(21); z2:=Arg(22); M2:=Arg(23);
x3:=Arg(30); y3:=Arg(31); z3:=Arg(32); M3:=Arg(33);
x4:=Arg(40); y4:=Arg(41); z4:=Arg(42); M4:=Arg(43);
x5:=Arg(105); y5:=Arg(205); z5:=Arg(305); M5:=Arg(405);
x6:=Arg(106); y6:=Arg(206); z6:=Arg(306); M6:=Arg(406);
x7:=Arg(107); y7:=Arg(207); z7:=Arg(307); M7:=Arg(407);
x8:=Arg(108); y8:=Arg(208); z8:=Arg(308); M8:=Arg(408);
x9:=Arg(109); y9:=Arg(209); z9:=Arg(309); M9:=Arg(409);
x10:=Arg(110); y10:=Arg(210); z10:=Arg(310); M10:=Arg(410);
x11:=Arg(111); y11:=Arg(211); z11:=Arg(311); M11:=Arg(411);
x12:=Arg(112); y12:=Arg(212); z12:=Arg(312); M12:=Arg(412);
x13:=Arg(113); y13:=Arg(213); z13:=Arg(313); M13:=Arg(413);
x14:=Arg(114); y14:=Arg(214); z14:=Arg(314); M14:=Arg(414);
x15:=Arg(115); y15:=Arg(215); z15:=Arg(315); M15:=Arg(415);
szerokosc:=Arg(0);
dlugosc:=Arg(1);
Fxy:=Arg(2);
Fz:=Arg(3);
// Rysowanie =================================================================
SetM(3);write; //START
SetG(0) SetZ (10); write;
//SetX(x1); SetY(y1) SetZ(z1) SetR (1) SetF(Fz); write;
if (Arg(13)=TRUE) then begin; //Wsp1
SetG(98); write;
SetG(81); write;
SetX(x1); SetY(y1); SetZ(z1); SetF(Fz); write;
SetG(80); write;
end;
if (Arg(23)=TRUE) then begin; //Wsp2
SetG(98); write;
SetG(81); write;
SetX(x2); SetY(y2); SetZ(z2); SetF(Fz); write;
SetG(80); write;
end;
if (Arg(33)=TRUE) then begin; //wsp3
SetG(98); write;
SetG(81); write;
SetX(x3); SetY(y3); SetZ(z3); SetF(Fz); write;
SetG(80); write;
end;
if (Arg(43)=TRUE) then begin //wsp4
SetG(98); write;
SetG(81); write;
SetX(x4); SetY(y4); SetZ(z4); SetF(Fz); write;
SetG(80); write;
end;
SetG(0); SetZ(10);write;
SetM(5); SetM(30); write; // KONIEC
end.