DataWall :
- correzioni posizionamento pezzi nesting con rotazione 180 e inversione 180 - correzione lavorazioni tasche che sono solo due lati a L da sopra.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
-- WProcessLapJoint.lua by Egaltech s.r.l. 2021/04/06
|
||||
-- WProcessLapJoint.lua by Egaltech s.r.l. 2021/04/09
|
||||
-- Gestione calcolo mezzo-legno per Pareti
|
||||
|
||||
-- Tabella per definizione modulo
|
||||
@@ -1215,8 +1215,8 @@ local function MakeSideGrooveByMill( Proc, nFacet, nRawId, b3Raw)
|
||||
local dStep = EgtGetMachiningParam( MCH_MP.STEP)
|
||||
if dStep < GEO.EPS_SMALL then dStep = dMaxMat end
|
||||
local nStep = ceil( ( dThick - dMaxMat) / dStep)
|
||||
dStep = ( dThick - dMaxMat) / nStep
|
||||
local dMaxElev = ( nStep + 1) * dStep - GEO.EPS_SMALL
|
||||
dStep = ( dThick - dMaxMat) / max( nStep, 1)
|
||||
local dMaxElev = max( ( nStep + 1) * dStep - GEO.EPS_SMALL, 0)
|
||||
EgtSetMachiningParam( MCH_MP.STEP, dStep)
|
||||
EgtSetMachiningParam( MCH_MP.USERNOTES, 'MaxElev=' .. EgtNumToString( dMaxElev, 3) .. ';')
|
||||
-- eseguo
|
||||
@@ -1391,6 +1391,15 @@ local function MakeTwoFaces( Proc, nRawId, b3Raw)
|
||||
if not bAdj then
|
||||
return false, 'Feature with two faces not adjacentes'
|
||||
end
|
||||
-- se equivalente ad un contorno
|
||||
if abs( ptP1:getZ() - ptP2:getZ()) > 0.9 * b3Raw:getDimZ() then
|
||||
-- verifico ordinamento (esterno a destra)
|
||||
if ( vtN[1] ^ ( ptP1 - ptC[1])) * Z_AX() < 0 then
|
||||
EgtSurfTmSwapFacets( Proc.Id, 0, 1)
|
||||
end
|
||||
-- applico lavorazione di contorno libero
|
||||
return FreeContour.Make( Proc, nRawId, b3Raw)
|
||||
end
|
||||
-- versore della linea di intersezione
|
||||
local vtX = ptP2 - ptP1 ; vtX:normalize()
|
||||
-- larghezza delle facce ortogonalmente all'intersezione
|
||||
@@ -1488,7 +1497,7 @@ local function MakeMoreFaces( Proc, nRawId, b3Raw)
|
||||
if Proc.Fct >= 3 and vtN:getZ() < WD.NZ_MINA then
|
||||
-- fresatura (se definita)
|
||||
local sMilling, _, dMaxMat, dDiam = WM.FindMilling( 'SideGroove')
|
||||
if sMilling and dElev < dDiam / 2 - 30 and dMaxMat <= min( dH, dV) + 10 * GEO.EPS_SMALL then
|
||||
if sMilling and dElev < dDiam / 2 - 30 and dMaxMat <= min( dH, dV) + 20 * GEO.EPS_SMALL then
|
||||
return MakeSideGrooveByMill( Proc, nFacInd, nRawId, b3Raw)
|
||||
-- altrimenti sega a catena
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user