- per T010, L010 e T11 abilitata STR0002 (svuotatura)

- in FaceData.GetMainFaces gestita DoubleBevel
- in STR0002 gestita topologia DoubleBevel-2-Through e topologie 1 faccia (Bevel, Cut) - TEMPI NON OK DA SISTEMARE
- in STR0005 si restituisce anche TimeToMachine
- in FABYBLADE e FACEBYMILL piccola correzione in calcolo LeadIn/Out
This commit is contained in:
luca.mazzoleni
2025-05-07 18:50:46 +02:00
parent 037e07921c
commit f5638e522f
9 changed files with 81 additions and 42 deletions
+35 -19
View File
@@ -260,10 +260,17 @@ local function GetBottomFaces( Proc)
if Proc.Topology.sFamily == 'Tunnel' then
return nil
elseif not ( Proc.Topology.sFamily == 'Rabbet' or Proc.Topology.sFamily == 'VGroove' or Proc.Topology.sFamily == 'Groove' or
Proc.Topology.sFamily == 'Pocket' or Proc.Topology.sFamily == 'Bevel') then
elseif not ( Proc.Topology.sFamily == 'Rabbet'
or Proc.Topology.sFamily == 'VGroove'
or Proc.Topology.sFamily == 'Groove'
or Proc.Topology.sFamily == 'Pocket'
or Proc.Topology.sFamily == 'Bevel'
or Proc.Topology.sFamily == 'DoubleBevel'
or Proc.Topology.sFamily == 'Cut') then
error( 'GetBottomFace : Topology not implemented')
elseif Proc.nFct == 1 then
end
if Proc.nFct == 1 then
return { Proc.Faces[1]}
end
@@ -303,7 +310,10 @@ local function GetBottomFaces( Proc)
end
end
table.sort( ClosedEdgesSortedByGreatestLength, function (a, b) return a.dLength > b.dLength end)
local nFirstLongEdgeIndex = ClosedEdgesSortedByGreatestLength[1].nIndex
local nFirstLongEdgeIndex
if #ClosedEdgesSortedByGreatestLength > 0 then
nFirstLongEdgeIndex = ClosedEdgesSortedByGreatestLength[1].nIndex
end
for i = 1, #BottomFaces[1].Edges do
local nPreviousEdgeIndex = i - 1
@@ -324,18 +334,21 @@ local function GetBottomFaces( Proc)
CurrentEdge.bIsStartOpen = BottomFaces[1].Edges[i].bIsStartOpen
CurrentEdge.bIsEndOpen = BottomFaces[1].Edges[i].bIsEndOpen
if i == nFirstLongEdgeIndex then
BottomFaces[1].MainEdges.LongEdges[1] = CurrentEdge
BottomFaces[1].MainEdges.LongEdges[1].sType = 'Long'
elseif nNextEdgeIndex == nFirstLongEdgeIndex then
BottomFaces[1].MainEdges.SideEdges[1] = CurrentEdge
BottomFaces[1].MainEdges.SideEdges[1].sType = 'Side'
elseif nPreviousEdgeIndex == nFirstLongEdgeIndex then
BottomFaces[1].MainEdges.SideEdges[2] = CurrentEdge
BottomFaces[1].MainEdges.SideEdges[2].sType = 'Side'
else
BottomFaces[1].MainEdges.LongEdges[2] = CurrentEdge
BottomFaces[1].MainEdges.LongEdges[2].sType = 'Long'
-- se non c'è un LongEdge significa che non ci sono lati chiusi (facce convesse)
if nFirstLongEdgeIndex then
if i == nFirstLongEdgeIndex then
BottomFaces[1].MainEdges.LongEdges[1] = CurrentEdge
BottomFaces[1].MainEdges.LongEdges[1].sType = 'Long'
elseif nNextEdgeIndex == nFirstLongEdgeIndex then
BottomFaces[1].MainEdges.SideEdges[1] = CurrentEdge
BottomFaces[1].MainEdges.SideEdges[1].sType = 'Side'
elseif nPreviousEdgeIndex == nFirstLongEdgeIndex then
BottomFaces[1].MainEdges.SideEdges[2] = CurrentEdge
BottomFaces[1].MainEdges.SideEdges[2].sType = 'Side'
else
BottomFaces[1].MainEdges.LongEdges[2] = CurrentEdge
BottomFaces[1].MainEdges.LongEdges[2].sType = 'Long'
end
end
end
@@ -348,7 +361,8 @@ local function GetLongFaces( Proc, MainFaces)
if Proc.nFct > 5 then
error( 'GetLongFaces : Topology not implemented')
elseif Proc.nFct == 1 then
elseif Proc.nFct == 1
or Proc.Topology.sFamily == 'DoubleBevel' then
return {}
end
@@ -446,7 +460,8 @@ local function GetSideFaces( Proc, MainFaces)
if Proc.nFct > 5 then
error( 'GetSideFaces : Topology not implemented')
elseif Proc.nFct == 1 then
elseif Proc.nFct == 1
or Proc.Topology.sFamily == 'DoubleBevel' then
return {}
end
@@ -535,7 +550,8 @@ function FaceData.GetMainFaces( Proc, Part)
-- CASO 1 : Feature tipo LapJoint
if Proc.Topology.sFamily == 'Rabbet' or Proc.Topology.sFamily == 'VGroove' or Proc.Topology.sFamily == 'Groove' or
Proc.Topology.sFamily == 'Pocket' or Proc.Topology.sFamily == 'Tunnel' or Proc.Topology.sFamily == 'Bevel' then
Proc.Topology.sFamily == 'Pocket' or Proc.Topology.sFamily == 'Tunnel' or Proc.Topology.sFamily == 'Bevel' or
Proc.Topology.sFamily == 'DoubleBevel' or Proc.Topology.sFamily == 'Cut' then
if Proc.Topology.bIsThrough and Proc.Topology.bAllRightAngles and Proc.nFct < 5 then
MainFaces.TunnelAddedFaces = GetTunnelFaces( Proc, Part)