DataBeam :

- migliorie a lavorazione in doppio di Profili Convesso e Concavo
- aggiunta lavorazione in doppio a Profilo Cambered.
This commit is contained in:
Dario Sassi
2019-04-08 14:39:45 +00:00
parent 04059c20ac
commit 0ce22a934c
3 changed files with 65 additions and 40 deletions
+8 -18
View File
@@ -71,7 +71,7 @@ function ProcessProfConcave.Make( Proc, nPhase, nRawId, nPartId, dCurrOvmH)
local vtExtr = EgtCurveExtrusion( AuxId, GDB_RT.GLOB)
local nFirstFacet = 0 -- faccia iniziale
local nLastFacet = EgtSurfTmFacetCount( Proc.Id) - 1 -- faccia finale
local nMidFacet = ( nLastFacet + 1) / 2 -- faccia a metà circa
local nMidFacet = ( nLastFacet + 1) // 2 -- faccia a metà circa
local vtN = EgtSurfTmFacetNormVersor( Proc.Id, nMidFacet, GDB_ID.ROOT)
-- verifico se in testa o coda
local bHead = ( vtN:getX() > 0)
@@ -123,7 +123,7 @@ function ProcessProfConcave.Make( Proc, nPhase, nRawId, nPartId, dCurrOvmH)
end
-- verifico se necessario lavorare in doppio
local bDouble = ( nSide ~= 0 and dProfDepth > dToolMaxDepth)
local dDepth = min( dToolMaxDepth, dProfDepth / 2 + BD.MILL_OVERLAP )
local dDepth = min( dToolMaxDepth, dProfDepth / 2 + BD.MILL_OVERLAP)
-- inserisco la lavorazione
local sName = 'Prof_' .. ( EgtGetName( Proc.Id) or tostring( Proc.Id))
local nMchId = EgtAddMachining( sName, sMilling)
@@ -183,22 +183,12 @@ function ProcessProfConcave.Make( Proc, nPhase, nRawId, nPartId, dCurrOvmH)
end
-- aggiungo geometria
EgtSetMachiningGeometry( {{ AuxId, -1}})
-- se lavorazione da sopra o da sotto
if nSide ~= 0 then
-- se lavorazione a destra di fronte o sinistra da dietro, inverto
if ( vtN:getX() > 0 and vtExtr:getY() > 0.1) or
( vtN:getX() < 0 and vtExtr:getY() < -0.1) then
EgtSetMachiningParam( MCH_MP.TOOLINVERT, true)
EgtSetMachiningParam( MCH_MP.INVERT, true)
end
-- altrimenti lavorazione da sotto
else
-- se lavorazione a destra da dietro o sinistra di fronte, inverto
if ( vtN:getX() > 0 and vtN:getY() > 0.1) or
( vtN:getX() < 0 and vtN:getY() < -0.1) then
EgtSetMachiningParam( MCH_MP.WORKSIDE, MCH_MILL_WS.LEFT)
EgtSetMachiningParam( MCH_MP.INVERT, true)
end
-- sempre lavorazione da sopra o da sotto
-- se lavorazione a destra di fronte o sinistra da dietro, inverto
if ( vtN:getX() > 0 and vtExtr:getY() > 0.1) or
( vtN:getX() < 0 and vtExtr:getY() < -0.1) then
EgtSetMachiningParam( MCH_MP.TOOLINVERT, true)
EgtSetMachiningParam( MCH_MP.INVERT, true)
end
-- imposto l'affondamento
EgtSetMachiningParam( MCH_MP.DEPTH, dDepth)