Compare commits
18 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 36618ccc02 | |||
| e66038461d | |||
| 1dc22e5af3 | |||
| dfcb06c298 | |||
| ef7d328eee | |||
| 11683fa34d | |||
| bec5751e8c | |||
| eb7a125aa0 | |||
| e03f25247d | |||
| 3c97e96e05 | |||
| b44a45e8b0 | |||
| 3a878f5793 | |||
| 9795bbdc80 | |||
| 187beba682 | |||
| 2f2b8589af | |||
| c3387ddad8 | |||
| 1221b82b03 | |||
| 8337129f91 |
+63
-19
@@ -1792,7 +1792,9 @@ local function MakeRoundCleanContour( Proc, nPhase, nRawId, nPartId, b3Raw,
|
|||||||
dDepth, bOneShot)
|
dDepth, bOneShot)
|
||||||
|
|
||||||
-- recupero la lavorazione senza considerare l'elevazione perché viene calcolata l'elevazione utile
|
-- recupero la lavorazione senza considerare l'elevazione perché viene calcolata l'elevazione utile
|
||||||
local sMilling = ML.FindMilling( 'SmallToolContour', nil, nil, nil, nil, not( bMillDown and not bDoubleSide), bMillDown and not bDoubleSide)
|
local bTopHead = not( bMillDown and not bDoubleSide)
|
||||||
|
local bDownHead = bMillDown and not bDoubleSide
|
||||||
|
local sMilling = ML.FindMilling( 'SmallToolContour', nil, nil, nil, nil, bTopHead, bDownHead)
|
||||||
if not sMilling then
|
if not sMilling then
|
||||||
local sMyWarn = 'Warning : SmallToolContour not found in library'
|
local sMyWarn = 'Warning : SmallToolContour not found in library'
|
||||||
EgtOutLog( sMyWarn)
|
EgtOutLog( sMyWarn)
|
||||||
@@ -1954,17 +1956,31 @@ local function MakeRoundCleanContour( Proc, nPhase, nRawId, nPartId, b3Raw,
|
|||||||
EgtSetMachiningParam( MCH_MP.WORKSIDE, MCH_MILL_WS.LEFT)
|
EgtSetMachiningParam( MCH_MP.WORKSIDE, MCH_MILL_WS.LEFT)
|
||||||
-- inversione direzione utensile
|
-- inversione direzione utensile
|
||||||
local bInvertMach = false
|
local bInvertMach = false
|
||||||
|
local bInvertTool = false
|
||||||
if nPathInt then
|
if nPathInt then
|
||||||
-- verifico se devo invertire direzione utensile (in caso di direzione verso la verticale)
|
if bDownHead then
|
||||||
if vtN1:getZ() < BD.NZ_MINA and abs(vtN1:getZ()) >= 0.707 then
|
if vtN1:getZ() > 10 * GEO.EPS_SMALL then
|
||||||
EgtSetMachiningParam( MCH_MP.TOOLINVERT, true)
|
bInvertTool = true
|
||||||
bInvertMach = true
|
bInvertMach = true
|
||||||
-- altrimenti se da fare in una sola volta e direzionato verso Y+ lo inverto per lavorarlo davanti
|
end
|
||||||
elseif not bDoubleSide and vtN1:getY() > GEO.EPS_SMALL then
|
elseif bMillDown and bDoubleSide then
|
||||||
EgtSetMachiningParam( MCH_MP.TOOLINVERT, true)
|
if vtN1:getZ() > 10 * GEO.EPS_SMALL and bDownHead then
|
||||||
bInvertMach = true
|
bInvertTool = true
|
||||||
|
bInvertMach = true
|
||||||
|
end
|
||||||
|
else
|
||||||
|
-- verifico se devo invertire direzione utensile (in caso di direzione verso la verticale)
|
||||||
|
if vtN1:getZ() < BD.NZ_MINA and abs( vtN1:getZ()) >= 0.707 then
|
||||||
|
bInvertTool = true
|
||||||
|
bInvertMach = true
|
||||||
|
-- altrimenti se da fare in una sola volta e direzionato verso Y+ lo inverto per lavorarlo davanti
|
||||||
|
elseif not bDoubleSide and vtN1:getY() > 10 * GEO.EPS_SMALL then
|
||||||
|
bInvertTool = true
|
||||||
|
bInvertMach = true
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
EgtSetMachiningParam( MCH_MP.TOOLINVERT, bInvertMach)
|
||||||
-- imposto posizione braccio porta testa
|
-- imposto posizione braccio porta testa
|
||||||
local nSCC = MCH_SCC.NONE
|
local nSCC = MCH_SCC.NONE
|
||||||
if not BD.C_SIMM then
|
if not BD.C_SIMM then
|
||||||
@@ -2039,7 +2055,7 @@ local function MakeRoundCleanContour( Proc, nPhase, nRawId, nPartId, b3Raw,
|
|||||||
-- imposto lato di lavoro sinistro
|
-- imposto lato di lavoro sinistro
|
||||||
EgtSetMachiningParam( MCH_MP.WORKSIDE, MCH_MILL_WS.LEFT)
|
EgtSetMachiningParam( MCH_MP.WORKSIDE, MCH_MILL_WS.LEFT)
|
||||||
-- imposto direzione utensile opposta
|
-- imposto direzione utensile opposta
|
||||||
EgtSetMachiningParam( MCH_MP.TOOLINVERT, true)
|
EgtSetMachiningParam( MCH_MP.TOOLINVERT, not bInvertTool)
|
||||||
-- imposto posizione braccio porta testa
|
-- imposto posizione braccio porta testa
|
||||||
local nSCC = MCH_SCC.NONE
|
local nSCC = MCH_SCC.NONE
|
||||||
if not BD.C_SIMM then
|
if not BD.C_SIMM then
|
||||||
@@ -2068,7 +2084,7 @@ local function MakeRoundCleanContour( Proc, nPhase, nRawId, nPartId, b3Raw,
|
|||||||
EgtSetMachiningParam( MCH_MP.DEPTH, dMachDepth)
|
EgtSetMachiningParam( MCH_MP.DEPTH, dMachDepth)
|
||||||
-- setto se devo invertire il percorso
|
-- setto se devo invertire il percorso
|
||||||
local bInvert = CheckToInvert( nIdPath, true)
|
local bInvert = CheckToInvert( nIdPath, true)
|
||||||
EgtSetMachiningParam( MCH_MP.INVERT, not bInvert)
|
EgtSetMachiningParam( MCH_MP.INVERT, not EgtIf( bInvertMach, not bInvert, bInvert))
|
||||||
-- Note utente con dichiarazione nessuna generazione sfridi per Vmill e massima elevazione
|
-- Note utente con dichiarazione nessuna generazione sfridi per Vmill e massima elevazione
|
||||||
local sUserNotes = EgtGetMachiningParam( MCH_MP.USERNOTES) or ''
|
local sUserNotes = EgtGetMachiningParam( MCH_MP.USERNOTES) or ''
|
||||||
sUserNotes = EgtSetValInNotes( sUserNotes, 'VMRS', 0)
|
sUserNotes = EgtSetValInNotes( sUserNotes, 'VMRS', 0)
|
||||||
@@ -4583,9 +4599,11 @@ local function MakeByPockets( Proc, nPhase, nRawId, nPartId, nChamfer, dDepthCha
|
|||||||
else
|
else
|
||||||
dMachDepth = dMaxDepthDn - ( dDepth / 2) - dCollSic
|
dMachDepth = dMaxDepthDn - ( dDepth / 2) - dCollSic
|
||||||
dElev = dMaxDepthDn
|
dElev = dMaxDepthDn
|
||||||
bComplete = false
|
if dMaxDepthDn < ( dDepth / 2) + dCollSic + 100 * GEO.EPS_SMALL then
|
||||||
sWarn = 'Warning : elevation bigger than max tool depth'
|
bComplete = false
|
||||||
EgtOutLog( sWarn)
|
sWarn = 'Warning : elevation bigger than max tool depth'
|
||||||
|
EgtOutLog( sWarn)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
-- se anche lavorando dal lato opposto non riesco a svuotare completamente la fessura
|
-- se anche lavorando dal lato opposto non riesco a svuotare completamente la fessura
|
||||||
@@ -4593,9 +4611,11 @@ local function MakeByPockets( Proc, nPhase, nRawId, nPartId, nChamfer, dDepthCha
|
|||||||
if dMaxDepth < ( dDepth / 2) + BD.CUT_EXTRA + dCollSic then
|
if dMaxDepth < ( dDepth / 2) + BD.CUT_EXTRA + dCollSic then
|
||||||
dMachDepth = dMaxDepth - (dDepth / 2) - dCollSic
|
dMachDepth = dMaxDepth - (dDepth / 2) - dCollSic
|
||||||
dElev = dMaxDepth
|
dElev = dMaxDepth
|
||||||
bComplete = false
|
if dMaxDepth < ( dDepth / 2) + dCollSic + 100 * GEO.EPS_SMALL then
|
||||||
sWarn = 'Warning : elevation bigger than max tool depth'
|
bComplete = false
|
||||||
EgtOutLog( sWarn)
|
sWarn = 'Warning : elevation bigger than max tool depth'
|
||||||
|
EgtOutLog( sWarn)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
if bMakeContour then
|
if bMakeContour then
|
||||||
@@ -4894,6 +4914,30 @@ local function ManageAntiSplintBySaw( Proc, b3Raw, b3Solid, bIsU, vtN, nFacInd,
|
|||||||
EgtSetMachiningParam( MCH_MP.INVERT, not bInvert)
|
EgtSetMachiningParam( MCH_MP.INVERT, not bInvert)
|
||||||
-- setto l'offset pari allo spessore lama
|
-- setto l'offset pari allo spessore lama
|
||||||
EgtSetMachiningParam( MCH_MP.OFFSL, -dSawThick)
|
EgtSetMachiningParam( MCH_MP.OFFSL, -dSawThick)
|
||||||
|
local LeadIn = {
|
||||||
|
dStartAddLen = EgtGetMachiningParam( MCH_MP.STARTADDLEN),
|
||||||
|
dLeadInTangDist = EgtGetMachiningParam( MCH_MP.LITANG),
|
||||||
|
dLeadInPerpDist = EgtGetMachiningParam( MCH_MP.LIPERP),
|
||||||
|
dLeadInElev = EgtGetMachiningParam( MCH_MP.LIELEV),
|
||||||
|
dLeadInCompLen = EgtGetMachiningParam( MCH_MP.LICOMPLEN)
|
||||||
|
}
|
||||||
|
local LeadOut = {
|
||||||
|
dEndAddLen = EgtGetMachiningParam( MCH_MP.ENDADDLEN),
|
||||||
|
dLeadOutTangDist = EgtGetMachiningParam( MCH_MP.LOTANG),
|
||||||
|
dLeadOutPerpDist = EgtGetMachiningParam( MCH_MP.LOPERP),
|
||||||
|
dLeadOutElev = EgtGetMachiningParam( MCH_MP.LOELEV),
|
||||||
|
dLeadOutCompLen = EgtGetMachiningParam( MCH_MP.LOCOMPLEN)
|
||||||
|
}
|
||||||
|
EgtSetMachiningParam( MCH_MP.STARTADDLEN, LeadOut.dEndAddLen)
|
||||||
|
EgtSetMachiningParam( MCH_MP.LITANG, LeadOut.dLeadOutTangDist)
|
||||||
|
EgtSetMachiningParam( MCH_MP.LIPERP, LeadOut.dLeadOutPerpDist)
|
||||||
|
EgtSetMachiningParam( MCH_MP.LIELEV, LeadOut.dLeadOutElev)
|
||||||
|
EgtSetMachiningParam( MCH_MP.LICOMPLEN, LeadOut.dLeadOutCompLen)
|
||||||
|
EgtSetMachiningParam( MCH_MP.ENDADDLEN, LeadIn.dStartAddLen)
|
||||||
|
EgtSetMachiningParam( MCH_MP.LOTANG, LeadIn.dLeadInTangDist)
|
||||||
|
EgtSetMachiningParam( MCH_MP.LOPERP, LeadIn.dLeadInPerpDist)
|
||||||
|
EgtSetMachiningParam( MCH_MP.LOELEV, LeadIn.dLeadInElev)
|
||||||
|
EgtSetMachiningParam( MCH_MP.LOCOMPLEN, LeadIn.dLeadInCompLen)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -8174,7 +8218,7 @@ local function MakeMoreFaces( Proc, nPhase, nRawId, nPartId, dOvmHead, bSinglePa
|
|||||||
local bOk, sWarn2 = MakeRoundCleanCornerOrContour( Proc, nPhase, nRawId, nPartId, b3Raw,
|
local bOk, sWarn2 = MakeRoundCleanCornerOrContour( Proc, nPhase, nRawId, nPartId, b3Raw,
|
||||||
nFacInd, nAddGrpId, dDiamTool, nContourSmallTool, bMillDown,
|
nFacInd, nAddGrpId, dDiamTool, nContourSmallTool, bMillDown,
|
||||||
bDoubleSide, vtOrtho, nPathInt, nSurfInt, b3Solid,
|
bDoubleSide, vtOrtho, nPathInt, nSurfInt, b3Solid,
|
||||||
dDepth, bOneShotm)
|
dDepth, bOneShot)
|
||||||
if not bOk then return false, sWarn2 end
|
if not bOk then return false, sWarn2 end
|
||||||
if sWarn2 then
|
if sWarn2 then
|
||||||
if not sWarn then sWarn = '' end
|
if not sWarn then sWarn = '' end
|
||||||
@@ -8266,7 +8310,7 @@ local function MakeMoreFaces( Proc, nPhase, nRawId, nPartId, dOvmHead, bSinglePa
|
|||||||
local bOk, sWarn2 = MakeRoundCleanCornerOrContour( Proc, nPhase, nRawId, nPartId, b3Raw,
|
local bOk, sWarn2 = MakeRoundCleanCornerOrContour( Proc, nPhase, nRawId, nPartId, b3Raw,
|
||||||
nFacInd, nAddGrpId, dDiamTool, nContourSmallTool, bMillDown,
|
nFacInd, nAddGrpId, dDiamTool, nContourSmallTool, bMillDown,
|
||||||
bDoubleSide, vtOrtho, nPathInt, nSurfInt, b3Solid,
|
bDoubleSide, vtOrtho, nPathInt, nSurfInt, b3Solid,
|
||||||
dDepth, bOneShotm)
|
dDepth, bOneShot)
|
||||||
if not bOk then return false, sWarn2 end
|
if not bOk then return false, sWarn2 end
|
||||||
if sWarn2 then
|
if sWarn2 then
|
||||||
if not sWarn then sWarn = '' end
|
if not sWarn then sWarn = '' end
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ local sEnableExtraBladeUpperFace = 'Q02' -- i
|
|||||||
local sDepthChamferMill = 'Q03' -- d
|
local sDepthChamferMill = 'Q03' -- d
|
||||||
local sOverMaterialForFinish = 'Q04' -- d
|
local sOverMaterialForFinish = 'Q04' -- d
|
||||||
local sPreemptiveChamfer = 'Q05' -- i
|
local sPreemptiveChamfer = 'Q05' -- i
|
||||||
|
local sDisableAntiSplint = 'Q19'
|
||||||
|
|
||||||
-- abilitazioni extra
|
-- abilitazioni extra
|
||||||
local dMakeAntiSplintOnHead = 1 -- valore impronta antischeggia, per disattivare settare = nil o = 0
|
local dMakeAntiSplintOnHead = 1 -- valore impronta antischeggia, per disattivare settare = nil o = 0
|
||||||
@@ -301,13 +302,14 @@ function ProcessProfCamb.Make( Proc, nPhase, nRawId, nPartId, dCurrOvmH)
|
|||||||
local sMilling
|
local sMilling
|
||||||
-- in base alla direzione iniziale della curva e al valore di entrata valido, setto l'antischeggia
|
-- in base alla direzione iniziale della curva e al valore di entrata valido, setto l'antischeggia
|
||||||
local bMakeAs
|
local bMakeAs
|
||||||
|
local bDeleteAntiSplint = ( EgtGetInfo( Proc.Id, sDisableAntiSplint, 'i') or 0) == 1
|
||||||
local vtStart = EgtSV( AuxId, GDB_ID.ROOT)
|
local vtStart = EgtSV( AuxId, GDB_ID.ROOT)
|
||||||
if nSide == 0 then
|
if nSide == 0 then
|
||||||
if abs(vtStart:getY()) >= dActivateCompoAng and dMakeAntiSplintOnHead and abs(dMakeAntiSplintOnHead) > 0 then
|
if abs( vtStart:getY()) >= dActivateCompoAng and dMakeAntiSplintOnHead and abs( dMakeAntiSplintOnHead) > 0 and not bDeleteAntiSplint then
|
||||||
bMakeAs = true
|
bMakeAs = true
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
if abs(vtStart:getZ()) >= dActivateCompoAng and dMakeAntiSplintOnHead and abs(dMakeAntiSplintOnHead) > 0 then
|
if abs( vtStart:getZ()) >= dActivateCompoAng and dMakeAntiSplintOnHead and abs( dMakeAntiSplintOnHead) > 0 and not bDeleteAntiSplint then
|
||||||
bMakeAs = true
|
bMakeAs = true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,4 +1,17 @@
|
|||||||
==== Beam Update Log ====
|
==== Beam Update Log ====
|
||||||
|
Versione 3.1h1 (05/08/2026)
|
||||||
|
- Modif : in Pocket non eseguo lavorazione di pulizia tasca (laterale) se le lavorazioni sopra e sotto arrivano esattamente a metà tasca (senza affondamento extra)
|
||||||
|
- Modif : in RoundCleanContour - tasca passante lavorata solo da sopra o da sotto e fresa di contorno non lavora tutto, attiva lavorazione in doppio
|
||||||
|
|
||||||
|
Versione 3.1g5 (31/07/2026)
|
||||||
|
- Fixed : in RoundCleanContour per tasche a 3 facce a U in doppio
|
||||||
|
|
||||||
|
Versione 3.1g4 (31/07/2026)
|
||||||
|
- Modif : in ProfCamb aggiunta Q19, se = 1 disabilita lavorazione AntiSplint
|
||||||
|
- Fixed : in RoundCleanContour per tasche a 3 facce a U MillDown
|
||||||
|
|
||||||
|
Versione 3.1g3 (24/07/2026)
|
||||||
|
- Fixed : in slot con lama corretta scelta SCC
|
||||||
|
|
||||||
Versione 3.1g2 (17/07/2026)
|
Versione 3.1g2 (17/07/2026)
|
||||||
- Modif : Diminuito LastStep forature in doppio
|
- Modif : Diminuito LastStep forature in doppio
|
||||||
|
|||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
-- Version.lua by Egaltech s.r.l. 2026/05/31
|
-- Version.lua by Egaltech s.r.l. 2026/08/05
|
||||||
-- Gestione della versione di Beam
|
-- Gestione della versione di Beam
|
||||||
|
|
||||||
NAME = 'Beam'
|
NAME = 'Beam'
|
||||||
VERSION = '3.1g2'
|
VERSION = '3.1h1'
|
||||||
MIN_EXE = '3.1b1'
|
MIN_EXE = '3.1b1'
|
||||||
|
|||||||
Reference in New Issue
Block a user