Merge remote-tracking branch 'origin/develop' into BetterChainsawResults
This commit is contained in:
+23
-19
@@ -28,11 +28,12 @@ EgtMdbSave()
|
||||
-------------------------------------------------------------------------------------------------------------
|
||||
-- *** variabili globali ***
|
||||
-------------------------------------------------------------------------------------------------------------
|
||||
TOOLS = {} -- tabella contenente tutti gli utensili
|
||||
STRATEGIES = nil -- tabella contenente le strategie disponibili per ogni feature
|
||||
MACHININGS = {} -- tabella contenente le lavorazioni da applicare
|
||||
TOOLS = {} -- tabella contenente tutti gli utensili
|
||||
STRATEGIES = nil -- tabella contenente le strategie disponibili per ogni feature
|
||||
STRATEGIES_CONFIG = {} -- tabella contenente i parametri di default delle strategie disponibili
|
||||
MACHININGS = {} -- tabella contenente le lavorazioni da applicare
|
||||
MACHININGS.Info = {}
|
||||
PROCESSINGS = {} -- tabella contenente tutte le informazioni di ogni feature, processate per ogni rotazione
|
||||
PROCESSINGS = {} -- tabella contenente tutte le informazioni di ogni feature, processate per ogni rotazione
|
||||
|
||||
-------------------------------------------------------------------------------------------------------------
|
||||
-- *** COSTANTI *** TODO -> DA SPOSTARE IN BEAMDATA???
|
||||
@@ -250,7 +251,6 @@ local function IsCombinationAvailable( sCombination, nUnloadPos, bSquareSection)
|
||||
BEAM.Rotation.Basic = true
|
||||
end
|
||||
|
||||
|
||||
--------------------------------------------------------------------------
|
||||
-- TODO scelta combinazione forzato DA RIMUOVERE!! Serve modifica al BEAM.
|
||||
BEAM.BeamWall = true
|
||||
@@ -574,14 +574,6 @@ local function GetFeatureForcedStrategy( Proc)
|
||||
|
||||
-- se è presente la strategia forzata
|
||||
if sStrategyId then
|
||||
-- eseguo file config con i parametri di default
|
||||
local StrategyData = require( sStrategyId .. '\\' .. sStrategyId .. 'Config')
|
||||
|
||||
-- se ID strategia non esiste oppure ID letto in NGE è differente da quello letto nella strategia, esco subito
|
||||
if not StrategyData or StrategyData.sStrategyId ~= sStrategyId then
|
||||
return nil
|
||||
end
|
||||
|
||||
-- si prepara tabella strategia. In questa fase si salva solo id strategia e il fatto che è stata forzata. I parametri forzati vengono letti all'esecuzioen della strategia
|
||||
local StrategyToProc = {}
|
||||
local ParamList = {}
|
||||
@@ -803,19 +795,31 @@ local function GetFeatureInfoAndDependency( vProcSingleRot, Part)
|
||||
end
|
||||
|
||||
-------------------------------------------------------------------------------------------------------------
|
||||
-- caricamento librerie strategie (standard o speciali) se presenti nella Proc come strategie disponibili per questo Processing
|
||||
-- caricamento librerie strategie (standard o speciali) se presenti nella Proc come strategie disponibili per questo Processing
|
||||
local function RunStrategyLibraries( sStrategyId)
|
||||
local StrategyConfigName = sStrategyId .. '\\' .. sStrategyId .. 'Config'
|
||||
-- file script
|
||||
local StrategyScriptName = sStrategyId .. '\\' .. sStrategyId
|
||||
local StrategyConfigPathStandard = BEAM.BASEDIR .. '\\Strategies\\Standard\\' .. StrategyConfigName .. '.lua'
|
||||
local StrategyScriptPathStandard = BEAM.BASEDIR .. '\\Strategies\\Standard\\' .. StrategyScriptName .. '.lua'
|
||||
local StrategyConfigPathSpecial = BEAM.BASEDIR .. '\\Strategies\\Special\\' .. StrategyConfigName .. '.lua'
|
||||
local StrategyScriptPathSpecial = BEAM.BASEDIR .. '\\Strategies\\Special\\' .. StrategyScriptName .. '.lua'
|
||||
-- file config
|
||||
local StrategyConfigName = sStrategyId .. '\\' .. sStrategyId .. 'Config.json'
|
||||
local StrategyConfigPathStandard = BEAM.BASEDIR .. '\\Strategies\\Standard\\' .. StrategyConfigName
|
||||
local StrategyConfigPathSpecial = BEAM.BASEDIR .. '\\Strategies\\Special\\' .. StrategyConfigName
|
||||
|
||||
local StrategyLib = {}
|
||||
if ( EgtExistsFile( StrategyConfigPathStandard) and EgtExistsFile( StrategyScriptPathStandard)) or
|
||||
( EgtExistsFile( StrategyConfigPathSpecial) and EgtExistsFile( StrategyScriptPathSpecial)) then
|
||||
StrategyLib.Config = require( StrategyConfigName)
|
||||
-- caricamento script strategia come libreria
|
||||
StrategyLib.Script = require( StrategyScriptName)
|
||||
-- se config strategia non ancora caricato, importo il JSON
|
||||
if not STRATEGIES_CONFIG[sStrategyId] then
|
||||
if EgtExistsFile( StrategyConfigPathStandard) then
|
||||
STRATEGIES_CONFIG[sStrategyId] = ImportFileJSON( StrategyConfigPathStandard)
|
||||
else
|
||||
STRATEGIES_CONFIG[sStrategyId] = ImportFileJSON( StrategyConfigPathSpecial)
|
||||
end
|
||||
end
|
||||
StrategyLib.Config = STRATEGIES_CONFIG[sStrategyId]
|
||||
return StrategyLib
|
||||
else
|
||||
return {}
|
||||
@@ -923,7 +927,7 @@ local function CalculateStrategies( vProcSingleRot, Part)
|
||||
break
|
||||
end
|
||||
|
||||
-- se non trovo i file della strategia, scrivo che non è più disponibile
|
||||
-- se non trovo i file della strategia (Script e Config), scrivo che non è più disponibile
|
||||
else
|
||||
Proc.AvailableStrategies[nIndexCurrentStrategy].Result = {}
|
||||
Proc.AvailableStrategies[nIndexCurrentStrategy].Result.sInfo = 'Strategy not found'
|
||||
|
||||
@@ -123,10 +123,10 @@ function MachiningLib.GetSplitMachinings( Machinings, SplittingPoints, Part)
|
||||
local LeadInForSplit
|
||||
local LeadOutForSplit
|
||||
if Machinings[i].LeadInForSplit then
|
||||
BeamLib.TableCopyDeep( Machinings[i].LeadInForSplit)
|
||||
LeadInForSplit = BeamLib.TableCopyDeep( Machinings[i].LeadInForSplit)
|
||||
end
|
||||
if Machinings[i].LeadOutForSplit then
|
||||
BeamLib.TableCopyDeep( Machinings[i].LeadOutForSplit)
|
||||
LeadOutForSplit = BeamLib.TableCopyDeep( Machinings[i].LeadOutForSplit)
|
||||
end
|
||||
if FeatureLib.IsMachiningLong( Machinings[i].dLengthOnX, Part) then
|
||||
local nCurrentMachiningIndex = i
|
||||
|
||||
@@ -46,9 +46,7 @@ _G.package.loaded.DiceCut = nil
|
||||
_G.package.loaded.Logs = nil
|
||||
-- strategie di base sempre presenti
|
||||
_G.package.loaded['HEADCUT\\HEADCUT'] = nil
|
||||
_G.package.loaded['HEADCUT\\HEADCUTConfig'] = nil
|
||||
_G.package.loaded['TAILCUT\\TAILCUT'] = nil
|
||||
_G.package.loaded['TAILCUT\\TAILCUTConfig'] = nil
|
||||
|
||||
-- TODO controllare se c'è un modo migliore per resettare librerie delle strategie caricate precedentemente
|
||||
-- Per ottimizzare potremmo anche ciclare solo fino al numero di strategie raggiunto per il momento.
|
||||
@@ -57,13 +55,9 @@ _G.package.loaded['TAILCUT\\TAILCUTConfig'] = nil
|
||||
for i = 1, 9999 do
|
||||
local IdSTRTemp = EgtReplaceString( tostring( i/10000, 4), '0.', '')
|
||||
local sLibraryToReload = "STR" .. IdSTRTemp .. "\\STR" .. IdSTRTemp
|
||||
local sLibraryConfigToReload = sLibraryToReload .. "Config"
|
||||
if _G.package.loaded[sLibraryToReload] then
|
||||
_G.package.loaded[sLibraryToReload] = nil
|
||||
end
|
||||
if _G.package.loaded[sLibraryConfigToReload] then
|
||||
_G.package.loaded[sLibraryConfigToReload] = nil
|
||||
end
|
||||
end
|
||||
local vtCoreStrategiesNames = EgtFindAllFiles( BEAM.BASEDIR .. '\\StrategyLibs\\*.lua')
|
||||
for i = 1, #vtCoreStrategiesNames do
|
||||
|
||||
@@ -24,7 +24,7 @@ local Strategy = {}
|
||||
-------------------------------------------------------------------------------------------------------------
|
||||
local function LoadStrategyParameters( Proc, CustomParameters)
|
||||
local StrategyLib = {}
|
||||
StrategyLib.Config = require( 'HEADCUT\\HEADCUTConfig')
|
||||
StrategyLib.Config = STRATEGIES_CONFIG[CustomParameters.sStrategyId]
|
||||
Strategy.sName = StrategyLib.Config.sStrategyId
|
||||
Strategy.Parameters = BeamLib.LoadCustomParametersInStrategy( Proc, CustomParameters, StrategyLib.Config)
|
||||
Strategy.Result = {}
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"sStrategyId": "HEADCUT",
|
||||
"Parameters" : [
|
||||
{
|
||||
"sName": "dDepthChamfer",
|
||||
"sNameNge": "DEPTH_CHAMFER",
|
||||
"sValue": "0",
|
||||
"sDescriptionShort": "Depth Chamfer",
|
||||
"sDescriptionLong": "Depth of the V-Mill to execute chamfers on cut-edges",
|
||||
"sType": "d",
|
||||
"sMessageId": " ",
|
||||
"sMinUserLevel": "1"
|
||||
},
|
||||
{
|
||||
"sName": "bForceChainSaw",
|
||||
"sNameNge": "FORCE_CHAIN",
|
||||
"sValue": "false",
|
||||
"sDescriptionShort": "Force to use chain saw",
|
||||
"sDescriptionLong": "Force to use chain saw",
|
||||
"sType": "b",
|
||||
"sMessageId": " ",
|
||||
"sMinUserLevel": "1"
|
||||
},
|
||||
{
|
||||
"sName": "bFinishWithMill",
|
||||
"sNameNge": "MILL_FINISH",
|
||||
"sValue": "true",
|
||||
"sDescriptionShort": "Finish with mill",
|
||||
"sDescriptionLong": "Use a mill to finish the surface if split with chain saw",
|
||||
"sType": "b",
|
||||
"sMessageId": " ",
|
||||
"sMinUserLevel": "1"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
-- Parametri configurabili da cliente per strategia: HEADCUT
|
||||
|
||||
local HEADCUTData = {
|
||||
sStrategyId = 'HEADCUT',
|
||||
Parameters = {
|
||||
{ sName = 'dDepthChamfer', sNameNge = 'DEPTH_CHAMFER', sValue = '0', sDescriptionShort = 'Depth Chamfer', sDescriptionLong = 'Depth of the V-Mill to execute chamfers on cut-edges', sType = 'd', sMessageId = '', sMinUserLevel = '1'},
|
||||
{ sName = 'bForceChainSaw', sNameNge = 'FORCE_CHAIN', sValue = 'false', sDescriptionShort = 'Force to use chain saw', sDescriptionLong = 'Force to use chain saw', sType = 'b', sMessageId = '', sMinUserLevel = '1'},
|
||||
{ sName = 'bFinishWithMill', sNameNge = 'MILL_FINISH', sValue = 'true', sDescriptionShort = 'Finish with mill', sDescriptionLong = 'Use a mill to finish the surface if split with chain saw', sType = 'b', sMessageId = '', sMinUserLevel = '1'}
|
||||
}
|
||||
}
|
||||
|
||||
return HEADCUTData
|
||||
@@ -195,7 +195,7 @@ end
|
||||
function STR0001.Make( bAddMachining, Proc, Part, CustomParameters)
|
||||
-- carico parametri de default e li aggiorno con quelli passati dal chiamante (potrebbero non essere congruenti)
|
||||
local StrategyLib = {}
|
||||
StrategyLib.Config = require( 'STR0001\\STR0001Config')
|
||||
StrategyLib.Config = STRATEGIES_CONFIG[CustomParameters.sStrategyId]
|
||||
Strategy.sName = StrategyLib.Config.sStrategyId
|
||||
Strategy.Parameters = BeamLib.LoadCustomParametersInStrategy( Proc, CustomParameters, StrategyLib.Config)
|
||||
Strategy.Machining = {}
|
||||
|
||||
@@ -0,0 +1,98 @@
|
||||
{
|
||||
"sStrategyId": "STR0001",
|
||||
"Parameters" : [
|
||||
{
|
||||
"sName": "dOverMatOnLength",
|
||||
"sNameNge": "OVM_LENGTH",
|
||||
"sValue": "0",
|
||||
"sDescriptionShort": "Overmaterial on tenon length",
|
||||
"sDescriptionLong": "",
|
||||
"sType": "d",
|
||||
"sMessageId": " ",
|
||||
"sMinUserLevel": "1"
|
||||
},
|
||||
{
|
||||
"sName": "dOverMatOnRadius",
|
||||
"sNameNge": "OVM_RADIUS",
|
||||
"sValue": "0",
|
||||
"sDescriptionShort": "Overmaterial on tenon width",
|
||||
"sDescriptionLong": "",
|
||||
"sType": "d",
|
||||
"sMessageId": " ",
|
||||
"sMinUserLevel": "1"
|
||||
},
|
||||
{
|
||||
"sName": "nMaxMillingPaths",
|
||||
"sNameNge": "MAX_PATHS",
|
||||
"sValue": "3",
|
||||
"sDescriptionShort": "Maximum number of milling passes",
|
||||
"sDescriptionLong": "Maximum number of milling passes. If more passes are required, pocketing is performed",
|
||||
"sType": "d",
|
||||
"sMessageId": " ",
|
||||
"sMinUserLevel": "1"
|
||||
},
|
||||
{
|
||||
"sName": "bUseDTToolOnPocketing",
|
||||
"sNameNge": "ALLOW_DT_POCKET",
|
||||
"sValue": "true",
|
||||
"sDescriptionShort": "Use DoveTail tool to pocket",
|
||||
"sDescriptionLong": "",
|
||||
"sType": "b",
|
||||
"sMessageId": " ",
|
||||
"sMinUserLevel": "1"
|
||||
},
|
||||
{
|
||||
"sName": "dMaxWasteLength",
|
||||
"sNameNge": "MAX_WASTE_LENGTH",
|
||||
"sValue": "300",
|
||||
"sDescriptionShort": "Maximum Waste Length",
|
||||
"sDescriptionLong": "",
|
||||
"sType": "d",
|
||||
"sMessageId": " ",
|
||||
"sMinUserLevel": "1"
|
||||
},
|
||||
{
|
||||
"sName": "dMaxWasteVolume",
|
||||
"sNameNge": "MAX_WASTE_VOLUME",
|
||||
"sValue": "6000000",
|
||||
"sDescriptionShort": "Maximum Waste Volume",
|
||||
"sDescriptionLong": "",
|
||||
"sType": "d",
|
||||
"sMessageId": " ",
|
||||
"sMinUserLevel": "1"
|
||||
},
|
||||
{
|
||||
"sName": "sCuttingStrategy",
|
||||
"sNameNge": "EXEC_TENON_SURF",
|
||||
"sValue": "AUTO",
|
||||
"sType": "combo",
|
||||
"sMinUserLevel": "1",
|
||||
"Choices": [
|
||||
{
|
||||
"sValue": "AUTO",
|
||||
"sDescriptionShort": "",
|
||||
"sDescriptionLong": "",
|
||||
"sMessageId": ""
|
||||
},
|
||||
{
|
||||
"sValue": "BLADE_FORCED",
|
||||
"sDescriptionShort": "",
|
||||
"sDescriptionLong": "",
|
||||
"sMessageId": ""
|
||||
},
|
||||
{
|
||||
"sValue": "MILL_FORCED",
|
||||
"sDescriptionShort": "",
|
||||
"sDescriptionLong": "",
|
||||
"sMessageId": ""
|
||||
},
|
||||
{
|
||||
"sValue": "CHAINSAW_FORCED",
|
||||
"sDescriptionShort": "",
|
||||
"sDescriptionLong": "",
|
||||
"sMessageId": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
-- Parametri configurabili da cliente per strategia: STR0001
|
||||
|
||||
local STR0001Data = {
|
||||
sStrategyId = 'STR0001',
|
||||
Parameters = {
|
||||
{ sName = 'dOverMatOnLength', sNameNge = 'OVM_LENGTH', sValue = '0', sDescription = 'Sovramateriale lunghezza tenone', sType = 'd'},
|
||||
{ sName = 'dOverMatOnRadius', sNameNge = 'OVM_RADIUS', sValue = '0', sDescription = 'Sovramateriale larghezza tenone', sType = 'd'},
|
||||
{ sName = 'nMaxMillingPaths', sNameNge = 'MAX_PATHS', sValue = '3', sDescription = 'Numero massimo di passaggi di fresatura. Se richiesti più passaggi, si fa svuotatura', sType = 'd'},
|
||||
{ sName = 'bUseDTToolOnPocketing', sNameNge = 'ALLOW_DT_POCKET', sValue = 'true', sDescription = 'Utilizza utensile a coda di rondine per fare svuotatura', sType = 'b'},
|
||||
{ sName = 'dMaxWasteLength', sNameNge = 'MAX_WASTE_LENGTH', sValue = '300', sDescriptionShort = '', sDescriptionLong = '', sType = 'd', sMessageId = '', sMinUserLevel = '1'},
|
||||
{ sName = 'dMaxWasteVolume', sNameNge = 'MAX_WASTE_VOLUME', sValue = '6000000', sDescriptionShort = '', sDescriptionLong = '', sType = 'd', sMessageId = '', sMinUserLevel = '1'},
|
||||
{ sName = 'sCuttingStrategy', sNameNge = 'EXEC_TENON_SURF', sValue = 'AUTO', sType = 'combo', sMinUserLevel = '1',
|
||||
Choices = { { sValue = 'AUTO', sDescriptionShort = '', sDescriptionLong = '', sMessageId = ''},
|
||||
{ sValue = 'BLADE_FORCED', sDescriptionShort = '', sDescriptionLong = '', sMessageId = ''},
|
||||
{ sValue = 'MILL_FORCED', sDescriptionShort = '', sDescriptionLong = '', sMessageId = ''},
|
||||
{ sValue = 'CHAINSAW_FORCED', sDescriptionShort = '', sDescriptionLong = '', sMessageId = ''}}}
|
||||
}
|
||||
}
|
||||
|
||||
return STR0001Data
|
||||
@@ -402,7 +402,7 @@ end
|
||||
function STR0002.Make( bAddMachining, Proc, Part, CustomParameters)
|
||||
-- carico parametri de default e li aggiorno con quelli passati dal chiamante (potrebbero non essere congruenti)
|
||||
local StrategyLib = {}
|
||||
StrategyLib.Config = require( 'STR0002\\STR0002Config')
|
||||
StrategyLib.Config = STRATEGIES_CONFIG[CustomParameters.sStrategyId]
|
||||
Strategy.sName = StrategyLib.Config.sStrategyId
|
||||
Strategy.Parameters = BeamLib.LoadCustomParametersInStrategy( Proc, CustomParameters, StrategyLib.Config)
|
||||
Strategy.Machining = {}
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"sStrategyId": "STR0002",
|
||||
"Parameters" : [
|
||||
{
|
||||
"sName": "dMaxCornerRadius",
|
||||
"sNameNge": "MAX_CORNER_RADIUS",
|
||||
"sValue": "15",
|
||||
"sDescriptionShort": "Max radius left on corners",
|
||||
"sDescriptionLong": "Radius-limit left by the tool at each corner of the feature",
|
||||
"sType": "d",
|
||||
"sMessageId": " ",
|
||||
"sMinUserLevel": "1"
|
||||
},
|
||||
{
|
||||
"sName": "bAntiSplint",
|
||||
"sNameNge": "ANTISPLINT",
|
||||
"sValue": "false",
|
||||
"sDescriptionShort": "Use Anti-Splint strategy",
|
||||
"sDescriptionLong": "The strategy will apply blade cuts on corner to avoid wood splint",
|
||||
"sType": "b",
|
||||
"sMessageId": " ",
|
||||
"sMinUserLevel": "1"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
-- Parametri configurabili da cliente per strategia: STR0002
|
||||
|
||||
local STR0002Data = {
|
||||
sStrategyId = 'STR0002',
|
||||
Parameters = {
|
||||
{ sName = 'dMaxCornerRadius', sNameNge = 'MAX_CORNER_RADIUS', sValue = '15', sDescriptionShort = 'Max radius left on corners', sDescriptionLong = 'Radius-limit left by the tool at each corner of the feature', sType = 'd', sMinUserLevel = '1', sMessageId = ''},
|
||||
{ sName = 'bAntiSplint', sNameNge = 'ANTISPLINT', sValue = 'false', sDescriptionShort = 'Use Anti-Splint strategy', sDescriptionLong = 'The strategy will apply blade cuts on corner to avoid wood splint', sType = 'b', sMinUserLevel = '1', sMessageId = ''}
|
||||
}
|
||||
}
|
||||
|
||||
return STR0002Data
|
||||
@@ -180,7 +180,7 @@ end
|
||||
function STR0003.Make( bAddMachining, Proc, Part, CustomParameters)
|
||||
-- carico parametri da default e li aggiorno con quelli passati dal chiamante (potrebbero non essere congruenti)
|
||||
local StrategyLib = {}
|
||||
StrategyLib.Config = require( 'STR0003\\STR0003Config')
|
||||
StrategyLib.Config = STRATEGIES_CONFIG[CustomParameters.sStrategyId]
|
||||
Strategy.sName = StrategyLib.Config.sStrategyId
|
||||
Strategy.Parameters = BeamLib.LoadCustomParametersInStrategy( Proc, CustomParameters, StrategyLib.Config)
|
||||
Strategy.Result = {}
|
||||
|
||||
@@ -0,0 +1,92 @@
|
||||
{
|
||||
"sStrategyId": "STR0003",
|
||||
"Parameters" : [
|
||||
{
|
||||
"sName": "bFinishWithChainSaw",
|
||||
"sNameNge": "ALLOW_FINISH_CHAINSAW",
|
||||
"sValue": "true",
|
||||
"sDescriptionShort": "Finish with chainsaw if needed",
|
||||
"sDescriptionLong": "Finish with chainsaw if needed",
|
||||
"sType": "b",
|
||||
"sMessageId": " ",
|
||||
"sMinUserLevel": "1"
|
||||
},
|
||||
{
|
||||
"sName": "dExtendAfterTail",
|
||||
"sNameNge": "EXTEND_AFTER_TAIL",
|
||||
"sValue": "",
|
||||
"sDescriptionShort": "",
|
||||
"sDescriptionLong": "",
|
||||
"sType": "d",
|
||||
"sMessageId": " ",
|
||||
"sMinUserLevel": "1"
|
||||
},
|
||||
{
|
||||
"sName": "bForceLongcutBlade",
|
||||
"sNameNge": "USE_LONGCUT_BLADE",
|
||||
"sValue": "false",
|
||||
"sDescriptionShort": "Force ripping blade",
|
||||
"sDescriptionLong": "Force the use of ripping blade, designed for cuts parallel to the grain",
|
||||
"sType": "b",
|
||||
"sMessageId": " ",
|
||||
"sMinUserLevel": "1"
|
||||
},
|
||||
{
|
||||
"sName": "bNotCompleteWithBladeRadius",
|
||||
"sNameNge": "NOT_COMPLETE_WITH_BLADE_RADIUS",
|
||||
"sValue": "true",
|
||||
"sDescriptionShort": "",
|
||||
"sDescriptionLong": "",
|
||||
"sType": "b",
|
||||
"sMessageId": " ",
|
||||
"sMinUserLevel": "1"
|
||||
},
|
||||
{
|
||||
"sName": "bUseZigZagMortising",
|
||||
"sNameNge": "USE_ZIGZAG_CHAINSAW",
|
||||
"sValue": "false",
|
||||
"sDescriptionShort": "",
|
||||
"sDescriptionLong": "",
|
||||
"sType": "b",
|
||||
"sMessageId": " ",
|
||||
"sMinUserLevel": "1"
|
||||
},
|
||||
{
|
||||
"sName": "bSortBySegment",
|
||||
"sNameNge": "SORT_BY_SEGMENT",
|
||||
"sValue": "true",
|
||||
"sDescriptionShort": "",
|
||||
"sDescriptionLong": "",
|
||||
"sType": "b",
|
||||
"sMessageId": " ",
|
||||
"sMinUserLevel": "1"
|
||||
},
|
||||
{
|
||||
"sName": "sCanDamageNextPiece",
|
||||
"sNameNge": "DAMAGE_NEXT_PIECE",
|
||||
"sValue": "NEVER",
|
||||
"sType": "combo",
|
||||
"sMinUserLevel": "1",
|
||||
"Choices": [
|
||||
{
|
||||
"sValue": "NEVER",
|
||||
"sDescriptionShort": "",
|
||||
"sDescriptionLong": "",
|
||||
"sMessageId": ""
|
||||
},
|
||||
{
|
||||
"sValue": "ONLY_IF_RAWPART",
|
||||
"sDescriptionShort": "",
|
||||
"sDescriptionLong": "",
|
||||
"sMessageId": ""
|
||||
},
|
||||
{
|
||||
"sValue": "ALWAYS",
|
||||
"sDescriptionShort": "",
|
||||
"sDescriptionLong": "",
|
||||
"sMessageId": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
-- Parametri configurabili da cliente per strategia: STR0003
|
||||
|
||||
local STR0003Data = {
|
||||
sStrategyId = 'STR0003',
|
||||
Parameters = {
|
||||
{ sName = 'bFinishWithChainSaw', sNameNge = 'ALLOW_FINISH_CHAINSAW', sValue = 'true', sDescriptionShort = 'Finish with chainsaw if needed', sDescriptionLong = 'Finish with chainsaw if needed', sType = 'b', sMessageId = '', sMinUserLevel = '1'},
|
||||
{ sName = 'dExtendAfterTail', sNameNge = 'EXTEND_AFTER_TAIL', sValue = '', sDescriptionShort = '', sDescriptionLong = '', sType = 'd', sMessageId = '', sMinUserLevel = '1'},
|
||||
{ sName = 'bForceLongcutBlade', sNameNge = 'USE_LONGCUT_BLADE', sValue = 'false', sDescriptionShort = 'Force ripping blade', sDescriptionLong = 'Force the use of ripping blade, designed for cuts parallel to the grain', sType = 'b', sMessageId = '', sMinUserLevel = '1'},
|
||||
{ sName = 'bNotCompleteWithBladeRadius', sNameNge = 'NOT_COMPLETE_WITH_BLADE_RADIUS', sValue = 'true', sDescriptionShort = '', sDescriptionLong = '', sType = 'b', sMessageId = '', sMinUserLevel = '1'},
|
||||
{ sName = 'bUseZigZagMortising', sNameNge = 'USE_ZIGZAG_CHAINSAW', sValue = 'false', sDescriptionShort = '', sDescriptionLong = '', sType = 'b', sMessageId = '', sMinUserLevel = '1'},
|
||||
{ sName = 'bSortBySegment', sNameNge = 'SORT_BY_SEGMENT', sValue = 'true', sDescriptionShort = '', sDescriptionLong = '', sType = 'b', sMessageId = '', sMinUserLevel = '1'},
|
||||
{ sName = 'sCanDamageNextPiece', sNameNge = 'DAMAGE_NEXT_PIECE', sValue = 'NEVER', sType = 'combo', sMinUserLevel = '1',
|
||||
Choices = { { sValue = 'NEVER', sDescriptionShort = '', sDescriptionLong = '', sMessageId = ''},
|
||||
{ sValue = 'ONLY_IF_RAWPART', sDescriptionShort = '', sDescriptionLong = '', sMessageId = ''},
|
||||
{ sValue = 'ALWAYS', sDescriptionShort = '', sDescriptionLong = '', sMessageId = ''}}}
|
||||
}
|
||||
}
|
||||
|
||||
return STR0003Data
|
||||
@@ -104,7 +104,7 @@ end
|
||||
function STR0004.Make( bAddMachining, Proc, Part, CustomParameters)
|
||||
-- carico parametri da default e li aggiorno con quelli passati dal chiamante (potrebbero non essere congruenti)
|
||||
local StrategyLib = {}
|
||||
StrategyLib.Config = require( 'STR0004\\STR0004Config')
|
||||
StrategyLib.Config = STRATEGIES_CONFIG[CustomParameters.sStrategyId]
|
||||
Strategy.sName = StrategyLib.Config.sStrategyId
|
||||
Strategy.Parameters = BeamLib.LoadCustomParametersInStrategy( Proc, CustomParameters, StrategyLib.Config)
|
||||
Strategy.Result = {}
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"sStrategyId": "STR0004",
|
||||
"Parameters" : [
|
||||
{
|
||||
"sName": "bUseZigZagMortising",
|
||||
"sNameNge": "USE_ZIGZAG_CHAINSAW",
|
||||
"sValue": "false",
|
||||
"sDescriptionShort": "",
|
||||
"sDescriptionLong": "",
|
||||
"sType": "b",
|
||||
"sMessageId": " ",
|
||||
"sMinUserLevel": "1"
|
||||
},
|
||||
{
|
||||
"sName": "dExtendAfterTail",
|
||||
"sNameNge": "EXTEND_AFTER_TAIL",
|
||||
"sValue": "",
|
||||
"sDescriptionShort": "",
|
||||
"sDescriptionLong": "",
|
||||
"sType": "d",
|
||||
"sMessageId": " ",
|
||||
"sMinUserLevel": "1"
|
||||
},
|
||||
{
|
||||
"sName": "sCanDamageNextPiece",
|
||||
"sNameNge": "DAMAGE_NEXT_PIECE",
|
||||
"sValue": "NEVER",
|
||||
"sType": "combo",
|
||||
"sMinUserLevel": "1",
|
||||
"Choices": [
|
||||
{
|
||||
"sValue": "NEVER",
|
||||
"sDescriptionShort": "",
|
||||
"sDescriptionLong": "",
|
||||
"sMessageId": ""
|
||||
},
|
||||
{
|
||||
"sValue": "ONLY_IF_RAWPART",
|
||||
"sDescriptionShort": "",
|
||||
"sDescriptionLong": "",
|
||||
"sMessageId": ""
|
||||
},
|
||||
{
|
||||
"sValue": "ALWAYS",
|
||||
"sDescriptionShort": "",
|
||||
"sDescriptionLong": "",
|
||||
"sMessageId": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
-- Parametri configurabili da cliente per strategia: STR0004
|
||||
|
||||
local STR0004Data = {
|
||||
sStrategyId = 'STR0004',
|
||||
Parameters = {
|
||||
{ sName = 'bUseZigZagMortising', sNameNge = 'USE_ZIGZAG_CHAINSAW', sValue = 'false', sDescriptionShort = '', sDescriptionLong = '', sType = 'b', sMessageId = '', sMinUserLevel = '1'},
|
||||
{ sName = 'dExtendAfterTail', sNameNge = 'EXTEND_AFTER_TAIL', sValue = '', sDescriptionShort = '', sDescriptionLong = '', sType = 'd', sMessageId = '', sMinUserLevel = '1'},
|
||||
{ sName = 'sCanDamageNextPiece', sNameNge = 'DAMAGE_NEXT_PIECE', sValue = 'NEVER', sType = 'combo', sMinUserLevel = '1',
|
||||
Choices = { { sValue = 'NEVER', sDescriptionShort = '', sDescriptionLong = '', sMessageId = ''},
|
||||
{ sValue = 'ONLY_IF_RAWPART', sDescriptionShort = '', sDescriptionLong = '', sMessageId = ''},
|
||||
{ sValue = 'ALWAYS', sDescriptionShort = '', sDescriptionLong = '', sMessageId = ''}}}
|
||||
}
|
||||
}
|
||||
|
||||
return STR0004Data
|
||||
@@ -22,7 +22,7 @@ Blade.Result = {}
|
||||
function STR0005.Make( bAddMachining, Proc, Part, CustomParameters)
|
||||
-- carico parametri da default e li aggiorno con quelli passati dal chiamante (potrebbero non essere congruenti)
|
||||
local StrategyLib = {}
|
||||
StrategyLib.Config = require( 'STR0005\\STR0005Config')
|
||||
StrategyLib.Config = STRATEGIES_CONFIG[CustomParameters.sStrategyId]
|
||||
Strategy.sName = StrategyLib.Config.sStrategyId
|
||||
Strategy.Parameters = BeamLib.LoadCustomParametersInStrategy( Proc, CustomParameters, StrategyLib.Config)
|
||||
Strategy.Result = {}
|
||||
|
||||
@@ -0,0 +1,149 @@
|
||||
{
|
||||
"sStrategyId": "STR0005",
|
||||
"Parameters" : [
|
||||
{
|
||||
"sName": "bForceLongcutBlade",
|
||||
"sNameNge": "USE_LONGCUT_BLADE",
|
||||
"sValue": "false",
|
||||
"sDescriptionShort": "Force ripping blade",
|
||||
"sDescriptionLong": "Force the use of ripping blade, designed for cuts parallel to the grain",
|
||||
"sType": "b",
|
||||
"sMessageId": " ",
|
||||
"sMinUserLevel": "1"
|
||||
},
|
||||
{
|
||||
"sName": "dExtendAfterTail",
|
||||
"sNameNge": "EXTEND_AFTER_TAIL",
|
||||
"sValue": "",
|
||||
"sDescriptionShort": "",
|
||||
"sDescriptionLong": "",
|
||||
"sType": "d",
|
||||
"sMessageId": " ",
|
||||
"sMinUserLevel": "1"
|
||||
},
|
||||
{
|
||||
"sName": "sCanDamageNextPiece",
|
||||
"sNameNge": "DAMAGE_NEXT_PIECE",
|
||||
"sValue": "NEVER",
|
||||
"sType": "combo",
|
||||
"sMinUserLevel": "1",
|
||||
"Choices": [
|
||||
{
|
||||
"sValue": "NEVER",
|
||||
"sDescriptionShort": "",
|
||||
"sDescriptionLong": "",
|
||||
"sMessageId": ""
|
||||
},
|
||||
{
|
||||
"sValue": "ONLY_IF_RAWPART",
|
||||
"sDescriptionShort": "",
|
||||
"sDescriptionLong": "",
|
||||
"sMessageId": ""
|
||||
},
|
||||
{
|
||||
"sValue": "ALWAYS",
|
||||
"sDescriptionShort": "",
|
||||
"sDescriptionLong": "",
|
||||
"sMessageId": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"sName": "sCuttingStrategy",
|
||||
"sNameNge": "CUTTING_STRATEGY",
|
||||
"sValue": "AUTO",
|
||||
"sType": "combo",
|
||||
"sMinUserLevel": "1",
|
||||
"Choices": [
|
||||
{
|
||||
"sValue": "AUTO",
|
||||
"sDescriptionShort": "",
|
||||
"sDescriptionLong": "",
|
||||
"sMessageId": ""
|
||||
},
|
||||
{
|
||||
"sValue": "DROP_WASTE",
|
||||
"sDescriptionShort": "",
|
||||
"sDescriptionLong": "",
|
||||
"sMessageId": ""
|
||||
},
|
||||
{
|
||||
"sValue": "KEEP_WASTE_ATTACHED",
|
||||
"sDescriptionShort": "",
|
||||
"sDescriptionLong": "",
|
||||
"sMessageId": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"sName": "dMaxWasteLength",
|
||||
"sNameNge": "MAX_WASTE_LENGTH",
|
||||
"sValue": "300",
|
||||
"sDescriptionShort": "",
|
||||
"sDescriptionLong": "",
|
||||
"sType": "d",
|
||||
"sMessageId": " ",
|
||||
"sMinUserLevel": "1"
|
||||
},
|
||||
{
|
||||
"sName": "dMaxWasteVolume",
|
||||
"sNameNge": "MAX_WASTE_VOLUME",
|
||||
"sValue": "6000000",
|
||||
"sDescriptionShort": "",
|
||||
"sDescriptionLong": "",
|
||||
"sType": "d",
|
||||
"sMessageId": " ",
|
||||
"sMinUserLevel": "1"
|
||||
},
|
||||
{
|
||||
"sName": "dStripWidth",
|
||||
"sNameNge": "STRIP_WIDTH",
|
||||
"sValue": "5",
|
||||
"sDescriptionShort": "",
|
||||
"sDescriptionLong": "",
|
||||
"sType": "d",
|
||||
"sMessageId": " ",
|
||||
"sMinUserLevel": "1"
|
||||
},
|
||||
{
|
||||
"sName": "dMinZAngleTopBlade",
|
||||
"sNameNge": "MIN_Z_ANGLE_TOP_BLADE",
|
||||
"sValue": "",
|
||||
"sDescriptionShort": "",
|
||||
"sDescriptionLong": "",
|
||||
"sType": "d",
|
||||
"sMessageId": " ",
|
||||
"sMinUserLevel": "1"
|
||||
},
|
||||
{
|
||||
"sName": "dMaxYAngleTopBlade",
|
||||
"sNameNge": "MAX_Y_ANGLE_TOP_BLADE",
|
||||
"sValue": "",
|
||||
"sDescriptionShort": "",
|
||||
"sDescriptionLong": "",
|
||||
"sType": "d",
|
||||
"sMessageId": " ",
|
||||
"sMinUserLevel": "1"
|
||||
},
|
||||
{
|
||||
"sName": "bFinishWithMill",
|
||||
"sNameNge": "ALLOW_FINISH_MILL",
|
||||
"sValue": "true",
|
||||
"sDescriptionShort": "Clean blade radius with mill",
|
||||
"sDescriptionLong": "Clean blade radius with mill",
|
||||
"sType": "b",
|
||||
"sMessageId": " ",
|
||||
"sMinUserLevel": "1"
|
||||
},
|
||||
{
|
||||
"sName": "dMillingOffsetFromSide",
|
||||
"sNameNge": "MILLING_OFFSET_SIDE",
|
||||
"sValue": "1",
|
||||
"sDescriptionShort": "",
|
||||
"sDescriptionLong": "",
|
||||
"sType": "d",
|
||||
"sMessageId": " ",
|
||||
"sMinUserLevel": "1"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,28 +0,0 @@
|
||||
-- Parametri configurabili da cliente per strategia: STR0005
|
||||
|
||||
-- TODO - sostituire dMaxWasteVolume con dMaxWasteWeight? Dove prendere la densità del materiale?
|
||||
|
||||
local STR0005Data = {
|
||||
sStrategyId = 'STR0005',
|
||||
Parameters = {
|
||||
{ sName = 'bForceLongcutBlade', sNameNge = 'USE_LONGCUT_BLADE', sValue = 'false', sDescriptionShort = 'Force ripping blade', sDescriptionLong = 'Force the use of ripping blade, designed for cuts parallel to the grain', sType = 'b', sMessageId = '', sMinUserLevel = '1'},
|
||||
{ sName = 'dExtendAfterTail', sNameNge = 'EXTEND_AFTER_TAIL', sValue = '', sDescriptionShort = '', sDescriptionLong = '', sType = 'd', sMessageId = '', sMinUserLevel = '1'},
|
||||
{ sName = 'sCanDamageNextPiece', sNameNge = 'DAMAGE_NEXT_PIECE', sValue = 'NEVER', sType = 'combo', sMinUserLevel = '1',
|
||||
Choices = { { sValue = 'NEVER', sDescriptionShort = '', sDescriptionLong = '', sMessageId = ''},
|
||||
{ sValue = 'ONLY_IF_RAWPART', sDescriptionShort = '', sDescriptionLong = '', sMessageId = ''},
|
||||
{ sValue = 'ALWAYS', sDescriptionShort = '', sDescriptionLong = '', sMessageId = ''}}},
|
||||
{ sName = 'sCuttingStrategy', sNameNge = 'CUTTING_STRATEGY', sValue = 'AUTO', sType = 'combo', sMinUserLevel = '1',
|
||||
Choices = { { sValue = 'AUTO', sDescriptionShort = '', sDescriptionLong = '', sMessageId = ''},
|
||||
{ sValue = 'DROP_WASTE', sDescriptionShort = '', sDescriptionLong = '', sMessageId = ''},
|
||||
{ sValue = 'KEEP_WASTE_ATTACHED', sDescriptionShort = '', sDescriptionLong = '', sMessageId = ''}}},
|
||||
{ sName = 'dMaxWasteLength', sNameNge = 'MAX_WASTE_LENGTH', sValue = '300', sDescriptionShort = '', sDescriptionLong = '', sType = 'd', sMessageId = '', sMinUserLevel = '1'},
|
||||
{ sName = 'dMaxWasteVolume', sNameNge = 'MAX_WASTE_VOLUME', sValue = '6000000', sDescriptionShort = '', sDescriptionLong = '', sType = 'd', sMessageId = '', sMinUserLevel = '1'},
|
||||
{ sName = 'dStripWidth', sNameNge = 'STRIP_WIDTH', sValue = '5', sDescriptionShort = '', sDescriptionLong = '', sType = 'd', sMessageId = '', sMinUserLevel = '1'},
|
||||
{ sName = 'dMinZAngleTopBlade', sNameNge = 'MIN_Z_ANGLE_TOP_BLADE', sValue = '', sDescriptionShort = '', sDescriptionLong = '', sType = 'd', sMessageId = '', sMinUserLevel = '1'},
|
||||
{ sName = 'dMaxYAngleTopBlade', sNameNge = 'MAX_Y_ANGLE_TOP_BLADE', sValue = '1', sDescriptionShort = '', sDescriptionLong = '', sType = 'd', sMessageId = '', sMinUserLevel = '1'},
|
||||
{ sName = 'bFinishWithMill', sNameNge = 'ALLOW_FINISH_MILL', sValue = '1', sDescriptionShort = 'Clean blade radius with mill', sDescriptionLong = 'Clean blade radius with mill', sType = 'b', sMessageId = '', sMinUserLevel = '1'},
|
||||
{ sName = 'dMillingOffsetFromSide', sNameNge = 'MILLING_OFFSET_SIDE', sValue = '1', sDescriptionShort = '', sDescriptionLong = '', sType = 'd', sMessageId = '', sMinUserLevel = '1'}
|
||||
}
|
||||
}
|
||||
|
||||
return STR0005Data
|
||||
@@ -160,7 +160,7 @@ end
|
||||
function STR0006.Make( bAddMachining, Proc, Part, CustomParameters)
|
||||
-- carico parametri de default e li aggiorno con quelli passati dal chiamante (potrebbero non essere congruenti)
|
||||
local StrategyLib = {}
|
||||
StrategyLib.Config = require( 'STR0006\\STR0006Config')
|
||||
StrategyLib.Config = STRATEGIES_CONFIG[CustomParameters.sStrategyId]
|
||||
Strategy.sName = StrategyLib.Config.sStrategyId
|
||||
Strategy.Parameters = BeamLib.LoadCustomParametersInStrategy( Proc, CustomParameters, StrategyLib.Config)
|
||||
Strategy.Machining = {}
|
||||
|
||||
@@ -0,0 +1,88 @@
|
||||
{
|
||||
"sStrategyId": "STR0006",
|
||||
"Parameters" : [
|
||||
{
|
||||
"sName": "dOverMatOnLength",
|
||||
"sNameNge": "OVM_LENGTH",
|
||||
"sValue": "0",
|
||||
"sDescriptionShort": "Overmaterial on tenon length",
|
||||
"sDescriptionLong": "",
|
||||
"sType": "d",
|
||||
"sMessageId": " ",
|
||||
"sMinUserLevel": "1"
|
||||
},
|
||||
{
|
||||
"sName": "dOverMatOnRadius",
|
||||
"sNameNge": "OVM_RADIUS",
|
||||
"sValue": "0",
|
||||
"sDescriptionShort": "Overmaterial on tenon width",
|
||||
"sDescriptionLong": "",
|
||||
"sType": "d",
|
||||
"sMessageId": " ",
|
||||
"sMinUserLevel": "1"
|
||||
},
|
||||
{
|
||||
"sName": "nMaxMillingPaths",
|
||||
"sNameNge": "MAX_PATHS",
|
||||
"sValue": "3",
|
||||
"sDescriptionShort": "Maximum number of milling passes",
|
||||
"sDescriptionLong": "Maximum number of milling passes. If more passes are required, pocketing is performed",
|
||||
"sType": "d",
|
||||
"sMessageId": " ",
|
||||
"sMinUserLevel": "1"
|
||||
},
|
||||
{
|
||||
"sName": "dMaxWasteLength",
|
||||
"sNameNge": "MAX_WASTE_LENGTH",
|
||||
"sValue": "300",
|
||||
"sDescriptionShort": "Maximum Waste Length",
|
||||
"sDescriptionLong": "",
|
||||
"sType": "d",
|
||||
"sMessageId": " ",
|
||||
"sMinUserLevel": "1"
|
||||
},
|
||||
{
|
||||
"sName": "dMaxWasteVolume",
|
||||
"sNameNge": "MAX_WASTE_VOLUME",
|
||||
"sValue": "6000000",
|
||||
"sDescriptionShort": "Maximum Waste Volume",
|
||||
"sDescriptionLong": "",
|
||||
"sType": "d",
|
||||
"sMessageId": " ",
|
||||
"sMinUserLevel": "1"
|
||||
},
|
||||
{
|
||||
"sName": "sCuttingStrategy",
|
||||
"sNameNge": "EXEC_TENON_SURF",
|
||||
"sValue": "AUTO",
|
||||
"sType": "combo",
|
||||
"sMinUserLevel": "1",
|
||||
"Choices": [
|
||||
{
|
||||
"sValue": "AUTO",
|
||||
"sDescriptionShort": "",
|
||||
"sDescriptionLong": "",
|
||||
"sMessageId": ""
|
||||
},
|
||||
{
|
||||
"sValue": "BLADE_FORCED",
|
||||
"sDescriptionShort": "",
|
||||
"sDescriptionLong": "",
|
||||
"sMessageId": ""
|
||||
},
|
||||
{
|
||||
"sValue": "MILL_FORCED",
|
||||
"sDescriptionShort": "",
|
||||
"sDescriptionLong": "",
|
||||
"sMessageId": ""
|
||||
},
|
||||
{
|
||||
"sValue": "CHAINSAW_FORCED",
|
||||
"sDescriptionShort": "",
|
||||
"sDescriptionLong": "",
|
||||
"sMessageId": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
-- Parametri configurabili da cliente per strategia: STR0001
|
||||
|
||||
local STR0006Data = {
|
||||
sStrategyId = 'STR0006',
|
||||
Parameters = {
|
||||
{ sName = 'dOverMatOnLength', sNameNge = 'OVM_LENGTH', sValue = '0', sDescription = 'Sovramateriale lunghezza tenone', sType = 'd'},
|
||||
{ sName = 'dOverMatOnRadius', sNameNge = 'OVM_RADIUS', sValue = '0', sDescription = 'Sovramateriale larghezza tenone', sType = 'd'},
|
||||
{ sName = 'nMaxMillingPaths', sNameNge = 'MAX_PATHS', sValue = '3', sDescription = 'Numero massimo di passaggi di fresatura. Se richiesti più passaggi, si fa svuotatura', sType = 'd'},
|
||||
{ sName = 'dMaxWasteLength', sNameNge = 'MAX_WASTE_LENGTH', sValue = '300', sDescriptionShort = '', sDescriptionLong = '', sType = 'd', sMessageId = '', sMinUserLevel = '1'},
|
||||
{ sName = 'dMaxWasteVolume', sNameNge = 'MAX_WASTE_VOLUME', sValue = '6000000', sDescriptionShort = '', sDescriptionLong = '', sType = 'd', sMessageId = '', sMinUserLevel = '1'},
|
||||
{ sName = 'sCuttingStrategy', sNameNge = 'EXEC_TENON_SURF', sValue = 'AUTO', sType = 'combo', sMinUserLevel = '1',
|
||||
Choices = { { sValue = 'AUTO', sDescriptionShort = '', sDescriptionLong = '', sMessageId = ''},
|
||||
{ sValue = 'BLADE_FORCED', sDescriptionShort = '', sDescriptionLong = '', sMessageId = ''},
|
||||
{ sValue = 'MILL_FORCED', sDescriptionShort = '', sDescriptionLong = '', sMessageId = ''},
|
||||
{ sValue = 'CHAINSAW_FORCED', sDescriptionShort = '', sDescriptionLong = '', sMessageId = ''}}}
|
||||
}
|
||||
}
|
||||
|
||||
return STR0006Data
|
||||
@@ -303,7 +303,7 @@ end
|
||||
function STR0007.Make( bAddMachining, Proc, Part, CustomParameters)
|
||||
-- carico parametri de default e li aggiorno con quelli passati dal chiamante (potrebbero non essere congruenti)
|
||||
local StrategyLib = {}
|
||||
StrategyLib.Config = require( 'STR0007\\STR0007Config')
|
||||
StrategyLib.Config = STRATEGIES_CONFIG[CustomParameters.sStrategyId]
|
||||
Strategy.sName = StrategyLib.Config.sStrategyId
|
||||
Strategy.Parameters = BeamLib.LoadCustomParametersInStrategy( Proc, CustomParameters, StrategyLib.Config)
|
||||
Strategy.Machining = {}
|
||||
|
||||
@@ -0,0 +1,108 @@
|
||||
{
|
||||
"sStrategyId": "STR0007",
|
||||
"Parameters" : [
|
||||
{
|
||||
"sName": "dOverMatOnLength",
|
||||
"sNameNge": "OVM_LENGTH",
|
||||
"sValue": "0",
|
||||
"sDescriptionShort": "Overmaterial on tenon length",
|
||||
"sDescriptionLong": "",
|
||||
"sType": "d",
|
||||
"sMessageId": " ",
|
||||
"sMinUserLevel": "1"
|
||||
},
|
||||
{
|
||||
"sName": "dOverMatOnRadius",
|
||||
"sNameNge": "OVM_RADIUS",
|
||||
"sValue": "0",
|
||||
"sDescriptionShort": "Overmaterial on tenon width",
|
||||
"sDescriptionLong": "",
|
||||
"sType": "d",
|
||||
"sMessageId": " ",
|
||||
"sMinUserLevel": "1"
|
||||
},
|
||||
{
|
||||
"sName": "nMaxMillingPaths",
|
||||
"sNameNge": "MAX_PATHS",
|
||||
"sValue": "3",
|
||||
"sDescriptionShort": "Maximum number of milling passes",
|
||||
"sDescriptionLong": "Maximum number of milling passes. If more passes are required, pocketing is performed",
|
||||
"sType": "d",
|
||||
"sMessageId": " ",
|
||||
"sMinUserLevel": "1"
|
||||
},
|
||||
{
|
||||
"sName": "bUseDTToolOnPocketing",
|
||||
"sNameNge": "ALLOW_DT_POCKET",
|
||||
"sValue": "true",
|
||||
"sDescriptionShort": "Use DoveTail tool in case of pocketing",
|
||||
"sDescriptionLong": "",
|
||||
"sType": "b",
|
||||
"sMessageId": " ",
|
||||
"sMinUserLevel": "1"
|
||||
},
|
||||
{
|
||||
"sName": "bAntiSplint",
|
||||
"sNameNge": "ANTI_SPLINT",
|
||||
"sValue": "true",
|
||||
"sDescriptionShort": "Add Anti-Splint",
|
||||
"sDescriptionLong": "",
|
||||
"sType": "b",
|
||||
"sMessageId": " ",
|
||||
"sMinUserLevel": "1"
|
||||
},
|
||||
{
|
||||
"sName": "dMaxWasteLength",
|
||||
"sNameNge": "MAX_WASTE_LENGTH",
|
||||
"sValue": "300",
|
||||
"sDescriptionShort": "Maximum Waste Length",
|
||||
"sDescriptionLong": "",
|
||||
"sType": "d",
|
||||
"sMessageId": " ",
|
||||
"sMinUserLevel": "1"
|
||||
},
|
||||
{
|
||||
"sName": "dMaxWasteVolume",
|
||||
"sNameNge": "MAX_WASTE_VOLUME",
|
||||
"sValue": "6000000",
|
||||
"sDescriptionShort": "Maximum Waste Volume",
|
||||
"sDescriptionLong": "",
|
||||
"sType": "d",
|
||||
"sMessageId": " ",
|
||||
"sMinUserLevel": "1"
|
||||
},
|
||||
{
|
||||
"sName": "sCuttingStrategy",
|
||||
"sNameNge": "EXEC_CUT_SURF",
|
||||
"sValue": "AUTO",
|
||||
"sType": "combo",
|
||||
"sMinUserLevel": "1",
|
||||
"Choices": [
|
||||
{
|
||||
"sValue": "AUTO",
|
||||
"sDescriptionShort": "",
|
||||
"sDescriptionLong": "",
|
||||
"sMessageId": ""
|
||||
},
|
||||
{
|
||||
"sValue": "BLADE_FORCED",
|
||||
"sDescriptionShort": "",
|
||||
"sDescriptionLong": "",
|
||||
"sMessageId": ""
|
||||
},
|
||||
{
|
||||
"sValue": "MILL_FORCED",
|
||||
"sDescriptionShort": "",
|
||||
"sDescriptionLong": "",
|
||||
"sMessageId": ""
|
||||
},
|
||||
{
|
||||
"sValue": "CHAINSAW_FORCED",
|
||||
"sDescriptionShort": "",
|
||||
"sDescriptionLong": "",
|
||||
"sMessageId": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
-- Parametri configurabili da cliente per strategia: STR0001
|
||||
|
||||
local STR0007Data = {
|
||||
sStrategyId = 'STR0007',
|
||||
Parameters = {
|
||||
{ sName = 'dOverMatOnLength', sNameNge = 'OVM_LENGTH', sValue = '0', sDescription = 'Sovramateriale lunghezza mortasa', sType = 'd'},
|
||||
{ sName = 'dOverMatOnRadius', sNameNge = 'OVM_RADIUS', sValue = '0', sDescription = 'Sovramateriale larghezza mortasa', sType = 'd'},
|
||||
{ sName = 'nMaxMillingPaths', sNameNge = 'MAX_PATHS', sValue = '3', sDescription = 'Numero massimo di passaggi di fresatura. Se richiesti più passaggi, si fa svuotatura', sType = 'd'},
|
||||
{ sName = 'bUseDTToolOnPocketing', sNameNge = 'ALLOW_DT_POCKET', sValue = 'true', sDescription = 'Utilizza utensile a coda di rondine per fare svuotatura', sType = 'b'},
|
||||
{ sName = 'bAntiSplint', sNameNge = 'ANTI_SPLINT', sValue = 'true', sDescription = 'Attiva passaggio antischeggia', sType = 'b'},
|
||||
{ sName = 'dMaxWasteLength', sNameNge = 'MAX_WASTE_LENGTH', sValue = '300', sDescriptionShort = '', sDescriptionLong = '', sType = 'd', sMessageId = '', sMinUserLevel = '1'},
|
||||
{ sName = 'dMaxWasteVolume', sNameNge = 'MAX_WASTE_VOLUME', sValue = '6000000', sDescriptionShort = '', sDescriptionLong = '', sType = 'd', sMessageId = '', sMinUserLevel = '1'},
|
||||
{ sName = 'sCuttingStrategy', sNameNge = 'EXEC_CUT_SURF', sValue = 'AUTO', sType = 'combo', sMinUserLevel = '1',
|
||||
Choices = { { sValue = 'AUTO', sDescriptionShort = '', sDescriptionLong = '', sMessageId = ''},
|
||||
{ sValue = 'BLADE_FORCED', sDescriptionShort = '', sDescriptionLong = '', sMessageId = ''},
|
||||
{ sValue = 'MILL_FORCED', sDescriptionShort = '', sDescriptionLong = '', sMessageId = ''},
|
||||
{ sValue = 'CHAINSAW_FORCED', sDescriptionShort = '', sDescriptionLong = '', sMessageId = ''}}}
|
||||
}
|
||||
}
|
||||
|
||||
return STR0007Data
|
||||
@@ -223,7 +223,7 @@ end
|
||||
function STR0008.Make( bAddMachining, Proc, Part, CustomParameters)
|
||||
-- carico parametri de default e li aggiorno con quelli passati dal chiamante (potrebbero non essere congruenti)
|
||||
local StrategyLib = {}
|
||||
StrategyLib.Config = require( 'STR0008\\STR0008Config')
|
||||
StrategyLib.Config = STRATEGIES_CONFIG[CustomParameters.sStrategyId]
|
||||
Strategy.sName = StrategyLib.Config.sStrategyId
|
||||
Strategy.Parameters = BeamLib.LoadCustomParametersInStrategy( Proc, CustomParameters, StrategyLib.Config)
|
||||
Strategy.Machining = {}
|
||||
|
||||
@@ -0,0 +1,78 @@
|
||||
{
|
||||
"sStrategyId": "STR0008",
|
||||
"Parameters" : [
|
||||
{
|
||||
"sName": "dOverMatOnLength",
|
||||
"sNameNge": "OVM_LENGTH",
|
||||
"sValue": "0",
|
||||
"sDescriptionShort": "Overmaterial on mortise length",
|
||||
"sDescriptionLong": "",
|
||||
"sType": "d",
|
||||
"sMessageId": " ",
|
||||
"sMinUserLevel": "1"
|
||||
},
|
||||
{
|
||||
"sName": "dOverMatOnRadius",
|
||||
"sNameNge": "OVM_RADIUS",
|
||||
"sValue": "0",
|
||||
"sDescriptionShort": "Overmaterial on mortise width",
|
||||
"sDescriptionLong": "",
|
||||
"sType": "d",
|
||||
"sMessageId": " ",
|
||||
"sMinUserLevel": "1"
|
||||
},
|
||||
{
|
||||
"sName": "dMaxWasteLength",
|
||||
"sNameNge": "MAX_WASTE_LENGTH",
|
||||
"sValue": "300",
|
||||
"sDescriptionShort": "Maximum Waste Length",
|
||||
"sDescriptionLong": "",
|
||||
"sType": "d",
|
||||
"sMessageId": " ",
|
||||
"sMinUserLevel": "1"
|
||||
},
|
||||
{
|
||||
"sName": "dMaxWasteVolume",
|
||||
"sNameNge": "MAX_WASTE_VOLUME",
|
||||
"sValue": "6000000",
|
||||
"sDescriptionShort": "Maximum Waste Volume",
|
||||
"sDescriptionLong": "",
|
||||
"sType": "d",
|
||||
"sMessageId": " ",
|
||||
"sMinUserLevel": "1"
|
||||
},
|
||||
{
|
||||
"sName": "sCuttingStrategy",
|
||||
"sNameNge": "EXEC_CUT_SURF",
|
||||
"sValue": "AUTO",
|
||||
"sType": "combo",
|
||||
"sMinUserLevel": "1",
|
||||
"Choices": [
|
||||
{
|
||||
"sValue": "AUTO",
|
||||
"sDescriptionShort": "",
|
||||
"sDescriptionLong": "",
|
||||
"sMessageId": ""
|
||||
},
|
||||
{
|
||||
"sValue": "BLADE_FORCED",
|
||||
"sDescriptionShort": "",
|
||||
"sDescriptionLong": "",
|
||||
"sMessageId": ""
|
||||
},
|
||||
{
|
||||
"sValue": "MILL_FORCED",
|
||||
"sDescriptionShort": "",
|
||||
"sDescriptionLong": "",
|
||||
"sMessageId": ""
|
||||
},
|
||||
{
|
||||
"sValue": "CHAINSAW_FORCED",
|
||||
"sDescriptionShort": "",
|
||||
"sDescriptionLong": "",
|
||||
"sMessageId": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
-- Parametri configurabili da cliente per strategia: STR0008
|
||||
|
||||
local STR0008Data = {
|
||||
sStrategyId = 'STR0008',
|
||||
Parameters = {
|
||||
{ sName = 'dOverMatOnLength', sNameNge = 'OVM_LENGTH', sValue = '0', sDescription = 'Sovramateriale lunghezza mortasa', sType = 'd'},
|
||||
{ sName = 'dOverMatOnRadius', sNameNge = 'OVM_RADIUS', sValue = '0', sDescription = 'Sovramateriale larghezza mortasa', sType = 'd'},
|
||||
{ sName = 'dMaxWasteLength', sNameNge = 'MAX_WASTE_LENGTH', sValue = '300', sDescriptionShort = '', sDescriptionLong = '', sType = 'd', sMessageId = '', sMinUserLevel = '1'},
|
||||
{ sName = 'dMaxWasteVolume', sNameNge = 'MAX_WASTE_VOLUME', sValue = '6000000', sDescriptionShort = '', sDescriptionLong = '', sType = 'd', sMessageId = '', sMinUserLevel = '1'},
|
||||
{ sName = 'sCuttingStrategy', sNameNge = 'EXEC_CUT_SURF', sValue = 'AUTO', sType = 'combo', sMinUserLevel = '1',
|
||||
Choices = { { sValue = 'AUTO', sDescriptionShort = '', sDescriptionLong = '', sMessageId = ''},
|
||||
{ sValue = 'BLADE_FORCED', sDescriptionShort = '', sDescriptionLong = '', sMessageId = ''},
|
||||
{ sValue = 'MILL_FORCED', sDescriptionShort = '', sDescriptionLong = '', sMessageId = ''},
|
||||
{ sValue = 'CHAINSAW_FORCED', sDescriptionShort = '', sDescriptionLong = '', sMessageId = ''}}}
|
||||
}
|
||||
}
|
||||
|
||||
return STR0008Data
|
||||
@@ -162,7 +162,7 @@ end
|
||||
function STR0009.Make( bAddMachining, Proc, Part, CustomParameters)
|
||||
-- carico parametri de default e li aggiorno con quelli passati dal chiamante (potrebbero non essere congruenti)
|
||||
local StrategyLib = {}
|
||||
StrategyLib.Config = require( 'STR0009\\STR0009Config')
|
||||
StrategyLib.Config = STRATEGIES_CONFIG[CustomParameters.sStrategyId]
|
||||
Strategy.sName = StrategyLib.Config.sStrategyId
|
||||
Strategy.Parameters = BeamLib.LoadCustomParametersInStrategy( Proc, CustomParameters, StrategyLib.Config)
|
||||
Strategy.Machinings = {}
|
||||
|
||||
@@ -0,0 +1,76 @@
|
||||
{
|
||||
"sStrategyId": "STR0009",
|
||||
"Parameters" : [
|
||||
{
|
||||
"sName": "dDepthChamfer",
|
||||
"sNameNge": "DEPTH_CHAMFER",
|
||||
"sValue": "0",
|
||||
"sDescriptionShort": "Depth Chamfer",
|
||||
"sDescriptionLong": "Depth of the V-Mill to execute chamfers on cut-edges",
|
||||
"sType": "d",
|
||||
"sMessageId": " ",
|
||||
"sMinUserLevel": "1"
|
||||
},
|
||||
{
|
||||
"sName": "dOverMaterial",
|
||||
"sNameNge": "OVERMAT",
|
||||
"sValue": "0",
|
||||
"sDescriptionShort": "Overmaterial",
|
||||
"sDescriptionLong": "",
|
||||
"sType": "d",
|
||||
"sMessageId": " ",
|
||||
"sMinUserLevel": "1"
|
||||
},
|
||||
{
|
||||
"sName": "bForceStrip",
|
||||
"sNameNge": "FORCE_STRIP",
|
||||
"sValue": "false",
|
||||
"sDescriptionShort": "",
|
||||
"sDescriptionLong": "",
|
||||
"sType": "b",
|
||||
"sMessageId": " ",
|
||||
"sMinUserLevel": "1"
|
||||
},
|
||||
{
|
||||
"sName": "dStripWidth",
|
||||
"sNameNge": "STRIP_WIDTH",
|
||||
"sValue": "0",
|
||||
"sDescriptionShort": "",
|
||||
"sDescriptionLong": "",
|
||||
"sType": "d",
|
||||
"sMessageId": " ",
|
||||
"sMinUserLevel": "1"
|
||||
},
|
||||
{
|
||||
"sName": "dExtendArc",
|
||||
"sNameNge": "EXTEND_ARC",
|
||||
"sValue": "0",
|
||||
"sDescriptionShort": "",
|
||||
"sDescriptionLong": "",
|
||||
"sType": "d",
|
||||
"sMessageId": " ",
|
||||
"sMinUserLevel": "1"
|
||||
},
|
||||
{
|
||||
"sName": "sActivateDouble",
|
||||
"sNameNge": "DOUBLE",
|
||||
"sValue": "AUTO",
|
||||
"sType": "combo",
|
||||
"sMinUserLevel": "1",
|
||||
"Choices": [
|
||||
{
|
||||
"sValue": "AUTO",
|
||||
"sDescriptionShort": "",
|
||||
"sDescriptionLong": "",
|
||||
"sMessageId": ""
|
||||
},
|
||||
{
|
||||
"sValue": "NEVER",
|
||||
"sDescriptionShort": "",
|
||||
"sDescriptionLong": "",
|
||||
"sMessageId": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
-- Parametri configurabili da cliente per strategia: STR0009
|
||||
|
||||
local STR0009Data = {
|
||||
sStrategyId = 'STR0009',
|
||||
Parameters = {
|
||||
{ sName = 'dDepthChamfer', sNameNge = 'DEPTH_CHAMFER', sValue = '0', sDescriptionShort = 'Depth Chamfer', sDescriptionLong = 'Depth of the V-Mill to execute chamfers on cut-edges', sType = 'd', sMessageId = '', sMinUserLevel = '1'},
|
||||
{ sName = 'dOverMaterial', sNameNge = 'OVERMAT', sValue = '0', sDescription = 'Overmaterial', sType = 'd'},
|
||||
{ sName = 'bForceStrip', sNameNge = 'FORCE_STRIP', sValue = '0', sDescriptionShort = '', sDescriptionLong = '', sType = 'b', sMessageId = '', sMinUserLevel = '1'},
|
||||
{ sName = 'dStripWidth', sNameNge = 'STRIP_WIDTH', sValue = '0', sDescriptionShort = '', sDescriptionLong = '', sType = 'd', sMessageId = '', sMinUserLevel = '1'},
|
||||
{ sName = 'dExtendArc', sNameNge = 'EXTEND_ARC', sValue = '0', sDescriptionShort = '', sDescriptionLong = '', sType = 'd', sMessageId = '', sMinUserLevel = '1'},
|
||||
{ sName = 'sActivateDouble', sNameNge = 'DOUBLE', sValue = 'AUTO', sType = 'combo', sMinUserLevel = '1',
|
||||
Choices = { { sValue = 'AUTO', sDescriptionShort = '', sDescriptionLong = '', sMessageId = ''},
|
||||
{ sValue = 'NEVER', sDescriptionShort = '', sDescriptionLong = '', sMessageId = ''}}},
|
||||
}
|
||||
}
|
||||
|
||||
return STR0009Data
|
||||
@@ -23,7 +23,7 @@ end
|
||||
-------------------------------------------------------------------------------------------------------------
|
||||
function TAILCUT.Make( bAddMachining, Proc, Part, CustomParameters)
|
||||
local StrategyLib = {}
|
||||
StrategyLib.Config = require( 'TAILCUT\\TAILCUTConfig')
|
||||
StrategyLib.Config = STRATEGIES_CONFIG[CustomParameters.sStrategyId]
|
||||
Strategy.sName = StrategyLib.Config.sStrategyId
|
||||
Strategy.Parameters = BeamLib.LoadCustomParametersInStrategy( Proc, CustomParameters, StrategyLib.Config)
|
||||
Strategy.SplitStrategy = {}
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
{
|
||||
"sStrategyId": "TAILCUT",
|
||||
"Parameters" : [
|
||||
{
|
||||
"sName": "dDepthChamfer",
|
||||
"sNameNge": "DEPTH_CHAMFER",
|
||||
"sValue": "0",
|
||||
"sDescriptionShort": "Depth Chamfer",
|
||||
"sDescriptionLong": "Depth of the V-Mill to execute chamfers on cut-edges",
|
||||
"sType": "d",
|
||||
"sMessageId": " ",
|
||||
"sMinUserLevel": "1"
|
||||
},
|
||||
{
|
||||
"sName": "bForceChainSaw",
|
||||
"sNameNge": "FORCE_CHAIN",
|
||||
"sValue": "false",
|
||||
"sDescriptionShort": "Force to use chain saw",
|
||||
"sDescriptionLong": "Force to use chain saw",
|
||||
"sType": "b",
|
||||
"sMessageId": " ",
|
||||
"sMinUserLevel": "1"
|
||||
},
|
||||
{
|
||||
"sName": "bExecutePreCut",
|
||||
"sNameNge": "EXEC_PRECUT",
|
||||
"sValue": "true",
|
||||
"sDescriptionShort": "Force to add PreCuts",
|
||||
"sDescriptionLong": "Autocam will apply a machining on the theoric zero, to avoid collision if the theoric piece length doesn't correspond to the real length",
|
||||
"sType": "b",
|
||||
"sMessageId": " ",
|
||||
"sMinUserLevel": "1"
|
||||
},
|
||||
{
|
||||
"sName": "bFinishWithMill",
|
||||
"sNameNge": "MILL_FINISH",
|
||||
"sValue": "true",
|
||||
"sDescriptionShort": "Finish with mill",
|
||||
"sDescriptionLong": "Use a mill to finish the surface if split with chain saw",
|
||||
"sType": "b",
|
||||
"sMessageId": " ",
|
||||
"sMinUserLevel": "1"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
-- Parametri configurabili da cliente per strategia: TAILCUT
|
||||
|
||||
local TAILCUTData = {
|
||||
sStrategyId = 'TAILCUT',
|
||||
Parameters = {
|
||||
{ sName = 'bMakeChamfer', sValue = 'false', sDescriptionShort = 'Execute Chamfer', sDescriptionLong = 'Use the V-Mill to execute chamfers on cut-edges', sType = 'b', sMessageId = '', sMinUserLevel = '1'},
|
||||
{ sName = 'bForceChainSaw', sValue = 'false', sDescriptionShort = 'Force to use chain saw', sDescriptionLong = 'Force to use chain saw', sType = 'b', sMessageId = '', sMinUserLevel = '1'},
|
||||
{ sName = 'bExecutePreCut', sValue = 'true', sDescriptionShort = 'Force to add PreCuts', sDescriptionLong = "Autocam will apply a machining on the theoric zero, to avoid collision if the theoric piece length doesn't correspond to the real length", sType = 'b', sMessageId = '', sMinUserLevel = '1'},
|
||||
{ sName = 'bFinishWithMill', sValue = 'true', sDescriptionShort = 'Finish with mill', sDescriptionLong = 'Use a mill to finish the surface if split with chain saw', sType = 'b', sMessageId = '', sMinUserLevel = '1'}
|
||||
}
|
||||
}
|
||||
|
||||
return TAILCUTData
|
||||
Reference in New Issue
Block a user