- Gestion Predrill su foro da due parti

- Ordinamento, Predrill sempre prima del foro
This commit is contained in:
andrea.villa
2024-03-13 15:24:59 +01:00
parent 38ab9d4a40
commit 58eb8df247
2 changed files with 60 additions and 11 deletions
+43 -6
View File
@@ -162,16 +162,53 @@ function ProcessDrill.AddPredrillFromDrillProc( Proc)
if Proc.Len <= dDepthPredrill then
Proc.IsPredrill = true
Proc.IsPredrillOf = Proc.Id
return false
-- altrimenti creo un nuovo process
else
-- recupero gruppo per geometria aggiuntiva
local AddGrpId = BL.GetAddGroup( Proc.PartId)
if not AddGrpId then
local sErr = 'Error on Predrill impossible to find AddGroup'
EgtOutLog( sErr)
return false, sErr
local nAddGrpId = BL.GetAddGroup( Proc.PartId)
-- recupero e verifico l'entità foro
local AuxId = EgtGetInfo( Proc.Id, 'AUXID', 'i') or 0
local ptCen = EgtCP( Proc.Id + AuxId, GDB_RT.GLOB)
local vtExtr = EgtCurveExtrusion( Proc.Id + AuxId, GDB_RT.GLOB)
-- copio foro originale
local nPreHoleId = EgtCopyGlob( Proc.Id, nAddGrpId)
local nPreHoleAux = EgtCopyGlob( Proc.Id + AuxId, nAddGrpId)
-- se foro invertito sposto geometria dall'altro lato del foro
if Proc.Flg == -2 then
local vsExtr = vtExtr * Proc.Len
EgtMove( nPreHoleAux, vsExtr)
EgtModifyCurveThickness( nPreHoleAux, dDepthPredrill)
-- altrimenti creo il foro direttamente
else
EgtModifyCurveThickness( nPreHoleAux, -dDepthPredrill)
end
-- definisco dati seconda parte
local PredrillProc = {}
PredrillProc.PartId = Proc.PartId
PredrillProc.Id = nPreHoleId
PredrillProc.Grp = Proc.Grp
PredrillProc.Prc = Proc.Prc
PredrillProc.Flg = Proc.Flg
PredrillProc.Box = Proc.Box
PredrillProc.Fct = Proc.Fct
PredrillProc.Diam = Proc.Diam
PredrillProc.Len = dDepthPredrill
PredrillProc.Head = Proc.Head
PredrillProc.Tail = Proc.Tail
PredrillProc.Fcs = Proc.Fcs
PredrillProc.Fce = Proc.Fce
PredrillProc.CutId = Proc.CutId
PredrillProc.TaskId = Proc.TaskId
PredrillProc.AdjId = Proc.AdjId
PredrillProc.MainId = Proc.MainId
PredrillProc.IsPredrill = true
PredrillProc.IsPredrillOf = Proc.Id
return true, PredrillProc
end
end
@@ -325,7 +362,7 @@ function ProcessDrill.Make( Proc, nPhase, nRawId, nPartId)
local bDrillUp = ( bDownDrill and vtExtr:getZ() > -0.421)
local bExcludeH2 = false
if Proc.Double and Proc.Double > 0 then
bMillUp = true
-- bMillUp = true
bDrillDown = false
bExcludeH2 = true
end