DataBeam :

- cambiato nome modulo ProcessBlockHouseFront.lua in ProcessBlockHausFront.lua
- in BeamLib.MakeOneFaceBySaw gestito offset longitudinale per calcolo attacco/uscita
- DiceCut se faccia principale inclinata verso il basso si parte sempre da sopra
- in MachiningLib.FindMilling aggiunta possibilità gestione massimo affondamento richiesto
- corretto riconoscimento fori da sotto
- in LapJoint corretto angolo 3° asse fittizio per sega a catena
- in Tenone aggiunta gestione scelta utensile in base all'altezza dello stesso.
This commit is contained in:
Dario Sassi
2020-02-27 09:23:07 +00:00
parent b0044228f7
commit 9d693635c8
8 changed files with 58 additions and 29 deletions
+23 -3
View File
@@ -1,4 +1,4 @@
-- ProcessDrill.lua by Egaltech s.r.l. 2020/02/20
-- ProcessDrill.lua by Egaltech s.r.l. 2020/02/26
-- Gestione calcolo forature per Travi
-- Tabella per definizione modulo
@@ -26,7 +26,27 @@ end
---------------------------------------------------------------------
-- Classificazione della feature
function ProcessDrill.IsHeadFeature( Proc, b3Raw, dCurrOvmH)
return false
-- verifico se è in testa
if Proc.Box:getMax():getX() < b3Raw:getMax():getX() - dCurrOvmH - BD.MAX_DIST_HTFEA then
return false
end
-- recupero e verifico l'entità foro
local AuxId = EgtGetInfo( Proc.Id, 'AUXID', 'i') or 0
if AuxId then AuxId = AuxId + Proc.Id end
if not AuxId or EgtGetType( AuxId) ~= GDB_TY.CRV_ARC then
return false
end
local vtExtr = EgtCurveExtrusion( AuxId, GDB_RT.GLOB)
-- se entrata principale
if Proc.Flg > 0 then
local nFcs = EgtGetInfo( Proc.Id, 'FCS', 'i') or 0
return ( ( nFcs == 5 or nFcs == 6) and vtExtr:getX() > 0.5)
-- altrimenti entrata opposta
else
local nFce = EgtGetInfo( Proc.Id, 'FCE', 'i') or 0
return ( ( nFce == 5 or nFce == 6) and vtExtr:getX() < -0.5)
end
end
---------------------------------------------------------------------
@@ -101,7 +121,7 @@ function ProcessDrill.Classify( Proc, b3Raw)
return false, false
end
local bOpen = ( Proc.Fce ~= 0)
local bFaceDown = ( ptCen:getZ() < b3Raw:getMin():getZ() + dDiam)
local bFaceDown = ( ptCen:getZ() < b3Raw:getMin():getZ() + dDiam / 2 and not Proc.Head and not Proc.Tail)
-- verifico se il foro è fattibile solo da sotto
local bDown = (( vtExtr:getZ() < BD.DRILL_VZ_MIN or bFaceDown) and ( not bOpen or Proc.Flg ~= 1))
return true, bDown