DataBeam :
- migliorato ordinamento fori - riunite FindMilling, .... in una unica libreria - altre piccole migliorie.
This commit is contained in:
@@ -11,7 +11,7 @@ EgtOutLog( ' ProcessDrill started', 1)
|
||||
|
||||
-- Dati
|
||||
local BD = require( 'BeamData')
|
||||
local Drillings = require( 'DrillData')
|
||||
local ML = require( 'MachiningLib')
|
||||
|
||||
---------------------------------------------------------------------
|
||||
-- Riconoscimento della feature
|
||||
@@ -43,25 +43,6 @@ function ProcessDrill.IsTailFeature( Proc, b3Raw)
|
||||
end
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
local function FindDrilling( dDiam)
|
||||
-- ricerca sulle forature, dal diametro maggiore al minore
|
||||
for i = #Drillings, 1, -1 do
|
||||
local Drilling = Drillings[i]
|
||||
if ( Drilling.Type == 'Drill' and Drilling.Diam < dDiam + 10 * GEO.EPS_SMALL and Drilling.Diam > dDiam - BD.DRILL_TOL - 10 * GEO.EPS_SMALL) then
|
||||
return i, Drilling.Name, Drilling.Type
|
||||
end
|
||||
end
|
||||
-- ricerca sulle svuotature, dal diametro maggiore al minore
|
||||
for i = #Drillings, 1, -1 do
|
||||
local Drilling = Drillings[i]
|
||||
if ( Drilling.Type == 'Pocket' and dDiam > Drilling.Diam + 10 * GEO.EPS_SMALL) then
|
||||
return i, Drilling.Name, Drilling.Type
|
||||
end
|
||||
end
|
||||
return 0
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
-- Verifica se da lavorare in due metà
|
||||
function ProcessDrill.Split( Proc)
|
||||
@@ -77,12 +58,12 @@ function ProcessDrill.Split( Proc)
|
||||
local vtExtr = EgtCurveExtrusion( AuxId, GDB_RT.GLOB)
|
||||
local bOpen = ( EgtGetInfo( Proc.Id, 'FCE', 'i') ~= 0)
|
||||
-- recupero la lavorazione
|
||||
local nDri, sDrilling = FindDrilling( dDiam)
|
||||
local sDrilling, _, dMaxMat = ML.FindDrilling( dDiam)
|
||||
if not sDrilling then
|
||||
return bOpen
|
||||
end
|
||||
-- restituisco se va fatto in doppio
|
||||
return ( bOpen and dLen > Drillings[nDri].MaxMat + 10 * GEO.EPS_SMALL)
|
||||
return ( bOpen and dLen > dMaxMat + 10 * GEO.EPS_SMALL)
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
@@ -137,7 +118,7 @@ function ProcessDrill.Make( Proc, nPhase, nRawId, nPartId)
|
||||
if bToInvert then vtExtr = - vtExtr end
|
||||
if Proc.Flg == -2 then bToInvert = true end
|
||||
-- recupero la lavorazione
|
||||
local nDri, sDrilling, nType = FindDrilling( dDiam)
|
||||
local sDrilling, nType = ML.FindDrilling( dDiam)
|
||||
if not sDrilling then
|
||||
local sErr = 'Error on process ' .. tostring( Proc.Id) .. ' drilling not found in library'
|
||||
EgtOutLog( sErr)
|
||||
|
||||
Reference in New Issue
Block a user