DataBeam :
- altre piccole modifiche per rendere più robusti alcuni test.
This commit is contained in:
+39
-20
@@ -3919,7 +3919,7 @@ local function ManageAntiSplintBySaw( Proc, b3Raw, bIsU, vtN, nFacInd, sWarn, bM
|
||||
nPrefSide = 0
|
||||
elseif abs( vtN:getZ()) > 0.63 or abs( vtN:getY()) > 0.63 then
|
||||
-- se X è negativa allora devo tenere il motore a destra
|
||||
if vtN:getX() < -(10 * GEO.EPS_SMALL) then
|
||||
if vtN:getX() < 0.087 then
|
||||
nPrefSide = 2
|
||||
end
|
||||
end
|
||||
@@ -3944,14 +3944,16 @@ local function ManageAntiSplintBySaw( Proc, b3Raw, bIsU, vtN, nFacInd, sWarn, bM
|
||||
local bInvertMach = false
|
||||
local dDepth = 0
|
||||
if bIsU then
|
||||
if abs(vtN:getZ()) > 0.63 or abs(vtN:getY()) > 0.63 then
|
||||
-- if abs(vtN:getZ()) > 0.7 or abs(vtN:getY()) > 0.7 then
|
||||
-- prendo il vettore normale alla faccia
|
||||
local _, vtNFc = EgtSurfTmFacetCenter( Proc.Id, nFacet, GDB_ID.ROOT)
|
||||
-- prendo il vettore normale alla faccia
|
||||
local vtNFc = EgtSurfTmFacetNormVersor( Proc.Id, nFacet, GDB_ID.ROOT)
|
||||
if abs( vtN:getZ()) > 0.63 or abs( vtN:getY()) > 0.63 then
|
||||
-- se superficie principale parallela al piano XZ
|
||||
if nPrefSide == 0 then
|
||||
-- se facce praticamente verticali || mandrino a destra
|
||||
if abs( vtNFc:getZ()) < 0.1 then
|
||||
nPrefSide = 2
|
||||
-- se facce inclinate \\ allora mandrino a destra (per essere verso l'alto)
|
||||
if vtNFc:getX() * vtNFc:getZ() > 0 then
|
||||
elseif vtNFc:getX() * vtNFc:getZ() > 0 then
|
||||
nPrefSide = 2
|
||||
-- altrimenti facce inclinate // quindi mandrino a sinistra (per essere ancora verso l'alto)
|
||||
else
|
||||
@@ -3972,20 +3974,37 @@ local function ManageAntiSplintBySaw( Proc, b3Raw, bIsU, vtN, nFacInd, sWarn, bM
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
-- eseguo inversione
|
||||
if bInvertMach then
|
||||
local bToolInvert = EgtGetMachiningParam( MCH_MP.TOOLINVERT)
|
||||
local nWS = EgtGetMachiningParam( MCH_MP.WORKSIDE)
|
||||
local nInvWS = EgtIf( nWS == MCH_MILL_WS.RIGHT, MCH_MILL_WS.LEFT, MCH_MILL_WS.RIGHT)
|
||||
local nFaceUse = EgtGetMachiningParam( MCH_MP.FACEUSE)
|
||||
local bOrtUp = ( nFaceUse >= MCH_MILL_FU.ORTUP_DOWN and nFaceUse <= MCH_MILL_FU.ORTUP_RIGHT)
|
||||
if not bOrtUp then
|
||||
-- assegno i parametri invertiti
|
||||
EgtSetMachiningParam( MCH_MP.WORKSIDE, nInvWS)
|
||||
EgtSetMachiningParam( MCH_MP.TOOLINVERT, not bToolInvert)
|
||||
-- setto l'offset pari allo spessore lama
|
||||
EgtSetMachiningParam( MCH_MP.OFFSL, -dSawThick)
|
||||
-- eseguo inversione
|
||||
if bInvertMach then
|
||||
local bToolInvert = EgtGetMachiningParam( MCH_MP.TOOLINVERT)
|
||||
local nWS = EgtGetMachiningParam( MCH_MP.WORKSIDE)
|
||||
local nInvWS = EgtIf( nWS == MCH_MILL_WS.RIGHT, MCH_MILL_WS.LEFT, MCH_MILL_WS.RIGHT)
|
||||
local nFaceUse = EgtGetMachiningParam( MCH_MP.FACEUSE)
|
||||
local bOrtUp = ( nFaceUse >= MCH_MILL_FU.ORTUP_DOWN and nFaceUse <= MCH_MILL_FU.ORTUP_RIGHT)
|
||||
if not bOrtUp then
|
||||
-- assegno i parametri invertiti
|
||||
EgtSetMachiningParam( MCH_MP.WORKSIDE, nInvWS)
|
||||
EgtSetMachiningParam( MCH_MP.TOOLINVERT, not bToolInvert)
|
||||
-- setto l'offset pari allo spessore lama
|
||||
EgtSetMachiningParam( MCH_MP.OFFSL, -dSawThick)
|
||||
end
|
||||
end
|
||||
-- per diminuire scheggiature su facce davanti
|
||||
if nPrefSide == 2 then
|
||||
local dSpeed = EgtGetMachiningParam( MCH_MP.SPEED)
|
||||
if dSpeed < 0 and vtN:getY() < -0.996 then
|
||||
EgtSetMachiningParam( MCH_MP.WORKSIDE, MCH_MILL_WS.RIGHT)
|
||||
EgtSetMachiningParam( MCH_MP.INVERT, vtNFc:getX() > 0)
|
||||
elseif dSpeed > 0 and vtN:getY() > 0.996 then
|
||||
EgtSetMachiningParam( MCH_MP.WORKSIDE, MCH_MILL_WS.LEFT)
|
||||
EgtSetMachiningParam( MCH_MP.INVERT, vtNFc:getX() < 0)
|
||||
elseif dSpeed < 0 and vtN:getZ() > 0.996 then
|
||||
EgtSetMachiningParam( MCH_MP.WORKSIDE, MCH_MILL_WS.RIGHT)
|
||||
EgtSetMachiningParam( MCH_MP.INVERT, vtNFc:getX() > 0)
|
||||
elseif dSpeed > 0 and vtN:getZ() > 0.996 then
|
||||
EgtSetMachiningParam( MCH_MP.WORKSIDE, MCH_MILL_WS.LEFT)
|
||||
EgtSetMachiningParam( MCH_MP.INVERT, vtNFc:getX() < 0)
|
||||
end
|
||||
end
|
||||
end
|
||||
-- posizione del braccio : se primo taglio la recupero, altrimenti la imposto
|
||||
|
||||
Reference in New Issue
Block a user