NoDeburringWelding

<< 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ț TipImbinareColt_FaraDebavurare.

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;