- la Topology tunnel chiuso diventa pocket
- piccole correzioni alla raccolta features in doppio in WallExec - correzione in LApJoint per evitare di lavorare groove completamente affondate nel grezzo
This commit is contained in:
+13
-13
@@ -686,15 +686,15 @@ local function SortOperationsForMirror( nOper1, nOper2)
|
||||
local ptMax2 = EgtGetInfo( nClId2, 'MMAX', 'p')
|
||||
local b3Oper2 = BBox3d( ptMin2, ptMax2)
|
||||
-- recupero i centri dei box lungo X e Y
|
||||
local nOper1X = b3Oper1:getCenter():getX()
|
||||
local nOper1Y = b3Oper1:getCenter():getY()
|
||||
local nOper2X = b3Oper2:getCenter():getX()
|
||||
local nOper2Y = b3Oper2:getCenter():getY()
|
||||
local dOper1X = b3Oper1:getCenter():getX()
|
||||
local dOper1Y = b3Oper1:getCenter():getY()
|
||||
local dOper2X = b3Oper2:getCenter():getX()
|
||||
local dOper2Y = b3Oper2:getCenter():getY()
|
||||
-- confronto per ordinamento
|
||||
if nOper1X < nOper2X - TOL then
|
||||
if dOper1X < dOper2X - TOL then
|
||||
return true
|
||||
elseif abs( nOper1X - nOper2X) < TOL then
|
||||
if nOper1Y < nOper2Y - TOL then
|
||||
elseif abs( dOper1X - dOper2X) < TOL then
|
||||
if dOper1Y < dOper2Y - TOL then
|
||||
return true
|
||||
end
|
||||
end
|
||||
@@ -720,7 +720,7 @@ local function SetMirroredFeatures( vProc, b3Raw)
|
||||
( Proc.TopologyLongName == 'Groove-Through-RightAngles-Parallel-3' and ( not Proc.AffectedFaces.Bottom and Proc.AffectedFaces.Left and Proc.AffectedFaces.Right)) or
|
||||
( Proc.TopologyLongName == 'Groove-Blind-RightAngles-Parallel-3') or
|
||||
( Proc.TopologyLongName == 'Groove-Blind-RightAngles-Parallel-4') or
|
||||
( Proc.TopologyLongName == 'Tunnel-Blind-RightAngles-Parallel-5' and not Proc.AffectedFaces.Bottom)
|
||||
( Proc.TopologyLongName == 'Pocket-Blind-RightAngles-Parallel-5' and not Proc.AffectedFaces.Bottom)
|
||||
) then
|
||||
table.insert( vPockets, Proc)
|
||||
-- raccolgo i fori verticali e aperti verso Z+
|
||||
@@ -765,7 +765,7 @@ local function SetMirroredFeatures( vProc, b3Raw)
|
||||
Proc.TopologyLongName == 'Groove-Through-RightAngles-Parallel-3' or
|
||||
Proc.TopologyLongName == 'Groove-Blind-RightAngles-Parallel-3' or
|
||||
Proc.TopologyLongName == 'Groove-Blind-RightAngles-Parallel-4' or
|
||||
Proc.TopologyLongName == 'Tunnel-Blind-RightAngles-Parallel-5'
|
||||
Proc.TopologyLongName == 'Pocket-Blind-RightAngles-Parallel-5'
|
||||
)
|
||||
-- se di fianco, determino se è l'ultima parte prima della fine del grezzo
|
||||
local bIsFeatureOnEdge, bIsMirrorFeatureOnEdge = false, false
|
||||
@@ -794,7 +794,7 @@ local function SetMirroredFeatures( vProc, b3Raw)
|
||||
Proc.TopologyLongName == 'Groove-Through-RightAngles-Parallel-3' and Proc.AffectedFaces.Top and ProcMirror.AffectedFaces.Top or
|
||||
Proc.TopologyLongName == 'Groove-Blind-RightAngles-Parallel-4' and Proc.AffectedFaces.Top and Proc.AffectedFaces.Left and ProcMirror.AffectedFaces.Top and ProcMirror.AffectedFaces.Left or
|
||||
Proc.TopologyLongName == 'Groove-Blind-RightAngles-Parallel-4' and Proc.AffectedFaces.Top and Proc.AffectedFaces.Right and ProcMirror.AffectedFaces.Top and ProcMirror.AffectedFaces.Right or
|
||||
Proc.TopologyLongName == 'Tunnel-Blind-RightAngles-Parallel-5' and Proc.AffectedFaces.Top and ProcMirror.AffectedFaces.Top
|
||||
Proc.TopologyLongName == 'Pocket-Blind-RightAngles-Parallel-5' and Proc.AffectedFaces.Top and ProcMirror.AffectedFaces.Top
|
||||
-- box delle stesse dimensioni
|
||||
local bIsMirrorFeatureSameDimension = abs( b3Proc:getDimX() - b3ProcMirror:getDimX()) < ( WD.DOUBLE_HEAD_POCKET_TOLERANCE or 0.5) and
|
||||
abs( b3Proc:getDimY() - b3ProcMirror:getDimY()) < ( WD.DOUBLE_HEAD_POCKET_TOLERANCE or 0.5) and
|
||||
@@ -913,7 +913,7 @@ local function SetMirroredOperations()
|
||||
EgtSetCurrMachining( nOperId)
|
||||
local sUserNotes = EgtGetMachiningParam( MCH_MP.USERNOTES)
|
||||
local bIsDouble = ( EgtGetValInNotes( sUserNotes, 'DOUBLE', 'i') or 0) > 0
|
||||
if not bIsDouble and EgtGetOperationType( nOperId) == MCH_OY.MILLING then
|
||||
if EgtGetOperationMode( nOperId) and not bIsDouble and EgtGetOperationType( nOperId) == MCH_OY.MILLING then
|
||||
table.insert( vMillings, nOperId)
|
||||
end
|
||||
nOperId = EgtGetNextOperation( nOperId)
|
||||
@@ -939,7 +939,7 @@ local function SetMirroredOperations()
|
||||
-- box percorso lavorazione master
|
||||
local b3Operation = BBox3d( ptMin, ptMax)
|
||||
-- lavorazione master adatta alla specchiatura
|
||||
local bIsMachiningOk = EgtGetOperationMode( nOperIdMaster) and WM.IsMachiningOkForDouble( sMachining)
|
||||
local bIsMachiningOk = WM.IsMachiningOkForDouble( sMachining)
|
||||
if bIsMachiningOk then
|
||||
-- recupero la distanza tra centro di rotazione e punta dell'utensile per aumentare o ridurre l'interasse minimo
|
||||
local dTipToPivot, dTipToPivotDouble = 999, 999
|
||||
@@ -981,7 +981,7 @@ local function SetMirroredOperations()
|
||||
local sOriginalMirrorToolName = EgtGetMachiningParam( MCH_MP.TOOL)
|
||||
local bIsOriginalMirrorToolSameSize = WM.IsToolDoubleOk( sToolMasterName, sOriginalMirrorToolName)
|
||||
-- lavorazione mirror adatta alla specchiatura
|
||||
local bIsMirrorMachiningOk = EgtGetOperationMode( nOperIdMirror) and nOperIdMaster ~= nOperIdMirror
|
||||
local bIsMirrorMachiningOk = nOperIdMaster ~= nOperIdMirror
|
||||
-- lavorazione master più a sinistra
|
||||
local bIsMirrorSideOk = ( b3OperationMirror:getCenter():getY() - b3Operation:getCenter():getY()) > ( WD.DOUBLE_HEAD_POCKET_TOLERANCE or 0.5)
|
||||
-- box delle stesse dimensioni
|
||||
|
||||
Reference in New Issue
Block a user