- in FACEBYBLADE migliorie ai tagli
- in STR0012 implementata funzione generale per verifica problemi pinzaggio
This commit is contained in:
@@ -88,8 +88,7 @@ function STR0012.Make( bAddMachining, Proc, Part, CustomParameters)
|
||||
-- considerazioni necessarie a determinare se lavorare con codolo oppure no
|
||||
local bKeepWasteAttached = ( Strategy.Parameters.sCuttingStrategy == 'KEEP_WASTE_ATTACHED')
|
||||
local bDropWaste = ( Strategy.Parameters.sCuttingStrategy == 'DROP_WASTE')
|
||||
local dFeatureMaxNotClampableLengthHead, dFeatureMaxNotClampableLengthTail = NewProc.NotClampableLength.dNotClampableLengthHead, NewProc.NotClampableLength.dNotClampableLengthTail
|
||||
local bFeatureHindersClamping = FeatureLib.IsMachiningLong( max( dFeatureMaxNotClampableLengthHead, dFeatureMaxNotClampableLengthTail), Part, { dMaxSegmentLength = BeamData.LONGCUT_ENDLEN})
|
||||
local bFeatureHindersClamping = MachiningLib.IsFeatureHinderingClamping( Proc, Part)
|
||||
|
||||
-- lavorazione con codolo
|
||||
if ( bFeatureHindersClamping and not bDropWaste)
|
||||
|
||||
@@ -855,8 +855,7 @@ local function CutWithDicing( Proc, Part, OptionalParameters)
|
||||
local nAddGrpId = BeamLib.GetAddGroup( Part.id)
|
||||
local nSurfToCut = EgtSurfTmBySewing( nAddGrpId, vCuts[i], false)
|
||||
local ProcTrimesh = FeatureLib.GetProcFromTrimesh( nSurfToCut, Part)
|
||||
|
||||
-- TODO ridurre con bReduceBladePath anche questi tagli?
|
||||
|
||||
local OptionalParametersCutWholeWaste = {
|
||||
nToolIndex = nToolIndex,
|
||||
dExtendAfterTail = dExtendAfterTail,
|
||||
|
||||
@@ -293,28 +293,19 @@ function FACEBYBLADE.Make( Proc, Part, FaceToMachine, EdgeToMachine, OptionalPar
|
||||
-- parametri della lavorazione
|
||||
|
||||
-- profondità (parametro DEPTH)
|
||||
Cutting.sDepth = sDepth
|
||||
Cutting.sDepth = sDepth
|
||||
|
||||
-- inizio e fine aperti o chiusi
|
||||
Cutting.bIsStartClosed = not EdgeToMachine.bIsStartOpen
|
||||
Cutting.bIsEndClosed = not EdgeToMachine.bIsEndOpen
|
||||
Cutting.bIsStartClosed = not EdgeToMachine.bIsStartOpen
|
||||
Cutting.bIsEndClosed = not EdgeToMachine.bIsEndOpen
|
||||
|
||||
-- se dicing, lato di lavoro e inversione per avere taglio sempre verso l'alto
|
||||
if bIsDicing and ( Cutting.vtEdgeDirection:getZ() > 100 * GEO.EPS_SMALL) then
|
||||
Cutting.nWorkside = MCH_MILL_WS.LEFT
|
||||
Cutting.bInvert = false
|
||||
elseif bIsDicing and ( Cutting.vtEdgeDirection:getZ() < -100 * GEO.EPS_SMALL) then
|
||||
-- si settano lato di lavoro e inversione per avere concordanza
|
||||
if TOOLS[Cutting.nToolIndex].bIsCCW then
|
||||
Cutting.nWorkside = MCH_MILL_WS.RIGHT
|
||||
Cutting.bInvert = true
|
||||
-- altrimenti comanda la rotazione
|
||||
else
|
||||
if TOOLS[Cutting.nToolIndex].bIsCCW then
|
||||
Cutting.nWorkside = MCH_MILL_WS.RIGHT
|
||||
Cutting.bInvert = true
|
||||
else
|
||||
Cutting.nWorkside = MCH_MILL_WS.LEFT
|
||||
Cutting.bInvert = false
|
||||
end
|
||||
Cutting.nWorkside = MCH_MILL_WS.LEFT
|
||||
Cutting.bInvert = false
|
||||
end
|
||||
|
||||
-- ToolInvert
|
||||
@@ -323,6 +314,20 @@ function FACEBYBLADE.Make( Proc, Part, FaceToMachine, EdgeToMachine, OptionalPar
|
||||
Cutting.bInvert = not Cutting.bInvert
|
||||
end
|
||||
|
||||
-- TODO al momento commentato per trovare i casi in cui nei riposizionamenti scende sul pezzo; poi valutare se lasciare o togliere
|
||||
-- se dicing, lato di lavoro e inversione per avere taglio sempre verso l'alto
|
||||
-- if bIsDicing
|
||||
-- and ( Cutting.bInvert and Cutting.vtEdgeDirection:getZ() > 100 * GEO.EPS_SMALL)
|
||||
-- or ( ( not Cutting.bInvert) and Cutting.vtEdgeDirection:getZ() < -100 * GEO.EPS_SMALL) then
|
||||
|
||||
-- Cutting.bInvert = not Cutting.bInvert
|
||||
-- if Cutting.nWorkside == MCH_MILL_WS.LEFT then
|
||||
-- Cutting.nWorkside = MCH_MILL_WS.RIGHT
|
||||
-- else
|
||||
-- Cutting.nWorkside = MCH_MILL_WS.LEFT
|
||||
-- end
|
||||
-- end
|
||||
|
||||
-- analisi fattibilità lavorazione dal lato opposto
|
||||
if OppositeToolDirectionMode ~= 'Disabled' then
|
||||
|
||||
|
||||
Reference in New Issue
Block a user