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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user