|
|
|
@@ -1785,7 +1785,7 @@ local function AddSawings( sSawing, vFace, Proc, nRawId, b3Raw)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
---------------------------------------------------------------------
|
|
|
|
|
local function AddCuts( sCutting, vFace, Proc, nRawId, b3Raw, dSawThick, b3Squaring)
|
|
|
|
|
local function AddCuts( sCutting, vFace, Proc, nRawId, b3Raw, dSawThick, b3Squaring, bForceConventionalSawing)
|
|
|
|
|
-- verifico se ciclo chiuso
|
|
|
|
|
local bClosed = ( abs( vFace[1].PrevAng) > 0.1)
|
|
|
|
|
-- ciclo di inserimento dei tagli sulle facce del contorno in esame
|
|
|
|
@@ -1823,15 +1823,59 @@ local function AddCuts( sCutting, vFace, Proc, nRawId, b3Raw, dSawThick, b3Squar
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
EgtSetMachiningParam( MCH_MP.DEPTH, dDepth)
|
|
|
|
|
-- verifico se va invertita la direzione di lavorazione perchè faccia verso l'alto (angolo maggiore di 0.01 deg)
|
|
|
|
|
local bInvert = ( vFace[i].Norm:getZ() > 0.0001745)
|
|
|
|
|
-- verifico posizione del motore in base a inclinazione faccia (angolo maggiore di 0.01 deg)
|
|
|
|
|
local bFaceDown = not ( vFace[i].Norm:getZ() > GEO.EPS_SMALL)
|
|
|
|
|
-- verso di rotazione della lama
|
|
|
|
|
local bCCW = ( dSpeed < 0)
|
|
|
|
|
local bInvert, nHeadSide
|
|
|
|
|
-- TODO - Vecchio funzionamento per far andare macchina con la WD.GetSawHeadSide, in futuro da eliminare e tenere solo l'else
|
|
|
|
|
if WD.GetSawHeadSide then
|
|
|
|
|
bInvert = not bFaceDown
|
|
|
|
|
-- lato mandrino ( standard a sinistra se rotazione CCW, altrimenti a destra, oppure da funzione di macchina)
|
|
|
|
|
nHeadSide = WD.GetSawHeadSide( dSpeed, sHead)
|
|
|
|
|
else
|
|
|
|
|
if bCCW then
|
|
|
|
|
if bFaceDown then
|
|
|
|
|
if bForceConventionalSawing then
|
|
|
|
|
bInvert = true
|
|
|
|
|
nHeadSide = MCH_SAW_HS.RIGHT
|
|
|
|
|
else
|
|
|
|
|
bInvert = false
|
|
|
|
|
nHeadSide = MCH_SAW_HS.LEFT
|
|
|
|
|
end
|
|
|
|
|
else
|
|
|
|
|
if bForceConventionalSawing then
|
|
|
|
|
bInvert = false
|
|
|
|
|
nHeadSide = MCH_SAW_HS.RIGHT
|
|
|
|
|
else
|
|
|
|
|
bInvert = true
|
|
|
|
|
nHeadSide = MCH_SAW_HS.LEFT
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
else
|
|
|
|
|
if bFaceDown then
|
|
|
|
|
if bForceConventionalSawing then
|
|
|
|
|
bInvert = false
|
|
|
|
|
nHeadSide = MCH_SAW_HS.LEFT
|
|
|
|
|
else
|
|
|
|
|
bInvert = true
|
|
|
|
|
nHeadSide = MCH_SAW_HS.RIGHT
|
|
|
|
|
end
|
|
|
|
|
else
|
|
|
|
|
if bForceConventionalSawing then
|
|
|
|
|
bInvert = true
|
|
|
|
|
nHeadSide = MCH_SAW_HS.LEFT
|
|
|
|
|
else
|
|
|
|
|
bInvert = false
|
|
|
|
|
nHeadSide = MCH_SAW_HS.RIGHT
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
-- imposto inversione
|
|
|
|
|
EgtSetMachiningParam( MCH_MP.INVERT, bInvert)
|
|
|
|
|
-- imposto lato di lavoro
|
|
|
|
|
EgtSetMachiningParam( MCH_MP.WORKSIDE, EgtIf( bInvert, MCH_SAW_WS.LEFT, MCH_SAW_WS.RIGHT))
|
|
|
|
|
-- lato mandrino ( standard a sinistra se rotazione CCW, altrimenti a destra, oppure da funzione di macchina)
|
|
|
|
|
local nHeadSide = EgtIf( dSpeed < 0, MCH_SAW_HS.LEFT, MCH_SAW_HS.RIGHT)
|
|
|
|
|
if WD.GetSawHeadSide then nHeadSide = WD.GetSawHeadSide( dSpeed, sHead) end
|
|
|
|
|
EgtSetMachiningParam( MCH_MP.HEADSIDE, nHeadSide)
|
|
|
|
|
-- assegno i dati di attacco (sicurezza solo se angolo interno)
|
|
|
|
|
local nLeadIn = MCH_SAW_LI.CENT
|
|
|
|
@@ -1969,7 +2013,8 @@ local function MakeByCut( Proc, nRawId, b3Raw, b3Squaring)
|
|
|
|
|
-- recupero i dati di tutte le facce
|
|
|
|
|
local vFace, dMaxWidth, nNewProc = GetFacesData( Proc, bOpposite, true, dSawDiam, dSawMaxDepth, dSawThick, nAddGrpId, b3Raw)
|
|
|
|
|
-- inserimento dei tagli di lama
|
|
|
|
|
local bCtOk, sCtErr = AddCuts( sCutting, vFace, Proc, nRawId, b3Raw, dSawThick, b3Squaring)
|
|
|
|
|
local bForceConventionalSawing = EgtGetInfo( Proc.Id, 'Q09', 'd') == 1
|
|
|
|
|
local bCtOk, sCtErr = AddCuts( sCutting, vFace, Proc, nRawId, b3Raw, dSawThick, b3Squaring, bForceConventionalSawing)
|
|
|
|
|
if not bCtOk then return bCtOk, sCtErr end
|
|
|
|
|
-- se richiesta solo lama, esco
|
|
|
|
|
local nCntType = EgtGetInfo( Proc.Id, 'CNT_TYPE', 'i') or 0
|
|
|
|
|