DataBeam :

- in Contorni Liberi e Archi aggiunta gestione spessore codolo da parametri Q (solo se BD.DIM_STRIP = -1).
This commit is contained in:
Dario Sassi
2021-01-29 11:43:26 +00:00
parent 8b4b2bd282
commit ddeaf7559b
2 changed files with 31 additions and 20 deletions
+12 -5
View File
@@ -1,4 +1,4 @@
-- ProcessRoundArch.lua by Egaltech s.r.l. 2020/09/03
-- ProcessRoundArch.lua by Egaltech s.r.l. 2021/01/29
-- Gestione calcolo archi per Travi
-- Tabella per definizione modulo
@@ -14,6 +14,9 @@ EgtOutLog( ' ProcessRoundArch started', 1)
local BD = require( 'BeamData')
local ML = require( 'MachiningLib')
-- variabili assegnazione parametri Q
local Q_DIM_STRIP = 'Q02' -- d
---------------------------------------------------------------------
-- Riconoscimento della feature
function ProcessRoundArch.Identify( Proc)
@@ -143,12 +146,16 @@ function ProcessRoundArch.Make( Proc, nPhase, nRawId, nPartId, dOvmHead)
end
end
local nDouble = 1
local bCanDouble = abs( vtExtr:getY()) > 0.707 and bCross
local bCanDouble = ( abs( vtExtr:getY()) > 0.707 and bCross)
local dDimStrip = BD.DIM_STRIP
if dDimStrip < 0 then
dDimStrip = EgtGetInfo( Proc.Id, Q_DIM_STRIP, 'd') or 0
end
local bStripOnSide = false
if bCross then
if nStep > 1 or ( bDown and b3Aux:getDimX() > 0.5 * b3Raw:getDimX()) then
if dDimStrip > 10 * GEO.EPS_SMALL and ( nStep > 1 or ( bDown and b3Aux:getDimX() > 0.5 * b3Raw:getDimX())) then
-- devo lasciare un codolo
dDepth = dDepth - BD.DIM_STRIP
dDepth = dDepth - dDimStrip
bStripOnSide = true
else
-- devo affondare un poco oltre
@@ -159,7 +166,7 @@ function ProcessRoundArch.Make( Proc, nPhase, nRawId, nPartId, dOvmHead)
if BD.DIM_TO_CENTER_STRIP and BD.DIM_TO_CENTER_STRIP > 10 * GEO.EPS_SMALL and nStep > 1 and
bCanDouble and b3Raw:getDimY() > BD.DIM_TO_CENTER_STRIP - 0.1 then
nDouble = 2
dDepth = min( ( b3Raw:getDimY() - BD.DIM_STRIP) * 0.5, dMaxDepth)
dDepth = min( ( b3Raw:getDimY() - dDimStrip) * 0.5, dMaxDepth)
else
-- se altezza geometria supera capacità taglio utensile ed è orizzontale setto per eseguire codolo in centro
if dDepth > dMaxDepth then