From fdb897ec68e8475acd79d0a83f7146c4594242a7 Mon Sep 17 00:00:00 2001 From: "luca.mazzoleni" Date: Fri, 27 Oct 2023 09:56:09 +0200 Subject: [PATCH] - In LapJoint -> MakeStaircaseStep aggiunti tagli di lama per pedata e alzata. Da verificare gli step --- LuaLibs/ProcessLapJoint.lua | 40 ++++++++++++++++++++++++++++++++----- 1 file changed, 35 insertions(+), 5 deletions(-) diff --git a/LuaLibs/ProcessLapJoint.lua b/LuaLibs/ProcessLapJoint.lua index fcecf32..a66c61a 100644 --- a/LuaLibs/ProcessLapJoint.lua +++ b/LuaLibs/ProcessLapJoint.lua @@ -5729,7 +5729,7 @@ local function MakeStaircaseStep( Proc, nRawId, b3Raw, b3Solid) end end - -- fresatura pedata per fare spazio alla lama + -- fresatura della pedata per fare spazio alla lama local dMillingDepth = dVTread - dSawMaxDepth + 10 -- divido in passate orizzontali local nMillHorizontalSteps = ceil( ( dMillingDepth - 100 * GEO.EPS_SMALL) / ( dMillDiam * 0.6)) @@ -5779,11 +5779,11 @@ local function MakeStaircaseStep( Proc, nRawId, b3Raw, b3Solid) -- imposto eventuale offset EgtSetMachiningParam( MCH_MP.OFFSR, dVTread - dMillingDepth + ( i - 1) * dMillHorizontalStep) -- se step verticale non presente, lo setto - local dVerticalStepMilling = EgtGetMachiningParam( MCH_MP.STEP, 'd') - if not dVerticalStepMilling or dVerticalStepMilling <= 10 * GEO.EPS_SMALL then - dVerticalStepMilling = 0.25 * dMillDiam + local dMillVerticalStep = EgtGetMachiningParam( MCH_MP.STEP, 'd') + if not dMillVerticalStep or dMillVerticalStep <= 10 * GEO.EPS_SMALL then + dMillVerticalStep = 0.25 * dMillDiam end - EgtSetMachiningParam( MCH_MP.STEP, dVerticalStepMilling) + EgtSetMachiningParam( MCH_MP.STEP, dMillVerticalStep) -- dichiaro non si generano sfridi per VMill EgtSetMachiningParam( MCH_MP.USERNOTES, 'VMRS=0;') -- eseguo @@ -5795,6 +5795,36 @@ local function MakeStaircaseStep( Proc, nRawId, b3Raw, b3Solid) -- eventuale segnalazione ingombro di testa o coda UpdateEncumbrance( Proc, nRawId, b3Raw, b3Solid) end + + -- taglio di lama dell'alzata + -- calcolo direzione lavorazione per faceuse + local vtOrthoRiser = EgtIf( vtNRiser * Z_AX() > -GEO.EPS_SMALL, Z_AX(), -Z_AX()) + -- divido in passate orizzontali + local nSawStepsRiser = ceil( ( dVRiser - 100 * GEO.EPS_SMALL) / ( dSawMaxDepth * 0.6)) --VEDERE SE GLI STEP DI TAGLIO SONO CORRETTI!!! + local dSawStepRiser = 0 + if nSawStepsRiser > 1 then + dSawStepRiser = ( dVRiser - ( dSawMaxDepth * 0.6)) / ( nSawStepsRiser - 1) + end + for i = nSawStepsRiser, 1, -1 do + -- inserisco la lavorazione della faccia + local dCutRadialOffsetRiser = ( i - 1) * dSawStepRiser + local bOkSawRiser, sErr = Fbs.MakeOne( Proc.Id, nFacetRiser, sCutting, dSawDiam, vtOrthoRiser, nil, -dCutRadialOffsetRiser, 0, 0, 0, 0, nil, b3Raw) + end + + -- taglio di lama della pedata + -- calcolo direzione lavorazione per faceuse + local vtOrtho = EgtIf( vtNRiser * Z_AX() > -GEO.EPS_SMALL, Z_AX(), -Z_AX()) + -- divido in passate orizzontali + local nSawStepsTread = ceil( ( dVTread - 100 * GEO.EPS_SMALL) / ( dSawMaxDepth * 0.6)) + local dSawStepTread = 0 + if nSawStepsTread > 1 then + dSawStepTread = ( dVTread - ( dSawMaxDepth * 0.6)) / ( nSawStepsTread - 1) + end + for i = nSawStepsTread, 1, -1 do + -- inserisco la lavorazione della faccia + local dCutRadialOffsetTread = ( i - 1) * dSawStepTread + local bOkSawTread, sErr = Fbs.MakeOne( Proc.Id, nFacetTread, sCutting, dSawDiam, vtOrtho, nil, -dCutRadialOffsetTread, 0, 0, 0, 0, nil, b3Raw) + end end ---------------------------------------------------------------------