DataBeam :

- in processo FreeContour ora viene gestita la scelta utensile di BTL
- aggiunta gestione processo Variant (custom)
- aggiunta gestione lavorazioni di superficie
- anche in forature, svuotature e superfici fatte di lato sui fianchi si imposta il flag di esecuzione dopo i tagli dei contorni (MOVE_AFTER).
This commit is contained in:
DarioS
2021-08-29 19:51:33 +02:00
parent aaaddb9262
commit eb479dc5ee
6 changed files with 182 additions and 15 deletions
+11 -3
View File
@@ -1,5 +1,7 @@
-- WProcessLapJoint.lua by Egaltech s.r.l. 2021/04/28
-- WProcessLapJoint.lua by Egaltech s.r.l. 2021/08/29
-- Gestione calcolo mezzo-legno per Pareti
-- 2021/08/27 DS Se tre o più facce con flag PCKT=1 forzo svuotatura con fresa (per Variant).
-- 2021/08/29 DS Se svuotatura di fianco setto flag per farla dopo i tagli.
-- Tabella per definizione modulo
local WPL = {}
@@ -1295,6 +1297,10 @@ local function MakeByPocketing( Proc, nFacet, nRawId, b3Raw, bCheckQPar)
return false, sErr
end
EgtSetInfo( nMchFId, 'Part', Proc.PartId)
-- se lavorazione di fianco setto la nota per spostarla dopo i tagli di lama
if vtN:getZ() < WD.NZ_MINA then
EgtSetInfo( nMchFId, 'MOVE_AFTER', 1)
end
-- aggiungo geometria
EgtSetMachiningGeometry( {{ Proc.Id, nFacet}})
-- imposto posizione braccio porta testa
@@ -1512,6 +1518,8 @@ end
local function MakeMoreFaces( Proc, nRawId, b3Raw)
-- con una faccia di fondo valida
if Proc.Stype == 1 or Proc.Stype == 2 then
-- recupero eventuale flag forzatura svuotatura
local bPckt = ( EgtGetInfo( Proc.Id, 'PCKT', 'i') == 1)
-- cerco la faccia con il maggior numero di adiacenze
local nFacInd, dElev, nFacInd2, dElev2 = WL.GetFaceWithMostAdj( Proc.Id, Proc.PartId)
-- se necessario scambio le facce
@@ -1521,7 +1529,7 @@ local function MakeMoreFaces( Proc, nRawId, b3Raw)
local vtN = EgtSurfTmFacetNormVersor( Proc.Id, nFacInd, GDB_ID.ROOT)
local _, dH, dV = EgtSurfTmFacetMinAreaRectangle( Proc.Id, nFacInd, GDB_ID.ROOT)
-- se di fianco
if Proc.Fct >= 3 and vtN:getZ() < WD.NZ_MINA then
if not bPckt and Proc.Fct >= 3 and vtN:getZ() < WD.NZ_MINA then
-- fresatura (se definita)
local sMilling, _, dMaxMat, dDiam = WM.FindMilling( 'SideGroove')
if sMilling and dElev < dDiam / 2 - 30 and dMaxMat <= min( dH, dV) + 20 * GEO.EPS_SMALL then
@@ -1531,7 +1539,7 @@ local function MakeMoreFaces( Proc, nRawId, b3Raw)
return MakeByChainSaw( Proc, nFacInd, nRawId, b3Raw, dElev, dH, dV)
end
end
local nFacet = EgtIf( vtN:getZ() >= WD.NZ_MINA, nFacInd, nFacInd2)
local nFacet = EgtIf( bPckt or vtN:getZ() >= WD.NZ_MINA, nFacInd, nFacInd2)
-- eseguo la svuotatura
return MakeByPocketing( Proc, nFacet, nRawId, b3Raw, true)
-- fessura verticale