<< Click to Display Table of Contents >> Navigation: WinArhi > Fereastra principala > Oferte si Comenzi deschise > Meniu > Optiuni > Editare Script funcții > Funcții speciale > NoDeburringWelding |
NoDeburringWelding - Dacă în script există această funcție atunci aceasta va fi apelată când la o ferestră (sau per comandă) sa selectat „Fără debavurare” la tipul de îmbinări de colț .
Dacă funcția întoarce True atunci fereastra va avea sudură fară debavurare, altfel va avea sudură simplă.
Mai jos este un exemplu a unei asemenea funcții.
function NoDeburringWelding: Boolean;
var
TrsText_EroareGraf: String = 'La această poziție nu se poate executa sudura Graf!!!';
i: Integer;
f: TWAFrame;
begin
ReportsMsg := '';
//implicit intoarcem True, adică va fi fără debavurare
Result := True;
for i := 0 to Val.WindowDoor.FramesCount - 1 do begin
f := Val.WindowDoor.Frames(i);
//permitem rotirea si verificam ambele variante
if not f.IsRectangle
or Val.HasAdditionalProfilesWithWeldingOnFrame
or (DimensiuniSuduraGrafNotOK(f.Width, f.Height, (i=0))
and DimensiuniSuduraGrafNotOK(f.Height, f.Width, (i=0))) then
begin
ReportsMsg := TrsText_EroareGraf;
WarnMsg := TrsText_EroareGraf;
Result := False;
Exit;
end;
end;
end;
function DimensiuniSuduraGrafNotOK(X, Y: Double; EsteToc: Boolean): Boolean;
var
XMin, XMax: Integer;
YMin, YMax: Integer;
begin
if Val.WindowType = 'Door' then begin
if EsteToc then begin XMin := 415; YMin := 390; XMax := 3200; YMax := 4000; end
else begin XMin := 425; YMin := 400; XMax := 3200; YMax := 4000; end;
end
else begin //fereastra
if EsteToc then begin XMin := 415; YMin := 390; XMax := 3200; YMax := 2800; end
else begin XMin := 390; YMin := 390; XMax := 3200; YMax := 2800; end;
end;
if (X < XMin) or (X > XMax) or (Y < YMin) or (Y > YMax) then
Result := True
else
Result := False;
end;