DataBeam :

- modifiche a DiceCut per uso generale di dNzLimDwnUp = BL.GetNzLimDownUp...
- modifiche a fori per angolo limite da BeamData e diametro portautensile da utensile
- migliorie a profili
- aggiunta possibilità di pulitura spigolo su L020.
This commit is contained in:
Dario Sassi
2020-03-06 14:46:04 +00:00
parent 901ba42814
commit b7d8db32b0
8 changed files with 256 additions and 56 deletions
+6 -8
View File
@@ -1,4 +1,4 @@
-- ProcessDrill.lua by Egaltech s.r.l. 2020/03/04
-- ProcessDrill.lua by Egaltech s.r.l. 2020/03/06
-- Gestione calcolo forature per Travi
-- Tabella per definizione modulo
@@ -13,10 +13,6 @@ EgtOutLog( ' ProcessDrill started', 1)
local BD = require( 'BeamData')
local ML = require( 'MachiningLib')
-- Costanti
local TH_RAD = 35 -- raggio portautensile
local COS_SLANT_LIM = 0.866 -- 30deg da piano
---------------------------------------------------------------------
-- Riconoscimento della feature
function ProcessDrill.Identify( Proc)
@@ -117,7 +113,7 @@ function ProcessDrill.Classify( Proc, b3Raw)
ptCen = ptCen + vtExtr * dLen
end
-- verifico se troppo inclinato e quindi non lavorabile
if not ( Proc.Fcs == 5 or Proc.Fcs == 6 or Proc.Fce == 5 or Proc.Fce == 6) and abs( vtExtr:getX()) > COS_SLANT_LIM then
if not ( Proc.Fcs == 5 or Proc.Fcs == 6 or Proc.Fce == 5 or Proc.Fce == 6) and abs( vtExtr:getX()) > BD.DRILL_VX_MAX then
return false, false
end
local bOpen = ( Proc.Fce ~= 0)
@@ -163,6 +159,7 @@ function ProcessDrill.Make( Proc, nPhase, nRawId, nPartId)
end
-- recupero i dati dell'utensile
local dMaxDepth = 20
local dDiamTh = 35
if EgtMdbSetCurrMachining( sDrilling) then
local bIsDrilling = ( EgtMdbGetCurrMachiningParam( MCH_MP.TYPE) == MCH_MY.DRILLING)
local sTuuid = EgtMdbGetCurrMachiningParam( MCH_MP.TUUID)
@@ -172,14 +169,15 @@ function ProcessDrill.Make( Proc, nPhase, nRawId, nPartId)
else
dMaxDepth = EgtTdbGetCurrToolMaxDepth() or dMaxDepth
end
dDiamTh = EgtTdbGetCurrToolThDiam()
end
end
-- se foro intermedio e inclinato, limito il massimo affondamento
if not ( ( Proc.Fcs == 5 or Proc.Fcs == 6) or ( bToInvert and ( Proc.Fce == 5 or Proc.Fce == 6))) then
local CosB = abs( vtExtr:getX())
if CosB < COS_SLANT_LIM then
if CosB < BD.DRILL_VX_MAX then
local TgA = CosB / sqrt( 1 - CosB * CosB)
dMaxDepth = dMaxDepth - TH_RAD * TgA
dMaxDepth = dMaxDepth - dDiamTh / 2 * TgA
else
dMaxDepth = 0
end