DataBeam :

- aggiunta gestione smussi su tagli coincidenti con testa e coda della trave
- correzione nei tagli su pezzi grandi (lato di accesso e dicecut)
- correzione in LapJoint per riconoscimento caso 3facce con lavorazione speciale.
This commit is contained in:
Dario Sassi
2020-06-17 10:29:59 +00:00
parent ce26f4785a
commit bcd393cfb2
6 changed files with 334 additions and 39 deletions
+28 -2
View File
@@ -1,4 +1,4 @@
-- BeamLib.lua by Egaltech s.r.l. 2020/04/14
-- BeamLib.lua by Egaltech s.r.l. 2020/06/16
-- Libreria globale per Travi
-- Tabella per definizione modulo
@@ -60,6 +60,19 @@ function BeamLib.AddPartStartFace( PartId, b3Solid)
EgtSetName( nStmId, 'StartCut')
EgtSetInfo( nStmId, 'GRP', 1)
EgtSetInfo( nStmId, 'PRC', 340)
-- verifico se sostituisce un taglio di testa già presente
local nProcId = EgtGetFirstInGroup( EgtGetFirstNameInGroup( PartId, 'Processings') or GDB_ID.NULL)
while nProcId do
local nGrp = EgtGetInfo( nProcId, 'GRP', 'i') or 0
local nProc = EgtGetInfo( nProcId, 'PRC', 'i') or 0
if ( nGrp == 1 or nGrp == 2) and nProc == 10 then
local ptC, vtN = EgtSurfTmFacetCenter( nProcId, 0, GDB_ID.ROOT)
if ptC and vtN and AreSameVectorApprox( vtN, X_AX()) and abs( ptC:getX() - b3Solid:getMax():getX()) < 10 * GEO.EPS_SMALL then
EgtSetInfo( nStmId, 'ORI', nProcId)
end
end
nProcId = EgtGetNext( nProcId)
end
return true
end
@@ -83,6 +96,19 @@ function BeamLib.AddPartEndFace( PartId, b3Solid)
EgtSetName( nStmId, 'EndCut')
EgtSetInfo( nStmId, 'GRP', 2)
EgtSetInfo( nStmId, 'PRC', 350)
-- verifico se sostituisce un taglio di coda già presente
local nProcId = EgtGetFirstInGroup( EgtGetFirstNameInGroup( PartId, 'Processings') or GDB_ID.NULL)
while nProcId do
local nGrp = EgtGetInfo( nProcId, 'GRP', 'i') or 0
local nProc = EgtGetInfo( nProcId, 'PRC', 'i') or 0
if ( nGrp == 1 or nGrp == 2) and nProc == 10 then
local ptC, vtN = EgtSurfTmFacetCenter( nProcId, 0, GDB_ID.ROOT)
if ptC and vtN and AreSameVectorApprox( vtN, -X_AX()) and abs( ptC:getX() - b3Solid:getMin():getX()) < 10 * GEO.EPS_SMALL then
EgtSetInfo( nStmId, 'ORI', nProcId)
end
end
nProcId = EgtGetNext( nProcId)
end
return true
end
@@ -363,7 +389,7 @@ function BeamLib.GetFaceWithMostAdj( nSurfId, nPartId, bCompare3Fc, dCosSideAng)
-- recupero il numero di facce
local nFacCnt = EgtSurfTmFacetCount( nSurfId)
if not dCosSideAng then
dCosSideAng = -0.05
dCosSideAng = -0.09
end
-- recupero le normali delle facce
local vvtN = {}