- merge manuale da master
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
-- ProcessLapJoint.lua by Egaltech s.r.l. 2022/01/19
|
||||
-- ProcessLapJoint.lua by Egaltech s.r.l. 2022/01/28
|
||||
-- Gestione calcolo mezzo-legno per Travi
|
||||
-- 2019/10/08 Agg. gestione OpenPocket.
|
||||
-- 2021/01/24 Con sega a catena ora sempre impostato asse A.
|
||||
@@ -35,6 +35,7 @@
|
||||
-- 2021/12/17 Lettura parametri Q una volta sola all'inizio.
|
||||
-- 2022/01/13 Estrapolazione da MakeMoreFaces() di MakeTwoFaces() e MakeThreeFaces(), e varie ottimizzazioni.
|
||||
-- 2022/01/19 Cambiata % lunghezza pezzo per spezzatura. Tolta correzione spessore fresa a disco con superficie da lavorare verso Z-.
|
||||
-- 2022/01/26 Migliorato controllo uso testa da sotto nel caso due facce con lama.
|
||||
-- 2022/01/28 Aggiunte funzioni DoClean, DoPocketing, DoHeadChainSaw, DoSideChainSaw e DoHeadCut.
|
||||
|
||||
-- Tabella per definizione modulo
|
||||
@@ -4991,6 +4992,23 @@ local function MakeLongFaces( Proc, Func)
|
||||
return true, sWarn
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
local function TestTwoFacesDownHead( Proc)
|
||||
-- verifico ci siano due facce
|
||||
if Proc.Fct ~= 2 then return false end
|
||||
-- verifico se da lavorare con testa da sotto
|
||||
local bDownHead = false
|
||||
if BD.DOWN_HEAD then
|
||||
local ptC = {}
|
||||
local vtN = {}
|
||||
ptC[1], vtN[1] = EgtSurfTmFacetCenter( Proc.Id, 0, GDB_ID.ROOT)
|
||||
ptC[2], vtN[2] = EgtSurfTmFacetCenter( Proc.Id, 1, GDB_ID.ROOT)
|
||||
local vtNm = ( vtN[1] + vtN[2]) ; vtNm:normalize()
|
||||
bDownHead = ( vtNm:getZ() < -0.5)
|
||||
end
|
||||
return bDownHead
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
-- Applicazione della lavorazione
|
||||
---------------------------------------------------------------------
|
||||
@@ -5041,6 +5059,8 @@ function ProcessLapJoint.Make( Proc, nPhase, nRawId, nPartId, dOvmHead)
|
||||
end
|
||||
-- due facce
|
||||
elseif Proc.Fct == 2 then
|
||||
-- verifico se da lavorare con testa da sotto
|
||||
local bDownHead = TestTwoFacesDownHead( Proc)
|
||||
-- determino se due facce lunghe oppure una lunga e l'altra terminale
|
||||
local b3Fac1 = EgtSurfTmGetFacetBBoxGlob( Proc.Id, 0, GDB_BB.STANDARD)
|
||||
local b3Fac2 = EgtSurfTmGetFacetBBoxGlob( Proc.Id, 1, GDB_BB.STANDARD)
|
||||
@@ -5054,14 +5074,14 @@ function ProcessLapJoint.Make( Proc, nPhase, nRawId, nPartId, dOvmHead)
|
||||
if nForceUseBladeOnNotContinueFace and nForceUseBladeOnNotContinueFace > 0 then
|
||||
return LongCut.Make( Proc, _nPhase, _nRawId, _nPartId, bUseBlade, nForceUseBladeOnNotContinueFace)
|
||||
else
|
||||
return Fbs.MakeTwo( Proc, _nPhase, _nRawId, _nPartId, _dOvmHead, 'HeadSide')
|
||||
return Fbs.MakeTwo( Proc, _nPhase, _nRawId, _nPartId, _dOvmHead, 'HeadSide' .. EgtIf( bDownHead, '_H2', ''), true, bDownHead)
|
||||
end
|
||||
else
|
||||
return LongCut.Make( Proc, _nPhase, _nRawId, _nPartId)
|
||||
end
|
||||
else
|
||||
if bUseBlade then
|
||||
return Fbs.MakeTwo( Proc, _nPhase, _nRawId, _nPartId, _dOvmHead, 'HeadSide')
|
||||
return Fbs.MakeTwo( Proc, _nPhase, _nRawId, _nPartId, _dOvmHead, 'HeadSide' .. EgtIf( bDownHead, '_H2', ''), true, bDownHead)
|
||||
else
|
||||
return MakeLongFaces( Proc, MakeTwoFaces)
|
||||
end
|
||||
@@ -5114,7 +5134,7 @@ function ProcessLapJoint.Make( Proc, nPhase, nRawId, nPartId, dOvmHead)
|
||||
-- altrimenti
|
||||
else
|
||||
-- verifico se da lavorare con testa da sotto
|
||||
local bDownHead = false
|
||||
local bDownHead = TestTwoFacesDownHead( Proc)
|
||||
if BD.DOWN_HEAD then
|
||||
local ptC = {}
|
||||
local vtN = {}
|
||||
|
||||
Reference in New Issue
Block a user