Compare commits

..

5 Commits

Author SHA1 Message Date
luca.mazzoleni 7dd0c14f5f - in ProcessDrill sistemato LastStep in caso di DrillPocket: ora si copia la lavorazione e si toglie il doppio 2026-03-11 09:22:00 +01:00
luca.mazzoleni d55caac3c9 Merge tag '3.1c1' into develop
3.1c1
2026-03-04 17:59:15 +01:00
luca.mazzoleni 3edc65b785 Merge branch 'release/3.1c1' 2026-03-04 17:59:05 +01:00
luca.mazzoleni eb4f709db3 update version e log 2026-03-04 17:58:48 +01:00
andrea.villa f6316cc75a Nella OrderFeature non si considerano più le dipendenze, veniva già fatto tutto nella ReorderFeatureWithDependency 2026-03-04 17:32:36 +01:00
4 changed files with 39 additions and 26 deletions
-7
View File
@@ -949,13 +949,6 @@ local function OrderFeatures( vProc, b3Raw, nPartId)
if Hcut.Identify( B2) then
return false
end
-- se uno dipende dall'altro
if B1.Dependency and B1.Dependency.ExecBefore and B1.Dependency.ExecBefore.Id == B2.Id then
return true
end
if B2.Dependency and B2.Dependency.ExecBefore and B2.Dependency.ExecBefore.Id == B1.Id then
return false
end
-- se uno di testa e non l'altro, privilegio quello di testa (a meno che non siano dei fori)
if B1.Head ~= B2.Head and not Drill.Identify(B1) and not Drill.Identify(B2) then
return B1.Head
+35 -18
View File
@@ -37,6 +37,7 @@ EgtOutLog( ' ProcessDrill started', 1)
-- Dati
local BD = require( 'BeamData')
local ML = require( 'MachiningLib')
local FreeContour = require( 'ProcessFreeContour')
---------------------------------------------------------------------
-- Riconoscimento della feature
@@ -345,8 +346,6 @@ end
function ProcessDrill.Make( Proc, nPhase, nRawId, nPartId, dCurrOvmH)
-- Se forzato contorno foro forzo richiamo a FreeContour e uscita dalla funzione
if EgtGetInfo( Proc.Id, 'Q04', 'i') == 1 then
_G.package.loaded.ProcessFreeContour = nil
local FreeContour = require( 'ProcessFreeContour')
return FreeContour.Make( Proc, nPhase, nRawId, nPartId, dCurrOvmH)
end
-- default per costanti
@@ -717,23 +716,41 @@ function ProcessDrill.Make( Proc, nPhase, nRawId, nPartId, dCurrOvmH)
else
-- se DrillPocket passante in doppio si fa lavorazione aggiuntiva dell'ultimo step
if Proc.Double and Proc.Double > 0 and ( sType == 'Pocket_AT' or sType == 'Pocket') and bOpen then
local nAddGrpId = BL.GetAddGroup( Proc.PartId)
local idProcLastStep = EgtCopyGlob( Proc.Id, nAddGrpId)
local idAuxIdLastStep = EgtCopyGlob( AuxId, nAddGrpId)
EgtModifyCurveThickness( idAuxIdLastStep, -dLastStepDepth)
local ProcLastStep = BL.TableCopyDeep( Proc)
ProcLastStep.Id = idProcLastStep
ProcLastStep.Flg = 1
ProcLastStep.Double = 0
ProcLastStep.dCustomMaxElev = dLastStepDepth - dDepth
local bOkLastStep, sWarnLastStep = ProcessDrill.Make( ProcLastStep, nPhase, nRawId, nPartId)
if not bOkLastStep then
sWarnLastStep = 'Drillpocket double : incomplete, last step missing'
local idMachiningLastStep = EgtCopyMachining( EgtIf( EgtStartsWith( sType, 'Predrill'), 'Predrill_', 'Drill_') .. ( EgtGetName( Proc.Id) or tostring( Proc.Id)), sName)
EgtSetCurrMachining( idMachiningLastStep)
if dLastStepDepth > dMaxDepth + 10 * GEO.EPS_SMALL then
sMyWarn = 'Warning in drill pocket last step: depth (' .. EgtNumToString( dLastStepDepth, 1) .. ') bigger than max tool depth (' .. EgtNumToString( dMaxDepth, 1) .. ')'
dLastStepDepth = dMaxDepth
end
local sPreviousWarn = sMyWarn or sWarn
if sWarnLastStep then
if not sPreviousWarn then sPreviousWarn = '' end
sMyWarn = EgtIf( #sPreviousWarn > 0, sPreviousWarn .. '\n' .. sWarnLastStep, sWarnLastStep)
local dMaxElevLastStep = dLastStepDepth - dDepth
sUserNotes = EgtSetValInNotes( sUserNotes, 'MaxElev', EgtNumToString( dMaxElevLastStep, 1))
EgtSetMachiningParam( MCH_MP.DEPTH, dLastStepDepth)
sUserNotes = EgtSetValInNotes( sUserNotes, 'DOUBLE', '')
sUserNotes = EgtSetValInNotes( sUserNotes, 'StartZmax', '')
EgtSetMachiningParam( MCH_MP.USERNOTES, sUserNotes)
local bOkLastStep = ML.ApplyMachining( true, false)
if not bOkLastStep and bDownDrill and bOpen and abs( Proc.Flg) == 1 then
if sType == 'Drill' or sType == 'Drill_H2' or sType == 'AngleDrill' then
EgtSetMachiningParam( MCH_MP.INVERT, true)
else
EgtSetMachiningParam( MCH_MP.TOOLINVERT, true)
end
bOkLastStep = ML.ApplyMachining( true, false)
end
if not bOkLastStep then
local _, sErr = EgtGetLastMachMgrError()
EgtSetOperationMode( nMchId, false)
return false, sErr
else
local _, sWarnLastStep = EgtGetMachMgrWarning( 0)
if not bOkLastStep then
sWarnLastStep = 'Drillpocket double : incomplete, last step missing'
end
local sPreviousWarn = sMyWarn or sWarn
if sWarnLastStep then
if not sPreviousWarn then sPreviousWarn = '' end
sMyWarn = EgtIf( #sPreviousWarn > 0, sPreviousWarn .. '\n' .. sWarnLastStep, sWarnLastStep)
end
end
end
return true, ( sMyWarn or sWarn)
+3
View File
@@ -1,4 +1,7 @@
==== Beam Update Log ====
Versione 3.1c1 (04/03/2026)
- Fixed : correzione in ordinamento (fori vs tagli)
- Fixed : in drilling rimosso preforo duplicato
Versione 3.1b1 (26/02/2026)
- Added : in LapJoint lunghe gestito Q14 per lavorare discorde
+1 -1
View File
@@ -2,5 +2,5 @@
-- Gestione della versione di Beam
NAME = 'Beam'
VERSION = '3.1b1'
VERSION = '3.1c1'
MIN_EXE = '3.1b1'