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:
DarioS
2021-10-19 08:07:01 +02:00
parent b82c3fb644
commit 26753f8aab
5 changed files with 61 additions and 20 deletions
+20 -4
View File
@@ -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()