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