- per lama aggiunti attacchi speciali SpecialTangent e SpecialTangentInverted

This commit is contained in:
luca.mazzoleni
2026-07-07 11:59:45 +02:00
parent 3a1c98b8eb
commit 27ce6a30ce
2 changed files with 91 additions and 0 deletions
+44
View File
@@ -215,6 +215,50 @@ function LeadInOutLib.CalculateLeadInOut( sLeadInOutType, Parameters, OptionalPa
-- punti dell'attacco
LeadIn.ptPoint = Point3d( ptStartAtDepth - Edge.vtEdge * dLeadInLength)
LeadOut.ptPoint = Point3d( ptEndAtDepth + Edge.vtEdge * dLeadOutLength)
elseif sLeadInOutType == 'SpecialTangent' then
-- ingresso con componente aggiuntiva perpendicolare
LeadIn.nType = MCH_MILL_LO.PERP_TG
local dStartEndOffset = 10
local ptEndAtDepthWithOffset = ptEndAtDepth + Edge.vtN * dStartEndOffset
local ptEndBladeCenterWithOffset = ptEndBladeCenter + Edge.vtN * dStartEndOffset
-- calcolo distanza per uscire dal box con questa lama nella direzione tangenziale
local dLeadInLength = CalculateLeadInOutLength( ptStartBladeCenter, Face.vtN, b3BoxPartExpanded, -Edge.vtEdge, Tool)
local dLeadOutLength = -CalculateLeadInOutLength( ptEndBladeCenterWithOffset, Face.vtN, b3BoxPartExpanded, -Edge.vtEdge, Tool)
-- componenti dell'attacco
LeadIn.dPerpDistance = 0
LeadIn.dTangentDistance = dLeadInLength
LeadOut.dPerpDistance = dStartEndOffset
LeadOut.dTangentDistance = dLeadOutLength
-- punti dell'attacco
LeadIn.ptPoint = Point3d( ptStartAtDepth - Edge.vtEdge * dLeadInLength)
LeadOut.ptPoint = Point3d( ptEndAtDepthWithOffset + Edge.vtEdge * dLeadOutLength)
elseif sLeadInOutType == 'SpecialTangentInverted' then
-- ingresso con componente aggiuntiva perpendicolare
LeadIn.nType = MCH_MILL_LI.TG_PERP
local dStartEndOffset = 10
local ptStartAtDepthWithOffset = ptStartAtDepth + Edge.vtN * dStartEndOffset
local ptStartBladeCenterWithOffset = ptStartBladeCenter + Edge.vtN * dStartEndOffset
-- calcolo distanza per uscire dal box con questa lama nella direzione tangenziale
local dLeadInLength = -CalculateLeadInOutLength( ptStartBladeCenterWithOffset, Face.vtN, b3BoxPartExpanded, Edge.vtEdge, Tool)
local dLeadOutLength = CalculateLeadInOutLength( ptEndBladeCenter, Face.vtN, b3BoxPartExpanded, Edge.vtEdge, Tool)
-- componenti dell'attacco
LeadIn.dPerpDistance = dStartEndOffset
LeadIn.dTangentDistance = dLeadInLength
LeadOut.dPerpDistance = 0
LeadOut.dTangentDistance = dLeadOutLength
-- punti dell'attacco
LeadIn.ptPoint = Point3d( ptStartAtDepthWithOffset - Edge.vtEdge * dLeadInLength)
LeadOut.ptPoint = Point3d( ptEndAtDepth + Edge.vtEdge * dLeadOutLength)
end
-- lunghezza totale attacco