DataBeam :
- prime modifiche per lavorazione fori in Doppio - correzione a attacchi/uscite dei profili di Testa - modifiche a punto di attacco tenone se lavorato con testa da sotto.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
-- ProcessTenon.lua by Egaltech s.r.l. 2020/12/17
|
||||
-- ProcessTenon.lua by Egaltech s.r.l. 2020/12/30
|
||||
-- Gestione calcolo tenone per Travi
|
||||
|
||||
-- Tabella per definizione modulo
|
||||
@@ -150,8 +150,10 @@ function ProcessTenon.Make( Proc, nPhase, nRawId, nPartId, dOvmHead)
|
||||
local dPockX = max( b3Ten:getMax():getX() - b3Aux:getMax():getX(), b3Aux:getMin():getX() - b3Ten:getMin():getX())
|
||||
local dPockY = max( b3Ten:getMax():getY() - b3Aux:getMax():getY(), b3Aux:getMin():getY() - b3Ten:getMin():getY())
|
||||
local dPockL = sqrt( dPockX * dPockX + dPockY * dPockY)
|
||||
-- abilitazione lavorazione da sotto
|
||||
local bMillDown = ( BD.DOWN_HEAD and vtExtr:getZ() < 0.1)
|
||||
-- porto inizio curva il più possibile sul bordo
|
||||
BL.PutStartNearestToEdge( AuxId, b3Solid)
|
||||
BL.PutStartNearestToEdge( AuxId, b3Solid, bMillDown)
|
||||
-- se vero tenone inclinato o non esattamente alle estremità, necessario taglio di lama sulla testa
|
||||
if Proc.Prc ~= 52 and
|
||||
( not AreSameOrOppositeVectorApprox( vtN, X_AX()) or
|
||||
@@ -171,7 +173,7 @@ function ProcessTenon.Make( Proc, nPhase, nRawId, nPartId, dOvmHead)
|
||||
EgtSetInfo( AddId, 'TASKID', Proc.TaskId)
|
||||
-- se pezzo piccolo, in coda e piano inclinato attorno a Z applico svuotatura
|
||||
if b3Solid:getDimX() < BD.LEN_SHORT_PART and vtExtr:getX() < 0 and abs( vtExtr:getX()) < 0.985 then
|
||||
local sPockType = EgtIf( vtExtr:getZ() < 0.1 and BD.DOWN_HEAD, 'OpenPocket_H2', 'OpenPocket')
|
||||
local sPockType = EgtIf( bMillDown, 'OpenPocket_H2', 'OpenPocket')
|
||||
local sPocketing = ML.FindPocketing( sPockType)
|
||||
local dMaxDepth = 100
|
||||
local dStep = 30
|
||||
@@ -223,7 +225,7 @@ function ProcessTenon.Make( Proc, nPhase, nRawId, nPartId, dOvmHead)
|
||||
end
|
||||
end
|
||||
-- recupero la lavorazione
|
||||
local sMillType = EgtIf( vtExtr:getZ() < 0.1 and BD.DOWN_HEAD, 'Tenon_H2', 'Tenon')
|
||||
local sMillType = EgtIf( bMillDown, 'Tenon_H2', 'Tenon')
|
||||
local sMilling = ML.FindMilling( sMillType, dTenH) or ML.FindMilling( sMillType)
|
||||
if not sMilling then
|
||||
local sErr = 'Error on process ' .. tostring( Proc.Id) .. ' milling not found in library'
|
||||
|
||||
Reference in New Issue
Block a user