DataBeam :

- corretto errore introdotto in versione precedente per ingombro doppio taglio in testa o coda
- in LapJpoint migliorato riconoscimento se in coda nel caso di tunnel
- in LapJoint migliorato calcolo antischeggia con lama.
This commit is contained in:
Dario Sassi
2021-01-28 08:14:08 +00:00
parent 786b1224a2
commit aab91e2746
2 changed files with 10 additions and 8 deletions
+7 -5
View File
@@ -1,4 +1,4 @@
-- ProcessLapJoint.lua by Egaltech s.r.l. 2021/01/24
-- ProcessLapJoint.lua by Egaltech s.r.l. 2021/01/26
-- Gestione calcolo mezzo-legno per Travi
-- 2019/10/08 Agg. gestione OpenPocket.
-- 2021/01/24 Con sega a catena ora sempre impostato asse A.
@@ -453,14 +453,14 @@ function ProcessLapJoint.IsTailFeature( Proc, b3Raw)
return true
end
end
-- deve avere la normale principale diretta verso la coda
-- deve avere la normale principale diretta verso la coda (oppure tunnel)
local nFacInd, dElev, nFacInd2, dElev2 = BL.GetFaceWithMostAdj( Proc.Id, nPartId)
local ptC, vtN = EgtSurfTmFacetCenter( Proc.Id, nFacInd, GDB_ID.ROOT)
if vtN and vtN:getZ() < BD.NZ_MINA and nFacInd2 then
ptC, vtN = EgtSurfTmFacetCenter( Proc.Id, nFacInd2, GDB_ID.ROOT)
nFacInd, nFacInd2 = nFacInd2, nFacInd
end
if vtN and vtN:getX() > -0.499 then
if not vtN or vtN:getX() > -0.499 then
return false
else
return true
@@ -3571,7 +3571,8 @@ local function MakeMoreFaces( Proc, nPhase, nRawId, nPartId, dOvmHead, bSinglePa
if bIsU then
if abs( vtN:getY()) > 0.996 then
nPrefSide = 0
elseif abs( vtN:getZ()) > 0.7 or abs( vtN:getY()) > 0.7 then
elseif abs( vtN:getZ()) > 0.63 or abs( vtN:getY()) > 0.63 then
-- elseif abs( vtN:getZ()) > 0.7 or abs( vtN:getY()) > 0.7 then
-- se X è negativa allora devo tenere il motore a destra
if vtN:getX() < -(10 * GEO.EPS_SMALL) then
nPrefSide = 2
@@ -3589,7 +3590,8 @@ local function MakeMoreFaces( Proc, nPhase, nRawId, nPartId, dOvmHead, bSinglePa
-- verifico se da invertire
local bInvertMach = false
if bIsU then
if abs(vtN:getZ()) > 0.7 or abs(vtN:getY()) > 0.7 then
if abs(vtN:getZ()) > 0.63 or abs(vtN:getY()) > 0.63 then
-- if abs(vtN:getZ()) > 0.7 or abs(vtN:getY()) > 0.7 then
-- prendo il vettore normale alla faccia
local _, vtNFc = EgtSurfTmFacetCenter( Proc.Id, nFacet, GDB_ID.ROOT)
-- valuto l'angolo tra le due facce