DataBeam :
- aggiunta funzione BeamLib.GetNzLimDownUp che dà il limite per taglio da sotto senza ribaltare testa - correzioni per assegnazione TASKID alle geometrie aggiunte alle feature per le lavorazioni.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
-- ProcessLapJoint.lua by Egaltech s.r.l. 2020/02/04
|
||||
-- ProcessLapJoint.lua by Egaltech s.r.l. 2020/02/05
|
||||
-- Gestione calcolo mezzo-legno per Travi
|
||||
-- 2019/10/08 Agg. gestione OpenPocket.
|
||||
|
||||
@@ -244,9 +244,10 @@ function ProcessLapJoint.Classify( Proc)
|
||||
if not nFacInd or nFacInd < 0 then
|
||||
return false
|
||||
end
|
||||
local rfFac, dH, dV = EgtSurfTmFacetMinAreaRectangle( Proc.Id, nFacInd, GDB_ID.ROOT)
|
||||
-- se può essere fatto con utensile tipo lama
|
||||
local bUseBHSideMill = VerifyIfByBHSideMill( Proc)
|
||||
if bUseBHSideMill then
|
||||
local bUseBHSideMill, _, _, dMaxMat = VerifyIfByBHSideMill( Proc)
|
||||
if bUseBHSideMill and ( dMaxMat <= dV) then
|
||||
return true, false
|
||||
-- altrimenti controllo se deve essere ruotato con le altre lavorazioni
|
||||
else
|
||||
@@ -768,10 +769,9 @@ local function MakeMoreFaces( Proc, nPhase, nRawId, nPartId)
|
||||
local rfFac, dH, dV = EgtSurfTmFacetMinAreaRectangle( Proc.Id, nFacInd, GDB_ID.ROOT)
|
||||
-- verifico se U
|
||||
local bIsU = ( Proc.Fct == 3 and not TestElleShape3( Proc))
|
||||
|
||||
-- se fattibile con fresa BH di fianco
|
||||
-- se fattibile con fresa BH di fianco e spessore utensile inferiore alla larghezza faccia
|
||||
local bMakeBySideMill, bHead, sMilling, dMaxMat = VerifyIfByBHSideMill( Proc)
|
||||
if bMakeBySideMill then
|
||||
if bMakeBySideMill and ( dMaxMat <= dV) then
|
||||
-- inserisco la lavorazione di fresatura
|
||||
local sName = 'BHMill_' .. ( EgtGetName( Proc.Id) or tostring( Proc.Id))
|
||||
local nMchFId = EgtAddMachining( sName, sMilling)
|
||||
@@ -1002,8 +1002,9 @@ function ProcessLapJoint.Make( Proc, nPhase, nRawId, nPartId, dOvmHead)
|
||||
else
|
||||
-- una faccia
|
||||
if Proc.Fct == 1 then
|
||||
local bForcedBlade = ( Proc.Prc == 20 and EgtGetInfo( Proc.Id, 'Q03', 'i') ~= 1 )
|
||||
-- se piccola, con fresa
|
||||
if ( Proc.Box:getDimX() < MAX_MILL_LIN and ( Proc.Box:getDimZ() < MAX_MILL_LIN or Proc.Box:getDimY() < MAX_MILL_LIN)) then
|
||||
if not bForcedBlade and ( Proc.Box:getDimX() < MAX_MILL_LIN and ( Proc.Box:getDimZ() < MAX_MILL_LIN or Proc.Box:getDimY() < MAX_MILL_LIN)) then
|
||||
return MakeOneFaceByMill( Proc, nPhase, nRawId, nPartId)
|
||||
-- altrimenti, con lama
|
||||
else
|
||||
@@ -1013,8 +1014,9 @@ function ProcessLapJoint.Make( Proc, nPhase, nRawId, nPartId, dOvmHead)
|
||||
elseif Proc.Fct == 2 then
|
||||
-- determino l'angolo tra le facce
|
||||
local bAdj, _, _, dAng = EgtSurfTmFacetsContact( Proc.Id, 0, 1, GDB_ID.ROOT)
|
||||
local bForcedBlade = ( Proc.Prc == 20 and EgtGetInfo( Proc.Id, 'Q03', 'i') ~= 1 )
|
||||
-- se ortogonali e piccole, con fresa
|
||||
if bAdj and abs( dAng + 90) < 1 and
|
||||
if not bForcedBlade and bAdj and abs( dAng + 90) < 1 and
|
||||
( Proc.Box:getDimX() < MAX_MILL_LIN and ( Proc.Box:getDimZ() < MAX_MILL_LIN or Proc.Box:getDimY() < MAX_MILL_LIN)) then
|
||||
return MakeTwoFacesByMill( Proc, nPhase, nRawId, nPartId)
|
||||
-- altrimenti, con lama
|
||||
|
||||
Reference in New Issue
Block a user