DataBeam :

- correzioni varie specie a taglio con cubetti.
This commit is contained in:
Dario Sassi
2019-06-22 07:35:01 +00:00
parent 728e8f3885
commit 9ac596d5d7
11 changed files with 69 additions and 37 deletions
+9 -6
View File
@@ -1,4 +1,4 @@
-- ProcessLapJoint.lua by Egaltech s.r.l. 2019/06/14
-- ProcessLapJoint.lua by Egaltech s.r.l. 2019/06/20
-- Gestione calcolo mezzo-legno per Travi
-- Tabella per definizione modulo
@@ -359,7 +359,7 @@ local function MakeByChainOrSaw( Proc, nPhase, nRawId, nPartId, nFacInd, rfFac,
end
for i = 1, nStep do
local dOffs = ( i - 1) * dStep
local bOk, sErr = BL.MakeOneFaceBySaw( Proc.Id, nFacAdj, sCutting, dSawDiam, nFaceUse, 0, BD.CUT_SIC, dOffs, nil, b3Raw)
local bOk, sErr = BL.MakeOneFaceBySaw( Proc.Id, nFacAdj, sCutting, dSawDiam, nFaceUse, nil, 0, BD.CUT_SIC, dOffs, nil, b3Raw)
if not bOk then
return bOk, sErr
end
@@ -522,12 +522,12 @@ end
---------------------------------------------------------------------
function ProcessLapJoint.Make( Proc, nPhase, nRawId, nPartId)
-- limiti di fresatura semplice
local MAX_MILL_X = 80
local MAX_MILL_XZ = 80
local MAX_MILL_VOL = ( 80 * 240 * 20) / 2
-- una faccia
if Proc.Fct == 1 then
-- se piccola, con fresa
if Proc.Box:getDimX() < MAX_MILL_X or Proc.Box:getDimX() * Proc.Box:getDimY() * Proc.Box:getDimZ() < MAX_MILL_VOL then
if ( Proc.Box:getDimX() < MAX_MILL_XZ and Proc.Box:getDimZ() < MAX_MILL_XZ) or Proc.Box:getDimX() * Proc.Box:getDimY() * Proc.Box:getDimZ() < MAX_MILL_VOL then
return MakeOneFaceByMill( Proc, nPhase, nRawId, nPartId)
-- altrimenti, con lama
else
@@ -535,8 +535,11 @@ function ProcessLapJoint.Make( Proc, nPhase, nRawId, nPartId)
end
-- due facce
elseif Proc.Fct == 2 then
-- se piccole, con fresa
if Proc.Box:getDimX() < MAX_MILL_X or Proc.Box:getDimX() * Proc.Box:getDimY() * Proc.Box:getDimZ() < MAX_MILL_VOL then
-- determino l'angolo tra le facce
local _, _, _, dAng = EgtSurfTmFacetsContact( Proc.Id, 0, 1, GDB_ID.ROOT)
-- se ortogonali e piccole, con fresa
if abs( dAng + 90) < 1 and
(( Proc.Box:getDimX() < MAX_MILL_XZ and Proc.Box:getDimZ() < MAX_MILL_XZ) or Proc.Box:getDimX() * Proc.Box:getDimY() * Proc.Box:getDimZ() < MAX_MILL_VOL) then
return MakeTwoFacesByMill( Proc, nPhase, nRawId, nPartId)
-- altrimenti, con lama
else