diff --git a/LuaLibs/BasicCustomerStrategies.lua b/LuaLibs/BasicCustomerStrategies.lua index 1c91db6..6c47af8 100644 --- a/LuaLibs/BasicCustomerStrategies.lua +++ b/LuaLibs/BasicCustomerStrategies.lua @@ -81,6 +81,8 @@ local function GetStrategies_Egalware( Proc) Strategies = { { sStrategyId = 'STR0002'}, { sStrategyId = 'STR0003'}, { sStrategyId = 'STR0004'}} elseif Proc.Topology.sName == 'Groove-3-Blind' then Strategies = { { sStrategyId = 'STR0002'}} + elseif Proc.Topology.sName == 'Bevel-3-Blind' then + Strategies = { { sStrategyId = 'STR0002'}} elseif Proc.Topology.sName == 'Rabbet-2-Through' then Strategies = { { sStrategyId = 'STR0002'}} end @@ -97,6 +99,8 @@ local function GetStrategies_Egalware( Proc) Strategies = { { sStrategyId = 'STR0002'}, { sStrategyId = 'STR0003'}, { sStrategyId = 'STR0004'}} elseif Proc.Topology.sName == 'Groove-3-Blind' then Strategies = { { sStrategyId = 'STR0002'}} + elseif Proc.Topology.sName == 'Bevel-3-Blind' then + Strategies = { { sStrategyId = 'STR0002'}} elseif Proc.Topology.sName == 'Rabbet-2-Through' then Strategies = { { sStrategyId = 'STR0002'}} end @@ -119,6 +123,8 @@ local function GetStrategies_Egalware( Proc) Strategies = { { sStrategyId = 'STR0002'}, { sStrategyId = 'STR0003'}, { sStrategyId = 'STR0004'}} elseif Proc.Topology.sName == 'Groove-3-Blind' then Strategies = { { sStrategyId = 'STR0002'}} + elseif Proc.Topology.sName == 'Bevel-3-Blind' then + Strategies = { { sStrategyId = 'STR0002'}} elseif Proc.Topology.sName == 'Rabbet-2-Through' then Strategies = { { sStrategyId = 'STR0002'}} end @@ -135,6 +141,8 @@ local function GetStrategies_Egalware( Proc) Strategies = { { sStrategyId = 'STR0002'}, { sStrategyId = 'STR0003'}, { sStrategyId = 'STR0004'}} elseif Proc.Topology.sName == 'Groove-3-Blind' then Strategies = { { sStrategyId = 'STR0002'}} + elseif Proc.Topology.sName == 'Bevel-3-Blind' then + Strategies = { { sStrategyId = 'STR0002'}} elseif Proc.Topology.sName == 'Rabbet-2-Through' then Strategies = { { sStrategyId = 'STR0002'}} end @@ -151,6 +159,8 @@ local function GetStrategies_Egalware( Proc) Strategies = { { sStrategyId = 'STR0002'}, { sStrategyId = 'STR0003'}, { sStrategyId = 'STR0004'}} elseif Proc.Topology.sName == 'Groove-3-Blind' then Strategies = { { sStrategyId = 'STR0002'}} + elseif Proc.Topology.sName == 'Bevel-3-Blind' then + Strategies = { { sStrategyId = 'STR0002'}} elseif Proc.Topology.sName == 'Rabbet-2-Through' then Strategies = { { sStrategyId = 'STR0002'}} end @@ -170,6 +180,8 @@ local function GetStrategies_Egalware( Proc) Strategies = { { sStrategyId = 'STR0002'}, { sStrategyId = 'STR0003'}, { sStrategyId = 'STR0004'}} elseif Proc.Topology.sName == 'Groove-3-Blind' then Strategies = { { sStrategyId = 'STR0002'}} + elseif Proc.Topology.sName == 'Bevel-3-Blind' then + Strategies = { { sStrategyId = 'STR0002'}} elseif Proc.Topology.sName == 'Rabbet-2-Through' then Strategies = { { sStrategyId = 'STR0002'}} end @@ -198,6 +210,8 @@ local function GetStrategies_Egalware( Proc) Strategies = { { sStrategyId = 'STR0002'}, { sStrategyId = 'STR0003'}, { sStrategyId = 'STR0004'}} elseif Proc.Topology.sName == 'Groove-3-Blind' then Strategies = { { sStrategyId = 'STR0002'}} + elseif Proc.Topology.sName == 'Bevel-3-Blind' then + Strategies = { { sStrategyId = 'STR0002'}} elseif Proc.Topology.sName == 'Rabbet-2-Through' then Strategies = { { sStrategyId = 'STR0002'}} end @@ -221,6 +235,8 @@ local function GetStrategies_Egalware( Proc) Strategies = { { sStrategyId = 'STR0002'}, { sStrategyId = 'STR0003'}, { sStrategyId = 'STR0004'}} elseif Proc.Topology.sName == 'Groove-3-Blind' then Strategies = { { sStrategyId = 'STR0002'}} + elseif Proc.Topology.sName == 'Bevel-3-Blind' then + Strategies = { { sStrategyId = 'STR0002'}} elseif Proc.Topology.sName == 'Rabbet-2-Through' then Strategies = { { sStrategyId = 'STR0002'}} elseif Proc.Topology.sName == 'Pocket-Round' or Proc.Topology.sName == 'Pocket-Round-Front' or Proc.Topology.sName == 'Pocket-Round-Through' then @@ -239,6 +255,8 @@ local function GetStrategies_Egalware( Proc) Strategies = { { sStrategyId = 'STR0002'}, { sStrategyId = 'STR0003'}, { sStrategyId = 'STR0004'}} elseif Proc.Topology.sName == 'Groove-3-Blind' then Strategies = { { sStrategyId = 'STR0002'}} + elseif Proc.Topology.sName == 'Bevel-3-Blind' then + Strategies = { { sStrategyId = 'STR0002'}} elseif Proc.Topology.sName == 'Rabbet-2-Through' then Strategies = { { sStrategyId = 'STR0002'}} elseif Proc.Topology.sName == 'Pocket-Round' or Proc.Topology.sName == 'Pocket-Round-Front' or Proc.Topology.sName == 'Pocket-Round-Through' then @@ -382,6 +400,8 @@ local function GetStrategies_Essetre( Proc) Strategies = { { sStrategyId = 'STR0002'}, { sStrategyId = 'STR0003'}, { sStrategyId = 'STR0004'}} elseif Proc.Topology.sName == 'Groove-3-Blind' then Strategies = { { sStrategyId = 'STR0002'}} + elseif Proc.Topology.sName == 'Bevel-3-Blind' then + Strategies = { { sStrategyId = 'STR0002'}} elseif Proc.Topology.sName == 'Rabbet-2-Through' then Strategies = { { sStrategyId = 'STR0002'}} end @@ -398,6 +418,8 @@ local function GetStrategies_Essetre( Proc) Strategies = { { sStrategyId = 'STR0002'}, { sStrategyId = 'STR0003'}, { sStrategyId = 'STR0004'}} elseif Proc.Topology.sName == 'Groove-3-Blind' then Strategies = { { sStrategyId = 'STR0002'}} + elseif Proc.Topology.sName == 'Bevel-3-Blind' then + Strategies = { { sStrategyId = 'STR0002'}} elseif Proc.Topology.sName == 'Rabbet-2-Through' then Strategies = { { sStrategyId = 'STR0002'}} end @@ -420,6 +442,8 @@ local function GetStrategies_Essetre( Proc) Strategies = { { sStrategyId = 'STR0002'}, { sStrategyId = 'STR0003'}, { sStrategyId = 'STR0004'}} elseif Proc.Topology.sName == 'Groove-3-Blind' then Strategies = { { sStrategyId = 'STR0002'}} + elseif Proc.Topology.sName == 'Bevel-3-Blind' then + Strategies = { { sStrategyId = 'STR0002'}} elseif Proc.Topology.sName == 'Rabbet-2-Through' then Strategies = { { sStrategyId = 'STR0002'}} end @@ -436,6 +460,8 @@ local function GetStrategies_Essetre( Proc) Strategies = { { sStrategyId = 'STR0002'}, { sStrategyId = 'STR0003'}, { sStrategyId = 'STR0004'}} elseif Proc.Topology.sName == 'Groove-3-Blind' then Strategies = { { sStrategyId = 'STR0002'}} + elseif Proc.Topology.sName == 'Bevel-3-Blind' then + Strategies = { { sStrategyId = 'STR0002'}} elseif Proc.Topology.sName == 'Rabbet-2-Through' then Strategies = { { sStrategyId = 'STR0002'}} end @@ -452,6 +478,8 @@ local function GetStrategies_Essetre( Proc) Strategies = { { sStrategyId = 'STR0002'}, { sStrategyId = 'STR0003'}, { sStrategyId = 'STR0004'}} elseif Proc.Topology.sName == 'Groove-3-Blind' then Strategies = { { sStrategyId = 'STR0002'}} + elseif Proc.Topology.sName == 'Bevel-3-Blind' then + Strategies = { { sStrategyId = 'STR0002'}} elseif Proc.Topology.sName == 'Rabbet-2-Through' then Strategies = { { sStrategyId = 'STR0002'}} end @@ -471,6 +499,8 @@ local function GetStrategies_Essetre( Proc) Strategies = { { sStrategyId = 'STR0002'}, { sStrategyId = 'STR0003'}, { sStrategyId = 'STR0004'}} elseif Proc.Topology.sName == 'Groove-3-Blind' then Strategies = { { sStrategyId = 'STR0002'}} + elseif Proc.Topology.sName == 'Bevel-3-Blind' then + Strategies = { { sStrategyId = 'STR0002'}} elseif Proc.Topology.sName == 'Rabbet-2-Through' then Strategies = { { sStrategyId = 'STR0002'}} end @@ -499,6 +529,8 @@ local function GetStrategies_Essetre( Proc) Strategies = { { sStrategyId = 'STR0002'}, { sStrategyId = 'STR0003'}, { sStrategyId = 'STR0004'}} elseif Proc.Topology.sName == 'Groove-3-Blind' then Strategies = { { sStrategyId = 'STR0002'}} + elseif Proc.Topology.sName == 'Bevel-3-Blind' then + Strategies = { { sStrategyId = 'STR0002'}} elseif Proc.Topology.sName == 'Rabbet-2-Through' then Strategies = { { sStrategyId = 'STR0002'}} end @@ -522,6 +554,8 @@ local function GetStrategies_Essetre( Proc) Strategies = { { sStrategyId = 'STR0002'}, { sStrategyId = 'STR0003'}, { sStrategyId = 'STR0004'}} elseif Proc.Topology.sName == 'Groove-3-Blind' then Strategies = { { sStrategyId = 'STR0002'}} + elseif Proc.Topology.sName == 'Bevel-3-Blind' then + Strategies = { { sStrategyId = 'STR0002'}} elseif Proc.Topology.sName == 'Rabbet-2-Through' then Strategies = { { sStrategyId = 'STR0002'}} elseif Proc.Topology.sName == 'Pocket-Round' or Proc.Topology.sName == 'Pocket-Round-Front' or Proc.Topology.sName == 'Pocket-Round-Through' then @@ -540,6 +574,8 @@ local function GetStrategies_Essetre( Proc) Strategies = { { sStrategyId = 'STR0002'}, { sStrategyId = 'STR0003'}, { sStrategyId = 'STR0004'}} elseif Proc.Topology.sName == 'Groove-3-Blind' then Strategies = { { sStrategyId = 'STR0002'}} + elseif Proc.Topology.sName == 'Bevel-3-Blind' then + Strategies = { { sStrategyId = 'STR0002'}} elseif Proc.Topology.sName == 'Rabbet-2-Through' then Strategies = { { sStrategyId = 'STR0002'}} elseif Proc.Topology.sName == 'Pocket-Round' or Proc.Topology.sName == 'Pocket-Round-Front' or Proc.Topology.sName == 'Pocket-Round-Through' then diff --git a/LuaLibs/FaceData.lua b/LuaLibs/FaceData.lua index ed94690..5dffeb5 100644 --- a/LuaLibs/FaceData.lua +++ b/LuaLibs/FaceData.lua @@ -260,7 +260,8 @@ 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') 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') then error( 'GetBottomFace : Topology not implemented') end @@ -527,7 +528,8 @@ function FaceData.GetMainFaces( Proc, Part) local MainFaces = {} -- 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' then + 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 if Proc.Topology.bIsThrough and Proc.Topology.bAllRightAngles and Proc.nFct < 5 then MainFaces.TunnelAddedFaces = GetTunnelFaces( Proc, Part) diff --git a/Strategies/Standard/STR0002/STR0002.lua b/Strategies/Standard/STR0002/STR0002.lua index 4373530..948ba8a 100644 --- a/Strategies/Standard/STR0002/STR0002.lua +++ b/Strategies/Standard/STR0002/STR0002.lua @@ -31,6 +31,7 @@ local function IsTopologyOk( Proc) Proc.Topology.sName == 'Groove-4-Blind' or Proc.Topology.sName == 'Groove-3-Through' or Proc.Topology.sName == 'Groove-3-Blind' or + Proc.Topology.sName == 'Bevel-3-Blind' or Proc.Topology.sName == 'Rabbet-2-Through' then return true @@ -107,7 +108,7 @@ local function GetBestPocketingStrategy( Proc) local dFaceWidth = Proc.MainFaces.BottomFaces[2].MainEdges.BottomEdge.dLength ToolSearchParameters.sType = 'MILL_NOTIP' ToolSearchParameters.dMaxToolDiameter = min( Strategy.Parameters.dMaxCornerRadius * 2, dFaceWidth) - elseif Proc.Topology.sName == 'Groove-3-Through' then + elseif Proc.Topology.sName == 'Groove-3-Through' or Proc.Topology.sName == 'Bevel-3-Blind' then local dFaceWidth = Proc.MainFaces.BottomFaces[1].MainEdges.SideEdges[1].dLength ToolSearchParameters.sType = 'MILL_NOTIP' ToolSearchParameters.dMaxToolDiameter = dFaceWidth @@ -178,7 +179,7 @@ local function GetBestPocketingStrategy( Proc) Milling.idFaceToMachine = Proc.MainFaces.BottomFaces[2].id Milling.idProc = Proc.id Milling.dElevation = Proc.MainFaces.BottomFaces[2].dElevation - elseif Proc.Topology.sName == 'Groove-3-Blind' then + elseif Proc.Topology.sName == 'Groove-3-Blind' or Proc.Topology.sName == 'Bevel-3-Blind' then ToolSearchParameters.dElevation = Proc.MainFaces.LongFaces[1].dElevation ToolSearchParameters.vtToolDirection = Proc.MainFaces.LongFaces[1].vtN Milling.vtFaceNormal = Proc.MainFaces.LongFaces[1].vtN @@ -210,7 +211,7 @@ local function GetBestPocketingStrategy( Proc) -- cerco utensile per lavorare di fianco 2 Milling = {} Milling.bIsApplicable = false - if Proc.Topology.sName ~= 'Pocket-5-Blind' and Proc.Topology.sName ~= 'Groove-4-Blind' then + if Proc.Topology.sName ~= 'Pocket-5-Blind' and Proc.Topology.sName ~= 'Groove-4-Blind' and Proc.Topology.sName ~= 'Bevel-3-Blind' then if Proc.MainFaces.TunnelAddedFaces then -- Tunnel-4-Through, Groove-3-Through, Rabbet-2-Through -- se lavoro di fianco, devo comunque rispettare il raggio massimo ToolSearchParameters.dMaxToolDiameter = min( ToolSearchParameters.dMaxToolDiameter, Strategy.Parameters.dMaxCornerRadius * 2)