Compare commits

..

9 Commits

Author SHA1 Message Date
luca.mazzoleni e1a5625f18 Merge branch 'release/2.5g3' 2023-07-26 18:26:16 +02:00
luca.mazzoleni 8225bc93d5 update log e versione 2023-07-26 18:26:00 +02:00
luca.mazzoleni 59c9e6d1cd In Freecontour->MakeByCut migliorata la scelta della fresa secondaria in caso non sia disponibile una fresa di lunghezza sufficiente 2023-07-26 16:31:14 +02:00
luca.mazzoleni eae34681f3 In ProcessCut angolo Z minimo ora gestito tramite costante da WallData CUT_VZ_MIN (default -0.5) 2023-07-26 15:11:59 +02:00
luca.mazzoleni 098ef8deaf Merge branch 'release/2.5g2' 2023-07-26 11:39:35 +02:00
luca.mazzoleni 7f10b7219a Merge tag '2.5g2' into develop
Finish Release: 2.5g2
2023-07-26 11:39:35 +02:00
luca.mazzoleni 8cfd505f81 update log e versione 2023-07-26 11:19:26 +02:00
luca.mazzoleni 7f29b951c8 Merge branch 'feature/SideStepOnGroove' into develop 2023-07-25 18:31:11 +02:00
luca.mazzoleni 75d0d7fd13 - piccola correzione alla ricerca utensile SideGroove 2023-07-25 18:30:57 +02:00
5 changed files with 31 additions and 12 deletions
+9 -8
View File
@@ -1,5 +1,6 @@
-- WProcessCut.lua by Egaltech s.r.l. 2020/11/25
-- Gestione calcolo taglio di testa o longitudinale per Pareti
-- 2023/07/26 Angolo Z minimo ora gestito tramite costante da WallData CUT_VZ_MIN (default sempre -0.5).
-- Tabella per definizione modulo
local WPC = {}
@@ -31,7 +32,7 @@ function WPC.Classify( Proc, b3Raw)
if Proc.Fct ~= 1 then return false end
-- controllo la normale
local vtN = EgtSurfTmFacetNormVersor( Proc.Id, 0, GDB_ID.ROOT)
if vtN:getZ() < - 0.5 then return false end
if vtN:getZ() < ( WD.CUT_VZ_MIN or - 0.5) then return false end
return true
end
@@ -40,29 +41,29 @@ end
-- return nFlip0, nFlip1
function WPC.FlipClassify( Proc)
-- verifico abbia una sola faccia
if Proc.Fct ~= 1 then return 0, 0 end
if Proc.Fct ~= 1 then return 0, 0 end
-- controllo la normale
local vtN = EgtSurfTmFacetNormVersor( Proc.Id, 0, GDB_ID.ROOT)
local vtNZ = vtN:getZ()
if vtNZ > - GEO.EPS_SMALL then
nFlip0 = 100
elseif vtNZ < -0.5 then
elseif vtNZ < ( WD.CUT_VZ_MIN or - 0.5) then
nFlip0 = 0
else
nFlip0 = 50
end
nFlip0 = 50
end
if - vtNZ > - GEO.EPS_SMALL then
nFlip1 = 100
elseif - vtNZ < -0.5 then
elseif - vtNZ < ( WD.CUT_VZ_MIN or - 0.5) then
nFlip1 = 0
else
nFlip1 = 50
end
end
--nFlip0 = EgtIf( vtN:getZ() < -0.5, 0, 100)
--nFlip1 = EgtIf( - vtN:getZ() < -0.5, 0, 100)
return nFlip0, nFlip1
return nFlip0, nFlip1
end
---------------------------------------------------------------------
+8 -1
View File
@@ -20,6 +20,7 @@
-- 2023/04/17 Lavorazione CleanCorner sempre forzata con lato di lavoro in centro.
-- 2023/05/25 Funzioni EgtAddMachining sostituite da WM.AddMachining in modo da trascrivere le priorità da btl alle lavorazioni.
-- 2023/06/06 Aggiunta gestione lavorazione per lamatura speciale affondata con Tool_ID specifico.
-- 2023/07/26 In MakeByCut migliorata la scelta della fresa secondaria nel caso non sia disponibile una fresa di lunghezza sufficiente.
-- Tabella per definizione modulo
local WPF = {}
@@ -1999,7 +2000,13 @@ local function MakeByCut( Proc, nRawId, b3Raw)
local sMilling, dMillMaxDepth = WM.FindMilling( 'FreeContour', dMaxWidth + WD.CUT_EXTRA, nil, nil, nil, nil, true)
local sMilling2 = WM.FindMilling( 'FreeContour', nil, nil, nil, nil, nil, true)
if not sMilling and ( not sSawing or bSlanting) then
sMilling = sMilling2
-- se non trovo una fresa di lunghezza sufficiente, prendo la più lunga disponibile
local sMillingMaxLength = WM.FindMilling( 'FreeContour', 0.8 * ( dMaxWidth + WD.CUT_EXTRA), nil, nil, nil, nil, true) or
WM.FindMilling( 'FreeContour', 0.6 * ( dMaxWidth + WD.CUT_EXTRA), nil, nil, nil, nil, true) or
WM.FindMilling( 'FreeContour', 0.4 * ( dMaxWidth + WD.CUT_EXTRA), nil, nil, nil, nil, true) or
WM.FindMilling( 'FreeContour', 0.2 * ( dMaxWidth + WD.CUT_EXTRA), nil, nil, nil, nil, true) or
WM.FindMilling( 'FreeContour', nil, nil, nil, nil, nil, true)
sMilling = sMillingMaxLength
if not sMilling then
local sErr = 'Error : milling not found in library'
EgtOutLog( sErr)
+6 -2
View File
@@ -2658,8 +2658,12 @@ local function MakeMoreFaces( Proc, nRawId, b3Raw)
return MakeSideGrooveByMill( Proc, nFacInd, nRawId, b3Raw, EgtIf( dMaxDepthOnSide, sMillOnSide, nil), dMaxDepthOnSide, bMakeFirstGroove, nil, nil, bLikeAsMakeFirstGroove, nSinglePass)
end
else
-- fresatura (se definita)
local sMilling = WM.FindMilling( 'SideGroove', nil, nil, nil, nil, min( dH, dV), nil, dSideElev)
-- fresatura (se definita); se disponibile, cerco di usare un utensile che non lavori al limite della capacità di sottosquadro
local sMilling = WM.FindMilling( 'SideGroove', nil, nil, nil, nil, min( dH, dV), nil, 1.2 * dSideElev)
-- se non ho trovato un utensile un po' più grande del sottosquadro richiesto, passo alla ricerca standard
if not sMilling then
sMilling = WM.FindMilling( 'SideGroove', nil, nil, nil, nil, min( dH, dV), nil, dSideElev)
end
-- recupero i dati dell'utensile
local dMaxMat = 1000
local dMaxDepthOnSide = 0
+7
View File
@@ -1,5 +1,12 @@
==== Wall Update Log ====
Versione 2.5g3 (26/07/2023)
- Modif : Nei tagli di lama angolo Z minimo ora gestito tramite costante da WallData CUT_VZ_MIN (default -0.5)
- Modif : Nelle fresature di ripresa angoli dei contorni migliorata la scelta della fresa secondaria in caso non sia disponibile una fresa di lunghezza sufficiente.
Versione 2.5g2 (25/07/2023)
- Added : aggiunte passate laterali per SideGroove, se specificato SIDESTEP nelle note utensile.
Versione 2.5g1 (04/07/2023)
- Modif : per posizione default del grezzo ora si assegna 0 per lasciare il compito a WD.GetOrigCorner di macchina.
+1 -1
View File
@@ -2,5 +2,5 @@
-- Gestione della versione di Wall
NAME = 'Wall'
VERSION = '2.5g1'
VERSION = '2.5g3'
MIN_EXE = '2.5b3'