diff --git a/LuaLibs/ProcessLapJoint.lua b/LuaLibs/ProcessLapJoint.lua index 3d3230f..4543dd4 100644 --- a/LuaLibs/ProcessLapJoint.lua +++ b/LuaLibs/ProcessLapJoint.lua @@ -1,4 +1,4 @@ --- ProcessLapJoint.lua by Egaltech s.r.l. 2019/11/24 +-- ProcessLapJoint.lua by Egaltech s.r.l. 2020/01/11 -- Gestione calcolo mezzo-legno per Travi -- 2019/10/08 Agg. gestione OpenPocket. @@ -28,7 +28,9 @@ function ProcessLapJoint.Identify( Proc) (( Proc.Grp == 3 or Proc.Grp == 4) and Proc.Prc == 20) or (( Proc.Grp == 3 or Proc.Grp == 4) and Proc.Prc == 30) or (( Proc.Grp == 3 or Proc.Grp == 4) and Proc.Prc == 32) or + (( Proc.Grp == 3 or Proc.Grp == 4) and Proc.Prc == 33) or (( Proc.Grp == 3 or Proc.Grp == 4) and Proc.Prc == 34) or + ( Proc.Grp == 4 and Proc.Prc == 37) or ( Proc.Grp == 4 and Proc.Prc == 39)) end @@ -784,6 +786,10 @@ local function MakeMoreFaces( Proc, nPhase, nRawId, nPartId) else EgtSetMachiningParam( MCH_MP.SCC, MCH_SCC.ADIR_YP) end + -- se tasca aperta, imposto opportuno attacco + if sMchFind == 'OpenPocket' then + EgtSetMachiningParam( MCH_MP.SUBTYPE, MCH_POCK_SUB.SPIRALIN) + end -- se elevazione superiore a massimo affondamento della fresa, riduco opportunamente local sWarn if dFacElev > dMaxDepth + 10 * GEO.EPS_SMALL then diff --git a/LuaLibs/ProcessMark.lua b/LuaLibs/ProcessMark.lua index 11e3789..040e901 100644 --- a/LuaLibs/ProcessMark.lua +++ b/LuaLibs/ProcessMark.lua @@ -1,4 +1,4 @@ --- ProcessMark.lua by Egaltech s.r.l. 2019/11/04 +-- ProcessMark.lua by Egaltech s.r.l. 2020/01/11 -- Gestione calcolo marcatura per Travi -- Tabella per definizione modulo @@ -22,9 +22,14 @@ end --------------------------------------------------------------------- -- Classificazione della feature function ProcessMark.Classify( Proc) - -- recupero il versore estrusione - local vtN = EgtCurveExtrusion( Proc.Id, GDB_ID.ROOT) - -- verifico sia una curva + -- recupero il versore estrusione o normale se testo + local vtN + if EgtGetType( Proc.Id) ~= GDB_TY.EXT_TEXT then + vtN = EgtCurveExtrusion( Proc.Id, GDB_ID.ROOT) + else + vtN = EgtTextNormVersor( Proc.Id, GDB_ID.ROOT) + end + -- verifico sia una curva/testo if not vtN then return false end @@ -40,8 +45,13 @@ function ProcessMark.Make( Proc, nPhase, nRawId, nPartId) local AuxId = EgtGetInfo( Proc.Id, 'AUXID', 'i') if AuxId then AuxId = AuxId + Proc.Id end -- recupero i dati della marcatura - local vtExtr = EgtCurveExtrusion( Proc.Id, GDB_RT.GLOB) - -- verifico sia una curva + local vtExtr + if EgtGetType( Proc.Id) ~= GDB_TY.EXT_TEXT then + vtExtr = EgtCurveExtrusion( Proc.Id, GDB_RT.GLOB) + else + vtExtr = EgtTextNormVersor( Proc.Id, GDB_ID.ROOT) + end + -- verifico sia una curva/testo if not vtExtr then local sErr = 'Error on process ' .. tostring( Proc.Id) .. ' Mark with geometry type not accepted' EgtOutLog( sErr)