diff --git a/LuaLibs/BeamExec.lua b/LuaLibs/BeamExec.lua index 12f16d8..9c29ff0 100644 --- a/LuaLibs/BeamExec.lua +++ b/LuaLibs/BeamExec.lua @@ -1581,7 +1581,7 @@ function BeamExec.ProcessMachinings( PARTS) EgtOutLog( ' *** AddMachinings ***', 1) -- se la posizione iniziale non è calcolata, significa che non ci sono feature da eseguire. Solo taglio testa/coda - if not MatrixResult.nInitialPosition or not MACHININGS.Info.nHeadCutRotation or not MACHININGS.Info.nSplitCutRotation then + if not MatrixResult.nInitialPosition then MatrixResult.nInitialPosition = 1 MACHININGS.Info.nHeadCutRotation = 1 MACHININGS.Info.nSplitCutRotation = 1 @@ -1597,6 +1597,11 @@ function BeamExec.ProcessMachinings( PARTS) -- esegue le strategie migliori che ha precedentemente scelto e salva le lavorazioni nella lista globale bAllStrategiesApplied = false MACHININGS, bAllStrategiesApplied = CalculateMachinings( vProc, PARTS[nPart], MatrixResult.nInitialPosition) + -- se non sono sono settate le rotazioni di lavorazione di testa e coda, significa che le feature da eseguire non sono state eseguite per qualche problema. Si forza rotazione 1 + if MACHININGS.Info.nHeadCutRotation or MACHININGS.Info.nSplitCutRotation then + MACHININGS.Info.nHeadCutRotation = 1 + MACHININGS.Info.nSplitCutRotation = 1 + end end -- salvo sul PART la posizione di partenza che è stata scelta PARTS[nPart].nInitialPosition = MatrixResult.nInitialPosition diff --git a/Strategies/Standard/STR0011/STR0011.json b/Strategies/Standard/STR0011/STR0011.json index 51fae7a..1a5192b 100644 --- a/Strategies/Standard/STR0011/STR0011.json +++ b/Strategies/Standard/STR0011/STR0011.json @@ -16,7 +16,7 @@ "sName": "sDrillingMode", "sNameNge": "DRILLING_MODE", "sValue": "AUTO", - "sDescriptionShort": "Cutting Strategy", + "sDescriptionShort": "Drilling Mode", "sDescriptionLong": "", "sType": "combo", "sMinUserLevel": "1", diff --git a/Strategies/Standard/STR0011/STR0011.lua b/Strategies/Standard/STR0011/STR0011.lua index 6559591..fe6d6c9 100644 --- a/Strategies/Standard/STR0011/STR0011.lua +++ b/Strategies/Standard/STR0011/STR0011.lua @@ -105,14 +105,12 @@ function GetDrillingStrategy( Proc, Part) Drilling.ToolInfo.dResidualDepth + Drilling2.ToolInfo.dResidualDepth < Proc.FeatureInfo.dDrillLen then local dExtraDrill = ( Proc.FeatureInfo.dDrillLen - BeamData.MILL_OVERLAP - ( Drilling.ToolInfo.dResidualDepth + Drilling2.ToolInfo.dResidualDepth)) / 2 - Drilling.nType = MCH_MY.DRILLING Drilling.nToolIndex = Drilling.ToolInfo.nToolIndex Drilling.Geometry = {{ Proc.FeatureInfo.idAddAuxGeom, 0}} Drilling.vtToolDirection = Proc.FeatureInfo.vtDrillExtrusion Drilling.sDepth = Proc.FeatureInfo.dDrillLen - Drilling.ToolInfo.dResidualDepth - dExtraDrill table.insert( Machining, Drilling) - Drilling2.nType = MCH_MY.DRILLING Drilling2.nToolIndex = Drilling2.ToolInfo.nToolIndex Drilling2.Geometry = {{ Proc.FeatureInfo.idAddAuxGeom, 0}} Drilling2.bInvert = true @@ -146,7 +144,6 @@ function GetDrillingStrategy( Proc, Part) elseif Drilling2.ToolInfo.nToolIndex and Drilling2.ToolInfo.dResidualDepth < 10 * GEO.EPS_SMALL and ( Strategy.Parameters.sDrillingMode == 'PREFER_ONE' or ( not Drilling.ToolInfo.nToolIndex and Strategy.Parameters.sDrillingMode == 'AUTO')) then Drilling2.sDepth = 'TH' - Drilling2.nType = MCH_MY.DRILLING Drilling2.nToolIndex = Drilling2.ToolInfo.nToolIndex Drilling2.Geometry = {{ Proc.FeatureInfo.idAddAuxGeom, 0}} Drilling2.bInvert = true @@ -167,7 +164,6 @@ function GetDrillingStrategy( Proc, Part) Drilling.sDepth = Proc.FeatureInfo.dDrillLen - Drilling.ToolInfo.dResidualDepth table.insert( Machining, Drilling) - Drilling2.nType = MCH_MY.DRILLING Drilling2.nToolIndex = Drilling2.ToolInfo.nToolIndex Drilling2.Geometry = {{ Proc.FeatureInfo.idAddAuxGeom, 0}} Drilling2.bInvert = true @@ -208,7 +204,6 @@ function GetDrillingStrategy( Proc, Part) -- se utensile 2 non completo elseif Drilling2.ToolInfo.nToolIndex and Strategy.Parameters.sDrillingMode ~= 'FORCE_TWO' then Drilling2.sDepth = Proc.FeatureInfo.dDrillLen - Drilling2.ToolInfo.dResidualDepth - Drilling2.nType = MCH_MY.DRILLING Drilling2.nToolIndex = Drilling2.ToolInfo.nToolIndex Drilling2.Geometry = {{ Proc.FeatureInfo.idAddAuxGeom, 0}} Drilling2.bInvert = true @@ -255,6 +250,7 @@ function STR0011.Make( bAddMachining, Proc, Part, CustomParameters) if bAddMachining and Strategy.Result.sStatus ~= 'Not-Applicable' then -- aggiunge lavorazione for j = 1, #Strategy.Machinings do + Strategy.Machinings[j].Steps.dStep = TOOLS[Strategy.Machinings[j].ToolInfo.nToolIndex].dStep bAreAllMachiningsAdded = MachiningLib.AddMachinings( Proc, Strategy.Machinings[j]) end end