DataBeam :

- migliorie e correzioni varie
- unificati BirdsMouth con LapJoint.
This commit is contained in:
Dario Sassi
2019-07-03 10:27:55 +00:00
parent 9ac596d5d7
commit 7c1a4ba546
20 changed files with 473 additions and 511 deletions
+12 -3
View File
@@ -1,4 +1,4 @@
-- DiceCut.lua by Egaltech s.r.l. 2019/04/13
-- DiceCut.lua by Egaltech s.r.l. 2019/07/01
-- Gestione dei piano paralleli nei tagli lunghi
-- Tabella per definizione modulo
@@ -357,10 +357,19 @@ function DiceCut.GetDice( nParent, BBoxRawPart, ptCPlanes, vtNPlanes, bGetOrtoPl
ptCOuter, vtNOuter = EgtSurfTmFacetCenter( TabellaTmSurfP[PlnInd-1], 0, GDB_ID.ROOT)
vtNOuter = -vtNOuter
end
-- calcolo la direzione dei piano ortogonali
-- calcolo la direzione dei piani ortogonali
local vtO = VectorFromUprightOrtho( vtNInner)
vtO:rotate( vtNInner, 90)
if abs( vtO:getY()) > abs( vtO:getX()) then vtO:rotate( vtNInner, 90) end
-- se diretto troppo ortogonalmente all'asse trave e taglio non da sotto, lo ruoto ulteriormente
if abs( vtO:getY()) > abs( vtO:getX()) and vtNInner:getZ() > -0.5 then
vtO:rotate( vtNInner, 90)
else
if ptCInner:getX() > BBoxRawPart:getCenter():getX() then
if vtO:getX() < 0 then vtO = - vtO end
else
if vtO:getX() > 0 then vtO = - vtO end
end
end
-- calcolo le dimensioni dell'offset e se dove posizionare la prima faccia:
-- CopyPlane: 0 => crea la prima faccia direttamente sul punto passato
-- CopyPlane: 1 => crea la prima faccia e tutte le altre con l'offset passato