DataBeam :
- piccole modifiche ai fori per testa da sotto - correzione ai LapJoint per tagli con sega a catena passanti (variabili non inizializzate) - in forature corretta gestione Invert con testa da sotto e migliorato calcolo ingombro portautensile - in mortase a coda di rondine migliorata scelta lavorazione in presenza di testa da sotto - in lapjoint correzioni ribasso a U con testa da sotto - a FindMilling e FindPocketing aggiunto parametro opzionale dMaxTotLen - in LapJoint aggiunta gestione massima lunghezza fresa da sotto su svuotature.
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
-- ProcessDtMortise.lua by Egaltech s.r.l. 2021/04/08
|
||||
-- ProcessDtMortise.lua by Egaltech s.r.l. 2021/04/14
|
||||
-- Gestione calcolo mortase a coda di rondine per Travi
|
||||
-- 2021/04/08 Aggiunto controllo massimo materiale lavorabile dalla fresa.
|
||||
-- 2021/04/08 Miglioria scelta lavorazione in presenza di testa da sotto.
|
||||
|
||||
-- Tabella per definizione modulo
|
||||
local ProcessDtMortise = {}
|
||||
@@ -175,16 +176,28 @@ function ProcessDtMortise.Make( Proc, nPhase, nRawId, nPartId, dCurrOvmH)
|
||||
dMinRad = dRad
|
||||
end
|
||||
end
|
||||
-- abilitazione lavorazione da sotto
|
||||
local bMillUp = ( BD.DOWN_HEAD and vtExtr:getZ() > -0.259)
|
||||
local bMillDown = ( BD.DOWN_HEAD and vtExtr:getZ() < 0.174)
|
||||
-- recupero la lavorazione
|
||||
local sMillType = 'DtMortise'
|
||||
local sMchExt = EgtIf( bMillDown, '_H2', '')
|
||||
-- recupero la lavorazione : prima ricerca per sola tipologia
|
||||
local sMchExt = EgtIf( bFaceDown or ( BD.DOWN_HEAD and vtExtr:getZ() < 0.1), '_H2', '')
|
||||
local sMilling = ML.FindMilling( 'DtMortise'..sMchExt)
|
||||
local sMilling = ML.FindMilling( sMillType..sMchExt)
|
||||
if not sMilling and bMillUp then
|
||||
sMilling = ML.FindMilling( sMillType)
|
||||
end
|
||||
if not sMilling then
|
||||
local sErr = 'Milling not found in library : Error on DtMortise ' .. tostring( Proc.Id)
|
||||
EgtOutLog( sErr)
|
||||
return false, sErr
|
||||
end
|
||||
-- recupero la lavorazione : seconda ricerca con tipologia e diametro massimo
|
||||
sMilling = ML.FindMilling( 'DtMortise'..sMchExt, nil, nil, 2 * dMinRad)
|
||||
sMilling = ML.FindMilling( sMillType..sMchExt, nil, nil, 2 * dMinRad)
|
||||
if not sMilling and bMillUp then
|
||||
sMilling = ML.FindMilling( sMillType, nil, nil, 2 * dMinRad)
|
||||
sMchExt = ''
|
||||
end
|
||||
if not sMilling then
|
||||
local sErr = 'Radius too small : Error on DtMortise ' .. tostring( Proc.Id)
|
||||
EgtOutLog( sErr)
|
||||
|
||||
Reference in New Issue
Block a user