diff --git a/LuaLibs/BeamExec.lua b/LuaLibs/BeamExec.lua index 59bd832..c4cc5cd 100644 --- a/LuaLibs/BeamExec.lua +++ b/LuaLibs/BeamExec.lua @@ -411,7 +411,8 @@ local function GetStrategies( Proc) if not AvailableStrategiesForProc then AvailableStrategiesForProc = BCS.GetStrategiesFromBasicCustomerStrategies( Proc) end - -- TODO se ci sono strategie, posso caricare qui le varie librerie delle strategie. Oppure farlo quando si lanciano + -- TODO se ci sono strategie, le carichiamo qui o quando si lanciano effettivamente? + -- TODO2 Probabilmente meglio lanciarle solo quando serve. Nel caso standard infatti, la prima completa è quella buona, quindi non serve precaricare tutte le altre return AvailableStrategiesForProc end @@ -425,8 +426,10 @@ local function GetFeatureForcedStrategy( Proc) -- eseguo file config con i parametri di default local StrategyData = require( sStrategyID .. '\\' .. sStrategyID .. 'Config') - -- se ID strategia letto in NGE è differente da quello letto nella strategia, esco subito - if StrategyData.StrategyID ~= sStrategyID then return nil end + -- se ID strategia non esiste oppure ID letto in NGE è differente da quello letto nella strategia, esco subito + if not StrategyData or StrategyData.StrategyID ~= sStrategyID then + return nil + end -- salvo che questa strategia è stata forzata, e che quindi ho già letto il file config con i parametri di default -- quando si calcolerà la lavorazione non servirà riverificare i dati diff --git a/LuaLibs/FeatureData.lua b/LuaLibs/FeatureData.lua index e6a83da..f8cb4bc 100644 --- a/LuaLibs/FeatureData.lua +++ b/LuaLibs/FeatureData.lua @@ -17,18 +17,21 @@ local ID = require( 'Identity') ------------------------------------------------------------------------------------------------------------- -- recupero topologia della feature local function NeedTopologyFeature( Proc) + -- features tipo taglio if ID.IsCut( Proc) then return true elseif ID.IsDoubleCut( Proc) then return true elseif ID.IsSawCut( Proc) then return true + -- features tipo taglio longitudinale elseif ID.IsLongitudinalCut( Proc) then return true elseif ID.IsDoubleLongitudinalCut( Proc) then return true elseif ID.IsChamfer( Proc) then return true + -- features tipo LapJoint elseif ID.IsSlot( Proc) then return true elseif ID.IsFrontSlot( Proc) then @@ -61,7 +64,7 @@ end -- restituisce true se Proc ha tutti gli angoli concavi (bAllConcave) e, nei casi in cui ha senso, se questi sono esattamente 90 deg (bAllRight) local function AreAllAnglesConcaveOrRight( vAdj) local bAllConcave, bAllRight = true, true - + local nFct = #( vAdj or {}) for i = 1, nFct do for j = 1, nFct do @@ -84,7 +87,6 @@ local function AreAllAnglesConcaveOrRight( vAdj) end end - --------------------------------------------------------------------- -- restituisce true se almeno una delle dimensioni della feature è maggiore o uguale ad una delle dimensioni principali del pezzo (tolleranza 1 mm) local function IsAnyDimensionLongAsPart( Proc) diff --git a/LuaLibs/Identity.lua b/LuaLibs/Identity.lua index 9d4a4b6..67fa09a 100644 --- a/LuaLibs/Identity.lua +++ b/LuaLibs/Identity.lua @@ -6,7 +6,7 @@ local Identity = {} --------------------------------------------------------------------- ------------------- EGALWARE FEATURES ------------------------------ +------------------------ EGALWARE FEATURES ------------------------ --------------------------------------------------------------------- -- Feature : Head Cut function Identity.IsHeadCut( Proc) @@ -19,7 +19,7 @@ function Identity.IsSplitCut( Proc) end --------------------------------------------------------------------- ------------------- STANDARD FEATURES ------------------------------ +------------------------ STANDARD FEATURES ------------------------ --------------------------------------------------------------------- -- Feature : Cut function Identity.IsCut( Proc) diff --git a/Process.lua b/Process.lua index 723d60a..79e0df9 100644 --- a/Process.lua +++ b/Process.lua @@ -41,7 +41,7 @@ _G.package.loaded.BasicCustomerStrategies = nil _G.package.loaded.FeatureData = nil _G.package.loaded.FaceData = nil --- TODO controlare se c'è un modo migliore per resettare librerie caricate precedentemente +-- TODO controllare se c'è un modo migliore per resettare librerie caricate precedentemente -- reset strategie caricate come librerie for i = 1, 9999 do local IdSTRTemp = EgtReplaceString( tostring( i/10000, 4), '0.', '')