Definizione Parametro Q04=1 per esecuzione del solo contorno di un foro NON passante
This commit is contained in:
@@ -29,6 +29,7 @@ local ML = require( 'MachiningLib')
|
||||
local Q_DIM_STRIP = 'Q01' -- d
|
||||
local Q_DEPTH_CHAMFER = 'Q02' -- d
|
||||
local Q_OVERMAT_FOR_FINISH = 'Q03' -- d
|
||||
local Q_ONLY_CONTOUR = 'Q04' -- i, valido solo per drill
|
||||
local Q_ONLY_CHAMFER = 'Q00' -- i
|
||||
local Q_RADIAL_OFFSET = 'Q06' -- d, valido solo per pocket
|
||||
local Q_IGNORE_LASER_PROBLEMS = 'Q07'
|
||||
@@ -135,7 +136,7 @@ function ProcessFreeContour.Classify( Proc, b3Raw)
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
local function VerifyChamfer( Proc, AuxId, nRawId, bMakeVertCham, bDownHead)
|
||||
local function VerifyChamfer( Proc, AuxId, nRawId, bMakeVertCham, bDownHead, bContourFromDrill)
|
||||
local nChamfer = 0
|
||||
-- ingombro del grezzo
|
||||
local b3Raw = EgtGetRawPartBBox( nRawId)
|
||||
@@ -186,6 +187,10 @@ local function VerifyChamfer( Proc, AuxId, nRawId, bMakeVertCham, bDownHead)
|
||||
return -1, 0, sErr
|
||||
end
|
||||
end
|
||||
if bContourFromDrill then
|
||||
nChamfer = 0
|
||||
dDepth = 0
|
||||
end
|
||||
|
||||
return nChamfer, dDepth, sMilling
|
||||
end
|
||||
@@ -236,6 +241,7 @@ end
|
||||
local function MakeByMill( Proc, nPhase, nRawId, nPartId, dOvmHead)
|
||||
-- recupero l'ingombro del grezzo di appartenenza
|
||||
local b3Raw = EgtGetRawPartBBox( nRawId)
|
||||
local bContourFromDrill = EgtGetInfo( Proc.Id, Q_ONLY_CONTOUR, 'i') == 1
|
||||
-- ingombro del pezzo
|
||||
local Ls = EgtGetFirstNameInGroup( nPartId, 'Box')
|
||||
local b3Solid = EgtGetBBoxGlob( Ls or GDB_ID.NULL, GDB_BB.STANDARD)
|
||||
@@ -260,7 +266,7 @@ local function MakeByMill( Proc, nPhase, nRawId, nPartId, dOvmHead)
|
||||
-- verifico se in testa o coda
|
||||
local bHead = Proc.Head
|
||||
-- verifico i parametri Q per profondità smusso e per eseguirlo in esclusiva
|
||||
local nChamfer, dDepthCham, sChamfer = VerifyChamfer( Proc, AuxId, nRawId, true)
|
||||
local nChamfer, dDepthCham, sChamfer = VerifyChamfer( Proc, AuxId, nRawId, true, nil, bContourFromDrill)
|
||||
-- recupero la lavorazione
|
||||
local bTopHead = ( BD.DOWN_HEAD and vtExtr:getZ() > -0.1)
|
||||
local bDownHead = ( BD.DOWN_HEAD and vtExtr:getZ() < 0.1)
|
||||
@@ -672,7 +678,9 @@ local function MakeByMill( Proc, nPhase, nRawId, nPartId, dOvmHead)
|
||||
end
|
||||
|
||||
-- assegno lato di lavoro
|
||||
if Proc.Grp == 0 then
|
||||
if bContourFromDrill then
|
||||
dWorkSide = MCH_MILL_WS.LEFT
|
||||
elseif Proc.Grp == 0 then
|
||||
dWorkSide = MCH_MILL_WS.CENTER
|
||||
elseif ( Proc.Grp == 3 and not bToolInv) or ( Proc.Grp == 4 and bToolInv) or ( Proc.Grp == 1 and bToolInv) or ( Proc.Grp == 2 and bToolInv) then
|
||||
dWorkSide = MCH_MILL_WS.LEFT
|
||||
@@ -704,6 +712,14 @@ local function MakeByMill( Proc, nPhase, nRawId, nPartId, dOvmHead)
|
||||
EgtSetMachiningParam( MCH_MP.TOOLINVERT, bToolInvert)
|
||||
EgtSetMachiningParam( MCH_MP.INVERT, bInvert)
|
||||
EgtSetMachiningParam( MCH_MP.WORKSIDE, dWorkSide)
|
||||
-- setto valori specifici se lavorazione nel pieno del solo contorno di un foro
|
||||
if bContourFromDrill and ( dDepthWork / (nStep + 1) > dToolDiam ) then
|
||||
local dWorkStep = dDepthWork / ( dDepthWork / dToolDiam)
|
||||
EgtSetMachiningParam( MCH_MP.STEP, dWorkStep)
|
||||
EgtSetMachiningParam( MCH_MP.LEADINTYPE, MCH_MILL_LI.GLIDE)
|
||||
EgtSetMachiningParam( MCH_MP.LIELEV, dWorkStep)
|
||||
EgtSetMachiningParam( MCH_MP.LITANG, dWorkStep)
|
||||
end
|
||||
|
||||
|
||||
-- posizione braccio porta testa
|
||||
|
||||
Reference in New Issue
Block a user