|
|
|
@@ -1367,7 +1367,7 @@ local function MakeByMill( Proc, nFacet, nOthFac, nRawId, b3Raw, dSideDist)
|
|
|
|
|
if not sMilling then
|
|
|
|
|
local sErr = 'Error : Side not found in library'
|
|
|
|
|
EgtOutLog( sErr)
|
|
|
|
|
return false, sErr, true
|
|
|
|
|
return false, sErr
|
|
|
|
|
end
|
|
|
|
|
-- recupero i dati dell'utensile
|
|
|
|
|
local dMillDiam = 20
|
|
|
|
@@ -1390,13 +1390,13 @@ local function MakeByMill( Proc, nFacet, nOthFac, nRawId, b3Raw, dSideDist)
|
|
|
|
|
if dMillDiam < dDiam or dMaxDepth < dElev then
|
|
|
|
|
local sErr = 'Error : Side Elevation too big'
|
|
|
|
|
EgtOutLog( sErr)
|
|
|
|
|
return false, sErr, true
|
|
|
|
|
return false, sErr
|
|
|
|
|
end
|
|
|
|
|
local dMillExtra = dMillTotLen - dMillLen
|
|
|
|
|
if Proc.Box:getMin():getZ() - dMillExtra < b3Raw:getMin():getZ() - 10 * GEO.EPS_SMALL then
|
|
|
|
|
local sErr = 'Error : Tool collide with table'
|
|
|
|
|
EgtOutLog( sErr)
|
|
|
|
|
return false, sErr, true
|
|
|
|
|
return false, sErr
|
|
|
|
|
end
|
|
|
|
|
-- inserisco la lavorazione di contornatura
|
|
|
|
|
local sName = 'Mill_' .. ( EgtGetName( Proc.Id) or tostring( Proc.Id))
|
|
|
|
@@ -1453,7 +1453,7 @@ local function MakeByMill( Proc, nFacet, nOthFac, nRawId, b3Raw, dSideDist)
|
|
|
|
|
if not EgtApplyMachining( true, false) then
|
|
|
|
|
local _, sErr = EgtGetLastMachMgrError()
|
|
|
|
|
EgtSetOperationMode( nMchFId, false)
|
|
|
|
|
return false, sErr
|
|
|
|
|
return false, sErr, nMchFId
|
|
|
|
|
end
|
|
|
|
|
return true
|
|
|
|
|
end
|
|
|
|
@@ -2296,6 +2296,13 @@ local function MakeSideGrooveByMill( Proc, nFacet, nRawId, b3Raw, sCustomMach, d
|
|
|
|
|
EgtOutLog( sErr)
|
|
|
|
|
return false, sErr
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
local _, nUseMillOnSide = EvaluateQParam( Proc)
|
|
|
|
|
if nUseMillOnSide and nUseMillOnSide < 2 and ( Proc.Fct > 3 or ( Proc.Fct == 3 and not Proc.IsThrough)) then
|
|
|
|
|
sWarn = 'Warning in LapJoint : Sidemill damage finished part'
|
|
|
|
|
EgtOutLog( sWarn)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
return true, sWarn
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
@@ -2797,8 +2804,11 @@ local function MakeTwoFaces( Proc, nRawId, b3Raw)
|
|
|
|
|
bLikeAsMakeFirstGroove = false
|
|
|
|
|
return MakeSideGrooveByMill( Proc, nFacetVert, nRawId, b3Raw, EgtIf( bEnableMillOnSide and dMaxDepthOnSide, sMillOnSide, nil), dMaxDepthOnSide, bMakeFirstGroove, bMachFromDn, dAng, bLikeAsMakeFirstGroove, nil, nil, bDoubleMillOnSide)
|
|
|
|
|
else
|
|
|
|
|
local bOk, sErr, bSideMachiningNotFound = MakeByMill( Proc, nFacet, 1 - nFacet, nRawId, b3Raw, dSideDist)
|
|
|
|
|
if not bOk and bSideMachiningNotFound then
|
|
|
|
|
local bOk, sErr, nInvalidMachId = MakeByMill( Proc, nFacet, 1 - nFacet, nRawId, b3Raw, dSideDist)
|
|
|
|
|
if not bOk then
|
|
|
|
|
if nInvalidMachId then
|
|
|
|
|
EgtRemoveOperation( nInvalidMachId)
|
|
|
|
|
end
|
|
|
|
|
bOk, sErr = MakeByPocketing( Proc, nFacet, nRawId, b3Raw)
|
|
|
|
|
end
|
|
|
|
|
-- se angolo ottuso riprendo il lato quasi verticale
|
|
|
|
@@ -2881,7 +2891,7 @@ local function MakeMoreFaces( Proc, nRawId, b3Raw)
|
|
|
|
|
local nFacInd, dElev, nFacInd2, dElev2 = WL.GetFaceWithMostAdj( Proc.Id, Proc.PartId)
|
|
|
|
|
-- se necessario scambio le facce
|
|
|
|
|
local bIsGroove3Blind = Proc.Fct == 3 and Proc.Topology == 'Groove' and not Proc.IsThrough
|
|
|
|
|
local bPreferSidemill = ( nUseMillOnSide >= 1)
|
|
|
|
|
local bPreferSidemill = ( nUseMillOnSide > 1)
|
|
|
|
|
if Proc.Stype == 2 or ( bPreferSidemill and bIsGroove3Blind) then
|
|
|
|
|
nFacInd, dElev, nFacInd2, dElev2 = nFacInd2, dElev2, nFacInd, dElev
|
|
|
|
|
end
|
|
|
|
|