diff --git a/LuaLibs/ProcessLapJoint.lua b/LuaLibs/ProcessLapJoint.lua index 576493a..0a61554 100644 --- a/LuaLibs/ProcessLapJoint.lua +++ b/LuaLibs/ProcessLapJoint.lua @@ -191,7 +191,7 @@ local function TestElleShape4( Proc) end if nFac3Adj ~= 2 then return false end -- verifico se L profonda oppure lunga - if dMinArea3 < dMaxArea2 then + if dMinArea3 < 2 * dMaxArea2 then return 1 else return 2 @@ -634,11 +634,11 @@ function ProcessLapJoint.Classify( Proc, b3Raw) local ptC2, vtN2 = EgtSurfTmFacetCenter( Proc.Id, nFaceAdj, GDB_ID.ROOT) bDown = ( vtN2:getZ() < BD.NZ_MINB) end - -- verifico se la faccia principale è sottosquadra, ha forma L e anche la faccia adiacente - elseif vtN:getZ() < -10 * GEO.EPS_SMALL and bIsL and nFaceAdj >= 0 then + -- 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 -- box del pezzo local b3Solid = EgtGetBBoxGlob( EgtGetFirstNameInGroup( nPartId, 'Box') or GDB_ID.NULL, GDB_BB.STANDARD) - -- se il numero di facce > 2 or il box della feature supera una certa distanza dalle teste allora controllo la z della faccia ausiiaria + -- se il numero di facce > 2 o il box della feature supera una certa distanza dalle teste allora controllo la z della faccia ausiiaria 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) bDown = ( vtN2:getZ() < BD.NZ_MINB) @@ -3518,8 +3518,8 @@ local function MakeMoreFaces( Proc, nPhase, nRawId, nPartId, dOvmHead, bSinglePa if bMillDown then sMchFind = sMchFind ..'_H2' end - -- se feature 16 o 17 e forzata lama e forma ad U, annulla la svuotatura - if ( Proc.Prc == 16 or Proc.Prc == 17) and bForceUseBlade and Proc.Fct == 3 and bIsU then + -- se feature 16 e forzata lama e forma ad U, annulla la svuotatura + if Proc.Prc == 16 and bForceUseBlade and Proc.Fct == 3 and bIsU then sPocketing = nil end -- se non trova una svuotatura adatta diff --git a/LuaLibs/ProcessProfCamb.lua b/LuaLibs/ProcessProfCamb.lua index 67c8bc3..d0660dd 100644 --- a/LuaLibs/ProcessProfCamb.lua +++ b/LuaLibs/ProcessProfCamb.lua @@ -1,4 +1,4 @@ --- ProcessProfCamb.lua by Egaltech s.r.l. 2020/11/19 +-- ProcessProfCamb.lua by Egaltech s.r.l. 2021/03/28 -- Gestione calcolo profilo caudato per Travi -- Tabella per definizione modulo @@ -234,8 +234,9 @@ function ProcessProfCamb.Make( Proc, nPhase, nRawId, nPartId, dCurrOvmH) return false, sChamfer end --variabili utilizzate in varie parti - local dToolMaxDepth = 0 local dMillDiam = 0 + local dToolMaxDepth = 0 + local dToolMaxMat = 0 local sMilling -- in base alla direzione iniziale della curva e al valore di entrata valido, setto l'antischeggia local bMakeAs @@ -275,8 +276,9 @@ function ProcessProfCamb.Make( Proc, nPhase, nRawId, nPartId, dCurrOvmH) if EgtMdbSetCurrMachining( sMilling) then local sTuuid = EgtMdbGetCurrMachiningParam( MCH_MP.TUUID) if EgtTdbSetCurrTool( EgtTdbGetToolFromUUID( sTuuid) or '') then - dToolMaxDepth = EgtTdbGetCurrToolMaxDepth() - dMillDiam = EgtTdbGetCurrToolParam( MCH_TP.DIAM) + dMillDiam = EgtTdbGetCurrToolParam( MCH_TP.DIAM) or dMillDiam + dToolMaxDepth = EgtTdbGetCurrToolMaxDepth() or dToolMaxDepth + dToolMaxMat = EgtTdbGetCurrToolParam( MCH_TP.MAXMAT) or dToolMaxMat end end -- se non da sotto e abilitato dal parametro Q aggiungo taglio di lama @@ -500,9 +502,9 @@ function ProcessProfCamb.Make( Proc, nPhase, nRawId, nPartId, dCurrOvmH) EgtOutLog( sErr) return false, sErr else - -- riporto il sovramateriale originale e tolgo i passi + -- riporto il sovramateriale originale e tolgo i passi inutili EgtSetMachiningParam( MCH_MP.OFFSR, dOriOffset) - EgtSetMachiningParam( MCH_MP.STEP, 0) + EgtSetMachiningParam( MCH_MP.STEP, dToolMaxMat) -- eseguo if not EgtApplyMachining( true, false) then local _, sErr = EgtGetLastMachMgrError() @@ -578,9 +580,9 @@ function ProcessProfCamb.Make( Proc, nPhase, nRawId, nPartId, dCurrOvmH) EgtOutLog( sErr) return false, sErr else - -- riporto il sovramateriale originale e tolgo i passi + -- riporto il sovramateriale originale e tolgo i passi inutili EgtSetMachiningParam( MCH_MP.OFFSR, dOriOffset) - EgtSetMachiningParam( MCH_MP.STEP, 0) + EgtSetMachiningParam( MCH_MP.STEP, dToolMaxMat) -- eseguo if not EgtApplyMachining( true, false) then local _, sErr = EgtGetLastMachMgrError() diff --git a/LuaLibs/ProcessProfConcave.lua b/LuaLibs/ProcessProfConcave.lua index 629fb74..af3bda3 100644 --- a/LuaLibs/ProcessProfConcave.lua +++ b/LuaLibs/ProcessProfConcave.lua @@ -1,4 +1,4 @@ --- ProcessProfConcave.lua by Egaltech s.r.l. 2020/12/30 +-- ProcessProfConcave.lua by Egaltech s.r.l. 2021/03/28 -- Gestione calcolo profilo concavo per Travi -- Tabella per definizione modulo @@ -364,13 +364,15 @@ function ProcessProfConcave.Make( Proc, nPhase, nRawId, nPartId, dCurrOvmH) return false, sErr end -- Recupero i dati dell'utensile - local dToolMaxDepth = 0 local dToolDiam = 0 + local dToolMaxDepth = 0 + local dToolMaxMat = 0 if EgtMdbSetCurrMachining( sMilling) then local sTuuid = EgtMdbGetCurrMachiningParam( MCH_MP.TUUID) if EgtTdbSetCurrTool( EgtTdbGetToolFromUUID( sTuuid) or '') then - dToolMaxDepth = EgtTdbGetCurrToolMaxDepth() - dToolDiam = EgtTdbGetCurrToolParam( MCH_TP.DIAM) + dToolDiam = EgtTdbGetCurrToolParam( MCH_TP.DIAM) or dToolDiam + dToolMaxDepth = EgtTdbGetCurrToolMaxDepth() or dToolMaxDepth + dToolMaxMat = EgtTdbGetCurrToolParam( MCH_TP.MAXMAT) or dToolMaxMat end end -- verifico se necessario lavorare in doppio @@ -460,9 +462,9 @@ function ProcessProfConcave.Make( Proc, nPhase, nRawId, nPartId, dCurrOvmH) EgtOutLog( sErr) return false, sErr else - -- riporto il sovramateriale originale e tolgo i passi + -- riporto il sovramateriale originale e tolgo i passi inutili EgtSetMachiningParam( MCH_MP.OFFSR, dOriOffset) - EgtSetMachiningParam( MCH_MP.STEP, 0) + EgtSetMachiningParam( MCH_MP.STEP, dToolMaxMat) -- eseguo if not EgtApplyMachining( true, false) then local _, sErr = EgtGetLastMachMgrError() @@ -522,9 +524,9 @@ function ProcessProfConcave.Make( Proc, nPhase, nRawId, nPartId, dCurrOvmH) EgtOutLog( sErr) return false, sErr else - -- riporto il sovramateriale originale e tolgo i passi + -- riporto il sovramateriale originale e tolgo i passi inutili EgtSetMachiningParam( MCH_MP.OFFSR, dOriOffset) - EgtSetMachiningParam( MCH_MP.STEP, 0) + EgtSetMachiningParam( MCH_MP.STEP, dToolMaxMat) -- eseguo if not EgtApplyMachining( true, false) then local _, sErr = EgtGetLastMachMgrError() diff --git a/LuaLibs/ProcessProfConvex.lua b/LuaLibs/ProcessProfConvex.lua index 61c9674..463c6a5 100644 --- a/LuaLibs/ProcessProfConvex.lua +++ b/LuaLibs/ProcessProfConvex.lua @@ -1,4 +1,4 @@ --- ProcessProfConvex.lua by Egaltech s.r.l. 2020/11/19 +-- ProcessProfConvex.lua by Egaltech s.r.l. 2021/03/28 -- Gestione calcolo profilo convesso per Travi -- Tabella per definizione modulo @@ -364,13 +364,15 @@ function ProcessProfConvex.Make( Proc, nPhase, nRawId, nPartId, dCurrOvmH) return false, sErr end -- Recupero i dati dell'utensile - local dToolMaxDepth = 0 local dToolDiam = 0 + local dToolMaxDepth = 0 + local dToolMaxMat = 0 if EgtMdbSetCurrMachining( sMilling) then local sTuuid = EgtMdbGetCurrMachiningParam( MCH_MP.TUUID) if EgtTdbSetCurrTool( EgtTdbGetToolFromUUID( sTuuid) or '') then - dToolMaxDepth = EgtTdbGetCurrToolMaxDepth() - dToolDiam = EgtTdbGetCurrToolParam( MCH_TP.DIAM) + dToolDiam = EgtTdbGetCurrToolParam( MCH_TP.DIAM) or dToolDiam + dToolMaxDepth = EgtTdbGetCurrToolMaxDepth() or dToolMaxDepth + dToolMaxMat = EgtTdbGetCurrToolParam( MCH_TP.MAXMAT) or dToolMaxMat end end -- verifico se necessario lavorare in doppio @@ -460,9 +462,9 @@ function ProcessProfConvex.Make( Proc, nPhase, nRawId, nPartId, dCurrOvmH) EgtOutLog( sErr) return false, sErr else - -- riporto il sovramateriale originale e tolgo i passi + -- riporto il sovramateriale originale e tolgo i passi inutili EgtSetMachiningParam( MCH_MP.OFFSR, dOriOffset) - EgtSetMachiningParam( MCH_MP.STEP, 0) + EgtSetMachiningParam( MCH_MP.STEP, dToolMaxMat) -- eseguo if not EgtApplyMachining( true, false) then local _, sErr = EgtGetLastMachMgrError() @@ -522,9 +524,9 @@ function ProcessProfConvex.Make( Proc, nPhase, nRawId, nPartId, dCurrOvmH) EgtOutLog( sErr) return false, sErr else - -- riporto il sovramateriale originale e tolgo i passi + -- riporto il sovramateriale originale e tolgo i passi inutili EgtSetMachiningParam( MCH_MP.OFFSR, dOriOffset) - EgtSetMachiningParam( MCH_MP.STEP, 0) + EgtSetMachiningParam( MCH_MP.STEP, dToolMaxMat) -- eseguo if not EgtApplyMachining( true, false) then local _, sErr = EgtGetLastMachMgrError() diff --git a/LuaLibs/ProcessProfFront.lua b/LuaLibs/ProcessProfFront.lua index 0291d86..96815f1 100644 --- a/LuaLibs/ProcessProfFront.lua +++ b/LuaLibs/ProcessProfFront.lua @@ -1,4 +1,4 @@ --- ProcessProfFront.lua by Egaltech s.r.l. 2020/12/30 +-- ProcessProfFront.lua by Egaltech s.r.l. 2021/03/28 -- Gestione calcolo profilo frontale per Travi -- Tabella per definizione modulo @@ -323,13 +323,15 @@ function ProcessProfFront.Make( Proc, nPhase, nRawId, nPartId, dCurrOvmH) return false, sErr end -- Recupero i dati dell'utensile - local dToolMaxDepth = 0 local dToolDiam = 0 + local dToolMaxDepth = 0 + local dToolMaxMat = 0 if EgtMdbSetCurrMachining( sMilling) then local sTuuid = EgtMdbGetCurrMachiningParam( MCH_MP.TUUID) if EgtTdbSetCurrTool( EgtTdbGetToolFromUUID( sTuuid) or '') then - dToolMaxDepth = EgtTdbGetCurrToolMaxDepth() - dToolDiam = EgtTdbGetCurrToolParam( MCH_TP.DIAM) + dToolDiam = EgtTdbGetCurrToolParam( MCH_TP.DIAM) or dToolDiam + dToolMaxDepth = EgtTdbGetCurrToolMaxDepth() or dToolMaxDepth + dToolMaxMat = EgtTdbGetCurrToolParam( MCH_TP.MAXMAT) or dToolMaxMat end end -- verifico se necessario lavorare in doppio @@ -413,9 +415,9 @@ function ProcessProfFront.Make( Proc, nPhase, nRawId, nPartId, dCurrOvmH) EgtOutLog( sErr) return false, sErr else - -- riporto il sovramateriale originale e tolgo i passi + -- riporto il sovramateriale originale e tolgo i passi inutili EgtSetMachiningParam( MCH_MP.OFFSR, dOriOffset) - EgtSetMachiningParam( MCH_MP.STEP, 0) + EgtSetMachiningParam( MCH_MP.STEP, dToolMaxMat) -- eseguo if not EgtApplyMachining( true, false) then local _, sErr = EgtGetLastMachMgrError() @@ -472,9 +474,9 @@ function ProcessProfFront.Make( Proc, nPhase, nRawId, nPartId, dCurrOvmH) EgtOutLog( sErr) return false, sErr else - -- riporto il sovramateriale originale e tolgo i passi + -- riporto il sovramateriale originale e tolgo i passi inutili EgtSetMachiningParam( MCH_MP.OFFSR, dOriOffset) - EgtSetMachiningParam( MCH_MP.STEP, 0) + EgtSetMachiningParam( MCH_MP.STEP, dToolMaxMat) -- eseguo if not EgtApplyMachining( true, false) then local _, sErr = EgtGetLastMachMgrError() diff --git a/LuaLibs/ProcessProfHead.lua b/LuaLibs/ProcessProfHead.lua index 9cb83a9..5501076 100644 --- a/LuaLibs/ProcessProfHead.lua +++ b/LuaLibs/ProcessProfHead.lua @@ -1,4 +1,4 @@ --- ProcessProfHead.lua by Egaltech s.r.l. 2020/12/30 +-- ProcessProfHead.lua by Egaltech s.r.l. 2021/03/28 -- Gestione calcolo profilo di testa per Travi -- Tabella per definizione modulo @@ -370,13 +370,15 @@ function ProcessProfHead.Make( Proc, nPhase, nRawId, nPartId, dCurrOvmH) return false, sErr end -- Recupero i dati dell'utensile - local dToolMaxDepth = 0 local dToolDiam = 0 + local dToolMaxDepth = 0 + local dToolMaxMat = 0 if EgtMdbSetCurrMachining( sMilling) then local sTuuid = EgtMdbGetCurrMachiningParam( MCH_MP.TUUID) if EgtTdbSetCurrTool( EgtTdbGetToolFromUUID( sTuuid) or '') then - dToolMaxDepth = EgtTdbGetCurrToolMaxDepth() - dToolDiam = EgtTdbGetCurrToolParam( MCH_TP.DIAM) + dToolDiam = EgtTdbGetCurrToolParam( MCH_TP.DIAM) or dToolDiam + dToolMaxDepth = EgtTdbGetCurrToolMaxDepth() or dToolMaxDepth + dToolMaxMat = EgtTdbGetCurrToolParam( MCH_TP.MAXMAT) or dToolMaxMat end end -- verifico se necessario lavorare in doppio @@ -467,9 +469,9 @@ function ProcessProfHead.Make( Proc, nPhase, nRawId, nPartId, dCurrOvmH) EgtOutLog( sErr) return false, sErr else - -- riporto il sovramateriale originale e tolgo i passi + -- riporto il sovramateriale originale e tolgo i passi inutili EgtSetMachiningParam( MCH_MP.OFFSR, dOriOffset) - EgtSetMachiningParam( MCH_MP.STEP, 0) + EgtSetMachiningParam( MCH_MP.STEP, dToolMaxMat) -- eseguo if not EgtApplyMachining( true, false) then local _, sErr = EgtGetLastMachMgrError() @@ -530,9 +532,9 @@ function ProcessProfHead.Make( Proc, nPhase, nRawId, nPartId, dCurrOvmH) EgtOutLog( sErr) return false, sErr else - -- riporto il sovramateriale originale e tolgo i passi + -- riporto il sovramateriale originale e tolgo i passi inutili EgtSetMachiningParam( MCH_MP.OFFSR, dOriOffset) - EgtSetMachiningParam( MCH_MP.STEP, 0) + EgtSetMachiningParam( MCH_MP.STEP, dToolMaxMat) -- eseguo if not EgtApplyMachining( true, false) then local _, sErr = EgtGetLastMachMgrError()