- calcolo lunghezza stimata del percorso con attacchi centralizzata, in MachiningLib
- calcolo lunghezza stimata aggiunto anche nel caso di lavorazione splittata
This commit is contained in:
@@ -164,6 +164,8 @@ function MachiningLib.GetSplitMachinings( Machinings, SplittingPoints, Part )
|
||||
Machinings[nCurrentMachiningIndex].sStage = sOriginalStage
|
||||
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])
|
||||
end
|
||||
-- anche le lavorazioni non splittate necessitano del segmento assegnato
|
||||
else
|
||||
@@ -192,8 +194,9 @@ function MachiningLib.GetSplitMachinings( Machinings, SplittingPoints, Part )
|
||||
Machinings[i].ptCenter = Point3d( dNextSplitX + ( dPreviousSplitX - dNextSplitX) / 2, 0, 0)
|
||||
end
|
||||
end
|
||||
Machinings[i].dLengthToMachine = Machinings[i].dEdgeLength + Machinings[i].LeadIn.dStartAddLength + Machinings[i].LeadOut.dEndAddLength
|
||||
Machinings[i].dLengthToMachineAllStepsWithLeadInOut = MachiningLib.GetLengthToMachineAllStepsWithLeadInOut( Machinings[i])
|
||||
end
|
||||
Machinings[i].dLengthToMachine = Machinings[i].dEdgeLength + Machinings[i].LeadIn.dStartAddLength + Machinings[i].LeadOut.dEndAddLength
|
||||
end
|
||||
|
||||
return Machinings
|
||||
@@ -559,10 +562,10 @@ function MachiningLib.AddMachinings( Proc, Machining, AuxiliaryData)
|
||||
end
|
||||
AuxiliaryData.Clones = {}
|
||||
|
||||
local dOriginalRadialOffsetMortising = Machining.dRadialOffset
|
||||
local dOriginalRadialOffset = Machining.dRadialOffset
|
||||
for i = Machining.CloneStepsVertical.nCount, 1, -1 do
|
||||
AuxiliaryData.Clones[i] = {}
|
||||
AuxiliaryData.Clones[i].dRadialOffset = dOriginalRadialOffsetMortising + Machining.CloneStepsVertical.dStep * ( i - 1)
|
||||
AuxiliaryData.Clones[i].dRadialOffset = dOriginalRadialOffset + Machining.CloneStepsVertical.dStep * ( i - 1)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -831,6 +834,29 @@ function MachiningLib.GetToolMRR( Parameters)
|
||||
return dMRR / pow( 10, 6)
|
||||
end
|
||||
|
||||
-------------------------------------------------------------------------------------------------------------
|
||||
function MachiningLib.GetLengthToMachineAllStepsWithLeadInOut( Machining)
|
||||
local dLengthToMachineAllStepsWithLeadInOut = 0
|
||||
|
||||
if Machining.nType == MCH_OY.MILLING then
|
||||
if Machining.Steps.nStepType == MCH_MILL_ST.ZIGZAG then
|
||||
dLengthToMachineAllStepsWithLeadInOut = ( Machining.dLengthToMachine * Machining.CloneStepsHorizontal.nCount + ( Machining.LeadIn.dTotalEstimatedDistance + Machining.LeadOut.dTotalEstimatedDistance)) * Machining.Steps.nCount
|
||||
else
|
||||
dLengthToMachineAllStepsWithLeadInOut = Machining.CloneStepsHorizontal.nCount * ( Machining.dLengthToMachine + Machining.LeadIn.dTotalEstimatedDistance + Machining.LeadOut.dTotalEstimatedDistance) * Machining.Steps.nCount
|
||||
end
|
||||
elseif Machining.nType == MCH_OY.MORTISING then
|
||||
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.CloneStepsVertical.nCount
|
||||
else
|
||||
dLengthToMachineAllStepsWithLeadInOut = Machining.CloneStepsVertical.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)))
|
||||
end
|
||||
else
|
||||
error( 'GetLengthToMachineAllStepsWithLeadInOut : unknown machining type')
|
||||
end
|
||||
|
||||
return dLengthToMachineAllStepsWithLeadInOut
|
||||
end
|
||||
|
||||
-------------------------------------------------------------------------------------------------------------
|
||||
function MachiningLib.PrepareMachiningsForSorting( Part)
|
||||
local nFeatureInternalIndex = 1
|
||||
|
||||
Reference in New Issue
Block a user