Compare commits
8 Commits
3.1g5
...
Ticket#3119
| Author | SHA1 | Date | |
|---|---|---|---|
| 36618ccc02 | |||
| e66038461d | |||
| 1dc22e5af3 | |||
| dfcb06c298 | |||
| ef7d328eee | |||
| 11683fa34d | |||
| bec5751e8c | |||
| eb7a125aa0 |
+54
-17
@@ -1792,7 +1792,9 @@ local function MakeRoundCleanContour( Proc, nPhase, nRawId, nPartId, b3Raw,
|
||||
dDepth, bOneShot)
|
||||
|
||||
-- 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
|
||||
local sMyWarn = 'Warning : SmallToolContour not found in library'
|
||||
EgtOutLog( sMyWarn)
|
||||
@@ -1954,24 +1956,31 @@ local function MakeRoundCleanContour( Proc, nPhase, nRawId, nPartId, b3Raw,
|
||||
EgtSetMachiningParam( MCH_MP.WORKSIDE, MCH_MILL_WS.LEFT)
|
||||
-- inversione direzione utensile
|
||||
local bInvertMach = false
|
||||
local bInvertTool = false
|
||||
if nPathInt then
|
||||
if bMillDown and not bDoubleSide then
|
||||
if bDownHead then
|
||||
if vtN1:getZ() > 10 * GEO.EPS_SMALL then
|
||||
EgtSetMachiningParam( MCH_MP.TOOLINVERT, true)
|
||||
bInvertTool = true
|
||||
bInvertMach = true
|
||||
end
|
||||
elseif bMillDown and bDoubleSide then
|
||||
if vtN1:getZ() > 10 * GEO.EPS_SMALL and bDownHead then
|
||||
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
|
||||
EgtSetMachiningParam( MCH_MP.TOOLINVERT, true)
|
||||
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() > GEO.EPS_SMALL then
|
||||
EgtSetMachiningParam( MCH_MP.TOOLINVERT, true)
|
||||
elseif not bDoubleSide and vtN1:getY() > 10 * GEO.EPS_SMALL then
|
||||
bInvertTool = true
|
||||
bInvertMach = true
|
||||
end
|
||||
end
|
||||
end
|
||||
EgtSetMachiningParam( MCH_MP.TOOLINVERT, bInvertMach)
|
||||
-- imposto posizione braccio porta testa
|
||||
local nSCC = MCH_SCC.NONE
|
||||
if not BD.C_SIMM then
|
||||
@@ -2046,7 +2055,7 @@ local function MakeRoundCleanContour( Proc, nPhase, nRawId, nPartId, b3Raw,
|
||||
-- imposto lato di lavoro sinistro
|
||||
EgtSetMachiningParam( MCH_MP.WORKSIDE, MCH_MILL_WS.LEFT)
|
||||
-- imposto direzione utensile opposta
|
||||
EgtSetMachiningParam( MCH_MP.TOOLINVERT, true)
|
||||
EgtSetMachiningParam( MCH_MP.TOOLINVERT, not bInvertTool)
|
||||
-- imposto posizione braccio porta testa
|
||||
local nSCC = MCH_SCC.NONE
|
||||
if not BD.C_SIMM then
|
||||
@@ -2075,7 +2084,7 @@ local function MakeRoundCleanContour( Proc, nPhase, nRawId, nPartId, b3Raw,
|
||||
EgtSetMachiningParam( MCH_MP.DEPTH, dMachDepth)
|
||||
-- setto se devo invertire il percorso
|
||||
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
|
||||
local sUserNotes = EgtGetMachiningParam( MCH_MP.USERNOTES) or ''
|
||||
sUserNotes = EgtSetValInNotes( sUserNotes, 'VMRS', 0)
|
||||
@@ -4590,9 +4599,11 @@ local function MakeByPockets( Proc, nPhase, nRawId, nPartId, nChamfer, dDepthCha
|
||||
else
|
||||
dMachDepth = dMaxDepthDn - ( dDepth / 2) - dCollSic
|
||||
dElev = dMaxDepthDn
|
||||
bComplete = false
|
||||
sWarn = 'Warning : elevation bigger than max tool depth'
|
||||
EgtOutLog( sWarn)
|
||||
if dMaxDepthDn < ( dDepth / 2) + dCollSic + 100 * GEO.EPS_SMALL then
|
||||
bComplete = false
|
||||
sWarn = 'Warning : elevation bigger than max tool depth'
|
||||
EgtOutLog( sWarn)
|
||||
end
|
||||
end
|
||||
else
|
||||
-- se anche lavorando dal lato opposto non riesco a svuotare completamente la fessura
|
||||
@@ -4600,9 +4611,11 @@ local function MakeByPockets( Proc, nPhase, nRawId, nPartId, nChamfer, dDepthCha
|
||||
if dMaxDepth < ( dDepth / 2) + BD.CUT_EXTRA + dCollSic then
|
||||
dMachDepth = dMaxDepth - (dDepth / 2) - dCollSic
|
||||
dElev = dMaxDepth
|
||||
bComplete = false
|
||||
sWarn = 'Warning : elevation bigger than max tool depth'
|
||||
EgtOutLog( sWarn)
|
||||
if dMaxDepth < ( dDepth / 2) + dCollSic + 100 * GEO.EPS_SMALL then
|
||||
bComplete = false
|
||||
sWarn = 'Warning : elevation bigger than max tool depth'
|
||||
EgtOutLog( sWarn)
|
||||
end
|
||||
end
|
||||
end
|
||||
if bMakeContour then
|
||||
@@ -4901,6 +4914,30 @@ local function ManageAntiSplintBySaw( Proc, b3Raw, b3Solid, bIsU, vtN, nFacInd,
|
||||
EgtSetMachiningParam( MCH_MP.INVERT, not bInvert)
|
||||
-- setto l'offset pari allo spessore lama
|
||||
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
|
||||
@@ -8181,7 +8218,7 @@ local function MakeMoreFaces( Proc, nPhase, nRawId, nPartId, dOvmHead, bSinglePa
|
||||
local bOk, sWarn2 = MakeRoundCleanCornerOrContour( Proc, nPhase, nRawId, nPartId, b3Raw,
|
||||
nFacInd, nAddGrpId, dDiamTool, nContourSmallTool, bMillDown,
|
||||
bDoubleSide, vtOrtho, nPathInt, nSurfInt, b3Solid,
|
||||
dDepth, bOneShotm)
|
||||
dDepth, bOneShot)
|
||||
if not bOk then return false, sWarn2 end
|
||||
if sWarn2 then
|
||||
if not sWarn then sWarn = '' end
|
||||
@@ -8273,7 +8310,7 @@ local function MakeMoreFaces( Proc, nPhase, nRawId, nPartId, dOvmHead, bSinglePa
|
||||
local bOk, sWarn2 = MakeRoundCleanCornerOrContour( Proc, nPhase, nRawId, nPartId, b3Raw,
|
||||
nFacInd, nAddGrpId, dDiamTool, nContourSmallTool, bMillDown,
|
||||
bDoubleSide, vtOrtho, nPathInt, nSurfInt, b3Solid,
|
||||
dDepth, bOneShotm)
|
||||
dDepth, bOneShot)
|
||||
if not bOk then return false, sWarn2 end
|
||||
if sWarn2 then
|
||||
if not sWarn then sWarn = '' end
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
==== 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
|
||||
|
||||
|
||||
+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
|
||||
|
||||
NAME = 'Beam'
|
||||
VERSION = '3.1g5'
|
||||
VERSION = '3.1h1'
|
||||
MIN_EXE = '3.1b1'
|
||||
|
||||
Reference in New Issue
Block a user