- In MachiningLib aggiunte funzioni per ricerca utensile nella lista passata anziché in tutta la tabella TOOLS
- In BCS aggiunte funzioni per recuperare lavorazioni attive dai file *machining*Data.lua, per Essetre - Per capire dove recuperare strategie e utensili si legge ora il nome della macchina. Il parametro STRATEGIES_SCRIPT poteva essere modificabile in quanto in chiaro - STR0011 e STR0013 prevedono lettura lista utensili. ( Le altre strategie sono da fare!)
This commit is contained in:
@@ -245,7 +245,7 @@ local function GetStrategies_Essetre( Proc)
|
||||
---------------------------------------------------------------------
|
||||
-- Feature : Drilling (0-40)
|
||||
elseif ID.IsDrilling( Proc) then
|
||||
Strategies = { { sStrategyId = 'STR0011'}}
|
||||
Strategies = { { sStrategyId = 'STR0011'}, { sStrategyId = 'STR0013'}}
|
||||
---------------------------------------------------------------------
|
||||
-- Feature : Tenon (1-50)
|
||||
elseif ID.IsTenon( Proc) then
|
||||
@@ -393,7 +393,7 @@ end
|
||||
----------------------------------------------------------------------------------
|
||||
-- *** ESSETRE ***
|
||||
----------------------------------------------------------------------------------
|
||||
-- funzione che recupera i paraemtri custom della strategia. Per cliente Essetre, vengono salvati dei valori 'Q' sul processing del file NGE per modificare il comportamento delle macro
|
||||
-- funzione che recupera i parametri custom della strategia. Per cliente Essetre, vengono salvati dei valori 'Q' sul processing del file NGE per modificare il comportamento delle macro
|
||||
local function GetParameters_Essetre( Proc, sStrategyIdToGet)
|
||||
local Parameters = {}
|
||||
|
||||
@@ -435,6 +435,101 @@ local function GetParameters_Essetre( Proc, sStrategyIdToGet)
|
||||
return Parameters
|
||||
end
|
||||
|
||||
-------------------------------------------------------------------------------------------------------------
|
||||
-- funzione che verifica se un item è contenuto in lista
|
||||
local function Contains( List, Item)
|
||||
for _, value in ipairs( List) do
|
||||
if EgtStartsWith( Item, value) then
|
||||
return true
|
||||
end
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
-------------------------------------------------------------------------------------------------------------
|
||||
-- funzione che ritorna lista utensili presenti in lista compatibili con i tag passati
|
||||
local function GetToolsFromMachDataFile( MachiningDataList, TagListToGet)
|
||||
local ToolList = {}
|
||||
|
||||
if MachiningDataList and #MachiningDataList > 0 then
|
||||
for nIndex = 1, #MachiningDataList do
|
||||
-- se utensile attivo e compatibile con TAG
|
||||
if MachiningDataList[nIndex].On and Contains( TagListToGet, MachiningDataList[nIndex].Type) then
|
||||
-- se è nuova versione, prendo il tool
|
||||
if MachiningDataList[nIndex].Tool then
|
||||
table.insert( ToolList, MachiningDataList[nIndex].Tool)
|
||||
-- altrimenti dalla lavorazione si ricava il tool
|
||||
else
|
||||
EgtMdbSetCurrMachining( MachiningDataList[nIndex].Name)
|
||||
table.insert( ToolList, { sName = EgtMdbGetCurrMachiningParam( MCH_MP.TOOL)})
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
return ToolList
|
||||
end
|
||||
|
||||
-------------------------------------------------------------------------------------------------------------
|
||||
-- TODO da completare
|
||||
-- funzione che recupera gli utensili disponibili per un certo tipo di lavorazione
|
||||
local function GetTools_Essetre( Proc, sMachiningCategory)
|
||||
local sMachDir = EgtGetCurrMachineDir()
|
||||
local TagList = {}
|
||||
local ToolList = {}
|
||||
|
||||
-- CATEGORIE PREVISTE :
|
||||
-- Cutting
|
||||
-- Drill
|
||||
-- Milling, MillingFinish, MillingAntiSplint
|
||||
-- Pocketing
|
||||
-- ChainSawing
|
||||
|
||||
if sMachiningCategory == 'Cutting' then
|
||||
if EgtExistsFile( sMachDir .. '\\Beam\\CutData.lua') then
|
||||
local CutData = dofile( sMachDir .. '\\Beam\\CutData.lua')
|
||||
TagList = { 'HeadSide', 'TailSide', 'LongCut'}
|
||||
ToolList = GetToolsFromMachDataFile( CutData, TagList)
|
||||
end
|
||||
elseif sMachiningCategory == 'Drilling' or ID.IsDrilling( Proc) then
|
||||
if EgtExistsFile( sMachDir .. '\\Beam\\DrillData.lua') then
|
||||
local DrillData = dofile( sMachDir .. '\\Beam\\DrillData.lua')
|
||||
if sMachiningCategory == 'Pocketing' or sMachiningCategory == 'Milling' then
|
||||
TagList = { 'Pocket'}
|
||||
else
|
||||
TagList = { 'Drill', 'Predrill', 'AngleDrill', 'MultiDrill'}
|
||||
end
|
||||
ToolList = GetToolsFromMachDataFile( DrillData, TagList)
|
||||
end
|
||||
elseif sMachiningCategory == 'Milling' or sMachiningCategory == 'MillingFinish' or sMachiningCategory == 'MillingAntiSplint' then
|
||||
if EgtExistsFile( sMachDir .. '\\Beam\\MillingData.lua') then
|
||||
local MillingData = dofile( sMachDir .. '\\Beam\\MillingData.lua')
|
||||
-- TODO da fare!!
|
||||
TagList = { 'Prof', 'FreeContour', 'Tenon', 'DtTenon', 'DtMortise', 'BirdsMouth', 'Chamfer', 'Mark', 'Text', 'Long2Cut',
|
||||
'Long2CutDown', 'LongSmallCut', 'BHSideMill', 'CleanCorner', 'ProfTCone', 'Long2CutSide', 'SmallToolContour',
|
||||
'AntiSplintMillCut', 'SideMillAsBlade', 'Prof_end'}
|
||||
ToolList = GetToolsFromMachDataFile( MillingData, TagList)
|
||||
end
|
||||
elseif sMachiningCategory == 'Pocketing' then
|
||||
if EgtExistsFile( sMachDir .. '\\Beam\\PocketingData.lua') then
|
||||
local PocketingData = dofile( sMachDir .. '\\Beam\\PocketingData.lua')
|
||||
if ID.IsMortise( Proc) then
|
||||
TagList = { 'Mortise', 'Mortise'}
|
||||
else
|
||||
TagList = { 'Pocket', 'OpenPocket'}
|
||||
end
|
||||
ToolList = GetToolsFromMachDataFile( PocketingData, TagList)
|
||||
end
|
||||
elseif sMachiningCategory == 'ChainSawing' then
|
||||
if EgtExistsFile( sMachDir .. '\\Beam\\SawingData.lua') then
|
||||
local SawingData = dofile( sMachDir .. '\\Beam\\SawingData.lua')
|
||||
TagList = { 'Sawing', 'Mortising'}
|
||||
ToolList = GetToolsFromMachDataFile( SawingData, TagList)
|
||||
end
|
||||
end
|
||||
|
||||
return ToolList
|
||||
end
|
||||
|
||||
----------------------------------------------------------------------------------
|
||||
-- *** Esecuzione ***
|
||||
----------------------------------------------------------------------------------
|
||||
@@ -445,13 +540,11 @@ function BasicCustomerStrategies.GetStrategiesFromBasicCustomerStrategies( Proc)
|
||||
local StrategiesFromScript = {}
|
||||
|
||||
-- CLIENTE : ESSETRE
|
||||
if BeamData.STRATEGIES_SCRIPT == 'Essetre' then
|
||||
if EgtStartsWith( EgtGetCurrMachineName(), 'Essetre') then
|
||||
StrategiesFromScript = GetStrategies_Essetre( Proc)
|
||||
-- se nessuno script specifico in BeamData, si carica standard di default EGALWARE
|
||||
elseif not BeamData.STRATEGIES_SCRIPT or BeamData.STRATEGIES_SCRIPT == 'Egalware' then
|
||||
StrategiesFromScript = GetStrategies_Egalware( Proc)
|
||||
-- per tutti gli altri clienti, si carica standard di default EGALWARE
|
||||
else
|
||||
StrategiesFromScript = nil
|
||||
StrategiesFromScript = GetStrategies_Egalware( Proc)
|
||||
end
|
||||
|
||||
return StrategiesFromScript
|
||||
@@ -463,7 +556,7 @@ function BasicCustomerStrategies.GetParametersFromBasicCustomerStrategies( Proc,
|
||||
local ParametersFromScript = {}
|
||||
|
||||
-- CLIENTE : ESSETRE
|
||||
if BeamData.STRATEGIES_SCRIPT == 'Essetre' then
|
||||
if EgtStartsWith( EgtGetCurrMachineName(), 'Essetre') then
|
||||
ParametersFromScript = GetParameters_Essetre( Proc, sStrategyIdToGet)
|
||||
else
|
||||
ParametersFromScript = nil
|
||||
@@ -484,6 +577,21 @@ function BasicCustomerStrategies.UpdateStrategies( AvailableStrategies)
|
||||
return AvailableStrategies
|
||||
end
|
||||
|
||||
----------------------------------------------------------------------------------
|
||||
-- lettura utensili disponibili settati in lista machining data
|
||||
function BasicCustomerStrategies.GetToolsFromMachiningDataFile( Proc, sToolType)
|
||||
local ToolList = {}
|
||||
|
||||
-- CLIENTE : ESSETRE
|
||||
if EgtStartsWith( EgtGetCurrMachineName(), 'Essetre') then
|
||||
ToolList = GetTools_Essetre( Proc, sToolType)
|
||||
-- l'ordine di come le lavorazioni sono state in lista deve essere rispettato
|
||||
ToolList.bRespectListOrder = true
|
||||
end
|
||||
|
||||
return ToolList
|
||||
end
|
||||
|
||||
-------------------------------------------------------------------------------------------------------------
|
||||
|
||||
return BasicCustomerStrategies
|
||||
Reference in New Issue
Block a user