- CloneStepsHorizontal / Vertical rinominati CloneStepsRadial / Longitudinal
This commit is contained in:
+16
-16
@@ -550,7 +550,7 @@ end
|
||||
function MachiningLib.AddMachinings( Proc, Machining, AuxiliaryData)
|
||||
local bMachiningAdded = false
|
||||
|
||||
if Machining.CloneStepsHorizontal and Machining.CloneStepsHorizontal.nCount > 1 then
|
||||
if Machining.CloneStepsRadial and Machining.CloneStepsRadial.nCount > 1 then
|
||||
if not AuxiliaryData then
|
||||
AuxiliaryData = {}
|
||||
end
|
||||
@@ -559,9 +559,9 @@ function MachiningLib.AddMachinings( Proc, Machining, AuxiliaryData)
|
||||
local dOriginalRadialOffset = Machining.dRadialOffset
|
||||
local dOriginalLeadInPerpDistance = Machining.LeadIn.dPerpDistance
|
||||
local dOriginalLeadOutPerpDistance = Machining.LeadOut.dPerpDistance
|
||||
for i = 1, Machining.CloneStepsHorizontal.nCount do
|
||||
for i = 1, Machining.CloneStepsRadial.nCount do
|
||||
AuxiliaryData.Clones[i] = {}
|
||||
AuxiliaryData.Clones[i].dRadialOffset = dOriginalRadialOffset + Machining.CloneStepsHorizontal.dStep * ( Machining.CloneStepsHorizontal.nCount - i)
|
||||
AuxiliaryData.Clones[i].dRadialOffset = dOriginalRadialOffset + Machining.CloneStepsRadial.dStep * ( Machining.CloneStepsRadial.nCount - i)
|
||||
-- update distanza perpendicolare attacco per contemplare l'offset applicato
|
||||
if abs( dOriginalLeadInPerpDistance) > 10 * GEO.EPS_SMALL and abs( dOriginalLeadOutPerpDistance) > 10 * GEO.EPS_SMALL then
|
||||
AuxiliaryData.Clones[i].LeadIn = {}
|
||||
@@ -570,16 +570,16 @@ function MachiningLib.AddMachinings( Proc, Machining, AuxiliaryData)
|
||||
AuxiliaryData.Clones[i].LeadOut.dPerpDistance = dOriginalLeadOutPerpDistance - AuxiliaryData.Clones[i].dRadialOffset + dOriginalRadialOffset
|
||||
end
|
||||
end
|
||||
elseif Machining.CloneStepsVertical and Machining.CloneStepsVertical.nCount > 1 then
|
||||
elseif Machining.CloneStepsLongitudinal and Machining.CloneStepsLongitudinal.nCount > 1 then
|
||||
if not AuxiliaryData then
|
||||
AuxiliaryData = {}
|
||||
end
|
||||
AuxiliaryData.Clones = {}
|
||||
|
||||
local dOriginalRadialOffset = Machining.dRadialOffset
|
||||
for i = Machining.CloneStepsVertical.nCount, 1, -1 do
|
||||
for i = Machining.CloneStepsLongitudinal.nCount, 1, -1 do
|
||||
AuxiliaryData.Clones[i] = {}
|
||||
AuxiliaryData.Clones[i].dRadialOffset = dOriginalRadialOffset + Machining.CloneStepsVertical.dStep * ( i - 1)
|
||||
AuxiliaryData.Clones[i].dRadialOffset = dOriginalRadialOffset + Machining.CloneStepsLongitudinal.dStep * ( i - 1)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -860,27 +860,27 @@ function MachiningLib.GetLengthToMachineAllStepsWithLeadInOut( Machining)
|
||||
if not Machining.LeadOut.dTotalEstimatedDistance then
|
||||
Machining.LeadOut.dTotalEstimatedDistance = sqrt( Machining.LeadOut.dPerpDistance ^ 2 + Machining.LeadOut.dTangentDistance ^ 2) + Machining.dStartSafetyLength
|
||||
end
|
||||
if not Machining.CloneStepsHorizontal then
|
||||
Machining.CloneStepsHorizontal = {}
|
||||
Machining.CloneStepsHorizontal.nCount = 1
|
||||
if not Machining.CloneStepsRadial then
|
||||
Machining.CloneStepsRadial = {}
|
||||
Machining.CloneStepsRadial.nCount = 1
|
||||
end
|
||||
-- calcolo lunghezze
|
||||
if Machining.Steps.nStepType == MCH_MILL_ST.ZIGZAG then
|
||||
dLengthToMachineAllStepsWithLeadInOut = ( Machining.dLengthToMachine * Machining.CloneStepsHorizontal.nCount + ( Machining.LeadIn.dTotalEstimatedDistance + Machining.LeadOut.dTotalEstimatedDistance)) * Machining.Steps.nCount
|
||||
dLengthToMachineAllStepsWithLeadInOut = ( Machining.dLengthToMachine * Machining.CloneStepsRadial.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
|
||||
dLengthToMachineAllStepsWithLeadInOut = Machining.CloneStepsRadial.nCount * ( Machining.dLengthToMachine + Machining.LeadIn.dTotalEstimatedDistance + Machining.LeadOut.dTotalEstimatedDistance) * Machining.Steps.nCount
|
||||
end
|
||||
elseif Machining.nType == MCH_OY.MORTISING then
|
||||
-- se non settati, imposto valori di default
|
||||
if not Machining.CloneStepsVertical then
|
||||
Machining.CloneStepsVertical = {}
|
||||
Machining.CloneStepsVertical.nCount = 1
|
||||
if not Machining.CloneStepsLongitudinal then
|
||||
Machining.CloneStepsLongitudinal = {}
|
||||
Machining.CloneStepsLongitudinal.nCount = 1
|
||||
end
|
||||
-- calcolo lunghezze
|
||||
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
|
||||
dLengthToMachineAllStepsWithLeadInOut = ( Machining.dLengthToMachine * Machining.Steps.nCount + 2 * ( Machining.dDepthToMachine + ( TOOLS[Machining.nToolIndex].SetupInfo.dZSafeDelta or 60) + EgtMdbGetGeneralParam( MCH_GP.SAFEZ))) * Machining.CloneStepsLongitudinal.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)))
|
||||
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)))
|
||||
end
|
||||
else
|
||||
error( 'GetLengthToMachineAllStepsWithLeadInOut : unknown machining type')
|
||||
|
||||
@@ -125,13 +125,13 @@ local function CalculateLeadInOut( Machining, EdgeToMachine, Part)
|
||||
local dEstimatedLeadOutPerpDistance = 0
|
||||
local dEstimatedLeadOutTangentDistance = 0
|
||||
if LeadIn.dPerpDistance > 0 then
|
||||
dEstimatedLeadInPerpDistance = ( Machining.dDepthToMachine + min( Machining.CloneStepsHorizontal.dStep, Machining.dDepthToMachine)) / 2
|
||||
dEstimatedLeadInPerpDistance = ( Machining.dDepthToMachine + min( Machining.CloneStepsRadial.dStep, Machining.dDepthToMachine)) / 2
|
||||
end
|
||||
if LeadIn.dTangentDistance > 0 then
|
||||
dEstimatedLeadInTangentDistance = TOOLS[Machining.nToolIndex].dDiameter / 2
|
||||
end
|
||||
if LeadOut.dPerpDistance > 0 then
|
||||
dEstimatedLeadOutPerpDistance = ( Machining.dDepthToMachine + min( Machining.CloneStepsHorizontal.dStep, Machining.dDepthToMachine)) / 2
|
||||
dEstimatedLeadOutPerpDistance = ( Machining.dDepthToMachine + min( Machining.CloneStepsRadial.dStep, Machining.dDepthToMachine)) / 2
|
||||
end
|
||||
if LeadOut.dTangentDistance > 0 then
|
||||
dEstimatedLeadOutTangentDistance = TOOLS[Machining.nToolIndex].dDiameter / 2
|
||||
@@ -353,15 +353,15 @@ function FACEBYBLADE.Make( Proc, Part, FaceToMachine, EdgeToMachine, OptionalPar
|
||||
-- asse bloccato
|
||||
Cutting.sBlockedAxis = BeamLib.GetBlockedAxis( Cutting.nToolIndex, 'perpendicular', Part.b3Raw, FaceToMachine.vtN, EgtIf( FaceToMachine.vtN:getX() > 0, X_AX(), -X_AX()))
|
||||
-- eventuale step orizzontale
|
||||
Cutting.CloneStepsHorizontal = {}
|
||||
Cutting.CloneStepsRadial = {}
|
||||
if not dHorizontalStepSpan then
|
||||
dHorizontalStepSpan = Cutting.dDepthToMachine
|
||||
end
|
||||
if dHorizontalStepSpan > 10 * GEO.EPS_SMALL and TOOLS[Cutting.nToolIndex].dSideStep then
|
||||
Cutting.CloneStepsHorizontal = MachiningLib.GetMachiningSteps( dHorizontalStepSpan, TOOLS[Cutting.nToolIndex].dSideStep)
|
||||
Cutting.CloneStepsRadial = MachiningLib.GetMachiningSteps( dHorizontalStepSpan, TOOLS[Cutting.nToolIndex].dSideStep)
|
||||
else
|
||||
Cutting.CloneStepsHorizontal.nCount = 1
|
||||
Cutting.CloneStepsHorizontal.dStep = Cutting.dDepthToMachine
|
||||
Cutting.CloneStepsRadial.nCount = 1
|
||||
Cutting.CloneStepsRadial.dStep = Cutting.dDepthToMachine
|
||||
end
|
||||
-- approccio e retrazione
|
||||
Cutting.LeadIn, Cutting.LeadOut = CalculateLeadInOut( Cutting, EdgeToMachine, Part)
|
||||
|
||||
@@ -212,9 +212,9 @@ function FACEBYCHAINSAW.Make( Proc, Part, FaceToMachine, EdgeToMachine, Optional
|
||||
-- approccio e retrazione
|
||||
Mortising.LeadIn, Mortising.LeadOut = CalculateLeadInOut( Mortising, EdgeToMachine, sSideToMachine, dLengthToMachine)
|
||||
-- eventuale step verticale
|
||||
Mortising.CloneStepsVertical = {}
|
||||
Mortising.CloneStepsLongitudinal = {}
|
||||
if not bDisableVerticalSteps then
|
||||
Mortising.CloneStepsVertical = MachiningLib.GetMachiningSteps( dPocketHeight, TOOLS[Mortising.nToolIndex].dThickness)
|
||||
Mortising.CloneStepsLongitudinal = MachiningLib.GetMachiningSteps( dPocketHeight, TOOLS[Mortising.nToolIndex].dThickness)
|
||||
end
|
||||
-- lunghezza lavorata
|
||||
-- TODO per il calcolo della dLenghtOnX ripetere il calcolo del FACEBYBLADE con proiezione del lato; serve prolungare con la Add Length secondo la vtEdgeDirection
|
||||
|
||||
@@ -125,13 +125,13 @@ local function CalculateLeadInOut( Machining, EdgeToMachine, Part)
|
||||
local dEstimatedLeadOutPerpDistance = 0
|
||||
local dEstimatedLeadOutTangentDistance = 0
|
||||
if LeadIn.dPerpDistance > 0 then
|
||||
dEstimatedLeadInPerpDistance = ( Machining.dDepthToMachine + min( Machining.CloneStepsHorizontal.dStep, Machining.dDepthToMachine)) / 2
|
||||
dEstimatedLeadInPerpDistance = ( Machining.dDepthToMachine + min( Machining.CloneStepsRadial.dStep, Machining.dDepthToMachine)) / 2
|
||||
end
|
||||
if LeadIn.dTangentDistance > 0 then
|
||||
dEstimatedLeadInTangentDistance = TOOLS[Machining.nToolIndex].dDiameter / 2
|
||||
end
|
||||
if LeadOut.dPerpDistance > 0 then
|
||||
dEstimatedLeadOutPerpDistance = ( Machining.dDepthToMachine + min( Machining.CloneStepsHorizontal.dStep, Machining.dDepthToMachine)) / 2
|
||||
dEstimatedLeadOutPerpDistance = ( Machining.dDepthToMachine + min( Machining.CloneStepsRadial.dStep, Machining.dDepthToMachine)) / 2
|
||||
end
|
||||
if LeadOut.dTangentDistance > 0 then
|
||||
dEstimatedLeadOutTangentDistance = TOOLS[Machining.nToolIndex].dDiameter / 2
|
||||
@@ -362,15 +362,15 @@ function FACEBYMILL.Make( Proc, Part, FaceToMachine, EdgeToMachine, OptionalPara
|
||||
-- asse bloccato
|
||||
Milling.sBlockedAxis = ''
|
||||
-- eventuale step orizzontale
|
||||
Milling.CloneStepsHorizontal = {}
|
||||
Milling.CloneStepsRadial = {}
|
||||
if not dHorizontalStepSpan then
|
||||
dHorizontalStepSpan = Milling.dDepthToMachine
|
||||
end
|
||||
if dHorizontalStepSpan > 10 * GEO.EPS_SMALL and TOOLS[Milling.nToolIndex].dSideStep then
|
||||
Milling.CloneStepsHorizontal = MachiningLib.GetMachiningSteps( dHorizontalStepSpan, TOOLS[Milling.nToolIndex].dSideStep)
|
||||
Milling.CloneStepsRadial = MachiningLib.GetMachiningSteps( dHorizontalStepSpan, TOOLS[Milling.nToolIndex].dSideStep)
|
||||
else
|
||||
Milling.CloneStepsHorizontal.nCount = 1
|
||||
Milling.CloneStepsHorizontal.dStep = 0
|
||||
Milling.CloneStepsRadial.nCount = 1
|
||||
Milling.CloneStepsRadial.dStep = 0
|
||||
end
|
||||
-- approccio e retrazione
|
||||
Milling.LeadIn, Milling.LeadOut = CalculateLeadInOut( Milling, EdgeToMachine, Part)
|
||||
|
||||
Reference in New Issue
Block a user