- CloneStepsHorizontal / Vertical rinominati CloneStepsRadial / Longitudinal

This commit is contained in:
luca.mazzoleni
2025-04-09 10:28:25 +02:00
parent 05f1130e02
commit 0c0d52afcb
4 changed files with 30 additions and 30 deletions
+16 -16
View File
@@ -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')
+6 -6
View File
@@ -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)
+2 -2
View File
@@ -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
+6 -6
View File
@@ -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)