- in WallExec -> squadratura aggiunta funzione AddSquaring che verifica e aggiunge la squadratura in base al caso specifico

- in Squaring aggiunte funzioni per ricerca e controllo correttezza utensili in base al caso specifico
This commit is contained in:
luca.mazzoleni
2024-10-21 12:43:28 +02:00
parent d5e47c06fa
commit fdd114a8cd
2 changed files with 129 additions and 53 deletions
+37 -9
View File
@@ -1079,10 +1079,39 @@ local function SetMirroredOperations()
end
-------------------------------------------------------------------------------------------------------------
local function AddSquaring( sSquaringTool, RawPart, nFirstOperationId)
local function AddSquaring( sSquaringTool, RawPart)
local dMachiningDepth = RawPart.b3:getDimZ()
local bOk
local sMsg = ''
local SquaringTools = {}
local Geometry = {}
local OperationsId = {}
SquaringTools = Squaring.GetTools()
bOk = Squaring.AreToolsOk( sSquaringTool, SquaringTools, dMachiningDepth)
if not bOk then
sMsg = 'Squaring failed: cannot find matching tools'
return false, sMsg
end
bOk, Geometry = Squaring.CreateGeometry( sSquaringTool, RawPart, SquaringTools)
if not bOk then
sMsg = 'Squaring failed: cannot create geometry'
return false, sMsg
end
bOk, sMsg, OperationsId = Squaring.AddMachinings( sSquaringTool, SquaringTools, Geometry)
if not bOk then
for i = 1, #OperationsId do
EgtRemoveOperation( i)
end
sMsg = 'Squaring failed: cannot apply machinings'
return false, sMsg
end
Squaring.AddScrapRemoval()
return true, sMsg
end
-------------------------------------------------------------------------------------------------------------
@@ -1237,29 +1266,28 @@ function WallExec.ProcessFeatures()
-- squadratura, se richiesta
if WD.SQUARING_TYPE and WD.SQUARING_TYPE > 0 then
local RawPart = { nId = nRawId, b3 = b3Raw}
local nFirstOperationId = EgtGetNextOperation( EgtGetPhaseDisposition( nPhase))
local bOk, sMsg
if WD.SQUARING_TOOL == 0 or WD.SQUARING_TOOL == 1 then
bOk, sMsg = AddSquaring( 'DoubleDiskmill', RawPart, nFirstOperationId)
bOk, sMsg = AddSquaring( 'DoubleDiskmill', RawPart)
end
if not bOk and ( WD.SQUARING_TOOL == 0 or WD.SQUARING_TOOL == 2) then
bOk, sMsg = AddSquaring( 'DoubleDiskmillAndBlade', RawPart, nFirstOperationId)
bOk, sMsg = AddSquaring( 'DoubleDiskmillAndBlade', RawPart)
end
if not bOk and ( WD.SQUARING_TOOL == 0 or WD.SQUARING_TOOL == 3) then
bOk, sMsg = AddSquaring( 'DoubleBlade', RawPart, nFirstOperationId)
bOk, sMsg = AddSquaring( 'DoubleBlade', RawPart)
end
if not bOk and ( WD.SQUARING_TOOL == 0 or WD.SQUARING_TOOL == 4) then
bOk, sMsg = AddSquaring( 'Diskmill', RawPart, nFirstOperationId)
bOk, sMsg = AddSquaring( 'Diskmill', RawPart)
end
if not bOk and ( WD.SQUARING_TOOL == 0 or WD.SQUARING_TOOL == 5) then
bOk, sMsg = AddSquaring( 'Blade', RawPart, nFirstOperationId)
bOk, sMsg = AddSquaring( 'Blade', RawPart)
end
if not bOk and ( WD.SQUARING_TOOL == 0 or WD.SQUARING_TOOL == 6) then
bOk, sMsg = AddSquaring( 'DoubleMill', RawPart, nFirstOperationId)
bOk, sMsg = AddSquaring( 'DoubleMill', RawPart)
end
if not bOk and ( WD.SQUARING_TOOL == 0 or WD.SQUARING_TOOL == 7) then
bOk, sMsg = AddSquaring( 'Mill', RawPart, nFirstOperationId)
bOk, sMsg = AddSquaring( 'Mill', RawPart)
end
if not bOk then