- in BLADETOWASTE -> CutWholeWaste, in caso di taglio da due lati, si fa per ultima la lavorazione che va verso l'alto
This commit is contained in:
@@ -512,6 +512,14 @@ local function GetDualSideCutStrategy( Proc, OptionalParameters)
|
||||
|
||||
-- se lama ci arriva si assegnano utensili e profondità da ritornare
|
||||
if ToolInfo.nToolIndex and ToolInfo.dResidualDepth < 10 * GEO.EPS_SMALL then
|
||||
-- si deve decidere se fare per primo il taglio opposto oppure no
|
||||
local bIsOppositeCutFirst = false
|
||||
local vtTemp = EdgeToMachine.vtN ^ FaceToMachine.vtN
|
||||
local bIsEdgeLeftSide = vtTemp:getZ() < 10 * GEO.EPS_SMALL
|
||||
if ( TOOLS[ToolInfo.nToolIndex].bIsCCW and bIsEdgeLeftSide) or ( not TOOLS[ToolInfo.nToolIndex].bIsCCW and not bIsEdgeLeftSide) then
|
||||
bIsOppositeCutFirst = true
|
||||
end
|
||||
|
||||
CuttingParametersList = {
|
||||
{
|
||||
nToolIndex = ToolInfo.nToolIndex,
|
||||
@@ -520,7 +528,8 @@ local function GetDualSideCutStrategy( Proc, OptionalParameters)
|
||||
{
|
||||
nToolIndex = ToolInfo.nToolIndex,
|
||||
dDepthToMachine = dDepthToMachine
|
||||
}
|
||||
},
|
||||
bIsOppositeCutFirst = bIsOppositeCutFirst
|
||||
}
|
||||
else
|
||||
EdgeToMachine = nil
|
||||
@@ -592,6 +601,10 @@ local function CutWholeWaste( Proc, Part, OptionalParameters)
|
||||
dExtendAfterTail = dExtendAfterTail,
|
||||
bReduceBladePath = bReduceBladePath
|
||||
}
|
||||
-- se necessario, si inverte l'ordine delle lavorazioni per avere il secondo taglio verso l'alto
|
||||
if not CuttingParametersList.bIsOppositeCutFirst then
|
||||
OptionalParametersFaceByBlade, OptionalParametersFaceByBladeDouble = OptionalParametersFaceByBladeDouble, OptionalParametersFaceByBlade
|
||||
end
|
||||
|
||||
Cutting = FaceByBlade.Make( Proc, Part, Proc.Faces[1], EdgeToMachine, OptionalParametersFaceByBlade)
|
||||
CuttingDouble = FaceByBlade.Make( Proc, Part, Proc.Faces[1], EdgeToMachine, OptionalParametersFaceByBladeDouble)
|
||||
|
||||
Reference in New Issue
Block a user