- il calcolo tempi è ora fatto direttamente nella lavorazione e contempla anche le feed start end
This commit is contained in:
@@ -190,7 +190,7 @@ function MachiningLib.GetSplitMachinings( Machinings, SplittingPoints, Part)
|
||||
end
|
||||
Machinings[nCurrentMachiningIndex].nFeatureSegment = j
|
||||
Machinings[nCurrentMachiningIndex].dLengthToMachine = Machinings[nCurrentMachiningIndex].dEdgeLength + Machinings[nCurrentMachiningIndex].LeadIn.dStartAddLength + Machinings[nCurrentMachiningIndex].LeadOut.dEndAddLength
|
||||
Machinings[nCurrentMachiningIndex].dLengthToMachineAllStepsWithLeadInOut = MachiningLib.GetLengthToMachineAllStepsWithLeadInOut( Machinings[nCurrentMachiningIndex])
|
||||
Machinings[nCurrentMachiningIndex].dTimeToMachine = MachiningLib.GetTimeToMachineAllStepsWithLeadInOut( Machinings[nCurrentMachiningIndex])
|
||||
end
|
||||
-- anche le lavorazioni non splittate necessitano del segmento assegnato
|
||||
else
|
||||
@@ -220,7 +220,7 @@ function MachiningLib.GetSplitMachinings( Machinings, SplittingPoints, Part)
|
||||
end
|
||||
end
|
||||
Machinings[i].dLengthToMachine = Machinings[i].dEdgeLength + Machinings[i].LeadIn.dStartAddLength + Machinings[i].LeadOut.dEndAddLength
|
||||
Machinings[i].dLengthToMachineAllStepsWithLeadInOut = MachiningLib.GetLengthToMachineAllStepsWithLeadInOut( Machinings[i])
|
||||
Machinings[i].dTimeToMachine = MachiningLib.GetTimeToMachineAllStepsWithLeadInOut( Machinings[i])
|
||||
end
|
||||
end
|
||||
|
||||
@@ -941,11 +941,15 @@ function MachiningLib.GetToolMRR( Parameters)
|
||||
end
|
||||
|
||||
-------------------------------------------------------------------------------------------------------------
|
||||
function MachiningLib.GetLengthToMachineAllStepsWithLeadInOut( Machining)
|
||||
function MachiningLib.GetTimeToMachineAllStepsWithLeadInOut( Machining)
|
||||
local dLengthToMachineAllStepsWithLeadInOut = 0
|
||||
local dTimeToMachineTotal = 0
|
||||
local dToolStartFeed = TOOLS[Machining.nToolIndex].Feeds.dStartFeed
|
||||
local dToolEndFeed = TOOLS[Machining.nToolIndex].Feeds.dEndFeed
|
||||
local dToolFeed = TOOLS[Machining.nToolIndex].Feeds.dFeed
|
||||
|
||||
if Machining.nType == MCH_MY.MILLING then
|
||||
-- se non settati, imposto valori di default
|
||||
-- stima LeadIn e LeadOut; se non settati si impostano a valori di default
|
||||
if not Machining.LeadIn.dTotalEstimatedDistance then
|
||||
Machining.LeadIn.dTotalEstimatedDistance = sqrt( Machining.LeadIn.dPerpDistance ^ 2 + Machining.LeadIn.dTangentDistance ^ 2) + Machining.dStartSafetyLength
|
||||
end
|
||||
@@ -956,11 +960,17 @@ function MachiningLib.GetLengthToMachineAllStepsWithLeadInOut( Machining)
|
||||
Machining.CloneStepsRadial = {}
|
||||
Machining.CloneStepsRadial.nCount = 1
|
||||
end
|
||||
-- calcolo lunghezze
|
||||
-- stima tempi di lavorazione per i diversi tratti
|
||||
local dTimeToMachineLeadIn = Machining.LeadIn.dTotalEstimatedDistance / dToolStartFeed
|
||||
local dTimeToMachineLeadOut = Machining.LeadOut.dTotalEstimatedDistance / dToolEndFeed
|
||||
local dTimeToMachineEdge = Machining.dLengthToMachine / dToolFeed
|
||||
-- calcolo lunghezze e tempi
|
||||
if Machining.Steps.nStepType == MCH_MILL_ST.ZIGZAG then
|
||||
dLengthToMachineAllStepsWithLeadInOut = ( Machining.dLengthToMachine * Machining.CloneStepsRadial.nCount + ( Machining.LeadIn.dTotalEstimatedDistance + Machining.LeadOut.dTotalEstimatedDistance)) * Machining.Steps.nCount
|
||||
dTimeToMachineTotal = ( dTimeToMachineEdge * Machining.CloneStepsRadial.nCount + ( dTimeToMachineLeadIn + dTimeToMachineLeadOut)) * Machining.Steps.nCount
|
||||
else
|
||||
dLengthToMachineAllStepsWithLeadInOut = Machining.CloneStepsRadial.nCount * ( Machining.dLengthToMachine + Machining.LeadIn.dTotalEstimatedDistance + Machining.LeadOut.dTotalEstimatedDistance) * Machining.Steps.nCount
|
||||
dTimeToMachineTotal = Machining.CloneStepsRadial.nCount * ( dTimeToMachineEdge + dTimeToMachineLeadIn + dTimeToMachineLeadOut) * Machining.Steps.nCount
|
||||
end
|
||||
elseif Machining.nType == MCH_MY.MORTISING then
|
||||
-- se non settati, imposto valori di default
|
||||
@@ -968,17 +978,23 @@ function MachiningLib.GetLengthToMachineAllStepsWithLeadInOut( Machining)
|
||||
Machining.CloneStepsLongitudinal = {}
|
||||
Machining.CloneStepsLongitudinal.nCount = 1
|
||||
end
|
||||
-- calcolo lunghezze
|
||||
-- stima tempi di lavorazione per i diversi tratti
|
||||
local dTimeToMachineLeadIn = ( Machining.dDepthToMachine + ( TOOLS[Machining.nToolIndex].SetupInfo.dZSafeDelta or 60) + EgtMdbGetGeneralParam( MCH_GP.SAFEZ)) / dToolStartFeed
|
||||
local dTimeToMachineLeadOut = ( Machining.dDepthToMachine + ( TOOLS[Machining.nToolIndex].SetupInfo.dZSafeDelta or 60) + EgtMdbGetGeneralParam( MCH_GP.SAFEZ)) / dToolEndFeed
|
||||
local dTimeToMachineEdge = Machining.dLengthToMachine / dToolFeed
|
||||
-- calcolo lunghezze e tempi
|
||||
if Machining.Steps.nStepType == MCH_MILL_ST.ZIGZAG then
|
||||
dLengthToMachineAllStepsWithLeadInOut = ( Machining.dLengthToMachine * Machining.Steps.nCount + 2 * ( Machining.dDepthToMachine + ( TOOLS[Machining.nToolIndex].SetupInfo.dZSafeDelta or 60) + EgtMdbGetGeneralParam( MCH_GP.SAFEZ))) * Machining.CloneStepsLongitudinal.nCount
|
||||
dTimeToMachineTotal = ( dTimeToMachineEdge * Machining.Steps.nCount + dTimeToMachineLeadIn + dTimeToMachineLeadOut) * Machining.CloneStepsLongitudinal.nCount
|
||||
else
|
||||
dLengthToMachineAllStepsWithLeadInOut = Machining.CloneStepsLongitudinal.nCount * ( ( 2 * Machining.Steps.nCount - 1) * Machining.dLengthToMachine + 2 * 10 * ( Machining.Steps.nCount - 1) + 2 * ( Machining.dDepthToMachine + ( TOOLS[Machining.nToolIndex].SetupInfo.dZSafeDelta or 60) + EgtMdbGetGeneralParam( MCH_GP.SAFEZ)))
|
||||
dTimeToMachineTotal = Machining.CloneStepsLongitudinal.nCount * ( ( 2 * Machining.Steps.nCount - 1) * dTimeToMachineEdge + 2 * 10 / dToolFeed * ( Machining.Steps.nCount - 1) + dTimeToMachineLeadIn + dTimeToMachineLeadOut)
|
||||
end
|
||||
else
|
||||
error( 'GetLengthToMachineAllStepsWithLeadInOut : unknown machining type')
|
||||
error( 'GetTimeToMachineAllStepsWithLeadInOut : unknown machining type')
|
||||
end
|
||||
|
||||
return dLengthToMachineAllStepsWithLeadInOut
|
||||
return dTimeToMachineTotal, dLengthToMachineAllStepsWithLeadInOut
|
||||
end
|
||||
|
||||
-------------------------------------------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user