DataBeam :

- modifiche per doppia passata su profili Concave e Convex
- tagli doppi di testa e split con controllo sezioni migliorate
- corretto controllo fori sdoppiati.
This commit is contained in:
Dario Sassi
2019-04-08 11:41:58 +00:00
parent 6eaba8a577
commit 04059c20ac
7 changed files with 189 additions and 58 deletions
+10 -7
View File
@@ -1,4 +1,4 @@
-- ProcessLongDoubleCut.lua by Egaltech s.r.l. 2019/03/22
-- ProcessLongDoubleCut.lua by Egaltech s.r.l. 2019/04/01
-- Gestione calcolo doppio taglio longitudinale per Travi
-- Tabella per definizione modulo
@@ -85,7 +85,7 @@ function ProcessLong2Cut.Make( Proc, nPhase, nRawId, nPartId)
local vtDiff1 = ptC[vOrd[1]] - ptM
vWidth[vOrd[1]] = 2 * sqrt( vtDiff1:getY() * vtDiff1:getY() + vtDiff1:getZ() * vtDiff1:getZ())
local vtDiff2 = ptC[vOrd[2]] - ptM
vWidth[vOrd[2]] = 2 * sqrt( vtDiff1:getY() * vtDiff1:getY() + vtDiff1:getZ() * vtDiff1:getZ())
vWidth[vOrd[2]] = 2 * sqrt( vtDiff2:getY() * vtDiff2:getY() + vtDiff2:getZ() * vtDiff2:getZ())
-- recupero la lavorazione
local nMill, sMilling = FindMilling( 'Long2Cut')
if not sMilling then
@@ -94,12 +94,12 @@ function ProcessLong2Cut.Make( Proc, nPhase, nRawId, nPartId)
return false, sErr
end
-- recupero i dati dell'utensile
local dMillDiam = 0
local dToolDiam = 0
local dMaxDepth = 0
if EgtMdbSetCurrMachining( sMilling) then
local sTuuid = EgtMdbGetCurrMachiningParam( MCH_MP.TUUID)
if EgtTdbSetCurrTool( EgtTdbGetToolFromUUID( sTuuid) or '') then
dMillDiam = EgtTdbGetCurrToolParam( MCH_TP.DIAM) or dMillDiam
dToolDiam = EgtTdbGetCurrToolParam( MCH_TP.DIAM) or dToolDiam
dMaxDepth = EgtTdbGetCurrToolMaxDepth() or dMaxDepth
end
end
@@ -126,9 +126,12 @@ function ProcessLong2Cut.Make( Proc, nPhase, nRawId, nPartId)
-- ciclo sulle passate
local nO = 1
local dStep = 0
if vWidth[vOrd[i]] > 0.75 * dMillDiam then
nO = ceil( vWidth[vOrd[i]] * 2 / dMillDiam)
dStep = vWidth[vOrd[i]] / nO
local dAgg = EgtIf( bConvex, 2 * BD.CUT_EXTRA, BD.CUT_EXTRA)
if vWidth[vOrd[i]] + dAgg > dToolDiam then
nO = ceil(( vWidth[vOrd[i]] + dAgg) / dToolDiam)
if nO > 1 then
dStep = ( vWidth[vOrd[i]] + dAgg - dToolDiam) / ( nO - 1)
end
end
for k = 1, nO do
-- determino direzione di movimento