-- SPLITCUT.lua by Egalware s.r.l. 2024/04/02 -- Libreria di supporto a strategie con funzioni comune a strategie diverse. -- Tabella per definizione modulo local SPLITCUT = {} -- Include require( 'EgtBase') -- Carico i dati globali local FeatureLib = require( 'FeatureLib') -- strategie di base local BladeToWaste = require('BLADETOWASTE') EgtOutLog( ' SPLITCUT started', 1) ----------------------------------------------------------------------------------- ---------------------- FUNZIONI DI SPLIT ------------------------------------------ ----------------------------------------------------------------------------------- function SPLITCUT.GetMachining( Proc, Part, ParametersFromStrategy) local Machining = { sTypeMachining = 'None'} local Result = {} -- sTypeMachining = Blade\ ChainSawHorizontal\ ChainSawSideSingle\ ChainSawSideDouble\ ChainSawPlusBlade\ Mill\ None -- se forza utilizzo motosega if ParametersFromStrategy.bForceChainSaw then -- ChainSawHorizontal (motosega) -- ChainSawSideSingle (motosega) -- ChainSawSideDouble (motosega) else -- Blade Machining, Result = BladeToWaste.Make( Proc, Part, ParametersFromStrategy) if Machining and #Machining > 0 then Machining.sTypeMachining = 'Blade' end -- TODO : casi con motosega da completare -- ChainSawPlusBlade (motosega più lama orizzontale) -- Mill (svuotatura) end -- se non ho trovato neanche una lavorazione completa, non posso separare if Machining.sTypeMachining == 'None' then Result = FeatureLib.GetStrategyResultNotApplicable( 'Split not possible') end return Machining, Result end ------------------------------------------------------------------------------------------------------------- return SPLITCUT