From 24245e8bd62bea165b770d2cba3f9024e7348a56 Mon Sep 17 00:00:00 2001 From: "luca.mazzoleni" Date: Fri, 9 May 2025 10:40:12 +0200 Subject: [PATCH] - in FaceData.GetEdgesInfo si scrive l'id del lato - in MachiningLib.GetTimeToMachineAllStepsWithLeadInOut refactoring che utilizza FaceData --- LuaLibs/FaceData.lua | 1 + LuaLibs/MachiningLib.lua | 7 ++++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/LuaLibs/FaceData.lua b/LuaLibs/FaceData.lua index eb4a3cc..38b6867 100644 --- a/LuaLibs/FaceData.lua +++ b/LuaLibs/FaceData.lua @@ -137,6 +137,7 @@ function FaceData.GetEdgesInfo( ProcOrId, idFace ) CurrentEdge.bIsStartOpen = EdgesEgt[nPreviousEdgeIndex].Open CurrentEdge.bIsEndOpen = EdgesEgt[nNextEdgeIndex].Open CurrentEdge.sType = 'Standard' + CurrentEdge.id = i - 1 table.insert( Edges, CurrentEdge) end diff --git a/LuaLibs/MachiningLib.lua b/LuaLibs/MachiningLib.lua index 559c41a..3d44477 100644 --- a/LuaLibs/MachiningLib.lua +++ b/LuaLibs/MachiningLib.lua @@ -12,6 +12,7 @@ require( 'EgtBase') local BeamData = require( 'BeamData') local BeamLib = require( 'BeamLib') local FeatureLib = require( 'FeatureLib') +local FaceData = require ( 'FaceData') EgtOutLog( ' MachiningLib started', 1) @@ -998,11 +999,11 @@ function MachiningLib.GetTimeToMachineAllStepsWithLeadInOut( Machining, Part) end elseif Machining.nType == MCH_MY.POCKETING then -- TODO le chiamate alla pocketing vanno unificate e uniformate - local dFaceElevation = EgtSurfTmFacetElevationInBBox( Machining.Geometry[1][1], Machining.Geometry[1][2], Part.b3Part, true, GDB_ID.ROOT) - local dDepthToMachine = min( dFaceElevation, ( Machining.dMaxElev or dFaceElevation)) - ( max( 0, Machining.dResidualDepth or 0)) + local ProcTm = FeatureLib.GetProcFromTrimesh( Machining.Geometry[1][1], Part) + local dDepthToMachine = min( ProcTm.Faces[Machining.Geometry[1][2] + 1].dElevation, ( Machining.dMaxElev or ProcTm.Faces[Machining.Geometry[1][2] + 1].dElevation)) - ( max( 0, Machining.dResidualDepth or 0)) local nSteps = ceil( ( dDepthToMachine - 50 * GEO.EPS_SMALL) / TOOLS[Machining.nToolIndex].dStep) - local _, dLongEdgeDimension, dShortEdgeDimension = EgtSurfTmFacetMinAreaRectangle( Machining.Geometry[1][1], Machining.Geometry[1][2], GDB_ID.ROOT) -- TODO bisogna calcolare correttamente per lati aperti e chiusi (aperti: aggiungi D/2 - Sidestep, chiusi: sottrai - D/2) + local _, dLongEdgeDimension, dShortEdgeDimension = EgtSurfTmFacetMinAreaRectangle( ProcTm.id, Machining.Geometry[1][2], GDB_ID.ROOT) local nOffsets = ceil ( ( dShortEdgeDimension - TOOLS[Machining.nToolIndex].dSideStep) / TOOLS[Machining.nToolIndex].dSideStep) + 1 for i = 1, floor( nOffsets / 2) do dLengthToMachineAllStepsWithLeadInOut = dLengthToMachineAllStepsWithLeadInOut