diff --git a/LuaLibs/ProcessLapJoint.lua b/LuaLibs/ProcessLapJoint.lua index ae5a370..739c97e 100644 --- a/LuaLibs/ProcessLapJoint.lua +++ b/LuaLibs/ProcessLapJoint.lua @@ -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