Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 036ea8bcc8 | |||
| b620aef7b8 | |||
| 58eb8df247 | |||
| 38ab9d4a40 | |||
| 4b7c533ae3 | |||
| d54c9c98d7 | |||
| d0d5ff3917 | |||
| afb72bcf48 | |||
| 0d6566e2cc | |||
| db5503f828 |
+4
-4
@@ -24,14 +24,14 @@ variables:
|
|||||||
$FileList = Get-ChildItem("*.lua")
|
$FileList = Get-ChildItem("*.lua")
|
||||||
ForEach ($File in $FileList) {
|
ForEach ($File in $FileList) {
|
||||||
$FileName = Split-Path $File -leaf
|
$FileName = Split-Path $File -leaf
|
||||||
lua54 -o bin\$FileName $FileName
|
lua54 -o bin\$FileName -s $FileName
|
||||||
echo "lua54 -o bin\$FileName $FileName"
|
echo "lua54 -o bin\$FileName -s $FileName"
|
||||||
}
|
}
|
||||||
$FileList = Get-ChildItem("LuaLibs\*.lua")
|
$FileList = Get-ChildItem("LuaLibs\*.lua")
|
||||||
ForEach ($File in $FileList) {
|
ForEach ($File in $FileList) {
|
||||||
$FileName = Split-Path $File -leaf
|
$FileName = Split-Path $File -leaf
|
||||||
lua54 -o bin\LuaLibs\$FileName LuaLibs\$FileName
|
lua54 -o bin\LuaLibs\$FileName -s LuaLibs\$FileName
|
||||||
echo "lua54 -o bin\LuaLibs\$FileName LuaLibs\$FileName"
|
echo "lua54 -o bin\LuaLibs\$FileName -s LuaLibs\$FileName"
|
||||||
}
|
}
|
||||||
|
|
||||||
# helper copia SORGENTI verso cartella di rete X:\ dei SORGENTI
|
# helper copia SORGENTI verso cartella di rete X:\ dei SORGENTI
|
||||||
|
|||||||
+24
-3
@@ -60,6 +60,8 @@
|
|||||||
-- 2024/03/04 Creata funzione calcolo dipendenze tra feature con calcolo topologia.
|
-- 2024/03/04 Creata funzione calcolo dipendenze tra feature con calcolo topologia.
|
||||||
-- 2024/03/07 Implementate le lavorazioni in doppio per fori specchiati non passanti e DrillPocket.
|
-- 2024/03/07 Implementate le lavorazioni in doppio per fori specchiati non passanti e DrillPocket.
|
||||||
-- 2024/03/11 In CollectFeatures si scrive ora Width e Height della faccia sia trimmate con il grezzo che intere.
|
-- 2024/03/11 In CollectFeatures si scrive ora Width e Height della faccia sia trimmate con il grezzo che intere.
|
||||||
|
-- 2024/03/13 In CollectFeatures si scrive lunghezza foro su Proc e si controla se serve Predrill
|
||||||
|
-- In OrderFeature, preforo sempre prima del foro
|
||||||
|
|
||||||
-- Tabella per definizione modulo
|
-- Tabella per definizione modulo
|
||||||
local BeamExec = {}
|
local BeamExec = {}
|
||||||
@@ -376,7 +378,14 @@ local function CollectFeatures( PartId, b3Raw, dCurrOvmH, dCurrOvmT)
|
|||||||
-- se foro
|
-- se foro
|
||||||
if Drill.Identify( Proc) then
|
if Drill.Identify( Proc) then
|
||||||
-- assegno diametro e facce di ingresso e uscita (dati tabelle sempre per riferimento)
|
-- assegno diametro e facce di ingresso e uscita (dati tabelle sempre per riferimento)
|
||||||
Proc.Diam, Proc.Fcs, Proc.Fce = Drill.GetData( Proc, b3Raw)
|
Proc.Diam, Proc.Len, Proc.Fcs, Proc.Fce = Drill.GetData( Proc, b3Raw)
|
||||||
|
-- verifico se devo inserire i prefori
|
||||||
|
if Drill.IsPredrillNeeded( Proc) then
|
||||||
|
local bAddProc, PredrillProc= Drill.AddPredrillFromDrillProc( Proc)
|
||||||
|
if bAddProc then
|
||||||
|
table.insert( vProc, PredrillProc)
|
||||||
|
end
|
||||||
|
end
|
||||||
-- verifico se necessaria seconda lavorazione da parte opposta per foro più lungo della punta
|
-- verifico se necessaria seconda lavorazione da parte opposta per foro più lungo della punta
|
||||||
if Drill.Split( Proc, b3Raw) then
|
if Drill.Split( Proc, b3Raw) then
|
||||||
-- aggiorno flags prima parte foro (dati tabelle sempre per riferimento)
|
-- aggiorno flags prima parte foro (dati tabelle sempre per riferimento)
|
||||||
@@ -393,6 +402,7 @@ local function CollectFeatures( PartId, b3Raw, dCurrOvmH, dCurrOvmT)
|
|||||||
Proc2.Box = BBox3d( Proc.Box)
|
Proc2.Box = BBox3d( Proc.Box)
|
||||||
Proc2.Fct = Proc.Fct
|
Proc2.Fct = Proc.Fct
|
||||||
Proc2.Diam = Proc.Diam
|
Proc2.Diam = Proc.Diam
|
||||||
|
Proc2.Len = Proc.Len
|
||||||
Proc2.Head = Drill.IsHeadFeature( Proc2, b3Raw, dCurrOvmH)
|
Proc2.Head = Drill.IsHeadFeature( Proc2, b3Raw, dCurrOvmH)
|
||||||
Proc2.Tail = Drill.IsTailFeature( Proc2, b3Raw, dCurrOvmH)
|
Proc2.Tail = Drill.IsTailFeature( Proc2, b3Raw, dCurrOvmH)
|
||||||
Proc2.Fcs = Proc.Fce
|
Proc2.Fcs = Proc.Fce
|
||||||
@@ -402,6 +412,13 @@ local function CollectFeatures( PartId, b3Raw, dCurrOvmH, dCurrOvmT)
|
|||||||
Proc2.AdjId = Proc.AdjId
|
Proc2.AdjId = Proc.AdjId
|
||||||
Proc2.MainId = Proc.MainId
|
Proc2.MainId = Proc.MainId
|
||||||
table.insert( vProc, Proc2)
|
table.insert( vProc, Proc2)
|
||||||
|
-- verifico se devo inserire i prefori
|
||||||
|
if Drill.IsPredrillNeeded( Proc2) then
|
||||||
|
local bAddProc, PredrillProc= Drill.AddPredrillFromDrillProc( Proc2)
|
||||||
|
if bAddProc then
|
||||||
|
table.insert( vProc, PredrillProc)
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
-- se BlockHaus HalfLap
|
-- se BlockHaus HalfLap
|
||||||
elseif Proc.Prc == 37 then
|
elseif Proc.Prc == 37 then
|
||||||
@@ -922,7 +939,11 @@ local function OrderFeatures( vProc, b3Raw)
|
|||||||
end
|
end
|
||||||
-- se entrambi fori con posizione praticamente uguale ordino secondo diametro e faccia di inizio (Fcs)
|
-- se entrambi fori con posizione praticamente uguale ordino secondo diametro e faccia di inizio (Fcs)
|
||||||
if B1.Prc == 40 and B2.Prc == 40 and abs( B1.Box:getCenter():getX() - B2.Box:getCenter():getX()) < dSmallDrillRange then
|
if B1.Prc == 40 and B2.Prc == 40 and abs( B1.Box:getCenter():getX() - B2.Box:getCenter():getX()) < dSmallDrillRange then
|
||||||
if abs( B1.Diam - B2.Diam) < 1.0 then
|
if B1.IsPredrill and not B2.IsPredrill then
|
||||||
|
return true
|
||||||
|
elseif not B1.IsPredrill and B2.IsPredrill then
|
||||||
|
return false
|
||||||
|
elseif abs( B1.Diam - B2.Diam) < 1.0 then
|
||||||
if B1.Fcs == B2.Fcs then
|
if B1.Fcs == B2.Fcs then
|
||||||
if abs( B1.Box:getCenter():getX() - B2.Box:getCenter():getX()) < 1.0 then
|
if abs( B1.Box:getCenter():getX() - B2.Box:getCenter():getX()) < 1.0 then
|
||||||
if abs( B1.Box:getCenter():getY() - B2.Box:getCenter():getY()) < 1.0 then
|
if abs( B1.Box:getCenter():getY() - B2.Box:getCenter():getY()) < 1.0 then
|
||||||
@@ -2047,7 +2068,7 @@ function BeamExec.ProcessFeatures()
|
|||||||
|
|
||||||
-- verifica presenza forature influenzate da lavorazioni di testa o coda
|
-- verifica presenza forature influenzate da lavorazioni di testa o coda
|
||||||
if BD.IMPROVE_HEAD_TAIL_DRILLINGS then
|
if BD.IMPROVE_HEAD_TAIL_DRILLINGS then
|
||||||
vMachBeforeIntersDrillings = CalcHeadTailMachBeforeIntersDrillings( vProc, b3Raw)
|
local vMachBeforeIntersDrillings = CalcHeadTailMachBeforeIntersDrillings( vProc, b3Raw)
|
||||||
SetDrillingsToMachineAfterHeadOrTailCut( vProc, vMachBeforeIntersDrillings)
|
SetDrillingsToMachineAfterHeadOrTailCut( vProc, vMachBeforeIntersDrillings)
|
||||||
end
|
end
|
||||||
-- verifica presenza di feature specchiate per eventuali lavorazioni simultanee
|
-- verifica presenza di feature specchiate per eventuali lavorazioni simultanee
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
-- 2024/01/23 Nella GetMachinings vengono ora raccolti i parametri utensile necessari per i VerifyTool, scritti direttamente nella tabella Machining.Tool.
|
-- 2024/01/23 Nella GetMachinings vengono ora raccolti i parametri utensile necessari per i VerifyTool, scritti direttamente nella tabella Machining.Tool.
|
||||||
-- Le lavorazioni possono essere ora ordinate per dimensioni utensile (Longest, Shortest, Biggest, Smallest) se passato l'apposito parametro SortingCriterion in FindMachining. Al momento implementato solo per FindSawing.
|
-- Le lavorazioni possono essere ora ordinate per dimensioni utensile (Longest, Shortest, Biggest, Smallest) se passato l'apposito parametro SortingCriterion in FindMachining. Al momento implementato solo per FindSawing.
|
||||||
-- 2024/03/01 In VerifyPocketing implementato l'ordinamento per dimensioni utensile.
|
-- 2024/03/01 In VerifyPocketing implementato l'ordinamento per dimensioni utensile.
|
||||||
|
-- 2024/03/13 Aggiunta gestione Predrill
|
||||||
|
|
||||||
-- Tabella per definizione modulo
|
-- Tabella per definizione modulo
|
||||||
local MachiningLib = {}
|
local MachiningLib = {}
|
||||||
@@ -169,7 +170,7 @@ end
|
|||||||
---------------------------------------------------------------------
|
---------------------------------------------------------------------
|
||||||
function VerifyTool( Machining, MachiningType, Params, bH2)
|
function VerifyTool( Machining, MachiningType, Params, bH2)
|
||||||
if MachiningType == MCH_MY.DRILLING then
|
if MachiningType == MCH_MY.DRILLING then
|
||||||
if Machining.SubType == 'Drill' or Machining.SubType == 'AngleDrill' then
|
if Machining.SubType == 'Drill' or Machining.SubType == 'AngleDrill' or Machining.SubType == 'Predrill' then
|
||||||
return VerifyDrill( Machining, Params.Diam, Params.Depth, bH2)
|
return VerifyDrill( Machining, Params.Diam, Params.Depth, bH2)
|
||||||
elseif Machining.SubType == 'DrillPocket' then
|
elseif Machining.SubType == 'DrillPocket' then
|
||||||
return VerifyDrillPocket( Machining, Params.Diam, Params.Depth, bH2)
|
return VerifyDrillPocket( Machining, Params.Diam, Params.Depth, bH2)
|
||||||
@@ -225,6 +226,8 @@ function GetMachinings( MachiningType, sType)
|
|||||||
Machining.SubType = 'AngleDrill'
|
Machining.SubType = 'AngleDrill'
|
||||||
elseif EgtStartsWith( Machining.Type, 'Pocket') then
|
elseif EgtStartsWith( Machining.Type, 'Pocket') then
|
||||||
Machining.SubType = 'DrillPocket'
|
Machining.SubType = 'DrillPocket'
|
||||||
|
elseif EgtStartsWith( Machining.Type, 'Predrill') then
|
||||||
|
Machining.SubType = 'Predrill'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
Machining.Tool.Diameter = EgtTdbGetCurrToolParam( MCH_TP.DIAM)
|
Machining.Tool.Diameter = EgtTdbGetCurrToolParam( MCH_TP.DIAM)
|
||||||
@@ -300,7 +303,7 @@ end
|
|||||||
function ReturnParams( MachiningType, MachiningName, sType, ToolParams)
|
function ReturnParams( MachiningType, MachiningName, sType, ToolParams)
|
||||||
if MachiningType == MCH_MY.DRILLING then
|
if MachiningType == MCH_MY.DRILLING then
|
||||||
local _, sOrigType = EgtEndsWith( sType, '_H2')
|
local _, sOrigType = EgtEndsWith( sType, '_H2')
|
||||||
return MachiningName, sType, EgtIf( sOrigType == 'Drill' or sOrigType == 'Drill_AT' or sOrigType == 'AngleDrill' , ToolParams.TMaxMat, ToolParams.TMaxDepth), ToolParams.MaxToolLength, ToolParams.ToolDiam, ToolParams.DiamTh, ToolParams.FreeLen
|
return MachiningName, sType, EgtIf( sOrigType == 'Drill' or sOrigType == 'Drill_AT' or sOrigType == 'AngleDrill' or sOrigType == 'Predrill' , ToolParams.TMaxMat, ToolParams.TMaxDepth), ToolParams.MaxToolLength, ToolParams.ToolDiam, ToolParams.DiamTh, ToolParams.FreeLen
|
||||||
elseif MachiningType == MCH_MY.SAWING then
|
elseif MachiningType == MCH_MY.SAWING then
|
||||||
return MachiningName, ToolParams.H2
|
return MachiningName, ToolParams.H2
|
||||||
elseif MachiningType == MCH_MY.MILLING then
|
elseif MachiningType == MCH_MY.MILLING then
|
||||||
@@ -467,8 +470,15 @@ function MachiningLib.FindCutting( sType, bTopHead, bDownHead)
|
|||||||
end
|
end
|
||||||
|
|
||||||
---------------------------------------------------------------------
|
---------------------------------------------------------------------
|
||||||
function MachiningLib.FindDrilling( dDiam, dDepth, bTopHead, bDownHead, bExcludeH2, bAngleTransmission)
|
function MachiningLib.FindDrilling( dDiam, dDepth, bTopHead, bDownHead, bExcludeH2, bAngleTransmission, bIsPredrill)
|
||||||
local MachiningName, MachiningType, Param1, Param2, Param3, Param4, Param5 = FindMachining( MCH_MY.DRILLING, EgtIf( bAngleTransmission, 'Drill_AT', 'Drill'), { Diam = dDiam, Depth = dDepth}, bTopHead, bDownHead, bExcludeH2)
|
local MachiningName, MachiningType, Param1, Param2, Param3, Param4, Param5, sTypeMach
|
||||||
|
-- se il foro è un predrill, cerco solo punte abilitate al Predrill
|
||||||
|
if bIsPredrill then
|
||||||
|
sTypeMach = 'Predrill'
|
||||||
|
else
|
||||||
|
sTypeMach = EgtIf( bAngleTransmission, 'Drill_AT', 'Drill')
|
||||||
|
end
|
||||||
|
MachiningName, MachiningType, Param1, Param2, Param3, Param4, Param5 = FindMachining( MCH_MY.DRILLING, sTypeMach, { Diam = dDiam, Depth = dDepth}, bTopHead, bDownHead, bExcludeH2)
|
||||||
if ( not MachiningName or MachiningName == '') then
|
if ( not MachiningName or MachiningName == '') then
|
||||||
MachiningName, MachiningType, Param1, Param2, Param3, Param4, Param5 = FindMachining( MCH_MY.DRILLING, EgtIf( bAngleTransmission, 'Pocket_AT', 'Pocket'), { Diam = dDiam, Depth = dDepth}, bTopHead, bDownHead)
|
MachiningName, MachiningType, Param1, Param2, Param3, Param4, Param5 = FindMachining( MCH_MY.DRILLING, EgtIf( bAngleTransmission, 'Pocket_AT', 'Pocket'), { Diam = dDiam, Depth = dDepth}, bTopHead, bDownHead)
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -20,6 +20,7 @@
|
|||||||
-- 2023/07/28 Aggiunta gestione rinvio 90deg solo per forature da sotto esattamente verticali.
|
-- 2023/07/28 Aggiunta gestione rinvio 90deg solo per forature da sotto esattamente verticali.
|
||||||
-- 2023/09/26 Se errore in applicazione lavorazione si inverte e riprova solo se foratura singola su foro aperto.
|
-- 2023/09/26 Se errore in applicazione lavorazione si inverte e riprova solo se foratura singola su foro aperto.
|
||||||
-- 2023/11/06 Migliorata gestione dei fori con AngularTransmission.
|
-- 2023/11/06 Migliorata gestione dei fori con AngularTransmission.
|
||||||
|
-- 2024/03/13 Aggiunta gestione Predrill
|
||||||
|
|
||||||
-- Tabella per definizione modulo
|
-- Tabella per definizione modulo
|
||||||
local ProcessDrill = {}
|
local ProcessDrill = {}
|
||||||
@@ -96,20 +97,21 @@ end
|
|||||||
---------------------------------------------------------------------
|
---------------------------------------------------------------------
|
||||||
-- Recupero dati foro e adattamento se speciale
|
-- Recupero dati foro e adattamento se speciale
|
||||||
function ProcessDrill.GetData( Proc, b3Raw)
|
function ProcessDrill.GetData( Proc, b3Raw)
|
||||||
|
local AuxId = EgtGetInfo( Proc.Id, 'AUXID', 'i')
|
||||||
-- verifico se foro da adattare
|
-- verifico se foro da adattare
|
||||||
if EgtExistsInfo( Proc.Id, 'DiamUser') then
|
if EgtExistsInfo( Proc.Id, 'DiamUser') then
|
||||||
local AuxId = EgtGetInfo( Proc.Id, 'AUXID', 'i')
|
|
||||||
if AuxId then AuxId = AuxId + Proc.Id end
|
if AuxId then AuxId = AuxId + Proc.Id end
|
||||||
if AuxId and EgtGetType( AuxId) == GDB_TY.CRV_ARC and BD.USER_HOLE_DIAM and BD.USER_HOLE_DIAM > 1 then
|
if AuxId and EgtGetType( AuxId) == GDB_TY.CRV_ARC and BD.USER_HOLE_DIAM and BD.USER_HOLE_DIAM > 1 then
|
||||||
EgtModifyArcRadius( AuxId, BD.USER_HOLE_DIAM / 2)
|
EgtModifyArcRadius( AuxId, BD.USER_HOLE_DIAM / 2)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
-- recupero diametro
|
-- recupero diametro e lunghezza
|
||||||
local dDiam = EgtGetInfo( Proc.Id, 'P12', 'd') or 0
|
local dDiam = EgtGetInfo( Proc.Id, 'P12', 'd') or 0
|
||||||
|
local dLen = abs( EgtCurveThickness( Proc.Id + AuxId)) or 0
|
||||||
-- recupero faccia di entrata e uscita
|
-- recupero faccia di entrata e uscita
|
||||||
local nFcs = EgtGetInfo( Proc.Id, 'FCS', 'i') or 0
|
local nFcs = EgtGetInfo( Proc.Id, 'FCS', 'i') or 0
|
||||||
local nFce = EgtGetInfo( Proc.Id, 'FCE', 'i') or 0
|
local nFce = EgtGetInfo( Proc.Id, 'FCE', 'i') or 0
|
||||||
return dDiam, nFcs, nFce
|
return dDiam, dLen, nFcs, nFce
|
||||||
end
|
end
|
||||||
|
|
||||||
---------------------------------------------------------------------
|
---------------------------------------------------------------------
|
||||||
@@ -139,6 +141,77 @@ function ProcessDrill.Split( Proc, b3Raw)
|
|||||||
return ( bOpen and ( bHoriz or BD.ROT90 or BD.DOWN_HEAD or BD.TURN or bAngTransm) and not bSlant)
|
return ( bOpen and ( bHoriz or BD.ROT90 or BD.DOWN_HEAD or BD.TURN or bAngTransm) and not bSlant)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
---------------------------------------------------------------------
|
||||||
|
-- Verifica se bisogna aggiungere un preforo
|
||||||
|
function ProcessDrill.IsPredrillNeeded( Proc)
|
||||||
|
local dDepthPredrill = EgtGetInfo( Proc.Id, 'Q03', 'i')
|
||||||
|
-- se non c'è la Q oppure se zero, allora non è da fare
|
||||||
|
if not dDepthPredrill or dDepthPredrill <= 0 then
|
||||||
|
return false
|
||||||
|
-- altrimenti Predrill da fare
|
||||||
|
else
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
---------------------------------------------------------------------
|
||||||
|
-- Aggiunge il preforo alla feature passata
|
||||||
|
function ProcessDrill.AddPredrillFromDrillProc( Proc)
|
||||||
|
local dDepthPredrill = EgtGetInfo( Proc.Id, 'Q03', 'i')
|
||||||
|
-- foro più corto del preforo, allora è il foro che diventa il preforo stesso
|
||||||
|
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 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
|
||||||
|
|
||||||
---------------------------------------------------------------------
|
---------------------------------------------------------------------
|
||||||
-- Classificazione della feature
|
-- Classificazione della feature
|
||||||
function ProcessDrill.Classify( Proc, b3Raw)
|
function ProcessDrill.Classify( Proc, b3Raw)
|
||||||
@@ -289,15 +362,15 @@ function ProcessDrill.Make( Proc, nPhase, nRawId, nPartId)
|
|||||||
local bDrillUp = ( bDownDrill and vtExtr:getZ() > -0.421)
|
local bDrillUp = ( bDownDrill and vtExtr:getZ() > -0.421)
|
||||||
local bExcludeH2 = false
|
local bExcludeH2 = false
|
||||||
if Proc.Double and Proc.Double > 0 then
|
if Proc.Double and Proc.Double > 0 then
|
||||||
bMillUp = true
|
-- bMillUp = true
|
||||||
bDrillDown = false
|
bDrillDown = false
|
||||||
bExcludeH2 = true
|
bExcludeH2 = true
|
||||||
end
|
end
|
||||||
-- primo gruppo di controlli con lunghezza utensile pari a metà foro se passante
|
-- primo gruppo di controlli con lunghezza utensile pari a metà foro se passante
|
||||||
-- recupero la lavorazione
|
-- recupero la lavorazione
|
||||||
local sDrilling, sType, dMaxDepth, dMaxToolLength, dToolDiam, dDiamTh, dToolFreeLen = ML.FindDrilling( dDiam, dCheckDepth, bDrillUp, bDrillDown, bExcludeH2, bDrillAngTrasm)
|
local sDrilling, sType, dMaxDepth, dMaxToolLength, dToolDiam, dDiamTh, dToolFreeLen = ML.FindDrilling( dDiam, dCheckDepth, bDrillUp, bDrillDown, bExcludeH2, bDrillAngTrasm, Proc.IsPredrill)
|
||||||
if not sDrilling and dCheckDepth then
|
if not sDrilling and dCheckDepth then
|
||||||
sDrilling, sType, dMaxDepth, dMaxToolLength, dToolDiam, dDiamTh, dToolFreeLen = ML.FindDrilling( dDiam, 0, bDrillUp, bDrillDown, bExcludeH2, bDrillAngTrasm)
|
sDrilling, sType, dMaxDepth, dMaxToolLength, dToolDiam, dDiamTh, dToolFreeLen = ML.FindDrilling( dDiam, 0, bDrillUp, bDrillDown, bExcludeH2, bDrillAngTrasm, Proc.IsPredrill)
|
||||||
if sDrilling then dCheckDepth = nil end
|
if sDrilling then dCheckDepth = nil end
|
||||||
end
|
end
|
||||||
if not sDrilling then
|
if not sDrilling then
|
||||||
@@ -454,7 +527,7 @@ function ProcessDrill.Make( Proc, nPhase, nRawId, nPartId)
|
|||||||
dMaxElev = dMaxDepth
|
dMaxElev = dMaxDepth
|
||||||
end
|
end
|
||||||
-- inserisco la lavorazione
|
-- inserisco la lavorazione
|
||||||
local sName = 'Drill_' .. ( EgtGetName( Proc.Id) or tostring( Proc.Id))
|
local sName = EgtIf( sType == 'Predrill', 'Predrill_', 'Drill_') .. ( EgtGetName( Proc.Id) or tostring( Proc.Id))
|
||||||
local nMchId = EgtAddMachining( sName, sDrilling)
|
local nMchId = EgtAddMachining( sName, sDrilling)
|
||||||
if not nMchId then
|
if not nMchId then
|
||||||
local sErr = 'Error adding machining ' .. sName .. '-' .. sDrilling
|
local sErr = 'Error adding machining ' .. sName .. '-' .. sDrilling
|
||||||
@@ -464,7 +537,7 @@ function ProcessDrill.Make( Proc, nPhase, nRawId, nPartId)
|
|||||||
-- aggiungo geometria
|
-- aggiungo geometria
|
||||||
EgtSetMachiningGeometry( {{ AuxId, -1}})
|
EgtSetMachiningGeometry( {{ AuxId, -1}})
|
||||||
-- eventuale inversione
|
-- eventuale inversione
|
||||||
if sType == 'Drill' or sType == 'Drill_H2' or sType == 'Drill_AT' or sType == 'AngleDrill' then
|
if sType == 'Drill' or sType == 'Drill_H2' or sType == 'Drill_AT' or sType == 'AngleDrill' or sType == 'Predrill' then
|
||||||
EgtSetMachiningParam( MCH_MP.INVERT, bToInvert)
|
EgtSetMachiningParam( MCH_MP.INVERT, bToInvert)
|
||||||
else
|
else
|
||||||
EgtSetMachiningParam( MCH_MP.TOOLINVERT, bToInvert)
|
EgtSetMachiningParam( MCH_MP.TOOLINVERT, bToInvert)
|
||||||
|
|||||||
@@ -1,5 +1,16 @@
|
|||||||
==== Beam Update Log ====
|
==== Beam Update Log ====
|
||||||
|
|
||||||
|
Versione 2.6c2 (12/03/2024)
|
||||||
|
- Added : in Mortase Aggiunta possibilità di inserire lavorazione di smusso
|
||||||
|
- Added : in FreeContour aggiunto smusso se lav. di svuotatura
|
||||||
|
- Added : in BeamExec creata funzione calcolo dipendenze tra feature
|
||||||
|
- Added : In BeamExec -> CollectFeatures si scrive ora Width e Height della faccia sia trimmate con il grezzo che intere
|
||||||
|
- Added : implementate le lavorazioni in doppio per fori specchiati non passanti e DrillPocket
|
||||||
|
- Modif : in LapJoint migliorata ricerca pocket (VerifyPocket)
|
||||||
|
- Modif : implementato attacco esterno se tasca 4 facce sulla coda ma nessun pezzo successivo
|
||||||
|
- Modif : rimossi simboli di debug da compile
|
||||||
|
- Fixed : In FreeContour corretto caso di smusso non passante
|
||||||
|
|
||||||
Versione 2.6c1 (29/02/2024)
|
Versione 2.6c1 (29/02/2024)
|
||||||
- Modif : in FacesBySaw e LapJoint migliorato calcolo area non pinzabile in testa HCING e coda TCING
|
- Modif : in FacesBySaw e LapJoint migliorato calcolo area non pinzabile in testa HCING e coda TCING
|
||||||
- Modif : vari miglioramenti all'ordinamento delle lavorazioni
|
- Modif : vari miglioramenti all'ordinamento delle lavorazioni
|
||||||
|
|||||||
+1
-1
@@ -2,5 +2,5 @@
|
|||||||
-- Gestione della versione di Beam
|
-- Gestione della versione di Beam
|
||||||
|
|
||||||
NAME = 'Beam'
|
NAME = 'Beam'
|
||||||
VERSION = '2.6c1'
|
VERSION = '2.6c2'
|
||||||
MIN_EXE = '2.6a1'
|
MIN_EXE = '2.6a1'
|
||||||
|
|||||||
Reference in New Issue
Block a user