DataBeam :
- correzioni varie per tagli a cubetti.
This commit is contained in:
+13
-5
@@ -1,9 +1,10 @@
|
||||
-- BeamLib.lua by Egaltech s.r.l. 2020/11/18
|
||||
-- BeamLib.lua by Egaltech s.r.l. 2021/01/06
|
||||
-- Libreria globale per Travi
|
||||
-- 2020/07/28 Corretto calcolo attacchi e uscite di lame per non uscire dalla faccia sotto.
|
||||
-- 2020/08/18 Aggiunto a GetNearestParalOpposite e GetNearestOrthoOpposite parametro opzionale vtNorm.
|
||||
-- 2020/11/03 Aggiunta funzione IsEndOrEnd2Phase.
|
||||
-- 2020/11/18 Correzioni a GetParallelOpposite e a GetFaceElevation.
|
||||
-- 2021/01/06 Cambiato limite per attacco Tg con lama e CalcLeadInOutGeom rinominata in CalcLeadInOutPerpGeom.
|
||||
|
||||
-- Tabella per definizione modulo
|
||||
local BeamLib = {}
|
||||
@@ -609,7 +610,7 @@ function BeamLib.GetFaceHvRefDim( nSurfId, nFacet)
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
function BeamLib.CalcLeadInOutGeom( ptP1, ptP2, vtV1, vtV2, vtN, dRad, vtRef, dCutExtra, b3Box)
|
||||
function BeamLib.CalcLeadInOutPerpGeom( ptP1, ptP2, vtV1, vtV2, vtN, dRad, vtRef, dCutExtra, b3Box)
|
||||
-- Mi assicuro che i vettori ingresso/uscita giacciano nel piano
|
||||
vtV1 = vtV1 - vtV1 * vtN * vtN ; vtV1:normalize()
|
||||
vtV2 = vtV2 - vtV2 * vtN * vtN ; vtV2:normalize()
|
||||
@@ -875,8 +876,8 @@ function BeamLib.MakeOneFaceBySaw( nSurfId, nFacet, sCutting, dSawDiam, Par5, dV
|
||||
local dLiTang, dLiPerp, dLoTang, dLoPerp
|
||||
local ptP1act = ptP1 + vtN * dCutOffset
|
||||
local ptP2act = ptP2 + vtN * dCutOffset
|
||||
if ( vtV1:getZ() > -0.5 or vtV2:getZ() > -0.5) and ( abs( vtV1:getY()) > 0.707 or abs( vtV2:getY()) > 0.707 or vtN:getZ() < 0.95) then
|
||||
dLiTang, dLiPerp, dLoTang, dLoPerp = BeamLib.CalcLeadInOutGeom( ptP1act, ptP2act, vtV1, vtV2, vtN, dSawDiam/2, vtRef, dCutExtra, b3Box)
|
||||
if ( vtV1:getZ() > -0.5 or vtV2:getZ() > -0.5) and ( abs( vtV1:getY()) > 0.707 or abs( vtV2:getY()) > 0.707 or vtN:getZ() < 0.707 or abs( vtTg:getZ()) > 0.5) then
|
||||
dLiTang, dLiPerp, dLoTang, dLoPerp = BeamLib.CalcLeadInOutPerpGeom( ptP1act, ptP2act, vtV1, vtV2, vtN, dSawDiam/2, vtRef, dCutExtra, b3Box)
|
||||
else
|
||||
dLiTang, dLiPerp, dLoTang, dLoPerp = BeamLib.CalcLeadInOutTangGeom( ptP1act, ptP2act, vtN, dSawDiam/2, vtRef, dCutExtra, b3Box)
|
||||
end
|
||||
@@ -960,10 +961,17 @@ function BeamLib.GetNzLimDownUp( b3Raw)
|
||||
end
|
||||
|
||||
-------------------------------------------------------------------------------------------------------------
|
||||
function BeamLib.IsEndOrEnd2Phase( nPhase)
|
||||
function BeamLib.IsSplittedPartPhase( nPhase)
|
||||
local sVal = BeamLib.GetPhaseType( nPhase)
|
||||
return ( sVal == 'END' or sVal == 'MID2' or sVal == 'END2')
|
||||
end
|
||||
|
||||
-------------------------------------------------------------------------------------------------------------
|
||||
function BeamLib.IsPartFinalPhase( nPhase)
|
||||
local sVal = BeamLib.GetPhaseType( nPhase)
|
||||
return ( sVal == 'END' or sVal == 'END2')
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
function BeamLib.GetPhaseType( nPhase)
|
||||
return ( EgtGetInfo( EgtGetPhaseDisposition( nPhase) or GDB_ID.NULL, 'TYPE') or '')
|
||||
|
||||
Reference in New Issue
Block a user