DataBeam :

- aggiunta gestione di SteoJoint e StepJointNotch
- modifiche varie.
This commit is contained in:
Dario Sassi
2019-09-25 18:33:48 +00:00
parent c8a4a2bb6e
commit e42f60cebe
13 changed files with 452 additions and 58 deletions
+11 -6
View File
@@ -1,4 +1,4 @@
-- ProcessLapJoint.lua by Egaltech s.r.l. 2019/09/09
-- ProcessLapJoint.lua by Egaltech s.r.l. 2019/09/25
-- Gestione calcolo mezzo-legno per Travi
-- Tabella per definizione modulo
@@ -46,7 +46,8 @@ function ProcessLapJoint.IsHeadFeature( Proc, b3Raw, dCurrOvmH)
return true
end
-- deve avere la normale principale diretta verso la testa
local nFacInd, dElev, nFacInd2, dElev2 = BL.GetFaceWithMostAdj( Proc.Id)
local nPartId = EgtGetParent( EgtGetParent( Proc.Id) or GDB_ID.NULL)
local nFacInd, dElev, nFacInd2, dElev2 = BL.GetFaceWithMostAdj( Proc.Id, nPartId)
local ptC, vtN = EgtSurfTmFacetCenter( Proc.Id, nFacInd, GDB_ID.ROOT)
if vtN:getZ() < BD.NZ_MINA and nFacInd2 then
ptC, vtN = EgtSurfTmFacetCenter( Proc.Id, nFacInd2, GDB_ID.ROOT)
@@ -81,7 +82,8 @@ function ProcessLapJoint.IsTailFeature( Proc, b3Raw)
return true
end
-- deve avere la normale principale diretta verso la coda
local nFacInd, dElev, nFacInd2, dElev2 = BL.GetFaceWithMostAdj( Proc.Id)
local nPartId = EgtGetParent( EgtGetParent( Proc.Id) or GDB_ID.NULL)
local nFacInd, dElev, nFacInd2, dElev2 = BL.GetFaceWithMostAdj( Proc.Id, nPartId)
local ptC, vtN = EgtSurfTmFacetCenter( Proc.Id, nFacInd, GDB_ID.ROOT)
if vtN:getZ() < BD.NZ_MINA and nFacInd2 then
ptC, vtN = EgtSurfTmFacetCenter( Proc.Id, nFacInd2, GDB_ID.ROOT)
@@ -122,7 +124,8 @@ function ProcessLapJoint.Classify( Proc)
-- se più di 2 facce
else
-- recupero la faccia con il maggior numero di adiacenze e minor elevazione
local nFacInd, dElev, nFacInd2, dElev2 = BL.GetFaceWithMostAdj( Proc.Id)
local nPartId = EgtGetParent( EgtGetParent( Proc.Id) or GDB_ID.NULL)
local nFacInd, dElev, nFacInd2, dElev2 = BL.GetFaceWithMostAdj( Proc.Id, nPartId)
if nFacInd < 0 then
return false
end
@@ -484,7 +487,7 @@ local function MakeMoreFaces( Proc, nPhase, nRawId, nPartId)
-- recupero l'ingombro del grezzo di appartenenza
local b3Raw = EgtGetRawPartBBox( nRawId)
-- recupero la faccia con il maggior numero di adiacenze e l'elevazione relativa
local nFacInd, dFacElev, nFacInd2, dFacElev2 = BL.GetFaceWithMostAdj( Proc.Id)
local nFacInd, dFacElev, nFacInd2, dFacElev2 = BL.GetFaceWithMostAdj( Proc.Id, nPartId)
assert( ( nFacInd and nFacInd >= 0), 'Error : MakeMoreFaces could not find reference face')
-- dati della faccia
local ptC, vtN = EgtSurfTmFacetCenter( Proc.Id, nFacInd, GDB_ID.ROOT)
@@ -510,7 +513,9 @@ local function MakeMoreFaces( Proc, nPhase, nRawId, nPartId)
end
end
-- recupero la lavorazione
local sPocketing = ML.FindPocketing( 'Mortise', min( dH, dV))
local dDiam = min( dH, dV) * EgtIf( Proc.Fct > 3, 1, 1.4)
EgtOutLog( 'Mortise Find Diam =' .. EgtNumToString( dDiam))
local sPocketing = ML.FindPocketing( 'Mortise', dDiam)
-- se non trova una svuotatura adatta, provo con la sega a catena o lama
if not sPocketing then
return MakeByChainOrSaw( Proc, nPhase, nRawId, nPartId, nFacInd, rfFac, dH, dV, dFacElev)