DataBeam :

- tolleranza su sezione portata a 0.1 mm (100 * GEO.EPS_SMALL)
- funzioni StartsWith e EndsWith sostituite da analoghe funzioni di libreria (con prefisso Egt)
- corretta gestione tagli con testa che taglia da sotto in su
- riordino forature per gestione inclinazione limite da superficie trave
- in Mortasature se non si può pulire angoli con mortasatrice warning invece di errore.
This commit is contained in:
DarioS
2022-08-01 17:39:49 +02:00
parent 94508d51c8
commit 28af706910
9 changed files with 150 additions and 187 deletions
+7 -25
View File
@@ -111,24 +111,6 @@ local function SetCurrMachiningAndTool( sMachName)
return bActive, sTool, bH2, bFixed
end
---------------------------------------------------------------------
local function StartsWith( sStr, sStart)
if ( sStart == "" or sStr:sub( 1, #sStart) == sStart) then
return true, sStr:sub( 1, #sStr - #sStart)
else
return false, sStr
end
end
---------------------------------------------------------------------
local function EndsWith( sStr, sEnd)
if ( sEnd == "" or sStr:sub(-#sEnd) == sEnd) then
return true, sStr:sub(1, #sStr - #sEnd)
else
return false, sStr
end
end
---------------------------------------------------------------------
function VerifyDrill( dDiam, dDepth, bH2)
local dTDiam = EgtTdbGetCurrToolParam( MCH_TP.DIAM)
@@ -189,9 +171,9 @@ end
---------------------------------------------------------------------
function VerifyTool( MachiningType, sType, Params, bH2)
if MachiningType == MCH_MY.DRILLING then
if StartsWith( sType, 'Drill') or StartsWith( sType, 'AngleDrill') then
if EgtStartsWith( sType, 'Drill') or EgtStartsWith( sType, 'AngleDrill') then
return VerifyDrill( Params.Diam, Params.Depth, bH2)
elseif StartsWith( sType, 'Pocket') then
elseif EgtStartsWith( sType, 'Pocket') then
return VerifyDrillPocket( Params.Diam, Params.Depth, bH2)
end
elseif MachiningType == MCH_MY.SAWING then
@@ -225,7 +207,7 @@ end
---------------------------------------------------------------------
function ReturnParams( MachiningType, MachiningName, sType, ToolParams)
if MachiningType == MCH_MY.DRILLING then
local _, sOrigType = EndsWith( sType, '_H2')
local _, sOrigType = EgtEndsWith( sType, '_H2')
return MachiningName, sType, EgtIf( sOrigType == 'Drill' or sOrigType == 'AngleDrill' , ToolParams.TMaxMat, ToolParams.TMaxDepth), ToolParams.MaxToolLength, ToolParams.ToolDiam, ToolParams.DiamTh, ToolParams.FreeLen
elseif MachiningType == MCH_MY.SAWING then
return MachiningName, ToolParams.H2
@@ -267,9 +249,9 @@ local function FindMachining( MachiningType, sType, Params, bTopHead, bDownHead)
ForStep = -1
end
if ( BEAM and BEAM.BW) or MachineHeadType == ONE_HEAD or MachineHeadType == TWO_EQUAL_HEADS or ( MachineHeadType == TWO_UP_DOWN_HEADS and not bDownHead) then
_, sType = EndsWith( sType, '_H2')
_, sType = EgtEndsWith( sType, '_H2')
elseif ( not BEAM or not BEAM.BW) and MachineHeadType == TWO_UP_DOWN_HEADS and bDownHead then
if not EndsWith( sType, '_H2') then
if not EgtEndsWith( sType, '_H2') then
sType = sType .. '_H2'
end
end
@@ -285,7 +267,7 @@ local function FindMachining( MachiningType, sType, Params, bTopHead, bDownHead)
local Machining = Machinings[i]
local sMachiningType = Machining.Type
if BEAM and BEAM.BW then
_, sMachiningType = EndsWith( Machining.Type, '_H2')
_, sMachiningType = EgtEndsWith( Machining.Type, '_H2')
end
-- recupero dati utensile
local bToolActive, sToolName, bH2, bFixed = SetCurrMachiningAndTool( Machining.Name)
@@ -356,7 +338,7 @@ local function FindMachining( MachiningType, sType, Params, bTopHead, bDownHead)
end
end
end
local bH2, sOrigType = EndsWith( sType, '_H2')
local bH2, sOrigType = EgtEndsWith( sType, '_H2')
if ( not BEAM or not BEAM.BW) and MachineHeadType == TWO_UP_DOWN_HEADS and bH2 and bTopHead then
return FindMachining( MachiningType, sOrigType, Params, true, false)
end