- in FACEBYMILL correzione attacchi

This commit is contained in:
luca.mazzoleni
2025-07-08 17:47:30 +02:00
parent 1e4388c091
commit 5af77cff10
+3 -4
View File
@@ -57,7 +57,7 @@ local function GetLeadInOutType( Machining)
end
local function CalculateLeadInOut( Machining, EdgeToMachine, Part)
local function CalculateLeadInOut( Machining, EdgeToMachine, bIsSplitFeature)
-- TODO implementare le funzioni di Tool Collision Avoidance (vedi wiki e FacesBysaw -> CalcLeadInOutPerpGeom)
-- si determina l'eventuale riduzione da applicare in caso di inizio o fine chiusi
@@ -78,10 +78,9 @@ local function CalculateLeadInOut( Machining, EdgeToMachine, Part)
LeadOut.dPerpDistance = 0
LeadIn.dTangentDistance = 0
LeadOut.dTangentDistance = 0
-- TODO qui se bIsSplitFeature si deve forzare attacco perpendicolare come in FACEBYBLADE
if Machining.bIsStartClosed
or Machining.bIsEndClosed
or Machining.CloneStepsRadial.nCount > 1 then
or bIsSplitFeature then
Machining.sLeadInOutType = 'Perpendicular'
if AreSameVectorApprox( Machining.vtToolDirection, EdgeToMachine.vtN) then
@@ -376,7 +375,7 @@ function FACEBYMILL.Make( Proc, Part, FaceToMachine, EdgeToMachine, OptionalPara
Milling.CloneStepsRadial.dStep = 0
end
-- approccio e retrazione
Milling.LeadIn, Milling.LeadOut = CalculateLeadInOut( Milling, EdgeToMachine, Part)
Milling.LeadIn, Milling.LeadOut = CalculateLeadInOut( Milling, EdgeToMachine, bIsSplitFeature)
-- lunghezza lavorata
-- TODO per il calcolo del dLengthOnX si deve correggere con allungamento / accorciamento percorso
Milling.dLengthToMachine = EdgeToMachine.dLength + Milling.LeadIn.dStartAddLength + Milling.LeadOut.dEndAddLength