|
|
|
@@ -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
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------------------------------------------------
|
|
|
|
|