Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| d1c014e20c | |||
| 92a924dde1 | |||
| 306b5b6dff | |||
| d2a6d7e75c |
+15
-2
@@ -23,6 +23,7 @@
|
|||||||
-- 2023/08/01 In caso di pezzi alti su macchina tipo PF i tagli doppi di lato non vengono usati, si usa il metodo standard.
|
-- 2023/08/01 In caso di pezzi alti su macchina tipo PF i tagli doppi di lato non vengono usati, si usa il metodo standard.
|
||||||
-- 2023/09/12 In MakeFromTop abbassato a 590 mm il limite per convertire in LongCut.
|
-- 2023/09/12 In MakeFromTop abbassato a 590 mm il limite per convertire in LongCut.
|
||||||
-- 2023/10/27 In MakeFromTop corretto massimo materiale in caso di lavorazione da sotto.
|
-- 2023/10/27 In MakeFromTop corretto massimo materiale in caso di lavorazione da sotto.
|
||||||
|
-- 2023/12/07 Correzione in Classify in scelta ribaltamento trave quando si è in condizioni downUp.
|
||||||
|
|
||||||
-- Tabella per definizione modulo
|
-- Tabella per definizione modulo
|
||||||
local ProcessCut = {}
|
local ProcessCut = {}
|
||||||
@@ -67,10 +68,22 @@ function ProcessCut.Classify( Proc, b3Raw)
|
|||||||
local dNzLimDwnUp = BL.GetNzLimDownUp( b3Raw)
|
local dNzLimDwnUp = BL.GetNzLimDownUp( b3Raw)
|
||||||
local bDownCut = ( vtN:getZ() <= dNzLimDwnUp)
|
local bDownCut = ( vtN:getZ() <= dNzLimDwnUp)
|
||||||
if bDownCut then
|
if bDownCut then
|
||||||
|
-- recupero i dati della lama
|
||||||
|
local sCutType = EgtIf( Proc.Head, 'HeadSide', 'TailSide')
|
||||||
|
local sCutting = ML.FindCutting( sCutType, true, false)
|
||||||
|
local dMaxDepth = 0
|
||||||
|
local dMaxMat = 0
|
||||||
|
if EgtMdbSetCurrMachining( sCutting) then
|
||||||
|
local sTuuid = EgtMdbGetCurrMachiningParam( MCH_MP.TUUID)
|
||||||
|
if EgtTdbSetCurrTool( EgtTdbGetToolFromUUID( sTuuid) or '') then
|
||||||
|
dMaxDepth = EgtTdbGetCurrToolMaxDepth() or dMaxDepth
|
||||||
|
dMaxMat = EgtTdbGetCurrToolParam( MCH_TP.MAXMAT) or dMaxMat
|
||||||
|
end
|
||||||
|
end
|
||||||
-- calcolo l'ingombro orizzontale della faccia
|
-- calcolo l'ingombro orizzontale della faccia
|
||||||
local _, DimH, DimV = BL.GetFaceHvRefDim( Proc.Id, 0)
|
local _, DimH, DimV = BL.GetFaceHvRefDim( Proc.Id, 0)
|
||||||
-- confronto questo ingombro con il doppio della massima dimensione del DiceCut (impossibile lavorare sotto da sopra se più di 2 tagli)
|
-- confronto questo ingombro con il doppio della massima dimensione del DiceCut (impossibile lavorare sotto da sopra se più di 2 tagli oppure se tipo PF, taglio inclinato in Y e non taglio singolo orizzontale)
|
||||||
if DimH > 2 * BD.MAX_DIM_DICE then
|
if DimH > 2 * BD.MAX_DIM_DICE or ( BD.C_SIMM and abs( vtN:getY()) > 0.1 and dMaxMat < DimH + BD.CUT_EXTRA) then
|
||||||
return true, true
|
return true, true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
-- Gestione calcolo doppi tagli di lama per Travi
|
-- Gestione calcolo doppi tagli di lama per Travi
|
||||||
-- 2022/08/29 Implementata la fresatura dal lato per tagli problematici per PF1250.
|
-- 2022/08/29 Implementata la fresatura dal lato per tagli problematici per PF1250.
|
||||||
-- 2023/03/22 Eliminata SetOpenSide locale, si usa quella di libreria.
|
-- 2023/03/22 Eliminata SetOpenSide locale, si usa quella di libreria.
|
||||||
|
-- 2023/12/07 Correzione in Classify in scelta ribaltamento trave quando si è in condizioni downUp
|
||||||
|
|
||||||
-- Tabella per definizione modulo
|
-- Tabella per definizione modulo
|
||||||
local ProcessDoubleCut = {}
|
local ProcessDoubleCut = {}
|
||||||
@@ -54,10 +55,22 @@ function ProcessDoubleCut.Classify( Proc, b3Raw)
|
|||||||
local dNzLimDwnUp = BL.GetNzLimDownUp( b3Raw, vtN)
|
local dNzLimDwnUp = BL.GetNzLimDownUp( b3Raw, vtN)
|
||||||
local bDownCut = ( vtN:getZ() <= dNzLimDwnUp)
|
local bDownCut = ( vtN:getZ() <= dNzLimDwnUp)
|
||||||
if bDownCut then
|
if bDownCut then
|
||||||
|
-- recupero i dati della lama
|
||||||
|
local sCutType = EgtIf( Proc.Head, 'HeadSide', 'TailSide')
|
||||||
|
local sCutting = ML.FindCutting( sCutType, true, false)
|
||||||
|
local dMaxDepth = 0
|
||||||
|
local dMaxMat = 0
|
||||||
|
if EgtMdbSetCurrMachining( sCutting) then
|
||||||
|
local sTuuid = EgtMdbGetCurrMachiningParam( MCH_MP.TUUID)
|
||||||
|
if EgtTdbSetCurrTool( EgtTdbGetToolFromUUID( sTuuid) or '') then
|
||||||
|
dMaxDepth = EgtTdbGetCurrToolMaxDepth() or dMaxDepth
|
||||||
|
dMaxMat = EgtTdbGetCurrToolParam( MCH_TP.MAXMAT) or dMaxMat
|
||||||
|
end
|
||||||
|
end
|
||||||
-- calcolo l'ingombro orizzontale della faccia
|
-- calcolo l'ingombro orizzontale della faccia
|
||||||
local _, DimH, DimV = BL.GetFaceHvRefDim( Proc.Id, nFac)
|
local _, DimH = BL.GetFaceHvRefDim( Proc.Id, nFac)
|
||||||
-- confronto questo ingombro con il doppio della massima dimensione del DiceCut (impossibile lavorare sotto da sopra se più di 2 tagli)
|
-- confronto questo ingombro con il doppio della massima dimensione del DiceCut (impossibile lavorare sotto da sopra se più di 2 tagli oppure se tipo PF, taglio inclinato in Y e non taglio singolo orizzontale)
|
||||||
if DimH > 2 * BD.MAX_DIM_DICE then
|
if DimH > 2 * BD.MAX_DIM_DICE or ( BD.C_SIMM and abs( vtN:getY()) > 0.1 and dMaxMat < DimH + BD.CUT_EXTRA) then
|
||||||
return true, true
|
return true, true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user