- minors
This commit is contained in:
+48
-49
@@ -150,7 +150,7 @@ local function AssignQValues( Proc)
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
local function EvaluateQParam()
|
||||
local function EvaluateChamfer()
|
||||
local sErr
|
||||
-- verifico che lo smusso sia richiesto
|
||||
local nChamfer = 0
|
||||
@@ -229,33 +229,33 @@ local function InitGlob( Proc, nPhase, nRawId, nPartId, dOvmHead)
|
||||
|
||||
-- leggo i valori dei parametri Q
|
||||
AssignQValues( Proc)
|
||||
-- verifico se sono presenti i parametri Q per la profondità smusso e
|
||||
-- verifico se sono presenti i parametri per la profondità smusso e
|
||||
-- per eseguire in esclusiva solo lo smusso
|
||||
_nChamfer, _dDepthCham, _sErrCham, _bForceUseBlade = EvaluateQParam()
|
||||
_nChamfer, _dDepthCham, _sErrCham, _bForceUseBlade = EvaluateChamfer()
|
||||
|
||||
return true, ''
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
local function UpdateFacet1Data( nProcId, tFData, nFacInd, dFacElev)
|
||||
if not tFData then
|
||||
tFData = {}
|
||||
if not tFData then
|
||||
tFData = {}
|
||||
end
|
||||
tFData.nFacInd = nFacInd
|
||||
if dFacElev then
|
||||
tFData.dFacElev = dFacElev
|
||||
end
|
||||
end
|
||||
if tFData.nFacInd and tFData.nFacInd > -1 then
|
||||
tFData.ptC, tFData.vtN = EgtSurfTmFacetCenter( nProcId, tFData.nFacInd, GDB_ID.ROOT)
|
||||
tFData.rfFac, tFData.dH, tFData.dV = EgtSurfTmFacetMinAreaRectangle( nProcId, tFData.nFacInd, GDB_ID.ROOT)
|
||||
end
|
||||
tFData.rfFac, tFData.dH, tFData.dV = EgtSurfTmFacetMinAreaRectangle( nProcId, tFData.nFacInd, GDB_ID.ROOT)
|
||||
end
|
||||
return tFData
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
local function UpdateFacet2Data( nProcId, tFData, nFacInd2, dFacElev2)
|
||||
if not tFData then
|
||||
tFData = {}
|
||||
if not tFData then
|
||||
tFData = {}
|
||||
end
|
||||
tFData.nFacInd2 = nFacInd2
|
||||
if dFacElev2 then
|
||||
@@ -335,7 +335,7 @@ local function GetValidFacetAdjacencies( nSurfId, nFacet)
|
||||
vValidAdj = {}
|
||||
for j = 1, #vFacAdj do
|
||||
if vFacAdj[j] >= 0 then
|
||||
table.insert(vValidAdj, vFacAdj[j])
|
||||
table.insert( vValidAdj, vFacAdj[j])
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -396,7 +396,7 @@ local function TestElleShape4( Proc)
|
||||
return 1
|
||||
else
|
||||
return 2
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
@@ -404,7 +404,7 @@ end
|
||||
local function TestUL( Proc)
|
||||
local bIsU = ( Proc.Fct == 3 and not TestElleShape3( Proc))
|
||||
-- verifico se due facce o L con una o due facce di terminazione
|
||||
local bIsL = ( Proc.Fct == 2 or TestElleShape3( Proc) or TestElleShape4( Proc) == 2)
|
||||
local bIsL = ( Proc.Fct == 2 or TestElleShape3( Proc) or TestElleShape4( Proc) == 2)
|
||||
|
||||
return bIsU, bIsL
|
||||
end
|
||||
@@ -648,14 +648,14 @@ local function GetTunnelDimension( Proc)
|
||||
end
|
||||
local frSurfInt, dDimMax, dDimMin = EgtSurfTmFacetMinAreaRectangle( nSurfInt, 0, GDB_ID.ROOT)
|
||||
-- cerco la faccia con larghezza pari a dimensione massima della fessura
|
||||
local nLongIdFace = 0
|
||||
local nLongFaceId = 0
|
||||
for i = 1, Proc.Fct do
|
||||
if abs( vtN[i] * frSurfInt:getVersX()) < 0.5 then
|
||||
nLongIdFace = i - 1
|
||||
nLongFaceId = i - 1
|
||||
break
|
||||
end
|
||||
end
|
||||
return dDimMin, dDimMax, dDepth, vtOrtho, nLongIdFace, nSurfInt
|
||||
return dDimMin, dDimMax, dDepth, vtOrtho, nLongFaceId, nSurfInt
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
@@ -815,10 +815,9 @@ function ProcessLapJoint.Classify( Proc, b3Raw)
|
||||
-- se 2 facce
|
||||
elseif Proc.Fct == 2 then
|
||||
-- dati delle facce
|
||||
local ptC = {}
|
||||
local vtN = {}
|
||||
ptC[1], vtN[1] = EgtSurfTmFacetCenter( Proc.Id, 0, GDB_ID.ROOT)
|
||||
ptC[2], vtN[2] = EgtSurfTmFacetCenter( Proc.Id, 1, GDB_ID.ROOT)
|
||||
_, vtN[1] = EgtSurfTmFacetCenter( Proc.Id, 0, GDB_ID.ROOT)
|
||||
_, vtN[2] = EgtSurfTmFacetCenter( Proc.Id, 1, GDB_ID.ROOT)
|
||||
-- verifico se è lavorabile solo dal basso
|
||||
local bSmall = ( ( Proc.Head or Proc.Tail) and Proc.Box:getDimX() <= BD.GetMaxLenRidgeLapFromBottom( b3Raw:getDimZ())) or
|
||||
( not ( Proc.Head or Proc.Tail) and Proc.Box:getDimY() <= BD.GetMaxLenRidgeLapFromBottom( b3Raw:getDimZ()))
|
||||
@@ -876,7 +875,7 @@ function ProcessLapJoint.Classify( Proc, b3Raw)
|
||||
-- se facce formano un tunnel e sono ortogonali
|
||||
if bClosedOrthoFaces then
|
||||
-- ottengo le dimensioni del tunnel
|
||||
local dDimMin, dDimMax, dDepth, vtOrtho, nLundIdFace, nSurfInt = GetTunnelDimension( Proc)
|
||||
local dDimMin, dDimMax, dDepth, vtOrtho, nLongFaceId, nSurfInt = GetTunnelDimension( Proc)
|
||||
EgtErase( nSurfInt)
|
||||
-- verifico se può essere fatto con svuotatura
|
||||
if VerifyPocket( dDimMin) then
|
||||
@@ -895,7 +894,7 @@ function ProcessLapJoint.Classify( Proc, b3Raw)
|
||||
-- altrimenti controllo se deve essere ruotato con le altre lavorazioni
|
||||
else
|
||||
-- dati della faccia
|
||||
local ptC, vtN = EgtSurfTmFacetCenter( Proc.Id, tFData.nFacInd, GDB_ID.ROOT)
|
||||
local _, vtN = EgtSurfTmFacetCenter( Proc.Id, tFData.nFacInd, GDB_ID.ROOT)
|
||||
-- cerco se c'è faccia adiacente sul lato più lungo
|
||||
local nFaceAdj = GetFaceAdj( Proc, tFData) or -1
|
||||
local _, bIsL = TestUL( Proc)
|
||||
@@ -904,17 +903,17 @@ function ProcessLapJoint.Classify( Proc, b3Raw)
|
||||
-- se verso il basso, verifico se utilizzabile seconda faccia
|
||||
if bDown then
|
||||
if tFData.nFacInd2 and tFData.dFacElev2 < 2 * tFData.dFacElev then
|
||||
local ptC2, vtN2 = EgtSurfTmFacetCenter( Proc.Id, tFData.nFacInd2, GDB_ID.ROOT)
|
||||
local _, vtN2 = EgtSurfTmFacetCenter( Proc.Id, tFData.nFacInd2, GDB_ID.ROOT)
|
||||
bDown = ( vtN2:getZ() < BD.NZ_MINB)
|
||||
elseif not tFData.nFacInd2 and bIsL and nFaceAdj >= 0 then
|
||||
local ptC2, vtN2 = EgtSurfTmFacetCenter( Proc.Id, nFaceAdj, GDB_ID.ROOT)
|
||||
local _, vtN2 = EgtSurfTmFacetCenter( Proc.Id, nFaceAdj, GDB_ID.ROOT)
|
||||
bDown = ( vtN2:getZ() < BD.NZ_MINB)
|
||||
end
|
||||
-- verifico se la faccia principale è sottosquadra, ha forma L ed esiste la faccia adiacente
|
||||
elseif vtN:getZ() < -0.2589 and bIsL and nFaceAdj >= 0 then
|
||||
-- se il numero di facce > 2 o il box della feature supera una certa distanza dalle teste allora controllo la z della faccia ausiliaria
|
||||
if Proc.Fct > 2 or ( Proc.Box:getMax():getX() < _b3Solid:getMin():getX() - 150) or ( Proc.Box:getMin():getX() > _b3Solid:getMax():getX() + 150) then
|
||||
local ptC2, vtN2 = EgtSurfTmFacetCenter( Proc.Id, nFaceAdj, GDB_ID.ROOT)
|
||||
local _, vtN2 = EgtSurfTmFacetCenter( Proc.Id, nFaceAdj, GDB_ID.ROOT)
|
||||
bDown = ( vtN2:getZ() < BD.NZ_MINB)
|
||||
end
|
||||
end
|
||||
@@ -931,7 +930,7 @@ local function MakeOneFaceByMill( Proc)
|
||||
-- verifico il numero di facce della tacca
|
||||
assert( ( Proc.Fct == 1), 'Error : MakeOneFaceByMill in LapJoint with ' .. tostring( Proc.Fct) .. ' faces')
|
||||
-- dati della faccia
|
||||
local ptC, vtN = EgtSurfTmFacetCenter( Proc.Id, 0, GDB_ID.ROOT)
|
||||
local _, vtN = EgtSurfTmFacetCenter( Proc.Id, 0, GDB_ID.ROOT)
|
||||
-- verifico se orientata verso l'alto
|
||||
local bUp = ( vtN:getZ() >= BD.NZ_MINA)
|
||||
-- scelta faccia da lavorare
|
||||
@@ -2093,7 +2092,7 @@ local function MakeDrillOnCorner( Proc, nFacInd, dDiam, bSpecialMach)
|
||||
else
|
||||
EgtSetGridFrame( Frame3d( tFacAdj[nIdLine][nIdIniPoint], vtExtr))
|
||||
end
|
||||
-- creo geometria
|
||||
-- creo geometria
|
||||
local AuxId = EgtCircle( _nAddGrpId, {0, 0, 0}, EgtIf( bIsDrilling, dDiamTool / 2, ( dDiamTool / 2) + 0.1), GDB_RT.GRID)
|
||||
-- riporto la griglia a globale
|
||||
EgtSetGridFrame()
|
||||
@@ -2622,7 +2621,7 @@ local function DoHeadChainSaw( Proc, sName, sSawing, tFData, nFaceUse, nFacAdj,
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
local function DoSideChainSaw( Proc, sName, sSawing, tFData, vtN, vtOrtho, nLundIdFace,
|
||||
local function DoSideChainSaw( Proc, sName, sSawing, tFData, vtN, vtOrtho, nLongFaceId,
|
||||
dOffs, dMaxMat, dSawCornerRad, bOpenStart, bOpenEnd)
|
||||
local nMchFId = EgtAddMachining( sName, sSawing)
|
||||
if not nMchFId then
|
||||
@@ -2631,7 +2630,7 @@ local function DoSideChainSaw( Proc, sName, sSawing, tFData, vtN, vtOrtho, nLund
|
||||
return false, sErr
|
||||
end
|
||||
-- aggiungo geometria
|
||||
EgtSetMachiningGeometry( {{ Proc.Id, nLundIdFace}})
|
||||
EgtSetMachiningGeometry( {{ Proc.Id, nLongFaceId}})
|
||||
-- imposto uso del lato faccia
|
||||
local nFaceUse
|
||||
-- se non è un tunnel a 4 facce
|
||||
@@ -2714,7 +2713,7 @@ local function DoSideChainSaw( Proc, sName, sSawing, tFData, vtN, vtOrtho, nLund
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
local function MakeByChainOrSaw( Proc, tFData, dDimMin, dDimMax, vtOrtho, nLundIdFace,
|
||||
local function MakeByChainOrSaw( Proc, tFData, dDimMin, dDimMax, vtOrtho, nLongFaceId,
|
||||
bOrthoFacesMaster, nBottomFace, nSurfInt)
|
||||
local bIs3Faces = Proc.Fct == 3
|
||||
local bOrthoFaces
|
||||
@@ -2739,7 +2738,7 @@ local function MakeByChainOrSaw( Proc, tFData, dDimMin, dDimMax, vtOrtho, nLundI
|
||||
|
||||
if bOrthoFaces then
|
||||
-- ottengo le dimensioni del tunnel
|
||||
dDimMin, dDimMax, dDepth, vtOrtho, nLundIdFace, nSurfInt = GetTunnelDimension( Proc)
|
||||
dDimMin, dDimMax, dDepth, vtOrtho, nLongFaceId, nSurfInt = GetTunnelDimension( Proc)
|
||||
-- verifico la direzione
|
||||
-- se devo inserire il chamfer
|
||||
if _nChamfer > 0 then
|
||||
@@ -2934,7 +2933,7 @@ local function MakeByChainOrSaw( Proc, tFData, dDimMin, dDimMax, vtOrtho, nLundI
|
||||
-- inserisco la lavorazione di sawing
|
||||
local sName = sName .. 'Csaw_' .. ( EgtGetName( Proc.Id) or tostring( Proc.Id)) .. '_' .. tostring( i)
|
||||
local dOffs = ( i - 1) * dStep
|
||||
local bOk, sErr = DoSideChainSaw(Proc, sName, sSawing2, tFData, vtN, vtOrtho, nLundIdFace, dOffs, dMaxMat2, dSawCornerRad2, bOpenStart, bOpenEnd)
|
||||
local bOk, sErr = DoSideChainSaw( Proc, sName, sSawing2, tFData, vtN, vtOrtho, nLongFaceId, dOffs, dMaxMat2, dSawCornerRad2, bOpenStart, bOpenEnd)
|
||||
if not bOk then
|
||||
return false, sErr
|
||||
end
|
||||
@@ -2981,7 +2980,7 @@ local function MakeAntiSplintBySaw( Proc, nFacet, vtN, nFacInd, bReduceDepth, bM
|
||||
if bReduceDepth then
|
||||
local dLimitDepth = 100
|
||||
-- se ho ridotto l'affondamento ne riduco ulteriormente l'affondamento (50mm)
|
||||
if abs(dExtraOffs) > 0 then
|
||||
if abs( dExtraOffs) > 0 then
|
||||
if dMaxDepth > dLimitDepth then
|
||||
dExtraOffs = dLimitDepth - dDepth
|
||||
end
|
||||
@@ -2989,7 +2988,7 @@ local function MakeAntiSplintBySaw( Proc, nFacet, vtN, nFacInd, bReduceDepth, bM
|
||||
if dDepth > dLimitDepth then
|
||||
dExtraOffs = dLimitDepth - dDepth
|
||||
else
|
||||
dExtraOffs = -(dDepth / 2)
|
||||
dExtraOffs = -( dDepth / 2)
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -2997,7 +2996,7 @@ local function MakeAntiSplintBySaw( Proc, nFacet, vtN, nFacInd, bReduceDepth, bM
|
||||
local bMadeASbyBld, sWarn, nIdMach = Fbs.MakeOne( Proc.Id, nFacet, sCutting, dSawDiam, vtN, nil, ( -0.5 + dExtraOffs), BD.CUT_SIC, 0, 0, 0, nil, _b3Raw)
|
||||
if bMadeASbyBld then
|
||||
sWarn = nil
|
||||
if abs(dExtraOffs) > 0 then
|
||||
if abs( dExtraOffs) > 0 then
|
||||
sWarn = 'Warning : antisplint elevation is bigger than max tool depth'
|
||||
end
|
||||
end
|
||||
@@ -3346,7 +3345,7 @@ local function MakeByPockets( Proc, bOrthoFacesMaster, bMillDown)
|
||||
local bOrthoFaces
|
||||
local sWarn
|
||||
local sMchFind = 'Pocket'
|
||||
local dDimMin, dDimMax, dDepth, vtOrtho, nLundIdFace, nSurfInt
|
||||
local dDimMin, dDimMax, dDepth, vtOrtho, nLongFaceId, nSurfInt
|
||||
local bBadMach = false
|
||||
local bIs3Faces = Proc.Fct == 3
|
||||
|
||||
@@ -3368,7 +3367,7 @@ local function MakeByPockets( Proc, bOrthoFacesMaster, bMillDown)
|
||||
-- se è un tunnel verifico se è possibile usare la svuotatura
|
||||
if bOrthoFaces then
|
||||
-- ottengo le dimensioni del tunnel
|
||||
dDimMin, dDimMax, dDepth, vtOrtho, nLundIdFace, nSurfInt = GetTunnelDimension( Proc)
|
||||
dDimMin, dDimMax, dDepth, vtOrtho, nLongFaceId, nSurfInt = GetTunnelDimension( Proc)
|
||||
local nPathInt
|
||||
-- se devo inserire il chamfer
|
||||
if _nChamfer > 0 then
|
||||
@@ -3546,12 +3545,12 @@ local function MakeByPockets( Proc, bOrthoFacesMaster, bMillDown)
|
||||
end
|
||||
end
|
||||
end
|
||||
return 1, sWarn, dDimMin, dDimMax, dDepth, vtOrtho, nLundIdFace, dDiamTool, bDoubleSide, nPathInt, nSurfInt, bOneShot, bMillDown, nFirstMachId
|
||||
return 1, sWarn, dDimMin, dDimMax, dDepth, vtOrtho, nLongFaceId, dDiamTool, bDoubleSide, nPathInt, nSurfInt, bOneShot, bMillDown, nFirstMachId
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
return 0, sWarn, dDimMin, dDimMax, dDepth, vtOrtho, nLundIdFace, dDiamTool, bDoubleSide, nPathInt, nSurfInt, bOneShot, bMillDown, nFirstMachId, bOrthoFaces
|
||||
return 0, sWarn, dDimMin, dDimMax, dDepth, vtOrtho, nLongFaceId, dDiamTool, bDoubleSide, nPathInt, nSurfInt, bOneShot, bMillDown, nFirstMachId, bOrthoFaces
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
@@ -4209,7 +4208,7 @@ local function MakeSpecialThreeFaces( Proc, tFData)
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
local function MakeByChainsaw( Proc, dDimMin, dDimMax, dDepth, vtOrtho, nLundIdFace)
|
||||
local function MakeByChainsaw( Proc, dDimMin, dDimMax, dDepth, vtOrtho, nLongFaceId)
|
||||
-- verifico se posso farlo con la sega-catena
|
||||
local bMakeChainSaw, sSawing, dMaxMat, dSawCornerRad, dSawThick = VerifyChainSaw( dDimMin, dDimMax)
|
||||
|
||||
@@ -4230,7 +4229,7 @@ local function MakeByChainsaw( Proc, dDimMin, dDimMax, dDepth, vtOrtho, nLundIdF
|
||||
return false, sErr
|
||||
end
|
||||
-- aggiungo geometria
|
||||
EgtSetMachiningGeometry( {{ Proc.Id, nLundIdFace}})
|
||||
EgtSetMachiningGeometry( {{ Proc.Id, nLongFaceId}})
|
||||
-- imposto uso del lato faccia
|
||||
-- al momento, dato che la fessura è passante da parte a parte, gestisco solo la lavorazione
|
||||
-- dall'alto e di fronte (da dietro è disabilitata perchè ho exracorsa con la FAST).
|
||||
@@ -4240,7 +4239,7 @@ local function MakeByChainsaw( Proc, dDimMin, dDimMax, dDepth, vtOrtho, nLundIdF
|
||||
else
|
||||
EgtSetMachiningParam( MCH_MP.FACEUSE, MCH_MILL_FU.PARAL_BACK)
|
||||
end
|
||||
local vtN = EgtSurfTmFacetNormVersor( Proc.Id, nLundIdFace, GDB_ID.ROOT)
|
||||
local vtN = EgtSurfTmFacetNormVersor( Proc.Id, nLongFaceId, GDB_ID.ROOT)
|
||||
-- imposto angolo 3° asse rot
|
||||
EgtSetMachiningParam( MCH_MP.BLOCKEDAXIS, GetChainSawBlockedAxis( 1))
|
||||
EgtSetMachiningParam( MCH_MP.INITANGS, GetChainSawInitAngs( vtN, vtOrtho))
|
||||
@@ -4287,7 +4286,7 @@ local function MakeSidePocketings( Proc, tFData, dCollSic, bSpecialMillOnSide,
|
||||
nBottomFace, sMillingOnSide, dToolDiamOnSide, dThickMillOnSide,
|
||||
bSinglePart, bIsU, bIsL, dDiam, bMillDown, bMillUp, sMchFind, sMchFindBackUp)
|
||||
local bTryWithBlades = true
|
||||
local nOk, bOk, sWarn, sStat, sErr, dDimMin, dDimMax, dDepth, vtOrtho, bOrthoFaces, nSurfInt, sPocketing, nLundIdFace
|
||||
local nOk, bOk, sWarn, sStat, sErr, dDimMin, dDimMax, dDepth, vtOrtho, bOrthoFaces, nSurfInt, sPocketing, nLongFaceId
|
||||
if bSpecialMillOnSide then
|
||||
-- eseguo
|
||||
bOk, sWarn = MakeByMillAsSaw( Proc, tFData, nBottomFace, sMillingOnSide, dToolDiamOnSide, dThickMillOnSide)
|
||||
@@ -4355,7 +4354,7 @@ local function MakeSidePocketings( Proc, tFData, dCollSic, bSpecialMillOnSide,
|
||||
-- se devo inserire il chamfer
|
||||
if ( ( Proc.Fct == 3 and bIsU) or (Proc.Fct == 2 and bIsL)) and _nChamfer > 0 then
|
||||
-- ottengo le dimensioni dello pseudotunnel
|
||||
local dDimMin, dDimMax, dDepth, vtOrtho, nLundIdFace, nSurfInt = GetTunnelDimension( Proc)
|
||||
local dDimMin, dDimMax, dDepth, vtOrtho, nLongFaceId, nSurfInt = GetTunnelDimension( Proc)
|
||||
local nOk, sErr = MakeChamfer( Proc, vtOrtho, nSurfInt)
|
||||
if nOk < 0 then return 1, false, sErr end
|
||||
end
|
||||
@@ -4384,7 +4383,7 @@ local function MakeSidePocketings( Proc, tFData, dCollSic, bSpecialMillOnSide,
|
||||
-- lavoro con svuotature (singola o doppia contrapposta)
|
||||
local dDiamTool = 100
|
||||
local nPathInt, nSurfInt, bOneShot, nFirstMachId, bDoubleSide
|
||||
nOk, sErr, dDimMin, dDimMax, dDepth, vtOrtho, nLundIdFace, dDiamTool,
|
||||
nOk, sErr, dDimMin, dDimMax, dDepth, vtOrtho, nLongFaceId, dDiamTool,
|
||||
bDoubleSide, nPathInt, nSurfInt, bOneShot, bMillDown, nFirstMachId, bOrthoFaces = MakeByPockets( Proc, nil, bMillDown)
|
||||
if nOk == -2 then
|
||||
if not sMchFind then
|
||||
@@ -4432,7 +4431,7 @@ local function MakeSidePocketings( Proc, tFData, dCollSic, bSpecialMillOnSide,
|
||||
tFData = SwapFacetsData( tFData)
|
||||
end
|
||||
-- eseguo
|
||||
bOk, sWarn, sStat = MakeByChainOrSaw( Proc, tFData, dDimMin, dDimMax, vtOrtho, nLundIdFace, bOrthoFaces, nBottomFace, nSurfInt)
|
||||
bOk, sWarn, sStat = MakeByChainOrSaw( Proc, tFData, dDimMin, dDimMax, vtOrtho, nLongFaceId, bOrthoFaces, nBottomFace, nSurfInt)
|
||||
if not bOk and sStat == 'MNF' then
|
||||
_, sPocketing = VerifyPocket( dDiam, tFData.dFacElev + dCollSic, nil, sMchFind)
|
||||
if sPocketing then
|
||||
@@ -4695,7 +4694,7 @@ local function MakePocketingOrMilling( Proc, tFData, bSinglePart)
|
||||
-- se devo inserire il chamfer
|
||||
if ( ( Proc.Fct == 3 and bIsU) or (Proc.Fct == 2 and bIsL)) and _nChamfer > 0 then
|
||||
-- ottengo le dimensioni dello pseudotunnel
|
||||
local dDimMin, dDimMax, dDepth, vtOrtho, nLundIdFace, nSurfInt = GetTunnelDimension( Proc)
|
||||
local dDimMin, dDimMax, dDepth, vtOrtho, nLongFaceId, nSurfInt = GetTunnelDimension( Proc)
|
||||
local nOk, sErr = MakeChamfer( Proc, vtOrtho, nSurfInt)
|
||||
if nOk < 0 then return false, sErr end
|
||||
end
|
||||
@@ -4931,7 +4930,7 @@ local function MakeMoreFaces( Proc, bSinglePart, bPrevBhSideMill)
|
||||
if bClosedOrthoFaces then
|
||||
local bTryWithBlades = true
|
||||
-- lavoro fessura con svuotature (singola o doppia contrapposta)
|
||||
local nOk, sErr, dDimMin, dDimMax, dDepth, vtOrtho, nLundIdFace = MakeByPockets( Proc, bClosedOrthoFaces)
|
||||
local nOk, sErr, dDimMin, dDimMax, dDepth, vtOrtho, nLongFaceId = MakeByPockets( Proc, bClosedOrthoFaces)
|
||||
if nOk < 0 then
|
||||
return false, sErr
|
||||
elseif nOk > 0 then
|
||||
@@ -4940,7 +4939,7 @@ local function MakeMoreFaces( Proc, bSinglePart, bPrevBhSideMill)
|
||||
-- Se la svuotatura precedente non è stata fatta e chamfer non è mutuamente esclusivo provo con la sega-catena
|
||||
if bTryWithBlades and _nChamfer < 2 then
|
||||
-- verifico se posso farlo con la sega-catena
|
||||
local bOk, sErr = MakeByChainsaw( Proc, dDimMin, dDimMax, dDepth, vtOrtho, nLundIdFace)
|
||||
local bOk, sErr = MakeByChainsaw( Proc, dDimMin, dDimMax, dDepth, vtOrtho, nLongFaceId)
|
||||
if not bOk then
|
||||
return false, sErr
|
||||
end
|
||||
@@ -5140,7 +5139,7 @@ function ProcessLapJoint.Make( Proc, nPhase, nRawId, nPartId, dOvmHead)
|
||||
-- verifico se due facce o L con una o due facce di terminazione
|
||||
local _, bIsL = TestUL( Proc)
|
||||
if bIsL and _nChamfer > 0 then
|
||||
local dDimMin, dDimMax, dDepth, vtOrtho, nLundIdFace, nSurfInt = GetTunnelDimension( Proc)
|
||||
local dDimMin, dDimMax, dDepth, vtOrtho, nLongFaceId, nSurfInt = GetTunnelDimension( Proc)
|
||||
local nOk, sErr = MakeChamfer( Proc, vtOrtho, _b3Solid, nSurfInt)
|
||||
if nOk < 0 then return false, sErr end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user