- in SawPlusChain piccole correzioni
This commit is contained in:
+42
-17
@@ -4753,7 +4753,12 @@ function SawPlusChain.GetSCC( vtMachiningDirection)
|
||||
end
|
||||
|
||||
function SawPlusChain.GetVerticalSteps( Proc, Machining)
|
||||
VerticalSteps = {}
|
||||
if not Proc.Pocket or not Proc.Pocket.Height then
|
||||
error( 'Missing pocket depth')
|
||||
elseif not Machining.Tool or not Machining.Tool.Thickness then
|
||||
error( 'Missing tool thickness')
|
||||
end
|
||||
local VerticalSteps = {}
|
||||
VerticalSteps.StepLength = 0
|
||||
VerticalSteps.Count = ceil( ( Proc.Pocket.Height - 10 * GEO.EPS_SMALL) / Machining.Tool.Thickness)
|
||||
if VerticalSteps.Count > 1 then
|
||||
@@ -4766,7 +4771,10 @@ function SawPlusChain.GetVerticalSteps( Proc, Machining)
|
||||
end
|
||||
|
||||
function SawPlusChain.GetHorizontalSteps( Machining)
|
||||
HorizontalSteps = {}
|
||||
if not Machining.Depth then
|
||||
error( 'Missing machining depth')
|
||||
end
|
||||
local HorizontalSteps = {}
|
||||
HorizontalSteps.StepLength = 0
|
||||
HorizontalSteps.Count = 1
|
||||
if Machining.Tool.SideStep then
|
||||
@@ -4807,8 +4815,8 @@ function SawPlusChain.GetLeadInOut( Proc, Machining)
|
||||
end
|
||||
end
|
||||
|
||||
LeadIn = {}
|
||||
LeadOut = {}
|
||||
local LeadIn = {}
|
||||
local LeadOut = {}
|
||||
LeadIn.Type = MCH_MILL_LI.LINEAR
|
||||
LeadOut.Type = MCH_MILL_LI.LINEAR
|
||||
LeadIn.TangentDistance = 0
|
||||
@@ -4865,6 +4873,9 @@ function SawPlusChain.ApplyMachining( Machining, sOperationNamePrefix, b3Raw)
|
||||
sNotes = EgtSetValInNotes( sNotes, 'MaxElev', Machining.VerticalSteps.MaxElev)
|
||||
end
|
||||
EgtSetMachiningParam( MCH_MP.BLOCKEDAXIS, BL.GetBlockedAxis( Machining.Name, Machining.BlockedAxis.Orientation, b3Raw, Machining.FaceToMachine.VtN, Machining.BlockedAxis.VtOut))
|
||||
EgtSetMachiningParam( MCH_MP.OVERL, Machining.Overlap)
|
||||
EgtSetMachiningParam( MCH_MP.INITANGS, Machining.SuggestedAngles)
|
||||
EgtSetMachiningParam( MCH_MP.STARTPOS, max( Machining.StartSafetyLength, EgtGetMachiningParam( MCH_MP.STARTPOS)))
|
||||
EgtSetMachiningParam( MCH_MP.USERNOTES, sNotes)
|
||||
|
||||
local bIsApplyOk = ML.ApplyMachining( true, false)
|
||||
@@ -4877,7 +4888,7 @@ function SawPlusChain.ApplyMachining( Machining, sOperationNamePrefix, b3Raw)
|
||||
return true
|
||||
end
|
||||
|
||||
function SawPlusChain.Make( Proc, b3Raw)
|
||||
function SawPlusChain.Make( Proc, b3Raw, bOnlySaw)
|
||||
Proc.Pocket = {}
|
||||
Proc.Pocket.Strategy = 'SawPlusChain'
|
||||
|
||||
@@ -4887,6 +4898,7 @@ function SawPlusChain.Make( Proc, b3Raw)
|
||||
end
|
||||
|
||||
-- se tasca su faccia sotto la strategia non è applicabile (la sega a catena in generale non può lavorare da sotto)
|
||||
-- TODO se OnlySaw questo test è da rimuovere ma bisogna considerare anche la lama da sotto
|
||||
if Proc.AffectedFaces.Bottom then
|
||||
local sErr = 'Feature '.. Proc.FeatureId .. ': Strategy not applicable - pocket on bottom face'
|
||||
return false, sErr
|
||||
@@ -4930,7 +4942,7 @@ function SawPlusChain.Make( Proc, b3Raw)
|
||||
return false, sErr
|
||||
end
|
||||
-- se tasca meno spessa della sega a catena la strategia non è applicabile
|
||||
if Chainsawing.Tool.Thickness > Proc.Pocket.Height - 10 * GEO.EPS_SMALL then
|
||||
if not bOnlySaw and Chainsawing.Tool.Thickness > Proc.Pocket.Height - 10 * GEO.EPS_SMALL then
|
||||
local sErr = 'Feature '.. Proc.FeatureId .. ': Strategy ' .. Proc.Pocket.Strategy .. ' not applicable - pocket too narrow for chainsaw thickness'
|
||||
return false, sErr
|
||||
end
|
||||
@@ -4941,7 +4953,7 @@ function SawPlusChain.Make( Proc, b3Raw)
|
||||
return false, sErr
|
||||
end
|
||||
-- se tasca più stretta della sega a catena la strategia non è applicabile
|
||||
if Chainsawing.Tool.Width > Proc.Pocket.Width - 10 * GEO.EPS_SMALL then
|
||||
if not bOnlySaw and Chainsawing.Tool.Width > Proc.Pocket.Width - 10 * GEO.EPS_SMALL then
|
||||
local sErr = 'Feature '.. Proc.FeatureId .. ': Strategy ' .. Proc.Pocket.Strategy .. ' not applicable - pocket too narrow for chainsaw width'
|
||||
return false, sErr
|
||||
end
|
||||
@@ -4971,14 +4983,6 @@ function SawPlusChain.Make( Proc, b3Raw)
|
||||
Cutting.Depth = Cutting.Tool.MaxDepth
|
||||
Cutting.RadialOffset = Proc.Pocket.Depth - Cutting.Depth
|
||||
end
|
||||
-- faceuse
|
||||
Cutting.Faceuse = BL.GetNearestOrthoOpposite( Proc.Pocket.Direction)
|
||||
-- SCC
|
||||
Cutting.SCC = SawPlusChain.GetSCC( Proc.Pocket.Direction)
|
||||
-- asse bloccato
|
||||
Cutting.BlockedAxis = {}
|
||||
Cutting.BlockedAxis.Orientation = 'perpendicular'
|
||||
Cutting.BlockedAxis.VtOut = EgtIf( Cutting.FaceToMachine.VtN:getX() > 0, X_AX(), -X_AX())
|
||||
-- step verticale e offset longitudinale
|
||||
Cutting.VerticalSteps = SawPlusChain.GetVerticalSteps( Proc, Cutting)
|
||||
if Cutting.ToolInvert and Cutting.VerticalSteps.Count > 1 then
|
||||
@@ -4986,8 +4990,20 @@ function SawPlusChain.Make( Proc, b3Raw)
|
||||
else
|
||||
Cutting.LongitudinalOffset = 0
|
||||
end
|
||||
Cutting.StartSafetyLength = 10
|
||||
Cutting.Overlap = 0
|
||||
-- step orizzontale
|
||||
Cutting.HorizontalSteps = SawPlusChain.GetHorizontalSteps( Cutting)
|
||||
-- faceuse
|
||||
Cutting.Faceuse = BL.GetNearestOrthoOpposite( Proc.Pocket.Direction)
|
||||
-- SCC
|
||||
Cutting.SCC = SawPlusChain.GetSCC( Proc.Pocket.Direction)
|
||||
-- angoli suggeriti
|
||||
Cutting.SuggestedAngles = ''
|
||||
-- asse bloccato
|
||||
Cutting.BlockedAxis = {}
|
||||
Cutting.BlockedAxis.Orientation = 'perpendicular'
|
||||
Cutting.BlockedAxis.VtOut = EgtIf( Cutting.FaceToMachine.VtN:getX() > 0, X_AX(), -X_AX())
|
||||
-- approccio e retrazione
|
||||
Cutting.LeadIn, Cutting.LeadOut = SawPlusChain.GetLeadInOut( Proc, Cutting)
|
||||
|
||||
@@ -5000,8 +5016,16 @@ function SawPlusChain.Make( Proc, b3Raw)
|
||||
bOk, sErr = SawPlusChain.ApplyMachining( Cutting, 'Cut_', b3Raw)
|
||||
end
|
||||
|
||||
if bOnlySaw then
|
||||
return bOk, sErr
|
||||
end
|
||||
|
||||
-- parametri della lavorazione con sega a catena
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
-- lavorazione con sega a catena
|
||||
|
||||
return bOk, sErr
|
||||
@@ -5037,10 +5061,11 @@ local function MakeMoreFaces( Proc, nPhase, nRawId, nPartId, dOvmHead, bSinglePa
|
||||
|
||||
|
||||
-- rimuovere true or!!!!!!
|
||||
if true or EgtGetInfo( Proc.Id, Q_SAW_PLUS_CHAIN, 'i') == 1 then --TEST
|
||||
if true or EgtGetInfo( Proc.Id, Q_SAW_PLUS_CHAIN, 'i') > 0 then --TEST
|
||||
local bOk
|
||||
local sErr
|
||||
bOk, sErr = SawPlusChain.Make ( Proc, b3Raw)
|
||||
local bOnlySaw = EgtGetInfo( Proc.Id, Q_SAW_PLUS_CHAIN, 'i') == 1
|
||||
bOk, sErr = SawPlusChain.Make ( Proc, b3Raw, bOnlySaw)
|
||||
return bOk, sErr
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user