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:
DarioS
2021-04-20 09:26:01 +02:00
parent e0681d9b95
commit e0d802d07d
4 changed files with 96 additions and 50 deletions
+17 -4
View File
@@ -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)