DataBeam :

- correzioni varie a Dovetail (1/2/3/4-138-X)
- aggiunta gestione ingombro di testa e coda a TyroleanDovetail e Dovetail.
This commit is contained in:
Dario Sassi
2020-05-02 17:47:48 +00:00
parent c1b62e6f28
commit c7411fe35d
3 changed files with 432 additions and 553 deletions
+18 -31
View File
@@ -1,4 +1,4 @@
-- ProcessTyroleanDovetail.lua by Egaltech s.r.l. 2020/04/23
-- ProcessTyroleanDovetail.lua by Egaltech s.r.l. 2020/04/28
-- Gestione calcolo giunzione tirolese
-- Tabella per definizione modulo
@@ -17,18 +17,7 @@ local BD = require( 'BeamData')
local ML = require( 'MachiningLib')
-- variabili assegnazione parametri Q
local sForceUseBlade = '' -- i
local sDepthChamferMill = '' -- d
local sPreemptiveChamfer = '' -- i
local sUseMill = '' -- i
local sUseRoughTool = '' -- i
local sUseRoughToolWithBAxis90 = '' -- i
local sUseRoughToolWithBAxis0 = '' -- i
local sInsertBoreOnCorner = '' -- 1
local sMakeContourWithSmallTool = '' -- i
local sMakeOnlyContourOrFullPocket = '' -- i
local sMakeBySideRoughTool = '' -- i
local sAntisplintMode = '' -- i
local sDepthChamferMill = '' -- d
---------------------------------------------------------------------
-- Riconoscimento della feature
@@ -40,21 +29,10 @@ end
local function AssignQValues( Proc)
-- reset delle variabili assegnazione parametri Q
sForceUseBlade = ''
sDepthChamferMill = ''
sPreemptiveChamfer = ''
sUseMill = ''
sUseRoughTool = ''
sUseRoughToolWithBAxis90 = ''
sUseRoughToolWithBAxis0 = ''
sInsertBoreOnCorner = ''
sMakeContourWithSmallTool = ''
sMakeOnlyContourOrFullPocket = ''
sMakeBySideRoughTool = ''
sAntisplintMode = ''
sDepthChamferMill = ''
if Proc.Prc == 136 then
sDepthChamferMill = 'Q01' -- d
sDepthChamferMill = 'Q01' -- d
end
end
@@ -147,8 +125,6 @@ end
---------------------------------------------------------------------
local function EvaluateQParam( Proc, sDephtCham)
local nChamfer = 0
local bForceUseBlade = false
local sErr
-- verifico che lo smusso sia richiesto
local dDepth = EgtGetInfo( Proc.Id, sDephtCham, 'd') or 0
if dDepth > 0 then
@@ -541,7 +517,7 @@ local function MakeMachByMill( Proc, nPhase, nRawId, nPartId, dOvmHead, b3Raw, b
end
-- verifico se sono presenti i parametri Q per la profondità smusso e
-- per eseguire in esclusiva solo lo smusso
local nChamfer, dDepthCham, sErrCham = EvaluateQParam( Proc, sDepthChamferMill)
local nChamfer, dDepthCham = EvaluateQParam( Proc, sDepthChamferMill)
-- dati della faccia
local ptC, vtN = EgtSurfTmFacetCenter( Proc.Id, nFacInd, GDB_ID.ROOT)
local rfFac, dH, dV = EgtSurfTmFacetMinAreaRectangle( Proc.Id, nFacInd, GDB_ID.ROOT)
@@ -711,9 +687,20 @@ function ProcessTyroleanDovetail.Make( Proc, nPhase, nRawId, nPartId, dOvmHead)
end
-- se ho due facce allora è di testa
if nFacetCnt == 2 then
return MakeMachByBlade( Proc, nPhase, nRawId, nPartId, dOvmHead, b3Raw, b3Solid, nFacetCnt)
local bOk, sErr = MakeMachByBlade( Proc, nPhase, nRawId, nPartId, dOvmHead, b3Raw, b3Solid, nFacetCnt)
if not bOk then return bOk, sErr end
else
return MakeMachByMill( Proc, nPhase, nRawId, nPartId, dOvmHead, b3Raw, b3Solid, nFacetCnt)
local bOk, sErr = MakeMachByMill( Proc, nPhase, nRawId, nPartId, dOvmHead, b3Raw, b3Solid, nFacetCnt)
if not bOk then return bOk, sErr end
end
-- aggiornamento ingombro di testa o coda
if Proc.Head then
local dHCI = b3Solid:getMax():getX() - Proc.Box:getMin():getX()
BL.UpdateHCING( nRawId, dHCI)
elseif Proc.Tail then
local dTCI = Proc.Box:getMax():getX() - b3Solid:getMin():getX()
BL.UpdateTCING( nRawId, dTCI)
end
return true