- in FaceData si calcola vtEdge per ogni lato in modo da non doverlo calcolare ogni volta; sostituito in tutte le funzioni

- in LeadInOutLib.CalculateLeadInOut si calcola l'attacco perpendicolare in modo rigoroso
- in FACEBYBLADE correzioni al calcolo attacco
This commit is contained in:
luca.mazzoleni
2025-12-16 13:04:42 +01:00
parent 646e69e3af
commit 05f729df45
6 changed files with 70 additions and 22 deletions
+5
View File
@@ -138,6 +138,8 @@ function FaceData.GetEdgesInfo( ProcOrId, idFace )
CurrentEdge.bIsEndOpen = EdgesEgt[nNextEdgeIndex].Open
CurrentEdge.ptStart = Point3d( EdgesEgt[i].Start)
CurrentEdge.ptEnd = Point3d( EdgesEgt[nNextEdgeIndex].Start)
CurrentEdge.vtEdge = CurrentEdge.ptEnd - CurrentEdge.ptStart
CurrentEdge.vtEdge:normalize()
CurrentEdge.sType = 'Standard'
CurrentEdge.id = i - 1
@@ -419,6 +421,7 @@ local function GetBottomFaces( Proc)
CurrentEdge.bIsEndOpen = BottomFaces[1].Edges[i].bIsEndOpen
CurrentEdge.ptStart = BottomFaces[1].Edges[i].ptStart
CurrentEdge.ptEnd = BottomFaces[1].Edges[i].ptEnd
CurrentEdge.vtEdge = BottomFaces[1].Edges[i].vtEdge
if nFirstLongEdgeIndex then
if i == nFirstLongEdgeIndex then
@@ -516,6 +519,7 @@ local function GetLongFaces( Proc, MainFaces)
CurrentEdge.bIsEndOpen = LongFaces[i].Edges[j].bIsEndOpen
CurrentEdge.ptStart = LongFaces[i].Edges[j].ptStart
CurrentEdge.ptEnd = LongFaces[i].Edges[j].ptEnd
CurrentEdge.vtEdge = LongFaces[i].Edges[j].vtEdge
if Proc.Topology.sFamily == 'Tunnel' then
if CurrentEdge.idAdjacentFace > -1 then
@@ -614,6 +618,7 @@ local function GetSideFaces( Proc, MainFaces)
CurrentEdge.bIsEndOpen = SideFaces[i].Edges[j].bIsEndOpen
CurrentEdge.ptStart = SideFaces[i].Edges[j].ptStart
CurrentEdge.ptEnd = SideFaces[i].Edges[j].ptEnd
CurrentEdge.vtEdge = SideFaces[i].Edges[j].vtEdge
if Proc.Topology.sFamily == 'Tunnel' then
if CurrentEdge.idAdjacentFace > -1 then