From 9a6036dc4ca2ef5a98c22298aa2a872ff33bf822 Mon Sep 17 00:00:00 2001 From: "andrea.villa" Date: Mon, 10 Jun 2024 12:48:25 +0200 Subject: [PATCH] Piccole modifiche per lettura diametro --- LuaLibs/BeamExec.lua | 4 ++-- LuaLibs/MachiningLib.lua | 2 +- Process.lua | 3 ++- Strategies/STR0002/STR0002.lua | 11 +++++++++-- 4 files changed, 14 insertions(+), 6 deletions(-) diff --git a/LuaLibs/BeamExec.lua b/LuaLibs/BeamExec.lua index 8ae0b48..99b02f4 100644 --- a/LuaLibs/BeamExec.lua +++ b/LuaLibs/BeamExec.lua @@ -757,7 +757,7 @@ end -- 2) Standard : ( lavorazioni standard che non impattano sulal coda) -- 3) AdvanceTail : ( lavorazioni che richiedono taglio di separazione, ma che devono essere fatte prima perchè il taglio di separazione farebbe cadere il pezzo) -- 4) Split : ( taglio di separazione) --- 5) Tail : ( lavorazionio di coda, fatte dopo il taglio di separazione) +-- 5) Tail : ( lavorazioni di coda, fatte dopo il taglio di separazione) local function OrderFeatures( vProc) local vProcToSort = vProc -- funzione di confronto. TRUE = B1 prima di B2. FALSE = B2 prima di B1 @@ -870,7 +870,7 @@ function BeamExec.ProcessFeatures() local Stats = {} local nOrd = 1 local Part = {} - + Part.idRaw = EgtGetFirstRawPart() while Part.idRaw do -- verifico che il grezzo contenga pezzi oppure sia abbastanza lungo da essere scaricato coi carrelli diff --git a/LuaLibs/MachiningLib.lua b/LuaLibs/MachiningLib.lua index 8e9a543..cc08806 100644 --- a/LuaLibs/MachiningLib.lua +++ b/LuaLibs/MachiningLib.lua @@ -318,7 +318,7 @@ function MachiningLib.AddNewMachining( ProcToAdd, MachiningToAdd) end -- se nome non definito, assegno alla lavorazioen un nome standard if not MachiningToAdd.sOperationName then - MachiningToAdd.sOperationName = MachiningToAdd.sTypeName .. ( EgtGetName( ProcToAdd.id) or tostring( ProcToAdd.id)) .. '_' .. tostring( MachiningToAdd.idFaceToMachine) + MachiningToAdd.sOperationName = MachiningToAdd.sTypeName .. ( EgtGetName( ProcToAdd.id) or tostring( ProcToAdd.id)) .. '_' .. tostring( MachiningToAdd.Geometry[1][2]) end if not MachiningToAdd.sToolName then MachiningToAdd.sToolName = TOOLS[MachiningToAdd.nToolIndex].sName diff --git a/Process.lua b/Process.lua index cea53a8..a27a368 100644 --- a/Process.lua +++ b/Process.lua @@ -175,7 +175,8 @@ local function MyProcessBeams() -- Richiedo lunghezza del grezzo, sovramateriale di testa, forzatura verticale e ordinamento automatico secondo la lunghezza local vsVal = EgtDialogBox( 'Lavora Travi' .. ' (Ltot='..EgtNumToString( dTotLen + dAddLen + 0.5, 0).. ', Lmax='..EgtNumToString( BeamData.MAX_RAW, 0)..',MinUlr='..EgtNumToString( BeamData.dMinRaw + BeamData.OVM_MID, 0)..')', - {'Lunghezza grezzo', EgtNumToString( BeamData.STD_RAW, 0)}, + --{'Lunghezza grezzo', EgtNumToString( BeamData.STD_RAW, 0)}, -- TODO RIPRISTINARE + {'Lunghezza grezzo', EgtNumToString( 0)}, {'Sovramateriale di testa', EgtNumToString( BeamData.OVM_HEAD, 0)}, {'Offset intermedio', EgtNumToString( BeamData.OVM_MID, 0)}, {'Forza sezione verticale', ' CB:true,*false'}, diff --git a/Strategies/STR0002/STR0002.lua b/Strategies/STR0002/STR0002.lua index 338e6c4..0699132 100644 --- a/Strategies/STR0002/STR0002.lua +++ b/Strategies/STR0002/STR0002.lua @@ -343,6 +343,13 @@ local function VerifySplitMachiningNeeded( Proc, Part) bStartRight = true end + -- recupero utensile con massimo diametro + local dMaxDiam = 30 + for t = 1, #Strategy.Machining do + if Strategy.Machining[t].bIsApplicable then + dMaxDiam = min( dMaxDiam, TOOLS[Strategy.Machining[t].ToolInfo.nToolIndex].dDiameter) + end + end -- salvo valori local dNewMinX = Proc.b3Box:getMin():getX() local dNewMaxX = Proc.b3Box:getMax():getX() @@ -350,7 +357,7 @@ local function VerifySplitMachiningNeeded( Proc, Part) -- creo primo spezzone sulla sinistra if bStartLeft then local AddId = EgtCopyGlob( Proc.id, nAddGrpId) or GDB_ID.NULL - dNewMinX = max( ( Proc.b3Box:getMin():getX() + TOOLS[ToolInfo.nToolIndex].dDiameter * 2), Part.b3Solid:getMin():getX() + BeamData.LONGCUT_ENDLEN) + dNewMinX = max( ( Proc.b3Box:getMin():getX() + dMaxDiam * 3), Part.b3Solid:getMin():getX() + BeamData.LONGCUT_ENDLEN) local ptOn = Point3d( dNewMinX, 0, 0) dNewRest = abs( dNewMaxX - dNewMinX) -- taglio della superficie lato sinistro @@ -361,7 +368,7 @@ local function VerifySplitMachiningNeeded( Proc, Part) -- creo spezzone sulla destra if bStartRight then local AddId = EgtCopyGlob( Proc.id, nAddGrpId) or GDB_ID.NULL - dNewMaxX = min( ( Proc.b3Box:getMax():getX() - TOOLS[ToolInfo.nToolIndex].dDiameter * 2), Part.b3Solid:getMax():getX() - BeamData.LONGCUT_ENDLEN) + dNewMaxX = min( ( Proc.b3Box:getMax():getX() - dMaxDiam * 3), Part.b3Solid:getMax():getX() - BeamData.LONGCUT_ENDLEN) local ptOn = Point3d( dNewMaxX, 0, 0) dNewRest = abs( dNewMaxX - dNewMinX) -- taglio della superficie lato destro