From 69f9669a5c94337d50fae3bc04752701a97753ad Mon Sep 17 00:00:00 2001 From: "andrea.villa" Date: Wed, 15 Oct 2025 08:26:27 +0200 Subject: [PATCH 01/10] Prime modifiche nuova gestione tagli testa e coda --- LuaLibs/BasicCustomerStrategies.lua | 10 ++++++++-- LuaLibs/BeamExec.lua | 12 +++++------- LuaLibs/FeatureLib.lua | 18 +++++++++++++++-- Strategies/AvailableStrategyList.json | 28 +++++++-------------------- Strategies/Strategies.ini | 4 ---- 5 files changed, 36 insertions(+), 36 deletions(-) diff --git a/LuaLibs/BasicCustomerStrategies.lua b/LuaLibs/BasicCustomerStrategies.lua index debcff6..ebb9f66 100644 --- a/LuaLibs/BasicCustomerStrategies.lua +++ b/LuaLibs/BasicCustomerStrategies.lua @@ -79,7 +79,13 @@ local function GetStrategies_Essetre( Proc) --------------------------------------------------------------------- -- Feature : Cut (1-10) elseif ID.IsCut( Proc) then - Strategies = { { sStrategyId = 'STR0002'}, { sStrategyId = 'STR0005'}} + if Proc.Topology.sName == 'Cut-1-Through' then + Strategies = { { sStrategyId = 'STR0002'}, { sStrategyId = 'STR0005'}} + elseif Proc.Topology.sName == 'HeadCut' then + Strategies = { { sStrategyId = 'HEADCUT'}} + elseif Proc.Topology.sName == 'TailCut' then + Strategies = { { sStrategyId = 'TAILCUT'}} + end --------------------------------------------------------------------- -- Feature : Longitudinal Cut (0-10) elseif ID.IsLongitudinalCut( Proc) then @@ -434,7 +440,7 @@ end local function GetParameters_Essetre( Proc, sStrategyIdToGet) local Parameters = {} --###---###---###---###---###---###---###---###---###---###---###---###---###-- - -- Feature : HeadCut (1-340) + -- Feature : HeadCut if ID.IsHeadCut( Proc) then -- Per Essetre non esiste il taglio di testa, quindi si leggono le variabili Q sul processing che coincide con il taglio di testa if sStrategyIdToGet == 'HEADCUT' then diff --git a/LuaLibs/BeamExec.lua b/LuaLibs/BeamExec.lua index 88e3414..ad08c21 100644 --- a/LuaLibs/BeamExec.lua +++ b/LuaLibs/BeamExec.lua @@ -789,8 +789,7 @@ local function GetFeatureInfoAndDependency( vProcSingleRot, Part) -- non si controlla la feature con se stessa o se feature disabilitata if i ~= j and ProcB.nFlg ~= 0 then -- verifico se il taglio può essere saltato perchè è nella stessa posizione del taglio di testa - if ID.IsHeadCut( Proc) and ProcB.Topology.sFamily == 'Cut' and - AreSameVectorApprox( ProcB.Faces[1].vtN, X_AX()) and abs( ProcB.Faces[1].ptCenter:getX() - Part.b3Part:getMax():getX()) < 10 * GEO.EPS_SMALL then + if ID.IsHeadCut( Proc) and ProcB.Topology.sFamily == 'HeadCut' then if not Proc.SlaveProcIndexes then Proc.SlaveProcIndexes = {} end @@ -799,8 +798,7 @@ local function GetFeatureInfoAndDependency( vProcSingleRot, Part) ProcB.nFlg = 0 end -- verifico se il taglio può essere saltato perchè è nella stessa posizione del taglio di coda - if ID.IsTailCut( Proc) and ProcB.Topology.sFamily == 'Cut' and - AreSameVectorApprox( ProcB.Faces[1].vtN, -X_AX()) and abs( ProcB.Faces[1].ptCenter:getX() - Part.b3Part:getMin():getX()) < 10 * GEO.EPS_SMALL then + if ID.IsTailCut( Proc) and ProcB.Topology.sFamily == 'TailCut' then if not Proc.SlaveProcIndexes then Proc.SlaveProcIndexes = {} end @@ -947,10 +945,10 @@ local function CalculateStrategies( vProcSingleRot, Part) -- si leggono allora eventuali parametri di default scritti come info sulla feature if Proc.AvailableStrategies.bIsBasicStrategy then -- si recuperano eventuali parametri custom - for i = 1, #Proc.AvailableStrategies do + for j = 1, #Proc.AvailableStrategies do -- essendo una strategia basic, la lista dei parametri custom dovrebbe essere sempre vuota. Si leggono ora - if not Proc.AvailableStrategies[i].ParameterList then - Proc.AvailableStrategies[i].ParameterList = BCS.GetParametersFromBasicCustomerStrategies( Proc, Proc.AvailableStrategies[i].sStrategyId) + if not Proc.AvailableStrategies[j].ParameterList then + Proc.AvailableStrategies[j].ParameterList = BCS.GetParametersFromBasicCustomerStrategies( Proc, Proc.AvailableStrategies[j].sStrategyId) end end -- si riprocessano le strategie dopo che sono stati letti i parametri diff --git a/LuaLibs/FeatureLib.lua b/LuaLibs/FeatureLib.lua index 178cb25..dc863f5 100644 --- a/LuaLibs/FeatureLib.lua +++ b/LuaLibs/FeatureLib.lua @@ -176,7 +176,16 @@ function FeatureLib.ClassifyTopology( Proc, Part) local sFamily local bIsThrough - if Proc.nFct == 1 and ( bIsFeatureCuttingEntireSection or bIsFeatureCuttingEntireLength) then + + -- caso speciale taglio di testa + if Proc.nFct == 1 and AreSameVectorApprox( Proc.Faces[1].vtN, X_AX()) and abs( Proc.Faces[1].ptCenter:getX() - Part.b3Part:getMax():getX()) < 10 * GEO.EPS_SMALL then + sFamily = 'HeadCut' + bIsThrough = true + -- caso speciale taglio di coda + elseif Proc.nFct == 1 and AreSameVectorApprox( Proc.Faces[1].vtN, -X_AX()) and abs( Proc.Faces[1].ptCenter:getX() - Part.b3Part:getMin():getX()) < 10 * GEO.EPS_SMALL then + sFamily = 'TailCut' + bIsThrough = true + elseif Proc.nFct == 1 and ( bIsFeatureCuttingEntireSection or bIsFeatureCuttingEntireLength) then sFamily = 'Cut' bIsThrough = true elseif Proc.nFct == 1 then @@ -227,7 +236,12 @@ function FeatureLib.ClassifyTopology( Proc, Part) FeatureTopology.sFamily = sFamily FeatureTopology.bIsThrough = bIsThrough FeatureTopology.bAllRightAngles = bAllRightAngles - FeatureTopology.sName = GetTopologyName( sFamily, Proc.nFct, bIsThrough) + -- caso speciale taglio testa e coda + if FeatureTopology.sFamily == 'HeadCut' or FeatureTopology.sFamily == 'TailCut' then + FeatureTopology.sName = FeatureTopology.sFamily + else + FeatureTopology.sName = GetTopologyName( sFamily, Proc.nFct, bIsThrough) + end FeatureTopology.AdjacencyMatrix = vAdj -- feature che necessita di essere catalogata, ma non si capisce come else diff --git a/Strategies/AvailableStrategyList.json b/Strategies/AvailableStrategyList.json index 885806c..c1f2e46 100644 --- a/Strategies/AvailableStrategyList.json +++ b/Strategies/AvailableStrategyList.json @@ -5,8 +5,14 @@ "nPrc": 10, "nGrp": 1, "TopologyList" : [ - { "sName": "Feature", + { "sName": "Cut-1-Through", "StrategyList" : [ { "sStrategyId": "STR0002" }, { "sStrategyId": "STR0005" } ] + }, + { "sName": "HeadCut", + "StrategyList" : [ { "sStrategyId": "HEADCUT" } ] + }, + { "sName": "TailCut", + "StrategyList" : [ { "sStrategyId": "TAILCUT" } ] } ] }, @@ -696,26 +702,6 @@ } ] }, - { - "sName":"HeadCut", - "nPrc": 340, - "nGrp": 1, - "TopologyList" : [ - { "sName": "Feature", - "StrategyList" : [ { "sStrategyId": "HEADCUT" } ] - } - ] - }, - { - "sName":"TailCut", - "nPrc": 350, - "nGrp": 1, - "TopologyList" : [ - { "sName": "Feature", - "StrategyList" : [ { "sStrategyId": "TAILCUT" } ] - } - ] - }, { "sName":"Variant", "nPrc": 900, diff --git a/Strategies/Strategies.ini b/Strategies/Strategies.ini index 4c6baa0..fac84cb 100644 --- a/Strategies/Strategies.ini +++ b/Strategies/Strategies.ini @@ -149,10 +149,6 @@ STR0015 = Profilo arcuato (Head Cambered Profile) 251,0,Feature, ; Feature : Aperture 252,0,Feature, -; Feature : HEADCUT -340,0,Feature,HEADCUT -; Feature : TAILCUT -350,0,Feature,TAILCUT ; Feature : Variant 900,0,Feature, ; Feature Decor From d7fac47297b381eafd736aad7079ab126288fc49 Mon Sep 17 00:00:00 2001 From: "andrea.villa" Date: Thu, 16 Oct 2025 16:08:12 +0200 Subject: [PATCH 02/10] =?UTF-8?q?Piccola=20modifica=20al=20log=20con=20scr?= =?UTF-8?q?ittura=20del=20rating=20con=201=20decimale.=20Il=20rating=20non?= =?UTF-8?q?=20=C3=A8=20pi=C3=B9=20un=20intero?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- LuaLibs/Logs.lua | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/LuaLibs/Logs.lua b/LuaLibs/Logs.lua index d62b07a..841f361 100644 --- a/LuaLibs/Logs.lua +++ b/LuaLibs/Logs.lua @@ -79,8 +79,8 @@ function Logs.WriteFeaturesLog( ProcessingsOnPart, PartInfo) end -- se c'è una chosen strategy, si aggiunge prefisso '*' per indicare nel log qual è la strategia che è stata scelta local nIndexBestStrategy = ProcessingsOnPart.Rotation[nRotLog][ProcLog].nIndexBestStrategy or 0 - local sLogLineProc = EgtIf( nIndexBestStrategy == nCountStrategies, '*', '') .. - tostring( ProcessingsOnPart.Rotation[nRotLog][ProcLog].AvailableStrategies[nCountStrategies].Result.dCompositeRating) ..' (' .. + local dRating = EgtNumToString( ProcessingsOnPart.Rotation[nRotLog][ProcLog].AvailableStrategies[nCountStrategies].Result.dCompositeRating, -1) + local sLogLineProc = EgtIf( nIndexBestStrategy == nCountStrategies, '*', '') .. dRating ..' (' .. tostring( ProcessingsOnPart.Rotation[nRotLog][ProcLog].AvailableStrategies[nCountStrategies].sStrategyId) .. ')' .. sStatusStrategy .. ' |' while string.len( sLogLineProc) <= 20 do @@ -138,8 +138,8 @@ function Logs.WriteMatrixLog( ProcessingsOnPart, PartInfo) if PartInfo.CombinationList.Rotations[nRotLog] == 1 then if ProcessingsOnPart.Rotation[nRotLog][ProcLog].ChosenStrategy then local sStatusStrategy = EgtIf( ProcessingsOnPart.Rotation[nRotLog][ProcLog].ChosenStrategy.Result.sStatus == 'Completed', 'C', 'P') - local sLogLineProc = tostring( ProcessingsOnPart.Rotation[nRotLog][ProcLog].ChosenStrategy.Result.dCompositeRating) .. - ' (' .. tostring( ProcessingsOnPart.Rotation[nRotLog][ProcLog].ChosenStrategy.sStrategyId) .. ')' .. sStatusStrategy .. ' |' + local dRating = EgtNumToString( ProcessingsOnPart.Rotation[nRotLog][ProcLog].ChosenStrategy.Result.dCompositeRating, -1) + local sLogLineProc = dRating .. ' (' .. tostring( ProcessingsOnPart.Rotation[nRotLog][ProcLog].ChosenStrategy.sStrategyId) .. ')' .. sStatusStrategy .. ' |' while string.len( sLogLineProc) <= 20 do sLogLineProc = ' ' .. sLogLineProc end @@ -159,15 +159,15 @@ end ------------------------------------------------------------------------------------------------------------- function Logs.WriteCombinationLog( CombinationsList, BestCombination) EgtOutLog( ' === === === === === === === === === === COMBINATIONS === === === === === === ') - EgtOutLog( ' COMBI (UNL) | RATING | COMPLETE | NO COMPL | NO EXEC | ROTATE |') + EgtOutLog( ' COMBI (UNL) POS | RATING | COMPLETE | NO COMPL | NO EXEC | ROTATE |') EgtOutLog( '------------------------------------------------------------------------------') for CombiLog = 1, #CombinationsList do local sPartPosition = EgtIf( CombinationsList[CombiLog].bPartInCombiIsInverted, 'INV', 'ORI') - local sLogLine = ' ' .. CombinationsList[CombiLog].sBitIndexCombination .. ' (' .. CombinationsList[CombiLog].nUnloadPos .. ') ' .. sPartPosition .. ' |' + local sLogLine = ' ' .. CombinationsList[CombiLog].sBitIndexCombination .. ' (' .. CombinationsList[CombiLog].nUnloadPos .. ') ' .. sPartPosition .. ' |' -- rating - local sOtherField = tostring( CombinationsList[CombiLog].dTotalRating) .. ' |' - while string.len( sOtherField) <= 11 do + local sOtherField = EgtNumToString( CombinationsList[CombiLog].dTotalRating, - 3) .. ' |' + while string.len( sOtherField) <= 15 do sOtherField = ' ' .. sOtherField end sLogLine = sLogLine .. sOtherField From c0cab77689f37f0805aab40e8f7344275c7429f8 Mon Sep 17 00:00:00 2001 From: "luca.mazzoleni" Date: Thu, 16 Oct 2025 18:56:55 +0200 Subject: [PATCH 03/10] - in BLADETOWASTE peggioramento tempo cubetti portato a 2 --- StrategyLibs/BLADETOWASTE.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/StrategyLibs/BLADETOWASTE.lua b/StrategyLibs/BLADETOWASTE.lua index 1b86485..7818ef4 100644 --- a/StrategyLibs/BLADETOWASTE.lua +++ b/StrategyLibs/BLADETOWASTE.lua @@ -907,7 +907,7 @@ local function CutWithDicing( Proc, Part, OptionalParameters) Result.dCompletionPercentage = 100 Result.dQuality = FeatureLib.GetStrategyQuality( TOOLS[nToolIndex].sFamily) Result.dTimeToMachineOriginal = FeatureLib.GetStrategyTimeToMachine( Machinings) - Result.dTimeToMachine = Result.dTimeToMachineOriginal * 1.3 + Result.dTimeToMachine = Result.dTimeToMachineOriginal * 2 Result.dMRR = ( FeatureInfo.dFeatureVolume / Result.dTimeToMachine) / pow( 10, 6) else Result = FeatureLib.GetStrategyResultNotApplicable() From 66b273354eb67270c847c10fc86ee27bdb29254c Mon Sep 17 00:00:00 2001 From: "andrea.villa" Date: Mon, 20 Oct 2025 10:33:35 +0200 Subject: [PATCH 04/10] =?UTF-8?q?Tagli=20testa=20e=20coda=20si=20riconosco?= =?UTF-8?q?no=20da=20topologia=20e=20non=20pi=C3=B9=20da=20Prc=3D340/350?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- LuaLibs/BasicCustomerStrategies.lua | 24 ++++++------- LuaLibs/BeamExec.lua | 52 +++++++++------------------ LuaLibs/BeamLib.lua | 4 +-- LuaLibs/FeatureLib.lua | 7 +--- LuaLibs/Identity.lua | 12 ++----- Strategies/AvailableStrategyList.json | 3 ++ 6 files changed, 35 insertions(+), 67 deletions(-) diff --git a/LuaLibs/BasicCustomerStrategies.lua b/LuaLibs/BasicCustomerStrategies.lua index ebb9f66..7862b18 100644 --- a/LuaLibs/BasicCustomerStrategies.lua +++ b/LuaLibs/BasicCustomerStrategies.lua @@ -69,17 +69,17 @@ local function GetStrategies_Essetre( Proc) local Strategies = {} --------------------------------------------------------------------- - -- Feature : Cut (1-340) + -- Feature : Cut (1-10) if ID.IsHeadCut( Proc) then Strategies = { { sStrategyId = 'HEADCUT'}} --------------------------------------------------------------------- - -- Feature : Cut (2-350) + -- Feature : Cut (2-10) elseif ID.IsTailCut( Proc) then Strategies = { { sStrategyId = 'TAILCUT'}} --------------------------------------------------------------------- -- Feature : Cut (1-10) elseif ID.IsCut( Proc) then - if Proc.Topology.sName == 'Cut-1-Through' then + if Proc.Topology.sName == 'Cut-1-Through' or Proc.Topology.sName == 'Bevel-1-Through' then Strategies = { { sStrategyId = 'STR0002'}, { sStrategyId = 'STR0005'}} elseif Proc.Topology.sName == 'HeadCut' then Strategies = { { sStrategyId = 'HEADCUT'}} @@ -444,17 +444,13 @@ local function GetParameters_Essetre( Proc, sStrategyIdToGet) if ID.IsHeadCut( Proc) then -- Per Essetre non esiste il taglio di testa, quindi si leggono le variabili Q sul processing che coincide con il taglio di testa if sStrategyIdToGet == 'HEADCUT' then - -- eventuali informazioni da recuperare sulla feature sostituita - if Proc.SlaveProcIndexes then - local idSlaveProc = PROCESSINGS[Proc.nIndexPartInParts].Rotation[Proc.nCurrentRotation][Proc.SlaveProcIndexes[1]].id - local dDepthChamfer = EgtGetInfo( idSlaveProc or GDB_ID.NULL, 'Q06', 'd') or 0 - table.insert( Parameters, { sName = 'dDepthChamfer', sValue = dDepthChamfer, sType = 'd'}) - local dCuttingStrategy = EgtGetInfo( idSlaveProc or GDB_ID.NULL, 'Q05', 'd') or 0 - local bForceChainSaw = dCuttingStrategy > 0 - table.insert( Parameters, { sName = 'bForceChainSaw', sValue = bForceChainSaw, sType = 'b'}) - local bFinishWithMill = dCuttingStrategy == 2 - table.insert( Parameters, { sName = 'bFinishWithMill', sValue = bFinishWithMill, sType = 'b'}) - end + local dDepthChamfer = EgtGetInfo( Proc.id or GDB_ID.NULL, 'Q06', 'd') or 0 + table.insert( Parameters, { sName = 'dDepthChamfer', sValue = dDepthChamfer, sType = 'd'}) + local dCuttingStrategy = EgtGetInfo( Proc.id or GDB_ID.NULL, 'Q05', 'd') or 0 + local bForceChainSaw = dCuttingStrategy > 0 + table.insert( Parameters, { sName = 'bForceChainSaw', sValue = bForceChainSaw, sType = 'b'}) + local bFinishWithMill = dCuttingStrategy == 2 + table.insert( Parameters, { sName = 'bFinishWithMill', sValue = bFinishWithMill, sType = 'b'}) end --###---###---###---###---###---###---###---###---###---###---###---###---###-- -- Feature : Cut (1-10) diff --git a/LuaLibs/BeamExec.lua b/LuaLibs/BeamExec.lua index 09054ae..88c4b9d 100644 --- a/LuaLibs/BeamExec.lua +++ b/LuaLibs/BeamExec.lua @@ -586,24 +586,6 @@ local function GetFeatureForcedStrategy( Proc) return nil end -------------------------------------------------------------------------------------------------------------- -local function AdjustPrcGrp( Proc, bPartInCombiIsInverted) - local nNewPrc = { nPrc = Proc.nPrc, nGrp = Proc.nGrp} - - -- se pezzo invertito - if bPartInCombiIsInverted then - -- il taglio di testa diventa taglio di coda - if ID.IsHeadCut( Proc) then - _, nNewPrc.nPrc, nNewPrc.nGrp = ID.IsTailCut( Proc) - -- il taglio di coda diventa taglio di testa - elseif ID.IsTailCut( Proc) then - _, nNewPrc.nPrc, nNewPrc.nGrp = ID.IsHeadCut( Proc) - end - end - - return nNewPrc.nPrc, nNewPrc.nGrp -end - ------------------------------------------------------------------------------------------------------------- local function CollectFeatures( Part, dRotIndex) -- recupero le feature @@ -632,8 +614,6 @@ local function CollectFeatures( Part, dRotIndex) Proc.idFeature = EgtGetInfo( Proc.id, 'PRID', 's') or Proc.id Proc.nGrp = nGrp Proc.nPrc = nPrc - -- aggiorno info feature in caso di pezzo invertito - Proc.nPrc, Proc.nGrp = AdjustPrcGrp( Proc, dRotIndex > 4) Proc.nFlg = 1 Proc.nFct = EgtSurfTmFacetCount( ProcId) or 0 Proc.idCut = EgtGetInfo( EgtGetParent( EgtGetParent( ProcId)), 'CUTID', 'i') or 0 @@ -788,23 +768,23 @@ local function GetFeatureInfoAndDependency( vProcSingleRot, Part) local ProcB = vProcSingleRot[j] -- non si controlla la feature con se stessa o se feature disabilitata if i ~= j and ProcB.nFlg ~= 0 then - -- verifico se il taglio può essere saltato perchè è nella stessa posizione del taglio di testa - if ID.IsHeadCut( Proc) and ProcB.Topology.sFamily == 'HeadCut' then - if not Proc.SlaveProcIndexes then - Proc.SlaveProcIndexes = {} - end - table.insert( Proc.SlaveProcIndexes, j) - ProcB.nIndexMasterProc = i - ProcB.nFlg = 0 + -- verifico se il taglio aggiunto manualmente può essere saltato perchè nella stessa posizione c'è un altro taglio di testa + if ID.IsHeadCut( Proc) and ( ID.IsHeadCut( ProcB) and EgtGetName( ProcB.id) == 'StartCut') then + if not Proc.SlaveProcIndexes then + Proc.SlaveProcIndexes = {} + end + table.insert( Proc.SlaveProcIndexes, j) + ProcB.nIndexMasterProc = i + ProcB.nFlg = 0 end - -- verifico se il taglio può essere saltato perchè è nella stessa posizione del taglio di coda - if ID.IsTailCut( Proc) and ProcB.Topology.sFamily == 'TailCut' then - if not Proc.SlaveProcIndexes then - Proc.SlaveProcIndexes = {} - end - table.insert( Proc.SlaveProcIndexes, j) - ProcB.nIndexMasterProc = i - ProcB.nFlg = 0 + -- verifico se il taglio aggiunto manualmente può essere saltato perchè nella stessa posizione c'è un altro taglio di coda + if ID.IsTailCut( Proc) and ( ID.IsTailCut( ProcB) and EgtGetName( ProcB.id) == 'EndCut') then + if not Proc.SlaveProcIndexes then + Proc.SlaveProcIndexes = {} + end + table.insert( Proc.SlaveProcIndexes, j) + ProcB.nIndexMasterProc = i + ProcB.nFlg = 0 end -- verifico se feature tipo LapJoint è attraversata da almeno un foro if ( Proc.Topology.sFamily == 'Pocket' or Proc.Topology.sFamily == 'Tunnel' or Proc.Topology.sFamily == 'Groove' or ID.IsMortise( Proc)) and diff --git a/LuaLibs/BeamLib.lua b/LuaLibs/BeamLib.lua index f3686ba..350a6e6 100644 --- a/LuaLibs/BeamLib.lua +++ b/LuaLibs/BeamLib.lua @@ -35,7 +35,7 @@ function BeamLib.AddPartStartFace( PartId, b3Solid) -- applico gli opportuni attributi di feature EgtSetName( nStmId, 'StartCut') EgtSetInfo( nStmId, 'GRP', 1) - EgtSetInfo( nStmId, 'PRC', 340) + EgtSetInfo( nStmId, 'PRC', 10) -- ex 340 return true end @@ -60,7 +60,7 @@ function BeamLib.AddPartEndFace( PartId, b3Solid) -- applico gli opportuni attributi di feature EgtSetName( nStmId, 'EndCut') EgtSetInfo( nStmId, 'GRP', 2) - EgtSetInfo( nStmId, 'PRC', 350) + EgtSetInfo( nStmId, 'PRC', 10) -- ex 350 return true end diff --git a/LuaLibs/FeatureLib.lua b/LuaLibs/FeatureLib.lua index f5c91fe..65533c3 100644 --- a/LuaLibs/FeatureLib.lua +++ b/LuaLibs/FeatureLib.lua @@ -53,13 +53,8 @@ end --------------------------------------------------------------------- -- recupero topologia della feature function FeatureLib.NeedTopologyFeature( Proc, Part) - -- feature Egalware con calcolo topologia SEMPRE da geometria - if ID.IsHeadCut( Proc) then -- (1-340) - return true - elseif ID.IsTailCut( Proc) then -- (2-350) - return true -- feature BTL con calcolo topologia SEMPRE da geometria - elseif ID.IsCut( Proc) then -- (1-10) + if ID.IsCut( Proc) then -- (1-10) return true elseif ID.IsLongitudinalCut( Proc) then -- (0-10) return true diff --git a/LuaLibs/Identity.lua b/LuaLibs/Identity.lua index d77691e..94ce9c8 100644 --- a/LuaLibs/Identity.lua +++ b/LuaLibs/Identity.lua @@ -6,22 +6,16 @@ local Identity = {} --------------------------------------------------------------------- ------------------------- EGALWARE FEATURES ------------------------ +------------------------ SPECIAL TOPOLOGY ------------------------- --------------------------------------------------------------------- -- Feature : Head Cut function Identity.IsHeadCut( Proc) - local bIdentity = ( Proc.nGrp == 1 and Proc.nPrc == 340) - local idPrc = 340 - local idGrp = 1 - return bIdentity, idPrc, idGrp + return Identity.IsCut( Proc) and Proc.Topology.sName == 'HeadCut' end --------------------------------------------------------------------- -- Feature : Tail Cut function Identity.IsTailCut( Proc) - local bIdentity = ( Proc.nGrp == 2 and Proc.nPrc == 350) - local idPrc = 350 - local idGrp = 2 - return bIdentity, idPrc, idGrp + return Identity.IsCut( Proc) and Proc.Topology.sName == 'TailCut' end --------------------------------------------------------------------- diff --git a/Strategies/AvailableStrategyList.json b/Strategies/AvailableStrategyList.json index 396510b..b98e6b8 100644 --- a/Strategies/AvailableStrategyList.json +++ b/Strategies/AvailableStrategyList.json @@ -8,6 +8,9 @@ { "sName": "Cut-1-Through", "StrategyList" : [ { "sStrategyId": "STR0002" }, { "sStrategyId": "STR0005" } ] }, + { "sName": "Bevel-1-Through", + "StrategyList" : [ { "sStrategyId": "STR0002" }, { "sStrategyId": "STR0005" } ] + }, { "sName": "HeadCut", "StrategyList" : [ { "sStrategyId": "HEADCUT" } ] }, From 00eeb482dd124e9bb2640cbe188f3956b9466045 Mon Sep 17 00:00:00 2001 From: "andrea.villa" Date: Tue, 21 Oct 2025 09:40:19 +0200 Subject: [PATCH 05/10] - dMaxWasteLength, dMaxWasteVolume, bReduceBladePath diventano parametri generali - SPLITCUT chiama BladeToWaste in caso di taglio con lama ( Motosega e casi speciali ancora da gestire) - HEADCUT e TAILCUT adeguate a nuovo funzionamento SPLITCUT --- Strategies/GeneralParameters.json | 21 +- Strategies/Standard/HEADCUT/HEADCUT.json | 15 +- Strategies/Standard/HEADCUT/HEADCUT.lua | 33 +-- Strategies/Standard/STR0001/STR0001.json | 15 +- Strategies/Standard/STR0005/STR0005.json | 47 ++-- Strategies/Standard/STR0006/STR0006.json | 45 ++-- Strategies/Standard/STR0007/STR0007.json | 45 ++-- Strategies/Standard/STR0008/STR0008.json | 45 ++-- Strategies/Standard/STR0012/STR0012.json | 45 ++-- Strategies/Standard/STR0015/STR0015.json | 27 +- Strategies/Standard/TAILCUT/TAILCUT.json | 45 ++-- Strategies/Standard/TAILCUT/TAILCUT.lua | 64 +++-- StrategyLibs/SPLITCUT.lua | 307 ++--------------------- 13 files changed, 205 insertions(+), 549 deletions(-) diff --git a/Strategies/GeneralParameters.json b/Strategies/GeneralParameters.json index 3c8e942..eee8c9e 100644 --- a/Strategies/GeneralParameters.json +++ b/Strategies/GeneralParameters.json @@ -1,7 +1,7 @@ [ { - "nGroup": "1", + "nGroup": "MACHINE", "sName": "GEN_sPiecesLoadingPosition", "sNameNge": "GEN_PIECES_LOADING", "sValue": "BEST_POSITION", @@ -31,7 +31,7 @@ ] }, { - "nGroup": "1", + "nGroup": "MACHINE", "sName": "GEN_sPieceRotation", "sNameNge": "GEN_PIECE_ROTATION", "sValue": "IF_NECESSARY", @@ -61,7 +61,7 @@ ] }, { - "nGroup": "1", + "nGroup": "MACHINE", "sName": "GEN_sMachiningStrategy", "sNameNge": "GEN_MACHINING_STRATEGY", "sValue": "AUTO", @@ -91,7 +91,18 @@ ] }, { - "nGroup": "2", + "nGroup": "MACHINING STRATEGY", + "sName": "GEN_bReduceBladePath", + "sNameNge": "REDUCE_BLADE_PATH", + "sValue": "false", + "sDescriptionShort": "Use entire blade diameter to shorten path", + "sDescriptionLong": "", + "sType": "b", + "sMessageId": " ", + "sMinUserLevel": "5" + }, + { + "nGroup": "MACHINING STRATEGY", "sName": "GEN_dMaxWasteLength", "sNameNge": "GEN_MAX_WASTE_LENGTH", "sValue": "300", @@ -102,7 +113,7 @@ "sMinUserLevel": "5" }, { - "nGroup": "2", + "nGroup": "MACHINING STRATEGY", "sName": "GEN_dMaxWasteVolume", "sNameNge": "GEN_MAX_WASTE_VOLUME", "sValue": "6000000", diff --git a/Strategies/Standard/HEADCUT/HEADCUT.json b/Strategies/Standard/HEADCUT/HEADCUT.json index ba26a06..1c49971 100644 --- a/Strategies/Standard/HEADCUT/HEADCUT.json +++ b/Strategies/Standard/HEADCUT/HEADCUT.json @@ -22,16 +22,6 @@ "sMessageId": " ", "sMinUserLevel": "1" }, - { - "sName": "bReduceBladePath", - "sNameNge": "REDUCE_BLADE_PATH", - "sValue": "false", - "sDescriptionShort": "Use entire blade diameter to shorten path", - "sDescriptionLong": "", - "sType": "b", - "sMessageId": " ", - "sMinUserLevel": "1" - }, { "sName": "bExecutePreCut", "sNameNge": "EXEC_PRECUT", @@ -61,6 +51,11 @@ "sName": "dMaxWasteVolume", "sSource": "GEN_dMaxWasteVolume", "sMinUserLevel": "5" + }, + { + "sName": "bReduceBladePath", + "sSource": "GEN_bReduceBladePath", + "sMinUserLevel": "5" } ] } diff --git a/Strategies/Standard/HEADCUT/HEADCUT.lua b/Strategies/Standard/HEADCUT/HEADCUT.lua index a5905c8..ef3f568 100644 --- a/Strategies/Standard/HEADCUT/HEADCUT.lua +++ b/Strategies/Standard/HEADCUT/HEADCUT.lua @@ -32,6 +32,8 @@ function HEADCUT.Make( bAddMachining, Proc, Part, CustomParameters) Strategy.Result = {} Strategy.Machining = {} Strategy.Result.sInfo = '' + local OptionalParameters = { bForceChainSaw = Strategy.Parameters.bForceChainSaw, bReduceBladePath = Strategy.Parameters.bReduceBladePath, + dMaxWasteLength = Strategy.Parameters.dMaxWasteLength, dMaxWasteVolume = Strategy.Parameters.dMaxWasteVolume } local bAreAllMachiningsAdded = true -- si setta che è taglio di coda @@ -39,8 +41,8 @@ function HEADCUT.Make( bAddMachining, Proc, Part, CustomParameters) -- se abilitato, faccio tagli di PRECUT a zero (come SPLIT) if Strategy.Parameters.bExecutePreCut then - Strategy.SplitStrategy, Strategy.Result = SPLITCUT.GetStrategy( Proc, Part, Strategy.Parameters) - -- se non faccio tagli PRECUT, imposto tabella Result direttamente. Non serve verificare che riesca a rimuovere il materiale extra + Strategy.SplitStrategy, Strategy.Result = SPLITCUT.GetMachining( Proc, Part, OptionalParameters) + -- se non faccio tagli PRECUT, imposto tabella Result direttamente. Non serve verificare che riesca a rimuovere il materiale extra if not Strategy.SplitStrategy or #Strategy.SplitStrategy == 0 then Strategy.Result.sInfo = 'PreCut on head not possible' end @@ -55,27 +57,30 @@ function HEADCUT.Make( bAddMachining, Proc, Part, CustomParameters) -- se devo applicare le lavorazioni if bAddMachining then - - -- forzo nome feature, potrebbe essere stata invertita con taglio di coda - EgtSetName( Proc.id, 'StartCut') - -- inserimento smussi su spigoli del taglio if Strategy.Parameters.bMakeChamfer then MakeChamfer() end local MachiningsToAdd = {} - local bExecutePrecutOnly = false + local bExecutePrecutOnly = Part.dHeadOverMaterial < 20 -- se abilitato, faccio tagli di PRECUT a zero (come SPLIT) if Strategy.Parameters.bExecutePreCut then - if Part.dHeadOverMaterial < 10 then - bExecutePrecutOnly = true - Strategy.dOffset = 0 - else - Strategy.bIsPreCut = true - Strategy.dOffset = Part.dHeadOverMaterial + + if Strategy.SplitStrategy and #Strategy.SplitStrategy > 0 then + for i = 1, #Strategy.SplitStrategy do + local TempList = {} + TempList = Strategy.SplitStrategy[i] + if bExecutePrecutOnly then + TempList.dLongitudinalOffset = 0 + else + TempList.bIsPreCut = true + TempList.dLongitudinalOffset = Part.dHeadOverMaterial + end + + table.insert( MachiningsToAdd, TempList) + end end - MachiningsToAdd = SPLITCUT.Execute( Proc, Part, Strategy) end if not bExecutePrecutOnly then diff --git a/Strategies/Standard/STR0001/STR0001.json b/Strategies/Standard/STR0001/STR0001.json index 961d191..29fe0c1 100644 --- a/Strategies/Standard/STR0001/STR0001.json +++ b/Strategies/Standard/STR0001/STR0001.json @@ -42,16 +42,6 @@ "sMessageId": " ", "sMinUserLevel": "1" }, - { - "sName": "bReduceBladePath", - "sNameNge": "REDUCE_BLADE_PATH", - "sValue": "false", - "sDescriptionShort": "Use entire blade diameter to shorten path", - "sDescriptionLong": "", - "sType": "b", - "sMessageId": " ", - "sMinUserLevel": "1" - }, { "sName": "sCuttingStrategy", "sNameNge": "EXEC_TENON_SURF", @@ -118,6 +108,11 @@ "sName": "dMaxWasteVolume", "sSource": "GEN_dMaxWasteVolume", "sMinUserLevel": "5" + }, + { + "sName": "bReduceBladePath", + "sSource": "GEN_bReduceBladePath", + "sMinUserLevel": "5" } ] } \ No newline at end of file diff --git a/Strategies/Standard/STR0005/STR0005.json b/Strategies/Standard/STR0005/STR0005.json index 469542a..085d8d3 100644 --- a/Strategies/Standard/STR0005/STR0005.json +++ b/Strategies/Standard/STR0005/STR0005.json @@ -80,26 +80,6 @@ } ] }, - { - "sName": "dMaxWasteLength", - "sNameNge": "MAX_WASTE_LENGTH", - "sValue": "300", - "sDescriptionShort": "Max waste length", - "sDescriptionLong": "", - "sType": "d", - "sMessageId": " ", - "sMinUserLevel": "1" - }, - { - "sName": "dMaxWasteVolume", - "sNameNge": "MAX_WASTE_VOLUME", - "sValue": "6000000", - "sDescriptionShort": "Max waste volume", - "sDescriptionLong": "", - "sType": "d", - "sMessageId": " ", - "sMinUserLevel": "1" - }, { "sName": "bDisableDicing", "sNameNge": "DISABLE_DICING", @@ -113,23 +93,13 @@ { "sName": "bAllowFastCuts", "sNameNge": "ALLOW_FAST_CUTS", - "sValue": "true", + "sValue": "false", "sDescriptionShort": "Prioritize machining speed over quality", "sDescriptionLong": "", "sType": "b", "sMessageId": " ", "sMinUserLevel": "1" }, - { - "sName": "bReduceBladePath", - "sNameNge": "REDUCE_BLADE_PATH", - "sValue": "true", - "sDescriptionShort": "Use entire blade diameter to shorten path", - "sDescriptionLong": "", - "sType": "b", - "sMessageId": " ", - "sMinUserLevel": "1" - }, { "sName": "dStripWidth", "sNameNge": "STRIP_WIDTH", @@ -179,6 +149,21 @@ "sType": "d", "sMessageId": " ", "sMinUserLevel": "1" + }, + { + "sName": "dMaxWasteLength", + "sSource": "GEN_dMaxWasteLength", + "sMinUserLevel": "5" + }, + { + "sName": "dMaxWasteVolume", + "sSource": "GEN_dMaxWasteVolume", + "sMinUserLevel": "5" + }, + { + "sName": "bReduceBladePath", + "sSource": "GEN_bReduceBladePath", + "sMinUserLevel": "5" } ] } \ No newline at end of file diff --git a/Strategies/Standard/STR0006/STR0006.json b/Strategies/Standard/STR0006/STR0006.json index 49fe93d..ce22a37 100644 --- a/Strategies/Standard/STR0006/STR0006.json +++ b/Strategies/Standard/STR0006/STR0006.json @@ -32,36 +32,6 @@ "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": "bReduceBladePath", - "sNameNge": "REDUCE_BLADE_PATH", - "sValue": "false", - "sDescriptionShort": "Use entire blade diameter to shorten path", - "sDescriptionLong": "", - "sType": "b", - "sMessageId": " ", - "sMinUserLevel": "1" - }, { "sName": "sCuttingStrategy", "sNameNge": "EXEC_TENON_SURF", @@ -107,6 +77,21 @@ "sSubType": "MCH_TF.MILL", "sMessageId": " ", "sMinUserLevel": "1" + }, + { + "sName": "dMaxWasteLength", + "sSource": "GEN_dMaxWasteLength", + "sMinUserLevel": "5" + }, + { + "sName": "dMaxWasteVolume", + "sSource": "GEN_dMaxWasteVolume", + "sMinUserLevel": "5" + }, + { + "sName": "bReduceBladePath", + "sSource": "GEN_bReduceBladePath", + "sMinUserLevel": "5" } ] } \ No newline at end of file diff --git a/Strategies/Standard/STR0007/STR0007.json b/Strategies/Standard/STR0007/STR0007.json index 32b5f7c..a85faa6 100644 --- a/Strategies/Standard/STR0007/STR0007.json +++ b/Strategies/Standard/STR0007/STR0007.json @@ -52,36 +52,6 @@ "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": "bReduceBladePath", - "sNameNge": "REDUCE_BLADE_PATH", - "sValue": "false", - "sDescriptionShort": "Use entire blade diameter to shorten path", - "sDescriptionLong": "", - "sType": "b", - "sMessageId": " ", - "sMinUserLevel": "1" - }, { "sName": "sCuttingStrategy", "sNameNge": "EXEC_MORTISE_SURF", @@ -138,6 +108,21 @@ "sSubType": "MCH_TF.MILL", "sMessageId": " ", "sMinUserLevel": "1" + }, + { + "sName": "dMaxWasteLength", + "sSource": "GEN_dMaxWasteLength", + "sMinUserLevel": "5" + }, + { + "sName": "dMaxWasteVolume", + "sSource": "GEN_dMaxWasteVolume", + "sMinUserLevel": "5" + }, + { + "sName": "bReduceBladePath", + "sSource": "GEN_bReduceBladePath", + "sMinUserLevel": "5" } ] } \ No newline at end of file diff --git a/Strategies/Standard/STR0008/STR0008.json b/Strategies/Standard/STR0008/STR0008.json index 44beadd..22d8522 100644 --- a/Strategies/Standard/STR0008/STR0008.json +++ b/Strategies/Standard/STR0008/STR0008.json @@ -22,36 +22,6 @@ "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": "bReduceBladePath", - "sNameNge": "REDUCE_BLADE_PATH", - "sValue": "false", - "sDescriptionShort": "Use entire blade diameter to shorten path", - "sDescriptionLong": "", - "sType": "b", - "sMessageId": " ", - "sMinUserLevel": "1" - }, { "sName": "sCuttingStrategy", "sNameNge": "EXEC_TENON_SURF", @@ -108,6 +78,21 @@ "sSubType": "MCH_TF.MILL", "sMessageId": " ", "sMinUserLevel": "1" + }, + { + "sName": "dMaxWasteLength", + "sSource": "GEN_dMaxWasteLength", + "sMinUserLevel": "5" + }, + { + "sName": "dMaxWasteVolume", + "sSource": "GEN_dMaxWasteVolume", + "sMinUserLevel": "5" + }, + { + "sName": "bReduceBladePath", + "sSource": "GEN_bReduceBladePath", + "sMinUserLevel": "5" } ] } \ No newline at end of file diff --git a/Strategies/Standard/STR0012/STR0012.json b/Strategies/Standard/STR0012/STR0012.json index 944da26..8c0d083 100644 --- a/Strategies/Standard/STR0012/STR0012.json +++ b/Strategies/Standard/STR0012/STR0012.json @@ -41,36 +41,6 @@ } ] }, - { - "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": "bReduceBladePath", - "sNameNge": "REDUCE_BLADE_PATH", - "sValue": "false", - "sDescriptionShort": "Use entire blade diameter to shorten path", - "sDescriptionLong": "", - "sType": "b", - "sMessageId": " ", - "sMinUserLevel": "1" - }, { "sName": "sRidgelapStrategy", "sNameNge": "RIDGELAP_STRATEGY", @@ -119,6 +89,21 @@ "sType": "d", "sMessageId": " ", "sMinUserLevel": "1" + }, + { + "sName": "dMaxWasteLength", + "sSource": "GEN_dMaxWasteLength", + "sMinUserLevel": "5" + }, + { + "sName": "dMaxWasteVolume", + "sSource": "GEN_dMaxWasteVolume", + "sMinUserLevel": "5" + }, + { + "sName": "bReduceBladePath", + "sSource": "GEN_bReduceBladePath", + "sMinUserLevel": "5" } ] } \ No newline at end of file diff --git a/Strategies/Standard/STR0015/STR0015.json b/Strategies/Standard/STR0015/STR0015.json index 3e833fd..2fadde9 100644 --- a/Strategies/Standard/STR0015/STR0015.json +++ b/Strategies/Standard/STR0015/STR0015.json @@ -119,33 +119,18 @@ }, { "sName": "dMaxWasteLength", - "sNameNge": "MAX_WASTE_LENGTH", - "sValue": "300", - "sDescriptionShort": "Maximum Waste Length", - "sDescriptionLong": "", - "sType": "d", - "sMessageId": " ", - "sMinUserLevel": "1" + "sSource": "GEN_dMaxWasteLength", + "sMinUserLevel": "5" }, { "sName": "dMaxWasteVolume", - "sNameNge": "MAX_WASTE_VOLUME", - "sValue": "6000000", - "sDescriptionShort": "Maximum Waste Volume", - "sDescriptionLong": "", - "sType": "d", - "sMessageId": " ", - "sMinUserLevel": "1" + "sSource": "GEN_dMaxWasteVolume", + "sMinUserLevel": "5" }, { "sName": "bReduceBladePath", - "sNameNge": "REDUCE_BLADE_PATH", - "sValue": "true", - "sDescriptionShort": "Use entire blade diameter to shorten path", - "sDescriptionLong": "", - "sType": "b", - "sMessageId": " ", - "sMinUserLevel": "1" + "sSource": "GEN_bReduceBladePath", + "sMinUserLevel": "5" } ] } \ No newline at end of file diff --git a/Strategies/Standard/TAILCUT/TAILCUT.json b/Strategies/Standard/TAILCUT/TAILCUT.json index fbf8ea4..24dfc4a 100644 --- a/Strategies/Standard/TAILCUT/TAILCUT.json +++ b/Strategies/Standard/TAILCUT/TAILCUT.json @@ -22,36 +22,6 @@ "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": "bReduceBladePath", - "sNameNge": "REDUCE_BLADE_PATH", - "sValue": "false", - "sDescriptionShort": "Use entire blade diameter to shorten path", - "sDescriptionLong": "", - "sType": "b", - "sMessageId": " ", - "sMinUserLevel": "1" - }, { "sName": "bExecutePreCut", "sNameNge": "EXEC_PRECUT", @@ -71,6 +41,21 @@ "sType": "b", "sMessageId": " ", "sMinUserLevel": "1" + }, + { + "sName": "dMaxWasteLength", + "sSource": "GEN_dMaxWasteLength", + "sMinUserLevel": "5" + }, + { + "sName": "dMaxWasteVolume", + "sSource": "GEN_dMaxWasteVolume", + "sMinUserLevel": "5" + }, + { + "sName": "bReduceBladePath", + "sSource": "GEN_bReduceBladePath", + "sMinUserLevel": "5" } ] } \ No newline at end of file diff --git a/Strategies/Standard/TAILCUT/TAILCUT.lua b/Strategies/Standard/TAILCUT/TAILCUT.lua index 8e5b241..35ad718 100644 --- a/Strategies/Standard/TAILCUT/TAILCUT.lua +++ b/Strategies/Standard/TAILCUT/TAILCUT.lua @@ -32,7 +32,10 @@ function TAILCUT.Make( bAddMachining, Proc, Part, CustomParameters) Strategy.Result = {} Strategy.Machining = {} Strategy.Result.sInfo = '' + local OptionalParameters = { bForceChainSaw = Strategy.Parameters.bForceChainSaw, bReduceBladePath = Strategy.Parameters.bReduceBladePath, + dMaxWasteLength = Strategy.Parameters.dMaxWasteLength, dMaxWasteVolume = Strategy.Parameters.dMaxWasteVolume } local bAreAllMachiningsAdded = true + local bExecutePrecutOnly = false -- si setta che è taglio di coda Strategy.bIsTailCut = true @@ -42,30 +45,36 @@ function TAILCUT.Make( bAddMachining, Proc, Part, CustomParameters) -- se devo fare split perchè c'è un grezzo da scaricare o un altro pezzo if Strategy.bSplit then - Strategy.SplitStrategy, Strategy.Result = SPLITCUT.GetStrategy( Proc, Part, Strategy.Parameters) + OptionalParameters.dOffset = 0 + OptionalParameters.bDisableDicing = true + Strategy.SplitStrategy, Strategy.Result = SPLITCUT.GetMachining( Proc, Part, OptionalParameters) -- se devo rimuovere tutto il restante else -- se abilitato, faccio tagli di PRECUT a zero (come SPLIT) if Strategy.Parameters.bExecutePreCut then - Strategy.SplitStrategy, Strategy.Result = SPLITCUT.GetStrategy( Proc, Part, Strategy.Parameters) + if Part.dRestLength < 20 then + bExecutePrecutOnly = true + OptionalParameters.dOffset = 0 + else + Strategy.bIsPreCut = true + OptionalParameters.dOffset = Part.dRestLength + end + OptionalParameters.bDisableDicing = true + Strategy.SplitStrategy, Strategy.Result = SPLITCUT.GetMachining( Proc, Part, OptionalParameters) -- se non faccio tagli PRECUT, imposto tabella Result direttamente. Non serve verificare che riesca a rimuovere il materiale extra else Strategy.Result.sStatus = 'Completed' Strategy.Result.dCompletionIndex = 5 Strategy.Result.dMRR = 1 - -- TODO di quale utensile si deve impostare la qualità qui? + -- si imposta qualità lama perchè verrà fatta BladeToWaste, probabilmente a cubetti Strategy.Result.dQuality = FeatureLib.GetStrategyQuality( 'SAWBLADE') - Strategy.Result.sInfo = 'Split not possible' end end -- se devo applicare le lavorazioni if bAddMachining then - -- forzo nome feature, potrebbe essere stata invertita con taglio di coda - EgtSetName( Proc.id, 'EndCut') - -- inserimento smussi su spigoli del taglio if Strategy.Parameters.bMakeChamfer then MakeChamfer() @@ -74,25 +83,44 @@ function TAILCUT.Make( bAddMachining, Proc, Part, CustomParameters) local MachiningsToAdd = {} -- se devo fare split perchè c'è un grezzo da scaricare o un altro pezzo if Strategy.bSplit then - Strategy.dOffset = 0 - MachiningsToAdd = SPLITCUT.Execute( Proc, Part, Strategy) + if Strategy.SplitStrategy and #Strategy.SplitStrategy > 0 then + for i = 1, #Strategy.SplitStrategy do + local TempList = {} + TempList.Splitting = Strategy.SplitStrategy[i] + if i == #Strategy.SplitStrategy then + TempList.Splitting.sUserNotes = 'Split;' + TempList.AuxiliaryData = { bIsSplitOrCut = true} + else + TempList.Splitting.sUserNotes = 'Presplit;' + end + table.insert( MachiningsToAdd, TempList) + end + end + -- se devo rimuovere tutto il restante else - local bExecutePrecutOnly = false -- se abilitato, faccio tagli di PRECUT a zero (come SPLIT) if Strategy.Parameters.bExecutePreCut then - if Part.dRestLength < 10 then - bExecutePrecutOnly = true - Strategy.dOffset = 0 - else - Strategy.bIsPreCut = true - Strategy.dOffset = Part.dRestLength + if Strategy.SplitStrategy and #Strategy.SplitStrategy > 0 then + for i = 1, #Strategy.SplitStrategy do + local TempList = {} + TempList.Splitting = Strategy.SplitStrategy[i] + TempList.Splitting.dLongitudinalOffset = OptionalParameters.dOffset + if bExecutePrecutOnly then + if i == #Strategy.SplitStrategy then + TempList.Splitting.sUserNotes = 'Cut;' + TempList.AuxiliaryData = { bIsSplitOrCut = true} + else + TempList.Splitting.sUserNotes = 'Precut;' + end + end + table.insert( MachiningsToAdd, TempList) + end end - MachiningsToAdd = SPLITCUT.Execute( Proc, Part, Strategy) end if not bExecutePrecutOnly then - local OptionalParameters = {} + OptionalParameters = {} -- eventuale grezzo custom per dicing (grezzo attuale + grezzo di coda) local nNextRawId = EgtGetNextRawPart( Part.idRaw) diff --git a/StrategyLibs/SPLITCUT.lua b/StrategyLibs/SPLITCUT.lua index a0d65f2..5d8409e 100644 --- a/StrategyLibs/SPLITCUT.lua +++ b/StrategyLibs/SPLITCUT.lua @@ -8,11 +8,9 @@ local SPLITCUT = {} require( 'EgtBase') -- Carico i dati globali -local BeamData = require( 'BeamData') local FeatureLib = require( 'FeatureLib') -local MachiningLib = require( 'MachiningLib') -- strategie di base -local FaceByBlade = require('FACEBYBLADE') +local BladeToWaste = require('BLADETOWASTE') EgtOutLog( ' SPLITCUT started', 1) @@ -20,153 +18,25 @@ EgtOutLog( ' SPLITCUT started', 1) ---------------------- FUNZIONI DI SPLIT ------------------------------------------ ----------------------------------------------------------------------------------- -function SPLITCUT.GetStrategy( Proc, Part, OptionalParameters) - local Machining = {} +function SPLITCUT.GetMachining( Proc, Part, ParametersFromStrategy) + local Machining = { sTypeMachining = 'None'} local Result = {} - -- sTypeMachining = BladeSideSingle\ BladeSideDouble\ BladeHorizontalSingle\ BladeHorizontalDouble\ ChainSawHorizontal\ ChainSawSideSingle\ ChainSawSideDouble\ ChainSawPlusBlade\ Mill\ None - Machining.sTypeMachining = 'None' - local Splitting = {} - -- imposto parametri di ricerca utensile in base a topologia - local ToolSearchParameters = {} - ToolSearchParameters.vtN = Proc.Faces[1].vtN + -- sTypeMachining = Blade\ ChainSawHorizontal\ ChainSawSideSingle\ ChainSawSideDouble\ ChainSawPlusBlade\ Mill\ None - -- ===== RICERCA UTENSILE ===== - -- cerco lama sopra - Splitting.bIsApplicable = false - ToolSearchParameters.bAllowTopHead = true - ToolSearchParameters.bAllowBottomHead = false - Splitting.ToolInfo = {} - Splitting.ToolInfo = MachiningLib.FindBlade( Proc, ToolSearchParameters) - if Splitting.ToolInfo.nToolIndex then - Splitting.bIsApplicable = true - local ParametersMRR = {} - ParametersMRR.nToolIndex = Splitting.ToolInfo.nToolIndex - Splitting.dMRR = MachiningLib.GetToolMRR( ParametersMRR) - end - table.insert( Machining, Splitting) - - -- cerco lama sotto - Splitting = {} - Splitting.bIsApplicable = false - ToolSearchParameters.bAllowTopHead = false - ToolSearchParameters.bAllowBottomHead = true - Splitting.ToolInfo = {} - Splitting.ToolInfo = MachiningLib.FindBlade( Proc, ToolSearchParameters) - if Splitting.ToolInfo.nToolIndex then - Splitting.bIsApplicable = true - local ParametersMRR = {} - ParametersMRR.nToolIndex = Splitting.ToolInfo.nToolIndex - Splitting.dMRR = MachiningLib.GetToolMRR( ParametersMRR) - end - table.insert( Machining, Splitting) - - -- cerco motosega - Splitting = {} - Splitting.bIsApplicable = false - table.insert( Machining, Splitting) - - -- cerco fresa - Splitting = {} - Splitting.bIsApplicable = false - table.insert( Machining, Splitting) - - -- ===== SCELTA LAVORAZIONI ===== - -- forzature da parametri - if OptionalParameters.bForceChainSaw then - Machining[1].bIsApplicable = false - Machining[2].bIsApplicable = false - end - - -- setto valori di default. Impossibile che taglio di separazione sia incompleto - Result.sStatus = 'Completed' - Result.dCompletionIndex = FeatureLib.GetFeatureCompletionIndex( 100) - Result.dMRR = 1 - - -- correzioni sul massimo materiale lama, considerando ingombri vari - local dMaxMatBladeSideSingle - local dMaxMatBladeSideDouble - local dMaxMatBladeHorizontalSingle - local dMaxMatBladeHorizontalDouble - if Machining[1].bIsApplicable then - local dMaxMat = TOOLS[Machining[1].ToolInfo.nToolIndex].dMaxMaterial - local dRadius = TOOLS[Machining[1].ToolInfo.nToolIndex].dDiameter / 2 - local sHead = TOOLS[Machining[1].ToolInfo.nToolIndex].sHead - -- se taglio di fianco disponibile, si controlla il massimo materiale reale. Per pezzi alti, bisogna controllare anche l'ingombro asse Z nelle 4 direzioni. - if Part.dHeight < BeamData.MIN_DIM_HBEAM then - dMaxMat = min( dMaxMat, BeamData.MAX_DIM_HTCUT) - dMaxMatBladeSideSingle = dMaxMat - dMaxMatBladeSideDouble = dMaxMat * 2 - else - if BeamData.GetMaxMatReductionBladeCut then - dMaxMatBladeSideSingle = min( max( dRadius - BeamData.GetMaxMatReductionBladeCut( sHead, Y_AX()), dRadius - BeamData.GetMaxMatReductionBladeCut( sHead, -Y_AX())), - TOOLS[Machining[1].ToolInfo.nToolIndex].dMaxMaterial) - dMaxMatBladeSideDouble = dRadius - BeamData.GetMaxMatReductionBladeCut( sHead, Y_AX()) + dRadius - BeamData.GetMaxMatReductionBladeCut( sHead, -Y_AX()) - else - dMaxMatBladeSideSingle = abs( BeamData.MAX_DIM_HTCUT_HBEAM) - dMaxMatBladeSideDouble = abs( BeamData.MAX_DIM_HTCUT_HBEAM) * 2 - end + -- 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 - -- se taglio orizzontale - if BeamData.GetMaxMatReductionBladeCut then - dMaxMatBladeHorizontalSingle = min( TOOLS[Machining[1].ToolInfo.nToolIndex].dMaxMaterial, dRadius - BeamData.GetMaxMatReductionBladeCut( TOOLS[Machining[1].ToolInfo.nToolIndex].sHead, -Z_AX())) - else - dMaxMatBladeHorizontalSingle = TOOLS[Machining[1].ToolInfo.nToolIndex].dMaxMaterial - end - end - if Machining[2].bIsApplicable then - if BeamData.GetMaxMatReductionBladeCut then - local dRadius = TOOLS[Machining[2].ToolInfo.nToolIndex].dDiameter / 2 - dMaxMatBladeHorizontalDouble = min( TOOLS[Machining[2].ToolInfo.nToolIndex].dMaxMaterial, dRadius - BeamData.GetMaxMatReductionBladeCut( TOOLS[Machining[2].ToolInfo.nToolIndex].sHead, Z_AX())) - else - dMaxMatBladeHorizontalDouble = TOOLS[Machining[2].ToolInfo.nToolIndex].dMaxMaterial - end - end - - -- TODO considerare di tagliare con il massimo materiale possibile per non salire troppo in Z (macchine tipo PF), oppure non scendere troppo (tipo Kairos) - -- BladeSideSingle (taglio di lama singolo di fianco) - if Machining[1].bIsApplicable and ( dMaxMatBladeSideSingle - BeamData.CUT_EXTRA) > Part.dWidth + 10 * GEO.EPS_SMALL then - Result.dQuality = FeatureLib.GetStrategyQuality( 'SAWBLADE') - Machining.sTypeMachining = 'BladeSideSingle' - Machining[2].bIsApplicable = false - Machining[3].bIsApplicable = false - Machining[4].bIsApplicable = false - return Machining, Result - -- TODO considerare di tagliare con il massimo materiale possibile per non salire troppo in Z (macchine tipo PF), oppure non scendere troppo (tipo Kairos) - -- BladeSideDouble (taglio di lama doppio di fianco) - elseif Machining[1].bIsApplicable and ( dMaxMatBladeSideDouble - BeamData.CUT_EXTRA) > Part.dWidth + 10 * GEO.EPS_SMALL then - Result.dQuality = FeatureLib.GetStrategyQuality( 'SAWBLADE') - Result.dMRR = Result.dMRR/2 - Machining.sTypeMachining = 'BladeSideDouble' - Machining[2].bIsApplicable = false - Machining[3].bIsApplicable = false - Machining[4].bIsApplicable = false - return Machining, Result - -- BladeHorizontalSingle (taglio di lama singolo orizzontale) - elseif Machining[1].bIsApplicable and ( dMaxMatBladeHorizontalSingle - BeamData.CUT_EXTRA) > Part.dHeight + 10 * GEO.EPS_SMALL then - Result.dQuality = FeatureLib.GetStrategyQuality( 'SAWBLADE') - Machining.sTypeMachining = 'BladeHorizontalSingle' - Machining[2].bIsApplicable = false - Machining[3].bIsApplicable = false - Machining[4].bIsApplicable = false - return Machining, Result - -- BladeHorizontalDouble (taglio di lama doppio orizzontale) - elseif Machining[1].bIsApplicable and Machining[2].bIsApplicable and - ( dMaxMatBladeHorizontalSingle + dMaxMatBladeHorizontalDouble - BeamData.CUT_EXTRA) > Part.dHeight + 10 * GEO.EPS_SMALL then - Result.dQuality = FeatureLib.GetStrategyQuality( 'SAWBLADE') - Result.dMRR = Result.dMRR/2 - Machining.sTypeMachining = 'BladeHorizontalDouble' - Machining[1].ToolInfo.dMaxMatBladeFromTop = dMaxMatBladeHorizontalSingle - Machining[2].ToolInfo.dMaxMatBladeFromDown = dMaxMatBladeHorizontalDouble - Machining[3].bIsApplicable = false - Machining[4].bIsApplicable = false - return Machining, Result - - -- TODO : casi con motosega da completare - -- ChainSawHorizontal (motosega) - -- ChainSawSideSingle (motosega) - -- ChainSawSideDouble (motosega) - -- ChainSawPlusBlade (motosega più lama orizzontale) - -- Mill (svuotatura) + -- 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 @@ -177,148 +47,5 @@ function SPLITCUT.GetStrategy( Proc, Part, OptionalParameters) return Machining, Result end -------------------------------------------------------------------------------------------------------------- -function SPLITCUT.GetEdgeToMachine( Proc, vtEdge) - local Edge - for i = 1, #Proc.Faces[1].Edges do - if AreSameVectorApprox( Proc.Faces[1].Edges[i].vtN, vtEdge) then - Edge = Proc.Faces[1].Edges[i] - end - end - return Edge -end - ------------------------------------------------------------------------------------ -function SPLITCUT.Execute( Proc, Part, Strategy) - local Machinings = {} - - -- applico le lavorazioni - -------------------------------------------------------------------------------- - if Strategy.SplitStrategy.sTypeMachining == 'BladeSideSingle' then - local Machining = {} - Machining.Splitting = {} - Machining.AuxiliaryData = {} - local OptionalParameters = {} - OptionalParameters.nToolIndex = Strategy.SplitStrategy[1].ToolInfo.nToolIndex - OptionalParameters.dLongitudinalOffset = Strategy.dOffset or 0 - if Strategy.bIsTailCut and not Strategy.bIsPreCut then - OptionalParameters.sUserNotes = EgtIf( Strategy.bSplit, 'Split;', 'Cut;') - Machining.AuxiliaryData.bIsSplitOrCut = true - end - - OptionalParameters.dRadialStepSpan = 0 - - local EdgeToMachine = SPLITCUT.GetEdgeToMachine( Proc, -Y_AX()) - Machining.Splitting = FaceByBlade.Make( Proc, Part, Proc.Faces[1], EdgeToMachine, OptionalParameters) - table.insert( Machinings, Machining) - - ---------------------------------------------------------------------------------- - elseif Strategy.SplitStrategy.sTypeMachining == 'BladeSideDouble' then - local Machining = {} - Machining.Splitting = {} - Machining.AuxiliaryData = {} - local OptionalParameters = {} - OptionalParameters.nToolIndex = Strategy.SplitStrategy[1].ToolInfo.nToolIndex - -- Taglio lato frontale - OptionalParameters.dLongitudinalOffset = Strategy.dOffset or 0 - OptionalParameters.dDepthToMachine = Part.dWidth / 2 + BeamData.CUT_EXTRA_MIN - if Strategy.bIsTailCut and not Strategy.bIsPreCut then - OptionalParameters.sUserNotes = EgtIf( Strategy.bSplit, 'Presplit;', 'Precut;') - end - OptionalParameters.dRadialStepSpan = 0 - - local EdgeToMachine = SPLITCUT.GetEdgeToMachine( Proc, -Y_AX()) - Machining.Splitting = FaceByBlade.Make( Proc, Part, Proc.Faces[1], EdgeToMachine, OptionalParameters) - table.insert( Machinings, Machining) - - -- Taglio lato dietro - Machining = {} - Machining.Splitting = {} - Machining.AuxiliaryData = {} - OptionalParameters = {} - OptionalParameters.nToolIndex = Strategy.SplitStrategy[1].ToolInfo.nToolIndex - OptionalParameters.dLongitudinalOffset = Strategy.dOffset or 0 - OptionalParameters.dDepthToMachine = Part.dWidth / 2 + BeamData.CUT_EXTRA_MIN - if Strategy.bIsTailCut and not Strategy.bIsPreCut then - OptionalParameters.sUserNotes = EgtIf( Strategy.bSplit, 'Split;', 'Cut;') - Machining.AuxiliaryData.bIsSplitOrCut = true - end - OptionalParameters.dRadialStepSpan = 0 - - EdgeToMachine = SPLITCUT.GetEdgeToMachine( Proc, Y_AX()) - Machining.Splitting = FaceByBlade.Make( Proc, Part, Proc.Faces[1], EdgeToMachine, OptionalParameters) - table.insert( Machinings, Machining) - ---------------------------------------------------------------------------------- - elseif Strategy.SplitStrategy.sTypeMachining == 'BladeHorizontalSingle' then - local Machining = {} - Machining.Splitting = {} - Machining.AuxiliaryData = {} - local OptionalParameters = {} - OptionalParameters.nToolIndex = Strategy.SplitStrategy[1].ToolInfo.nToolIndex - OptionalParameters.dLongitudinalOffset = Strategy.dOffset or 0 - OptionalParameters.dDepthToMachine = Part.dHeight + BeamData.CUT_EXTRA - if Strategy.bIsTailCut and not Strategy.bIsPreCut then - OptionalParameters.sUserNotes = EgtIf( Strategy.bSplit, 'Split;', 'Cut;') - Machining.AuxiliaryData.bIsSplitOrCut = true - end - OptionalParameters.dRadialStepSpan = 0 - - local EdgeToMachine = SPLITCUT.GetEdgeToMachine( Proc, Z_AX()) - Machining.Splitting = FaceByBlade.Make( Proc, Part, Proc.Faces[1], EdgeToMachine, OptionalParameters) - table.insert( Machinings, Machining) - ---------------------------------------------------------------------------------- - elseif Strategy.SplitStrategy.sTypeMachining == 'BladeHorizontalDouble' then - -- Taglio lato frontale - local Machining = {} - Machining.Splitting = {} - Machining.AuxiliaryData = {} - local OptionalParameters = {} - OptionalParameters.nToolIndex = Strategy.SplitStrategy[1].ToolInfo.nToolIndex - OptionalParameters.dLongitudinalOffset = Strategy.dOffset or 0 - local dExtraMaxMat = ( Strategy.SplitStrategy[1].ToolInfo.dMaxMatBladeFromTop + Strategy.SplitStrategy[2].ToolInfo.dMaxMatBladeFromDown - Part.dHeight - BeamData.CUT_EXTRA_MIN) / 2 - OptionalParameters.dDepthToMachine = Strategy.SplitStrategy[1].ToolInfo.dMaxMatBladeFromTop - dExtraMaxMat - if Strategy.bIsTailCut and not Strategy.bIsPreCut then - OptionalParameters.sUserNotes = EgtIf( Strategy.bSplit, 'Presplit;', 'Precut;') - end - OptionalParameters.dRadialStepSpan = 0 - - local EdgeToMachine = SPLITCUT.GetEdgeToMachine( Proc, Z_AX()) - Machining.Splitting = FaceByBlade.Make( Proc, Part, Proc.Faces[1], EdgeToMachine, OptionalParameters) - table.insert( Machinings, Machining) - - -- Taglio lato dietro - Machining = {} - Machining.Splitting = {} - Machining.AuxiliaryData = {} - OptionalParameters = {} - OptionalParameters.nToolIndex = Strategy.SplitStrategy[2].ToolInfo.nToolIndex - OptionalParameters.dLongitudinalOffset = Strategy.dOffset or 0 - OptionalParameters.dDepthToMachine = Strategy.SplitStrategy[2].ToolInfo.dMaxMatBladeFromDown - dExtraMaxMat - if Strategy.bIsTailCut and not Strategy.bIsPreCut then - OptionalParameters.sUserNotes = EgtIf( Strategy.bSplit, 'Split;', 'Cut;') - Machining.AuxiliaryData.bIsSplitOrCut = true - end - OptionalParameters.dRadialStepSpan = 0 - - EdgeToMachine = SPLITCUT.GetEdgeToMachine( Proc, -Z_AX()) - Machining.Splitting = FaceByBlade.Make( Proc, Part, Proc.Faces[1], EdgeToMachine, OptionalParameters) - table.insert( Machinings, Machining) - ---------------------------------------------------------------------------------- - elseif Strategy.SplitStrategy.sTypeMachining == 'ChainSawHorizontal' then - ; -- TODO - ---------------------------------------------------------------------------------- - elseif Strategy.SplitStrategy.sTypeMachining == 'ChainSawSideSingle' then - ; -- TODO - ---------------------------------------------------------------------------------- - elseif Strategy.SplitStrategy.sTypeMachining == 'ChainSawSideDouble' then - ; -- TODO - ---------------------------------------------------------------------------------- - elseif Strategy.SplitStrategy.sTypeMachining == 'ChainSawPlusBlade' then - ; -- TODO - ---------------------------------------------------------------------------------- - end - return Machinings -end - ------------------------------------------------------------------------------------------------------------- return SPLITCUT From 9c4fab2d3ce7d46291e0ecd004c3aa7570fd2453 Mon Sep 17 00:00:00 2001 From: "andrea.villa" Date: Tue, 21 Oct 2025 15:29:42 +0200 Subject: [PATCH 06/10] Aggiunte immagini per mostrare topologia in configurazione strategie --- Images/ConfigStrategy/Bevel-1-Through.png | Bin 0 -> 8827 bytes Images/ConfigStrategy/BlockHouse.png | Bin 0 -> 9224 bytes Images/ConfigStrategy/BlockHouseFront.png | Bin 0 -> 7880 bytes Images/ConfigStrategy/BlockHouseHalfLap.png | Bin 0 -> 8597 bytes Images/ConfigStrategy/Chamfer.png | Bin 0 -> 8622 bytes Images/ConfigStrategy/Cut-1-Through.png | Bin 0 -> 7483 bytes Images/ConfigStrategy/DoubleCut.png | Bin 0 -> 9070 bytes Images/ConfigStrategy/Dovetail.png | Bin 0 -> 9009 bytes Images/ConfigStrategy/DovetailMortise.png | Bin 0 -> 9985 bytes .../ConfigStrategy/DovetailMortiseFront.png | Bin 0 -> 10345 bytes Images/ConfigStrategy/DovetailTenon.png | Bin 0 -> 8345 bytes Images/ConfigStrategy/Drilling.png | Bin 0 -> 10281 bytes Images/ConfigStrategy/FrenchRidgeLap.png | Bin 0 -> 9970 bytes Images/ConfigStrategy/Groove-3-Through.png | Bin 0 -> 7766 bytes Images/ConfigStrategy/HeadCut.png | Bin 0 -> 8329 bytes Images/ConfigStrategy/MortiseFront.png | Bin 0 -> 10247 bytes Images/ConfigStrategy/Planing.png | Bin 0 -> 10017 bytes Images/ConfigStrategy/Pocket-5-Blind.png | Bin 0 -> 8749 bytes Images/ConfigStrategy/Pocket-Round.png | Bin 0 -> 9615 bytes Images/ConfigStrategy/ProfileFront.png | Bin 0 -> 16011 bytes Images/ConfigStrategy/ProfileHead.png | Bin 0 -> 15778 bytes Images/ConfigStrategy/ProfileHeadCambered.png | Bin 0 -> 13320 bytes Images/ConfigStrategy/ProfileHeadConcave.png | Bin 0 -> 14474 bytes Images/ConfigStrategy/ProfileHeadConvex.png | Bin 0 -> 14027 bytes Images/ConfigStrategy/Rabbet-2-Through.png | Bin 0 -> 8729 bytes Images/ConfigStrategy/RidgeValleyCut.png | Bin 0 -> 9060 bytes Images/ConfigStrategy/RoundArch.png | Bin 0 -> 11984 bytes Images/ConfigStrategy/ScarfJoint.png | Bin 0 -> 8791 bytes Images/ConfigStrategy/StepJoint.png | Bin 0 -> 9060 bytes Images/ConfigStrategy/StepJointNotch.png | Bin 0 -> 8411 bytes Images/ConfigStrategy/TailCut.png | Bin 0 -> 8130 bytes Images/ConfigStrategy/Tenon.png | Bin 0 -> 12481 bytes Images/ConfigStrategy/Text.png | Bin 0 -> 8628 bytes Images/ConfigStrategy/TriangleCut.png | Bin 0 -> 9060 bytes Images/ConfigStrategy/Tunnel-4-Through.png | Bin 0 -> 8527 bytes Images/ConfigStrategy/TyroleanDovetail.png | Bin 0 -> 10081 bytes Strategies/AvailableStrategyList.json | 157 ++++++++++++++++++ StrategyLibs/FACEBYBLADE.lua | 2 +- 38 files changed, 158 insertions(+), 1 deletion(-) create mode 100644 Images/ConfigStrategy/Bevel-1-Through.png create mode 100644 Images/ConfigStrategy/BlockHouse.png create mode 100644 Images/ConfigStrategy/BlockHouseFront.png create mode 100644 Images/ConfigStrategy/BlockHouseHalfLap.png create mode 100644 Images/ConfigStrategy/Chamfer.png create mode 100644 Images/ConfigStrategy/Cut-1-Through.png create mode 100644 Images/ConfigStrategy/DoubleCut.png create mode 100644 Images/ConfigStrategy/Dovetail.png create mode 100644 Images/ConfigStrategy/DovetailMortise.png create mode 100644 Images/ConfigStrategy/DovetailMortiseFront.png create mode 100644 Images/ConfigStrategy/DovetailTenon.png create mode 100644 Images/ConfigStrategy/Drilling.png create mode 100644 Images/ConfigStrategy/FrenchRidgeLap.png create mode 100644 Images/ConfigStrategy/Groove-3-Through.png create mode 100644 Images/ConfigStrategy/HeadCut.png create mode 100644 Images/ConfigStrategy/MortiseFront.png create mode 100644 Images/ConfigStrategy/Planing.png create mode 100644 Images/ConfigStrategy/Pocket-5-Blind.png create mode 100644 Images/ConfigStrategy/Pocket-Round.png create mode 100644 Images/ConfigStrategy/ProfileFront.png create mode 100644 Images/ConfigStrategy/ProfileHead.png create mode 100644 Images/ConfigStrategy/ProfileHeadCambered.png create mode 100644 Images/ConfigStrategy/ProfileHeadConcave.png create mode 100644 Images/ConfigStrategy/ProfileHeadConvex.png create mode 100644 Images/ConfigStrategy/Rabbet-2-Through.png create mode 100644 Images/ConfigStrategy/RidgeValleyCut.png create mode 100644 Images/ConfigStrategy/RoundArch.png create mode 100644 Images/ConfigStrategy/ScarfJoint.png create mode 100644 Images/ConfigStrategy/StepJoint.png create mode 100644 Images/ConfigStrategy/StepJointNotch.png create mode 100644 Images/ConfigStrategy/TailCut.png create mode 100644 Images/ConfigStrategy/Tenon.png create mode 100644 Images/ConfigStrategy/Text.png create mode 100644 Images/ConfigStrategy/TriangleCut.png create mode 100644 Images/ConfigStrategy/Tunnel-4-Through.png create mode 100644 Images/ConfigStrategy/TyroleanDovetail.png diff --git a/Images/ConfigStrategy/Bevel-1-Through.png b/Images/ConfigStrategy/Bevel-1-Through.png new file mode 100644 index 0000000000000000000000000000000000000000..7348cf3052551005ddd551d35ed225d40779cbb3 GIT binary patch literal 8827 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 O&$=~EHdk?;@c#fjB(&@R literal 0 HcmV?d00001 diff --git a/Images/ConfigStrategy/BlockHouse.png b/Images/ConfigStrategy/BlockHouse.png new file mode 100644 index 0000000000000000000000000000000000000000..104910ad8eca9c160a615ba5c9a2e1ba3f2ccea3 GIT binary patch literal 9224 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 Qf0N_6eyjVFb^ho753Y{5D*ylh literal 0 HcmV?d00001 diff --git a/Images/ConfigStrategy/BlockHouseFront.png b/Images/ConfigStrategy/BlockHouseFront.png new file mode 100644 index 0000000000000000000000000000000000000000..268c92d64346765d203484f7d64b49979be0a2bb GIT binary patch literal 7880 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 literal 0 HcmV?d00001 diff --git a/Images/ConfigStrategy/Cut-1-Through.png b/Images/ConfigStrategy/Cut-1-Through.png new file mode 100644 index 0000000000000000000000000000000000000000..e771d16219019e199d06ac9366a687abad876064 GIT binary patch literal 7483 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 HGr0c`ZnqW| literal 0 HcmV?d00001 diff --git a/Images/ConfigStrategy/DovetailMortiseFront.png b/Images/ConfigStrategy/DovetailMortiseFront.png new file mode 100644 index 0000000000000000000000000000000000000000..e875df6a957c4bbbf6f4c208095f5c0a9ebc9dcd GIT binary patch literal 10345 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 W{>`^%U$KAs+r4w2P5O@G*ZvQJ`v@=q literal 0 HcmV?d00001 diff --git a/Images/ConfigStrategy/DovetailTenon.png b/Images/ConfigStrategy/DovetailTenon.png new file mode 100644 index 0000000000000000000000000000000000000000..d63fe9e1bb8cf38c954eee1cb7cba5e825e6614e GIT binary patch literal 8345 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 A`Tzg` literal 0 HcmV?d00001 diff --git a/Images/ConfigStrategy/Drilling.png b/Images/ConfigStrategy/Drilling.png new file mode 100644 index 0000000000000000000000000000000000000000..6c07d936d76f7cbeebec1c94d374c05dad398104 GIT binary patch literal 10281 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 literal 0 HcmV?d00001 diff --git a/Images/ConfigStrategy/FrenchRidgeLap.png b/Images/ConfigStrategy/FrenchRidgeLap.png new file mode 100644 index 0000000000000000000000000000000000000000..330805d88f668d99cf7bfab580b8ce9553ec3c97 GIT binary patch literal 9970 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 K@60k~u>T)@S=NXE literal 0 HcmV?d00001 diff --git a/Images/ConfigStrategy/Groove-3-Through.png b/Images/ConfigStrategy/Groove-3-Through.png new file mode 100644 index 0000000000000000000000000000000000000000..75cb94c6a4301d9a36d5953ec05a0f340502726a GIT binary patch literal 7766 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 U&+Leu>Pg<-U7jw*PREn}4`PKQHUIzs literal 0 HcmV?d00001 diff --git a/Images/ConfigStrategy/Planing.png b/Images/ConfigStrategy/Planing.png new file mode 100644 index 0000000000000000000000000000000000000000..913e8d18d97dc12a06e02c7921244128b2318aff GIT binary patch literal 10017 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 literal 0 HcmV?d00001 diff --git a/Images/ConfigStrategy/Pocket-5-Blind.png b/Images/ConfigStrategy/Pocket-5-Blind.png new file mode 100644 index 0000000000000000000000000000000000000000..cd910f91c1adac14df4c93dcf8127d17289c7da4 GIT binary patch literal 8749 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 z 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 literal 0 HcmV?d00001 diff --git a/Images/ConfigStrategy/ProfileHeadConcave.png b/Images/ConfigStrategy/ProfileHeadConcave.png new file mode 100644 index 0000000000000000000000000000000000000000..76b72eff3be5953216a5a9c51f24302508343106 GIT binary patch literal 14474 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 L4wpHe`RD%w9p`YB literal 0 HcmV?d00001 diff --git a/Images/ConfigStrategy/Rabbet-2-Through.png b/Images/ConfigStrategy/Rabbet-2-Through.png new file mode 100644 index 0000000000000000000000000000000000000000..c8792dde7f815980ee48c619e4e38094f06ebc86 GIT binary patch literal 8729 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 S?h4?ar9Z7$e0x#Uf&T+OiiBza literal 0 HcmV?d00001 diff --git a/Images/ConfigStrategy/RidgeValleyCut.png b/Images/ConfigStrategy/RidgeValleyCut.png new file mode 100644 index 0000000000000000000000000000000000000000..7efca38510c3c84f232f14a8a288b89e67052cb4 GIT binary patch literal 9060 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 literal 0 HcmV?d00001 diff --git a/Images/ConfigStrategy/ScarfJoint.png b/Images/ConfigStrategy/ScarfJoint.png new file mode 100644 index 0000000000000000000000000000000000000000..8fe9259341a55db6efd0714d808814adc4a005e4 GIT binary patch literal 8791 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 literal 0 HcmV?d00001 diff --git a/Images/ConfigStrategy/StepJoint.png b/Images/ConfigStrategy/StepJoint.png new file mode 100644 index 0000000000000000000000000000000000000000..1ad87917658e5cdbef1cb1fa68251f551819e348 GIT binary patch literal 9060 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 literal 0 HcmV?d00001 diff --git a/Images/ConfigStrategy/TriangleCut.png b/Images/ConfigStrategy/TriangleCut.png new file mode 100644 index 0000000000000000000000000000000000000000..1ad87917658e5cdbef1cb1fa68251f551819e348 GIT binary patch literal 9060 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 Date: Wed, 22 Oct 2025 10:44:48 +0200 Subject: [PATCH 07/10] =?UTF-8?q?-=20in=20BCS=20aggiunta=20strategia=20STR?= =?UTF-8?q?0005=20per=20feature=200-20=20-=20modifiche=20a=20lunghezza=20n?= =?UTF-8?q?on=20pinzabile=20-=20in=20STR0002=20se=20svuotatura=20su=20facc?= =?UTF-8?q?ia=20tunnel,=20lavorazione=20=C3=A8=20considerata=20ora=20compl?= =?UTF-8?q?eta,=20ma=20si=20abbassa=20qualit=C3=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- LuaLibs/BasicCustomerStrategies.lua | 2 +- LuaLibs/FeatureLib.lua | 20 +++++++------- Strategies/Standard/STR0002/STR0002.lua | 36 +++++++++++-------------- 3 files changed, 27 insertions(+), 31 deletions(-) diff --git a/LuaLibs/BasicCustomerStrategies.lua b/LuaLibs/BasicCustomerStrategies.lua index 7862b18..c68aec4 100644 --- a/LuaLibs/BasicCustomerStrategies.lua +++ b/LuaLibs/BasicCustomerStrategies.lua @@ -144,7 +144,7 @@ local function GetStrategies_Essetre( Proc) --------------------------------------------------------------------- -- Feature : Birds Mouth (0-20) elseif ID.IsBirdsMouth( Proc) then - Strategies = { { sStrategyId = 'STR0002'}, { sStrategyId = 'STR0010'}} + Strategies = { { sStrategyId = 'STR0002'}, { sStrategyId = 'STR0005'}, { sStrategyId = 'STR0010'}} --------------------------------------------------------------------- -- Feature : Hip or Valley Rafter Notch (0-25) elseif ID.IsHipValleyRafterNotch( Proc) then diff --git a/LuaLibs/FeatureLib.lua b/LuaLibs/FeatureLib.lua index 65533c3..a1bd117 100644 --- a/LuaLibs/FeatureLib.lua +++ b/LuaLibs/FeatureLib.lua @@ -949,15 +949,17 @@ function FeatureLib.CalculateFeatureNotClampableLengths( Proc, Part) dOffs = min( dOffs, BeamData.VICE_MAXH - BeamData.VICE_MINH) end dNotClampableLengthTail = dOffs - elseif Proc.b3Box:getCenter():getX() > Part.b3Part:getCenter():getX() then - local dOffs = Part.b3Part:getMax():getX() - Proc.b3Box:getMin():getX() - local dDist = Part.b3Part:getMax():getX() - Proc.b3Box:getMax():getX() - -- se pinze a 45° e pinza abbastanza materiale, compenso comunque, ma solo inclinazione morse - if not bIsVertClamps and dDeltaZClamp > BeamData.VICE_MINH and BeamData.VICE_MAXH then - dOffs = min( dOffs, BeamData.VICE_MAXH - BeamData.VICE_MINH) - end - -- dDist serve?? - dNotClampableLengthHead = dOffs + -- TODO il controllo sul punto centrale non è corretto, deve essere rivisto. + -- Si lascia qui commentato perchè era così anche in quello vecchio, quindi potrebbe essere che in qualche caso potesse funzionare + -- elseif Proc.b3Box:getCenter():getX() > Part.b3Part:getCenter():getX() then + -- local dOffs = Part.b3Part:getMax():getX() - Proc.b3Box:getMin():getX() + -- local dDist = Part.b3Part:getMax():getX() - Proc.b3Box:getMax():getX() + -- -- se pinze a 45° e pinza abbastanza materiale, compenso comunque, ma solo inclinazione morse + -- if not bIsVertClamps and dDeltaZClamp > BeamData.VICE_MINH and BeamData.VICE_MAXH then + -- dOffs = min( dOffs, BeamData.VICE_MAXH - BeamData.VICE_MINH) + -- end + -- -- dDist serve?? + -- dNotClampableLengthHead = dOffs end end end diff --git a/Strategies/Standard/STR0002/STR0002.lua b/Strategies/Standard/STR0002/STR0002.lua index 51d18f0..d47f3a6 100644 --- a/Strategies/Standard/STR0002/STR0002.lua +++ b/Strategies/Standard/STR0002/STR0002.lua @@ -332,14 +332,12 @@ local function GetBestPocketingStrategy( Proc) -- se la 3 completa tutto elseif Machining[3].bIsApplicable and Machining[3].ToolInfo.dResidualDepth < 10 * GEO.EPS_SMALL then Machining.sTypeMachining = 'Side1' - -- TODO setto non completo perchè è rimasto il raggio sullo spigolo. E' giusto considerare non completo? - if Proc.Topology.sName == 'Groove-3-Through' or Proc.Topology.sName == 'Rabbet-2-Through' or Proc.Topology.sName == 'Bevel-2-Blind' or Proc.Topology.sName == 'VGroove-2-Through' then - Strategy.Result.sStatus = 'Not-Completed' - else - Strategy.Result.sStatus = 'Completed' - end + Strategy.Result.sStatus = 'Completed' Strategy.Result.dCompletionIndex = FeatureLib.GetFeatureCompletionIndex( 100) - Strategy.Result.dQuality = FeatureLib.GetStrategyQuality( 'SEMI') + -- si cambia qualità perchè è rimasto il raggio sullo spigolo. E' giusto considerare non completo? + if Proc.Topology.sName == 'Groove-3-Through' or Proc.Topology.sName == 'Rabbet-2-Through' or Proc.Topology.sName == 'Bevel-2-Blind' or Proc.Topology.sName == 'VGroove-2-Through' then + Strategy.Result.dQuality = FeatureLib.GetStrategyQuality( 'SEMI') + end Strategy.Result.dMRR = Machining[3].dMRR if Proc.MainFaces.TunnelAddedFaces then Machining[3].ToolInfo.dResidualDepth = -( Proc.MainFaces.TunnelAddedFaces.MiddleFaceTm.Faces[1].dElevation + BeamData.MILL_OVERLAP) @@ -353,14 +351,12 @@ local function GetBestPocketingStrategy( Proc) -- se la 4 completa tutto elseif Machining[4].bIsApplicable and Machining[4].ToolInfo.dResidualDepth < 10 * GEO.EPS_SMALL then Machining.sTypeMachining = 'Side2' - -- TODO setto non completo perchè è rimasto il raggio sullo spigolo. E' giusto considerare non completo? - if Proc.Topology.sName == 'Groove-3-Through' or Proc.Topology.sName == 'Rabbet-2-Through' or Proc.Topology.sName == 'Bevel-2-Blind' or Proc.Topology.sName == 'VGroove-2-Through' then - Strategy.Result.sStatus = 'Not-Completed' - else - Strategy.Result.sStatus = 'Completed' - end + Strategy.Result.sStatus = 'Completed' Strategy.Result.dCompletionIndex = FeatureLib.GetFeatureCompletionIndex( 100) - Strategy.Result.dQuality = FeatureLib.GetStrategyQuality( 'SEMI') + -- si cambia qualità perchè è rimasto il raggio sullo spigolo. E' giusto considerare non completo? + if Proc.Topology.sName == 'Groove-3-Through' or Proc.Topology.sName == 'Rabbet-2-Through' or Proc.Topology.sName == 'Bevel-2-Blind' or Proc.Topology.sName == 'VGroove-2-Through' then + Strategy.Result.dQuality = FeatureLib.GetStrategyQuality( 'SEMI') + end Strategy.Result.dMRR = Machining[4].dMRR if Proc.MainFaces.TunnelAddedFaces then Machining[4].ToolInfo.dResidualDepth = -( Proc.MainFaces.TunnelAddedFaces.MiddleFaceTm.Faces[1].dElevation + BeamData.MILL_OVERLAP) @@ -375,18 +371,16 @@ local function GetBestPocketingStrategy( Proc) elseif Proc.MainFaces.TunnelAddedFaces and Machining[3].bIsApplicable and Machining[4].bIsApplicable and Machining[3].ToolInfo.dResidualDepth + Machining[4].ToolInfo.dResidualDepth < (Proc.MainFaces.TunnelAddedFaces.MiddleFaceTm.Faces[1].dElevation * 2) + BeamData.MILL_OVERLAP then Machining.sTypeMachining = 'Side1-Side2' - -- TODO setto non completo perchè è rimasto il raggio sullo spigolo. E' giusto considerare non completo? - if Proc.Topology.sName == 'Groove-3-Through' or Proc.Topology.sName == 'Rabbet-2-Through' or Proc.Topology.sName == 'Bevel-2-Blind' or Proc.Topology.sName == 'VGroove-2-Through' then - Strategy.Result.sStatus = 'Not-Completed' - else - Strategy.Result.sStatus = 'Completed' - end + Strategy.Result.sStatus = 'Completed' -- si suddivide l'extra lavorabile sulle due frese local dExtraMachDepth = ( Proc.MainFaces.TunnelAddedFaces.MiddleFaceTm.Faces[1].dElevation * 2 - Machining[3].ToolInfo.dResidualDepth - Machining[4].ToolInfo.dResidualDepth - BeamData.MILL_OVERLAP) / 2 Machining[3].ToolInfo.dResidualDepth = Machining[3].ToolInfo.dResidualDepth - Proc.MainFaces.TunnelAddedFaces.MiddleFaceTm.Faces[1].dElevation + dExtraMachDepth Machining[4].ToolInfo.dResidualDepth = Machining[4].ToolInfo.dResidualDepth - Proc.MainFaces.TunnelAddedFaces.MiddleFaceTm.Faces[1].dElevation + dExtraMachDepth Strategy.Result.dCompletionIndex = FeatureLib.GetFeatureCompletionIndex( 100) - Strategy.Result.dQuality = FeatureLib.GetStrategyQuality( 'SEMI') + -- si cambia qualità perchè è rimasto il raggio sullo spigolo. E' giusto considerare non completo? + if Proc.Topology.sName == 'Groove-3-Through' or Proc.Topology.sName == 'Rabbet-2-Through' or Proc.Topology.sName == 'Bevel-2-Blind' or Proc.Topology.sName == 'VGroove-2-Through' then + Strategy.Result.dQuality = FeatureLib.GetStrategyQuality( 'SEMI') + end Strategy.Result.dMRR = ( Machining[3].dMRR + Machining[4].dMRR) / 2 Machining[1].bIsApplicable = false Machining[2].bIsApplicable = false From a3a29dc5bf160d1c227444d48d7de7c76f31b2ba Mon Sep 17 00:00:00 2001 From: "andrea.villa" Date: Thu, 23 Oct 2025 10:15:42 +0200 Subject: [PATCH 08/10] - Feature taglio di testa e coda rinominate con 'StartCut' e 'EndCut' - Migliorata gestione tagli testa e coda - Log result scrivono indici dettagliati per voto feature - Piccole sistemazioni varie --- LuaLibs/BeamExec.lua | 12 +--- LuaLibs/BeamLib.lua | 4 +- LuaLibs/FaceData.lua | 6 +- LuaLibs/FeatureLib.lua | 1 + LuaLibs/Logs.lua | 79 +++++++------------------ LuaLibs/MachiningLib.lua | 16 +++-- Strategies/Standard/HEADCUT/HEADCUT.lua | 3 + Strategies/Standard/STR0002/STR0002.lua | 1 - Strategies/Standard/STR0011/STR0011.lua | 3 + Strategies/Standard/STR0015/STR0015.lua | 2 +- Strategies/Standard/TAILCUT/TAILCUT.lua | 2 + 11 files changed, 50 insertions(+), 79 deletions(-) diff --git a/LuaLibs/BeamExec.lua b/LuaLibs/BeamExec.lua index 88c4b9d..8501abc 100644 --- a/LuaLibs/BeamExec.lua +++ b/LuaLibs/BeamExec.lua @@ -769,7 +769,7 @@ local function GetFeatureInfoAndDependency( vProcSingleRot, Part) -- non si controlla la feature con se stessa o se feature disabilitata if i ~= j and ProcB.nFlg ~= 0 then -- verifico se il taglio aggiunto manualmente può essere saltato perchè nella stessa posizione c'è un altro taglio di testa - if ID.IsHeadCut( Proc) and ( ID.IsHeadCut( ProcB) and EgtGetName( ProcB.id) == 'StartCut') then + if ID.IsHeadCut( Proc) and ( ID.IsHeadCut( ProcB) and EgtGetInfo( ProcB.id, 'HEAD_ADD_CUT', 'i') == 1) then if not Proc.SlaveProcIndexes then Proc.SlaveProcIndexes = {} end @@ -778,7 +778,7 @@ local function GetFeatureInfoAndDependency( vProcSingleRot, Part) ProcB.nFlg = 0 end -- verifico se il taglio aggiunto manualmente può essere saltato perchè nella stessa posizione c'è un altro taglio di coda - if ID.IsTailCut( Proc) and ( ID.IsTailCut( ProcB) and EgtGetName( ProcB.id) == 'EndCut') then + if ID.IsTailCut( Proc) and ( ID.IsTailCut( ProcB) and EgtGetInfo( ProcB.id, 'HEAD_ADD_CUT', 'i') == 1) then if not Proc.SlaveProcIndexes then Proc.SlaveProcIndexes = {} end @@ -948,7 +948,7 @@ local function CalculateStrategies( vProcSingleRot, Part) -- TODO da capire se dare un tempo molto alto oppure se dare errore perchè non deve mai capitare. Per ora si setta tempo alto -- se tempo non calcolato, si setta un tempo molto alto, 99 minuti - if not Proc.AvailableStrategies[nIndexCurrentStrategy].Result.dTimeToMachine then + if not Proc.AvailableStrategies[nIndexCurrentStrategy].Result.dTimeToMachine or Proc.AvailableStrategies[nIndexCurrentStrategy].Result.dTimeToMachine == 0 then Proc.AvailableStrategies[nIndexCurrentStrategy].Result.dTimeToMachine = 99 end @@ -1416,12 +1416,6 @@ local function GetCombinationListFromMatrix( ProcessingsOnPart, PartInfo) local BestCombination = {} local CombinationsList = { dAllCombinationsTotalTime = 0} - -- - -- scrittura nel log della matrice delle rotazioni - --if EgtGetDebugLevel() >= 3 then - -- Logs.WriteMatrixLog( ProcessingsOnPart, PartInfo) - --end - -- calcolo per tutte le combinazioni disponibili precedentemente verificate for i = 1, #PartInfo.CombinationList do local bRot90, bRot180 diff --git a/LuaLibs/BeamLib.lua b/LuaLibs/BeamLib.lua index 350a6e6..79cd6d0 100644 --- a/LuaLibs/BeamLib.lua +++ b/LuaLibs/BeamLib.lua @@ -33,7 +33,7 @@ function BeamLib.AddPartStartFace( PartId, b3Solid) return false, sErr end -- applico gli opportuni attributi di feature - EgtSetName( nStmId, 'StartCut') + EgtSetInfo( nStmId, 'HEAD_ADD_CUT', 1) EgtSetInfo( nStmId, 'GRP', 1) EgtSetInfo( nStmId, 'PRC', 10) -- ex 340 @@ -58,7 +58,7 @@ function BeamLib.AddPartEndFace( PartId, b3Solid) return false, sErr end -- applico gli opportuni attributi di feature - EgtSetName( nStmId, 'EndCut') + EgtSetInfo( nStmId, 'HEAD_ADD_CUT', 1) EgtSetInfo( nStmId, 'GRP', 2) EgtSetInfo( nStmId, 'PRC', 10) -- ex 350 diff --git a/LuaLibs/FaceData.lua b/LuaLibs/FaceData.lua index 3476b4e..37084a3 100644 --- a/LuaLibs/FaceData.lua +++ b/LuaLibs/FaceData.lua @@ -355,7 +355,9 @@ local function GetBottomFaces( Proc) or Proc.Topology.sFamily == 'Pocket' or Proc.Topology.sFamily == 'Bevel' or Proc.Topology.sFamily == 'DoubleBevel' - or Proc.Topology.sFamily == 'Cut') then + or Proc.Topology.sFamily == 'Cut' + or Proc.Topology.sFamily == 'HeadCut' + or Proc.Topology.sFamily == 'TailCut') then error( 'GetBottomFace : Topology not implemented') end @@ -657,7 +659,7 @@ function FaceData.GetMainFaces( Proc, Part) -- 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' or Proc.Topology.sFamily == 'Bevel' or - Proc.Topology.sFamily == 'DoubleBevel' or Proc.Topology.sFamily == 'Cut' then + Proc.Topology.sFamily == 'DoubleBevel' or Proc.Topology.sFamily == 'Cut' or Proc.Topology.sFamily == 'HeadCut' or Proc.Topology.sFamily == 'TailCut' then if ( Proc.Topology.bIsThrough and Proc.Topology.bAllRightAngles and Proc.nFct < 5) or ( Proc.nFct == 1) or Proc.Topology.sName == 'Bevel-2-Blind' then diff --git a/LuaLibs/FeatureLib.lua b/LuaLibs/FeatureLib.lua index a1bd117..54c0855 100644 --- a/LuaLibs/FeatureLib.lua +++ b/LuaLibs/FeatureLib.lua @@ -706,6 +706,7 @@ function FeatureLib.CalculateStrategiesCompositeRating( AvailableStrategies, sMa if AvailableStrategies[n].Result and AvailableStrategies[n].Result.dQuality and AvailableStrategies[n].Result.dCompletionIndex and AvailableStrategies[n].Result.dTimeToMachine then -- il tempo è pesato sul totale delle strategie, e riportato nell'intervallo 1-5, dove 5 è il tempo migliore (il più basso) local dIndexWeightTimeToMachine = 5 - ( 4 * ( EgtClamp( AvailableStrategies[n].Result.dTimeToMachine / AvailableStrategies.dAllStrategiesTotalTime, 0, 1))) + AvailableStrategies[n].Result.dTimeIndex = dIndexWeightTimeToMachine -- si calcolano gli indici pesati in base alla configurazione utente. Possibili parametri di configurazione: local dQuality, dCompletion, dTime, dCoeffQuality, dCoeffCompletion, dCoeffTime diff --git a/LuaLibs/Logs.lua b/LuaLibs/Logs.lua index 841f361..1f2c849 100644 --- a/LuaLibs/Logs.lua +++ b/LuaLibs/Logs.lua @@ -22,7 +22,7 @@ function Logs.WriteFeaturesLog( ProcessingsOnPart, PartInfo) EgtOutLog( ' === === === === === === === === === === === === === === === === === === === === === === === === === === ===') EgtOutLog( ' === === === === === === === === FEATURES STRATEGIES PIECE INVERTED === === === === === === === === === ===') end - EgtOutLog( ' Feature ID | BTL POSITION | 90 ROTATION | 180 ROTATION | 270 ROTATION |') + EgtOutLog( ' Feature ID | BTL POSITION | 90 ROTATION | 180 ROTATION | 270 ROTATION |') EgtOutLog( '----------------------------------------------------------------------------------------------------------') local nProcessingsNumber @@ -69,36 +69,44 @@ function Logs.WriteFeaturesLog( ProcessingsOnPart, PartInfo) if ProcessingsOnPart.Rotation[nRotLog][ProcLog].AvailableStrategies[nCountStrategies].Result then -- leggo lo stato della strategia per aggiungere un suffisso local sStatusStrategy = ' ' + local sIndexes, sRating = '', '' if not ProcessingsOnPart.Rotation[nRotLog][ProcLog].AvailableStrategies[nCountStrategies].Result.sStatus or ProcessingsOnPart.Rotation[nRotLog][ProcLog].AvailableStrategies[nCountStrategies].Result.sStatus == 'Not-Applicable' then sStatusStrategy = 'N' - elseif ProcessingsOnPart.Rotation[nRotLog][ProcLog].AvailableStrategies[nCountStrategies].Result.sStatus == 'Completed' then - sStatusStrategy = 'C' - elseif ProcessingsOnPart.Rotation[nRotLog][ProcLog].AvailableStrategies[nCountStrategies].Result.sStatus == 'Not-Completed' then - sStatusStrategy = 'P' + sRating = '----' + sIndexes = ' (C:---|Q:---|T:---)' + else + if ProcessingsOnPart.Rotation[nRotLog][ProcLog].AvailableStrategies[nCountStrategies].Result.sStatus == 'Completed' then + sStatusStrategy = 'C' + elseif ProcessingsOnPart.Rotation[nRotLog][ProcLog].AvailableStrategies[nCountStrategies].Result.sStatus == 'Not-Completed' then + sStatusStrategy = 'P' + end + sRating = EgtNumToString( ProcessingsOnPart.Rotation[nRotLog][ProcLog].AvailableStrategies[nCountStrategies].Result.dCompositeRating, -1) + sIndexes = ' (C:'.. EgtNumToString( ProcessingsOnPart.Rotation[nRotLog][ProcLog].AvailableStrategies[nCountStrategies].Result.dCompletionIndex, -1).. + '|Q:'.. EgtNumToString( ProcessingsOnPart.Rotation[nRotLog][ProcLog].AvailableStrategies[nCountStrategies].Result.dQuality, -1).. + '|T:'.. EgtNumToString( ProcessingsOnPart.Rotation[nRotLog][ProcLog].AvailableStrategies[nCountStrategies].Result.dTimeIndex, -1)..')' end -- se c'è una chosen strategy, si aggiunge prefisso '*' per indicare nel log qual è la strategia che è stata scelta local nIndexBestStrategy = ProcessingsOnPart.Rotation[nRotLog][ProcLog].nIndexBestStrategy or 0 - local dRating = EgtNumToString( ProcessingsOnPart.Rotation[nRotLog][ProcLog].AvailableStrategies[nCountStrategies].Result.dCompositeRating, -1) - local sLogLineProc = EgtIf( nIndexBestStrategy == nCountStrategies, '*', '') .. dRating ..' (' .. + local sLogLineProc = EgtIf( nIndexBestStrategy == nCountStrategies, '*', '') .. sRating .. sIndexes .. ' (' .. tostring( ProcessingsOnPart.Rotation[nRotLog][ProcLog].AvailableStrategies[nCountStrategies].sStrategyId) .. ')' .. - sStatusStrategy .. ' |' - while string.len( sLogLineProc) <= 20 do + sStatusStrategy .. ' |' + while string.len( sLogLineProc) <= 38 do sLogLineProc = ' ' .. sLogLineProc end sLogLine = sLogLine .. sLogLineProc else - sLogLine = sLogLine .. ' 0 (STR----)- |' + sLogLine = sLogLine .. ' 0 (STR----)- |' end else - sLogLine = sLogLine .. ' |' + sLogLine = sLogLine .. ' |' end -- rotazione non presa in considerazione else if nCountStrategies == 1 then - sLogLine = sLogLine .. ' ---------- |' + sLogLine = sLogLine .. ' ---------- |' else - sLogLine = sLogLine .. ' |' + sLogLine = sLogLine .. ' |' end end end @@ -111,51 +119,6 @@ function Logs.WriteFeaturesLog( ProcessingsOnPart, PartInfo) end end -------------------------------------------------------------------------------------------------------------- -function Logs.WriteMatrixLog( ProcessingsOnPart, PartInfo) - EgtOutLog( ' === === === === === === === === === === ROTATION MATRIX === === === === === === === === === === === === ===') - EgtOutLog( ' Feature ID | BTL POSITION | 90 ROTATION | 180 ROTATION | 270 ROTATION |') - EgtOutLog( '----------------------------------------------------------------------------------------------------------') - - local nProcessingsNumber - local nFirstAvailableRotation - -- ricerco prima rotazione effettivamente calcolata. In genere è sempre la prima - for i = 1, 4 do - if PartInfo.CombinationList.Rotations[i] == 1 then - nProcessingsNumber = #ProcessingsOnPart.Rotation[i] - nFirstAvailableRotation = i - break - end - end - - for ProcLog = 1, nProcessingsNumber do - local sLogLine = ' ' .. tostring( ProcessingsOnPart.Rotation[nFirstAvailableRotation][ProcLog].id) - while string.len( sLogLine) <= 20 do - sLogLine = sLogLine .. ' ' - end - sLogLine = sLogLine .. '|' - for nRotLog = 1, 4 do - if PartInfo.CombinationList.Rotations[nRotLog] == 1 then - if ProcessingsOnPart.Rotation[nRotLog][ProcLog].ChosenStrategy then - local sStatusStrategy = EgtIf( ProcessingsOnPart.Rotation[nRotLog][ProcLog].ChosenStrategy.Result.sStatus == 'Completed', 'C', 'P') - local dRating = EgtNumToString( ProcessingsOnPart.Rotation[nRotLog][ProcLog].ChosenStrategy.Result.dCompositeRating, -1) - local sLogLineProc = dRating .. ' (' .. tostring( ProcessingsOnPart.Rotation[nRotLog][ProcLog].ChosenStrategy.sStrategyId) .. ')' .. sStatusStrategy .. ' |' - while string.len( sLogLineProc) <= 20 do - sLogLineProc = ' ' .. sLogLineProc - end - sLogLine = sLogLine .. sLogLineProc - else - sLogLine = sLogLine .. ' 0 (STR----)- |' - end - else - sLogLine = sLogLine .. ' ---------- |' - end - end - EgtOutLog( sLogLine) - end - EgtOutLog( '----------------------------------------------------------------------------------------------------------') -end - ------------------------------------------------------------------------------------------------------------- function Logs.WriteCombinationLog( CombinationsList, BestCombination) EgtOutLog( ' === === === === === === === === === === COMBINATIONS === === === === === === ') diff --git a/LuaLibs/MachiningLib.lua b/LuaLibs/MachiningLib.lua index 0e32302..e584400 100644 --- a/LuaLibs/MachiningLib.lua +++ b/LuaLibs/MachiningLib.lua @@ -238,8 +238,8 @@ local function GetIndexToolInAvailableToolList( AvailableToolList, sToolName) return nIndex end end - -- se non trovato (dovrebbe essere impossibile dato che è già stato escluso dai controlli iniziali) ritorna un indice altissimo - return 9999 + -- se non trovato + return nil end ------------------------------------------------------------------------------------------------------------- @@ -345,7 +345,8 @@ function MachiningLib.FindMill( Proc, ToolSearchParameters) if dBestToolResidualDepth <= 0 and dCurrentResidualDepth <= 0 then -- se è presente una lista di utensili disponibili, si prende quello che arriva primo in quella lista if ToolSearchParameters.AvailableToolList and ToolSearchParameters.AvailableToolList.bRespectListOrder then - if GetIndexToolInAvailableToolList( ToolSearchParameters.AvailableToolList, TOOLS[i].sName) < + if GetIndexToolInAvailableToolList( ToolSearchParameters.AvailableToolList, TOOLS[i].sName) and + GetIndexToolInAvailableToolList( ToolSearchParameters.AvailableToolList, TOOLS[i].sName) < GetIndexToolInAvailableToolList( ToolSearchParameters.AvailableToolList, TOOLS[nBestToolIndex].sName) then nBestToolIndex = i dBestToolResidualDepth = dCurrentResidualDepth @@ -449,7 +450,8 @@ function MachiningLib.FindBlade( Proc, ToolSearchParameters) if dBestToolResidualDepth <= 10 * GEO.EPS_SMALL and dCurrentResidualDepth <= 10 * GEO.EPS_SMALL then -- se è presente una lista di utensili disponibili, si prende quello che arriva primo in quella lista if ToolSearchParameters.AvailableToolList and ToolSearchParameters.AvailableToolList.bRespectListOrder then - if GetIndexToolInAvailableToolList( ToolSearchParameters.AvailableToolList, TOOLS[i].sName) < + if GetIndexToolInAvailableToolList( ToolSearchParameters.AvailableToolList, TOOLS[i].sName) and + GetIndexToolInAvailableToolList( ToolSearchParameters.AvailableToolList, TOOLS[i].sName) < GetIndexToolInAvailableToolList( ToolSearchParameters.AvailableToolList, TOOLS[nBestToolIndex].sName) then nBestToolIndex = i dBestToolResidualDepth = dCurrentResidualDepth @@ -560,7 +562,8 @@ function MachiningLib.FindDrill( Proc, ToolSearchParameters) dBestToolResidualDepth = dCurrentResidualDepth -- se è presente una lista di utensili disponibili, si prende quello che arriva primo in quella lista elseif ToolSearchParameters.AvailableToolList and ToolSearchParameters.AvailableToolList.bRespectListOrder then - if GetIndexToolInAvailableToolList( ToolSearchParameters.AvailableToolList, TOOLS[i].sName) < + if GetIndexToolInAvailableToolList( ToolSearchParameters.AvailableToolList, TOOLS[i].sName) and + GetIndexToolInAvailableToolList( ToolSearchParameters.AvailableToolList, TOOLS[i].sName) < GetIndexToolInAvailableToolList( ToolSearchParameters.AvailableToolList, TOOLS[nBestToolIndex].sName) then nBestToolIndex = i dBestToolResidualDepth = dCurrentResidualDepth @@ -660,7 +663,8 @@ function MachiningLib.FindChainSaw( Proc, ToolSearchParameters) if dBestToolResidualDepth <= 0 and dCurrentResidualDepth <= 0 then -- se è presente una lista di utensili disponibili, si prende quello che arriva primo in quella lista if ToolSearchParameters.AvailableToolList and ToolSearchParameters.AvailableToolList.bRespectListOrder then - if GetIndexToolInAvailableToolList( ToolSearchParameters.AvailableToolList, TOOLS[i].sName) < + if GetIndexToolInAvailableToolList( ToolSearchParameters.AvailableToolList, TOOLS[i].sName) and + GetIndexToolInAvailableToolList( ToolSearchParameters.AvailableToolList, TOOLS[i].sName) < GetIndexToolInAvailableToolList( ToolSearchParameters.AvailableToolList, TOOLS[nBestToolIndex].sName) then nBestToolIndex = i dBestToolResidualDepth = dCurrentResidualDepth diff --git a/Strategies/Standard/HEADCUT/HEADCUT.lua b/Strategies/Standard/HEADCUT/HEADCUT.lua index ef3f568..3524c2c 100644 --- a/Strategies/Standard/HEADCUT/HEADCUT.lua +++ b/Strategies/Standard/HEADCUT/HEADCUT.lua @@ -57,6 +57,9 @@ function HEADCUT.Make( bAddMachining, Proc, Part, CustomParameters) -- se devo applicare le lavorazioni if bAddMachining then + -- si forza il nome della feature + EgtSetName( Proc.id, 'StartCut') + -- inserimento smussi su spigoli del taglio if Strategy.Parameters.bMakeChamfer then MakeChamfer() diff --git a/Strategies/Standard/STR0002/STR0002.lua b/Strategies/Standard/STR0002/STR0002.lua index d47f3a6..e81deb4 100644 --- a/Strategies/Standard/STR0002/STR0002.lua +++ b/Strategies/Standard/STR0002/STR0002.lua @@ -161,7 +161,6 @@ local function GetBestPocketingStrategy( Proc) or Proc.Topology.sName == 'Bevel-1-Through' then ToolSearchParameters.sType = 'MILL_NOTIP' - ToolSearchParameters.dMaxToolDiameter = 9999 else return nil end diff --git a/Strategies/Standard/STR0011/STR0011.lua b/Strategies/Standard/STR0011/STR0011.lua index 310ad98..d845e23 100644 --- a/Strategies/Standard/STR0011/STR0011.lua +++ b/Strategies/Standard/STR0011/STR0011.lua @@ -82,6 +82,9 @@ local function GetDrillingStrategy( Proc, Part) Strategy.Result.dMRR = MachiningLib.GetToolMRR( Machining[1].ToolInfo or Machining[2].ToolInfo) Strategy.Result.dQuality = FeatureLib.GetStrategyQuality( 'FINE') -- se non completo, anche se fosse foro singolo, comunque non esce dall'altra parte, quindi non scheggia end + else + local sMessage = 'Drillbit not found' + Strategy.Result = FeatureLib.GetStrategyResultNotApplicable( sMessage) end -- se lavorazione verticale else diff --git a/Strategies/Standard/STR0015/STR0015.lua b/Strategies/Standard/STR0015/STR0015.lua index 2f9432e..c53cff6 100644 --- a/Strategies/Standard/STR0015/STR0015.lua +++ b/Strategies/Standard/STR0015/STR0015.lua @@ -26,7 +26,7 @@ local function GetEdgeToMachine( Proc, idFace, vtEdge) local Edge local dBestEdgeAngle = 999 for i = 1, #Proc.Faces[idFace].Edges do - local dAngle = abs( GetAngle( Proc.Faces[idFace].Edges[i].vtN, vtEdge)) + local dAngle = abs( GetAngle( Proc.Faces[idFace].Edges[i].vtN, vtEdge) or 999) if dAngle < dBestEdgeAngle then dBestEdgeAngle = dAngle Edge = Proc.Faces[idFace].Edges[i] diff --git a/Strategies/Standard/TAILCUT/TAILCUT.lua b/Strategies/Standard/TAILCUT/TAILCUT.lua index 35ad718..7a911d7 100644 --- a/Strategies/Standard/TAILCUT/TAILCUT.lua +++ b/Strategies/Standard/TAILCUT/TAILCUT.lua @@ -74,6 +74,8 @@ function TAILCUT.Make( bAddMachining, Proc, Part, CustomParameters) -- se devo applicare le lavorazioni if bAddMachining then + -- si forza il nome della feature + EgtSetName( Proc.id, 'EndCut') -- inserimento smussi su spigoli del taglio if Strategy.Parameters.bMakeChamfer then From 334680d3d6487f264eb4fce6a6cd29f4b7d1dfd3 Mon Sep 17 00:00:00 2001 From: "andrea.villa" Date: Thu, 23 Oct 2025 10:42:58 +0200 Subject: [PATCH 09/10] Revert modifica fatta su strategia STR0002 --- Strategies/Standard/STR0002/STR0002.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/Strategies/Standard/STR0002/STR0002.lua b/Strategies/Standard/STR0002/STR0002.lua index e81deb4..d47f3a6 100644 --- a/Strategies/Standard/STR0002/STR0002.lua +++ b/Strategies/Standard/STR0002/STR0002.lua @@ -161,6 +161,7 @@ local function GetBestPocketingStrategy( Proc) or Proc.Topology.sName == 'Bevel-1-Through' then ToolSearchParameters.sType = 'MILL_NOTIP' + ToolSearchParameters.dMaxToolDiameter = 9999 else return nil end From befc942be85261e583b43b942e6e36e8eb350f4a Mon Sep 17 00:00:00 2001 From: "andrea.villa" Date: Thu, 23 Oct 2025 12:56:58 +0200 Subject: [PATCH 10/10] Corretto controllo parametri configurabili strategia in caso di feature forzata --- LuaLibs/BeamLib.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LuaLibs/BeamLib.lua b/LuaLibs/BeamLib.lua index 79cd6d0..d6a312d 100644 --- a/LuaLibs/BeamLib.lua +++ b/LuaLibs/BeamLib.lua @@ -518,7 +518,7 @@ function BeamLib.LoadCustomParametersInStrategy( Proc, Part, CustomParameters, D for i = 1, #DefaultStrategyParamList.ParameterList do local xParameterValue = nil -- se strategia forzata, leggo eventuali parametri nelle info - if CustomParameters and CustomParameters.bForcedStrategy then + if CustomParameters and CustomParameters.bForcedStrategy and DefaultStrategyParamList.ParameterList[i].sNameNge then local sParameterToRead = DefaultStrategyParamList.sStrategyId .. '_' .. DefaultStrategyParamList.ParameterList[i].sNameNge local sForcedParameterForProc = EgtGetInfo( Proc.id, sParameterToRead, 's') -- se ho trovato il valore, lo sovrascrivo al default