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:
+28
-2
@@ -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 = {}
|
||||
|
||||
Reference in New Issue
Block a user