DataWall :
- aggiunto controllo tipo lavorazione nelle ricerche - corretto controllo inclinazione tagli per essere lavorabili - in foratura nella ricerca dell'utensile/lavorazione si tiene conto della profondità del foro - in taglio con lama possibilità di demandare lato mandrino a funzione di macchina WallData.GetSawHeadSide - in chiodature aggiunta possibilità di lavorare in doppio con funzione di macchina WallData.FindFeaturesInDouble.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
-- ProcessFreeContour.lua by Egaltech s.r.l. 2021/10/05
|
||||
-- ProcessFreeContour.lua by Egaltech s.r.l. 2021/10/18
|
||||
-- Gestione calcolo profilo libero per Pareti
|
||||
|
||||
-- Tabella per definizione modulo
|
||||
@@ -1555,6 +1555,7 @@ local function AddCuts( sCutting, vFace, Proc, nRawId, b3Raw, dSawThick)
|
||||
end
|
||||
EgtSetInfo( nMchId, 'Part', Proc.PartId)
|
||||
local dSpeed = EgtGetMachiningParam( MCH_MP.SPEED)
|
||||
local sHead = EgtTdbGetCurrToolParam( MCH_TP.HEAD)
|
||||
-- aggiungo geometria
|
||||
EgtSetMachiningGeometry( { { Proc.Id, vFace[i].Fac}})
|
||||
-- assegno affondamento
|
||||
@@ -1570,8 +1571,10 @@ local function AddCuts( sCutting, vFace, Proc, nRawId, b3Raw, dSawThick)
|
||||
EgtSetMachiningParam( MCH_MP.INVERT, bInvert)
|
||||
-- imposto lato di lavoro
|
||||
EgtSetMachiningParam( MCH_MP.WORKSIDE, EgtIf( bInvert, MCH_SAW_WS.LEFT, MCH_SAW_WS.RIGHT))
|
||||
-- lato mandrino ( a sinistra se rotazione CCW, altrimenti a destra)
|
||||
EgtSetMachiningParam( MCH_MP.HEADSIDE, EgtIf( dSpeed < 0, MCH_SAW_HS.LEFT, MCH_SAW_HS.RIGHT))
|
||||
-- lato mandrino ( standard a sinistra se rotazione CCW, altrimenti a destra, oppure da funzione di macchina)
|
||||
local nHeadSide = EgtIf( dSpeed < 0, MCH_SAW_HS.LEFT, MCH_SAW_HS.RIGHT)
|
||||
if WD.GetSawHeadSide then nHeadSide = WD.GetSawHeadSide( dSpeed, sHead) end
|
||||
EgtSetMachiningParam( MCH_MP.HEADSIDE, nHeadSide)
|
||||
-- assegno i dati di attacco (sicurezza solo se angolo interno)
|
||||
local nLeadIn = MCH_SAW_LI.CENT
|
||||
if ( not bInvert and ( vFace[i].Type & 1) ~= 0) or ( bInvert and ( vFace[i].Type & 2) ~= 0) then
|
||||
@@ -1901,8 +1904,21 @@ local function MakeByNail( Proc, nRawId, b3Raw)
|
||||
EgtSetMachiningParam( MCH_MP.DEPTH, 10)
|
||||
-- assegno lato di lavoro
|
||||
EgtSetMachiningParam( MCH_MP.WORKSIDE, MCH_MILL_WS.CENTER)
|
||||
-- se in doppio lungo Y, devo dimezzare opportunamente la lavorazione
|
||||
if Proc.Double == 2 then
|
||||
if Proc.Delta > 0 then
|
||||
EgtSetMachiningParam( MCH_MP.ENDADDLEN, -abs( Proc.Delta) - 0.9 * dCntPar)
|
||||
else
|
||||
EgtSetMachiningParam( MCH_MP.STARTADDLEN, -abs( Proc.Delta) - 0.9 * dCntPar)
|
||||
end
|
||||
end
|
||||
-- assegno parametro a note utente
|
||||
EgtSetMachiningParam( MCH_MP.USERNOTES, 'Par='..dCntPar..';')
|
||||
local sUserNotes = 'Par=' .. EgtNumToString( dCntPar, 0) .. ';'
|
||||
if Proc.Double and Proc.Double > 0 then
|
||||
sUserNotes = sUserNotes .. 'Dbl=' .. EgtNumToString( Proc.Double, 0) .. ';' ..
|
||||
'Dlt=' .. EgtNumToString( Proc.Delta, 0) .. ';'
|
||||
end
|
||||
EgtSetMachiningParam( MCH_MP.USERNOTES, sUserNotes)
|
||||
-- eseguo
|
||||
if not EgtApplyMachining( true, false) then
|
||||
local _, sErr = EgtGetLastMachMgrError()
|
||||
|
||||
Reference in New Issue
Block a user