DataBeam :
- in lavorazione DtMortise con tasche si aggiustano i parametri di ingresso/uscita - in lavorazione LapJoint modificato controllo di feature lunga (si tiene conto anche della lunghezza del pezzo) - nelle lavorazioni dei profili aggiunta gestione utilizzo testa sotto per macchine che ne sono provviste.
This commit is contained in:
@@ -1,7 +1,8 @@
|
||||
-- ProcessDtMortise.lua by Egaltech s.r.l. 2021/04/14
|
||||
-- ProcessDtMortise.lua by Egaltech s.r.l. 2021/06/28
|
||||
-- Gestione calcolo mortase a coda di rondine per Travi
|
||||
-- 2021/04/08 Aggiunto controllo massimo materiale lavorabile dalla fresa.
|
||||
-- 2021/04/08 Miglioria scelta lavorazione in presenza di testa da sotto.
|
||||
-- 2021/06/28 Aggiunta gestione attacco e uscita con pocket.
|
||||
|
||||
-- Tabella per definizione modulo
|
||||
local ProcessDtMortise = {}
|
||||
@@ -391,6 +392,17 @@ function ProcessDtMortise.Make( Proc, nPhase, nRawId, nPartId, dCurrOvmH)
|
||||
-- sistemo il lato e la direzione di lavoro
|
||||
EgtSetMachiningParam( MCH_MP.WORKSIDE, EgtIf( bCW, MCH_MILL_WS.LEFT, MCH_MILL_WS.RIGHT))
|
||||
EgtSetMachiningParam( MCH_MP.INVERT, EgtIf( bCW, false, true))
|
||||
-- in presenza di pocket imposto dati ingresso e uscita
|
||||
if bPocket then
|
||||
EgtSetMachiningParam( MCH_MP.STARTPOS, 5)
|
||||
EgtSetMachiningParam( MCH_MP.LEADINTYPE, MCH_MILL_LI.TANGENT)
|
||||
EgtSetMachiningParam( MCH_MP.LEADOUTTYPE, MCH_MILL_LO.AS_LI)
|
||||
EgtSetMachiningParam( MCH_MP.STARTADDLEN, 5)
|
||||
EgtSetMachiningParam( MCH_MP.ENDADDLEN, 0)
|
||||
EgtSetMachiningParam( MCH_MP.LITANG, dToolDiam / 2)
|
||||
EgtSetMachiningParam( MCH_MP.LIPERP, 5)
|
||||
EgtSetMachiningParam( MCH_MP.LIELEV, 0)
|
||||
end
|
||||
-- dichiaro non si generano sfridi per VMill
|
||||
local sUserNotes = 'MaxElev='.. EgtNumToString( dMaxMat - 0.1, 1) .. '; VMRS=0;'
|
||||
EgtSetMachiningParam( MCH_MP.USERNOTES, sUserNotes)
|
||||
|
||||
@@ -4562,6 +4562,13 @@ function ProcessLapJoint.Make( Proc, nPhase, nRawId, nPartId, dOvmHead)
|
||||
local MAX_MILL_LIN = 80
|
||||
-- recupero l'ingombro del grezzo di appartenenza
|
||||
local b3Raw = EgtGetRawPartBBox( nRawId)
|
||||
-- recupero l'ingombro della trave
|
||||
local b3Solid = EgtGetBBoxGlob( EgtGetFirstNameInGroup( nPartId, 'Box') or GDB_ID.NULL, GDB_BB.STANDARD)
|
||||
if not b3Solid then
|
||||
local sErr = 'Error : part box not found'
|
||||
EgtOutLog( sErr)
|
||||
return false, sErr
|
||||
end
|
||||
-- in base al tipo di feature attribuisco il significato dei parametri Q
|
||||
AssignQIdent( Proc)
|
||||
-- se non forzate frese, uso la lama
|
||||
@@ -4593,7 +4600,8 @@ function ProcessLapJoint.Make( Proc, nPhase, nRawId, nPartId, dOvmHead)
|
||||
end
|
||||
end
|
||||
-- se lunghezza richiede spezzatura
|
||||
if Proc.Box:getDimX() > BD.LONGCUT_MAXLEN then
|
||||
if ( Proc.Box:getDimX() > BD.LONGCUT_MAXLEN) or
|
||||
( Proc.Box:getDimX() > 0.8 * b3Solid:getDimX() and Proc.Box:getDimX() > BD.LONGCUT_ENDLEN) then
|
||||
-- una faccia
|
||||
if Proc.Fct == 1 then
|
||||
return LongCut.Make( Proc, nPhase, nRawId, nPartId)
|
||||
@@ -4645,13 +4653,6 @@ function ProcessLapJoint.Make( Proc, nPhase, nRawId, nPartId, dOvmHead)
|
||||
end
|
||||
-- due facce
|
||||
elseif Proc.Fct == 2 then
|
||||
-- recupero l'ingombro della trave
|
||||
local b3Solid = EgtGetBBoxGlob( EgtGetFirstNameInGroup( nPartId, 'Box') or GDB_ID.NULL, GDB_BB.STANDARD)
|
||||
if not b3Solid then
|
||||
local sErr = 'Error : part box not found'
|
||||
EgtOutLog( sErr)
|
||||
return false, sErr
|
||||
end
|
||||
-- se praticamente è lunga come la trave
|
||||
if Proc.Box:getDimX() > 0.8 * b3Solid:getDimX() then
|
||||
local nUseSideTool = EgtGetInfo( Proc.Id, Q_SIDE_ROUGH_TOOL, 'i') or 0
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
-- ProcessProfCamb.lua by Egaltech s.r.l. 2021/05/03
|
||||
-- ProcessProfCamb.lua by Egaltech s.r.l. 2021/06/28
|
||||
-- Gestione calcolo profilo caudato per Travi
|
||||
-- 2021/05/03 Aggiunta gestione smusso da sopra e sotto per macchina con testa da sotto.
|
||||
-- 2021/06/28 Per macchine con testa sotto, smussi di lato con questa testa se non c'è lav.ne da sopra.
|
||||
|
||||
-- Tabella per definizione modulo
|
||||
local ProcessProfCamb = {}
|
||||
@@ -171,9 +172,14 @@ local function VerifyCham( Proc, AuxId, nRawId, bMakeVertCham, sDephtCham, sOnly
|
||||
if nChamfer > 0 then
|
||||
sMilling = ML.FindMilling( 'Mark')
|
||||
if not sMilling then
|
||||
local sErr = 'Error : chamfer not found in library'
|
||||
EgtOutLog( sErr)
|
||||
return -1, 0, sErr
|
||||
if BD.DOWN_HEAD and abs( vtExtr:getZ()) < 0.1 then
|
||||
sMilling = ML.FindMilling( 'Mark_H2')
|
||||
end
|
||||
if not sMilling then
|
||||
local sErr = 'Error : chamfer not found in library'
|
||||
EgtOutLog( sErr)
|
||||
return -1, 0, sErr
|
||||
end
|
||||
end
|
||||
if BD.DOWN_HEAD and abs( vtExtr:getZ()) > 0.9 then
|
||||
sMilling2 = ML.FindMilling( 'Mark_H2')
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
-- ProcessProfConcave.lua by Egaltech s.r.l. 2021/05/03
|
||||
-- ProcessProfConcave.lua by Egaltech s.r.l. 2021/06/28
|
||||
-- Gestione calcolo profilo concavo per Travi
|
||||
-- 2021/05/03 Aggiunta gestione smusso da sopra e sotto per macchina con testa da sotto.
|
||||
-- 2021/06/28 Per macchine con testa sotto, smussi di lato con questa testa se non c'è lav.ne da sopra.
|
||||
|
||||
-- Tabella per definizione modulo
|
||||
local ProcessProfConcave = {}
|
||||
@@ -162,9 +163,14 @@ local function VerifyCham( Proc, AuxId, nRawId, bMakeVertCham, sDephtCham, sOnly
|
||||
if nChamfer > 0 then
|
||||
sMilling = ML.FindMilling( 'Mark')
|
||||
if not sMilling then
|
||||
local sErr = 'Error : chamfer not found in library'
|
||||
EgtOutLog( sErr)
|
||||
return -1, 0, sErr
|
||||
if BD.DOWN_HEAD and abs( vtExtr:getZ()) < 0.1 then
|
||||
sMilling = ML.FindMilling( 'Mark_H2')
|
||||
end
|
||||
if not sMilling then
|
||||
local sErr = 'Error : chamfer not found in library'
|
||||
EgtOutLog( sErr)
|
||||
return -1, 0, sErr
|
||||
end
|
||||
end
|
||||
if BD.DOWN_HEAD and abs( vtExtr:getZ()) > 0.9 then
|
||||
sMilling2 = ML.FindMilling( 'Mark_H2')
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
-- ProcessProfConvex.lua by Egaltech s.r.l. 2021/05/03
|
||||
-- ProcessProfConvex.lua by Egaltech s.r.l. 2021/06/28
|
||||
-- Gestione calcolo profilo convesso per Travi
|
||||
-- 2021/05/03 Aggiunta gestione smusso da sopra e sotto per macchina con testa da sotto.
|
||||
-- 2021/06/28 Per macchine con testa sotto, smussi di lato con questa testa se non c'è lav.ne da sopra.
|
||||
|
||||
-- Tabella per definizione modulo
|
||||
local ProcessProfConvex = {}
|
||||
@@ -162,9 +163,14 @@ local function VerifyCham( Proc, AuxId, nRawId, bMakeVertCham, sDephtCham, sOnly
|
||||
if nChamfer > 0 then
|
||||
sMilling = ML.FindMilling( 'Mark')
|
||||
if not sMilling then
|
||||
local sErr = 'Error : chamfer not found in library'
|
||||
EgtOutLog( sErr)
|
||||
return -1, 0, sErr
|
||||
if BD.DOWN_HEAD and abs( vtExtr:getZ()) < 0.1 then
|
||||
sMilling = ML.FindMilling( 'Mark_H2')
|
||||
end
|
||||
if not sMilling then
|
||||
local sErr = 'Error : chamfer not found in library'
|
||||
EgtOutLog( sErr)
|
||||
return -1, 0, sErr
|
||||
end
|
||||
end
|
||||
if BD.DOWN_HEAD and abs( vtExtr:getZ()) > 0.9 then
|
||||
sMilling2 = ML.FindMilling( 'Mark_H2')
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
-- ProcessProfFront.lua by Egaltech s.r.l. 2021/05/03
|
||||
-- ProcessProfFront.lua by Egaltech s.r.l. 2021/06/28
|
||||
-- Gestione calcolo profilo frontale per Travi
|
||||
-- 2021/05/03 Aggiunta gestione smusso da sopra e sotto per macchina con testa da sotto.
|
||||
-- 2021/06/28 Per macchine con testa sotto, smussi di lato con questa testa se non c'è lav.ne da sopra.
|
||||
|
||||
-- Tabella per definizione modulo
|
||||
local ProcessProfFront = {}
|
||||
@@ -134,9 +135,14 @@ local function VerifyCham( Proc, AuxId, nRawId, bMakeVertCham, sDephtCham, sOnly
|
||||
if nChamfer > 0 then
|
||||
sMilling = ML.FindMilling( 'Mark')
|
||||
if not sMilling then
|
||||
local sErr = 'Error : chamfer not found in library'
|
||||
EgtOutLog( sErr)
|
||||
return -1, 0, sErr
|
||||
if BD.DOWN_HEAD and abs( vtExtr:getZ()) < 0.1 then
|
||||
sMilling = ML.FindMilling( 'Mark_H2')
|
||||
end
|
||||
if not sMilling then
|
||||
local sErr = 'Error : chamfer not found in library'
|
||||
EgtOutLog( sErr)
|
||||
return -1, 0, sErr
|
||||
end
|
||||
end
|
||||
if BD.DOWN_HEAD and abs( vtExtr:getZ()) > 0.9 then
|
||||
sMilling2 = ML.FindMilling( 'Mark_H2')
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
-- ProcessProfHead.lua by Egaltech s.r.l. 2021/05/03
|
||||
-- ProcessProfHead.lua by Egaltech s.r.l. 2021/06/28
|
||||
-- Gestione calcolo profilo di testa per Travi
|
||||
-- 2021/05/03 Aggiunta gestione smusso da sopra e sotto per macchina con testa da sotto.
|
||||
-- 2021/05/03 Aggiunta gestione smusso da sopra e sotto per macchina con testa sotto.
|
||||
-- 2021/06/28 Per macchine con testa sotto, smussi di lato con questa testa se non c'è lav.ne da sopra.
|
||||
|
||||
-- Tabella per definizione modulo
|
||||
local ProcessProfHead = {}
|
||||
@@ -154,9 +155,14 @@ local function VerifyCham( Proc, AuxId, nRawId, bMakeVertCham, sDephtCham, sOnly
|
||||
if nChamfer > 0 then
|
||||
sMilling = ML.FindMilling( 'Mark')
|
||||
if not sMilling then
|
||||
local sErr = 'Error : chamfer not found in library'
|
||||
EgtOutLog( sErr)
|
||||
return -1, 0, sErr
|
||||
if BD.DOWN_HEAD and abs( vtExtr:getZ()) < 0.1 then
|
||||
sMilling = ML.FindMilling( 'Mark_H2')
|
||||
end
|
||||
if not sMilling then
|
||||
local sErr = 'Error : chamfer not found in library'
|
||||
EgtOutLog( sErr)
|
||||
return -1, 0, sErr
|
||||
end
|
||||
end
|
||||
if BD.DOWN_HEAD and abs( vtExtr:getZ()) > 0.9 then
|
||||
sMilling2 = ML.FindMilling( 'Mark_H2')
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
-- ProcessScarfJoint.lua by Egaltech s.r.l. 2020/12/10
|
||||
-- ProcessScarfJoint.lua by Egaltech s.r.l. 2021/06/28
|
||||
-- Gestione calcolo giunto Gerber per Travi
|
||||
-- 2021/06/28 Aggiunto extra-taglio alle lamate orizzontali.
|
||||
|
||||
-- Tabella per definizione modulo
|
||||
local ProcessScarfJoint = {}
|
||||
@@ -167,9 +168,11 @@ local function ApplyDiceCut( vFaceOrd, nGoodFace1, nGoodFace4, nAddGrpId, b3Soli
|
||||
end
|
||||
end
|
||||
end
|
||||
-- extra taglio
|
||||
local dExtraCut = EgtIf( i % 2 == 1, 0, BD.CUT_EXTRA)
|
||||
-- lavoro la faccia
|
||||
for j = 1, #vCuts[i] do
|
||||
bOk, sErr = BL.MakeOneFaceBySaw( vCuts[i][j], 0, sCutting, dSawDiam, vtOrthoO, nil, 0, BD.CUT_SIC, 0, 0, 0, nil, b3Raw)
|
||||
bOk, sErr = BL.MakeOneFaceBySaw( vCuts[i][j], 0, sCutting, dSawDiam, vtOrthoO, nil, dExtraCut, BD.CUT_SIC, 0, 0, 0, nil, b3Raw)
|
||||
if not bOk then return bOk, sErr end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user