- Gestione cloni

- Aggiunta attacco lineare
This commit is contained in:
andrea.villa
2025-01-07 09:16:06 +01:00
parent 512b907aae
commit 37f85bccec
+36 -14
View File
@@ -158,31 +158,53 @@ function STR0001.Make( bAddMachining, Proc, Part, CustomParameters)
-- azzero eventuale contatore passaggi con sovramateriale
nMillingPathsNeeded = 1
end
-- passaggio sul profilo
if Milling.bIsApplicable then
local AuxiliaryData = {}
-- aggiungo geometria
Milling.Geometry = {{ Proc.idAddAuxGeom, -1}}
Milling.nToolIndex = Milling.ToolInfo.nToolIndex
Milling.nType = MCH_MY.MILLING
Milling.vtToolDirection = Proc.vtDTNormal
Milling.sDepth = 0
Milling.sStage = 'AfterTail'
-- TODO : fare i cloni, gestire attacco/uscita
for i = nMillingPathsNeeded, 1, -1 do
-- sistemo i parametri
Milling.dRadialOffset = ( i - 1) * TOOLS[Milling.ToolInfo.nToolIndex].dSideStep
Milling.sUserNotes = EgtSetVal( 'MaxElev', EgtNumToString( Proc.dDTLength, 1)) .. ';'
-- sistemo il lato e la direzione di lavoro
Milling.bInvert = EgtIf( TOOLS[Milling.ToolInfo.nToolIndex].bIsCCW, false, true)
Milling.nWorkside = EgtIf( TOOLS[Milling.ToolInfo.nToolIndex].bIsCCW, MCH_MILL_WS.RIGHT, MCH_MILL_WS.LEFT)
-- LeadIn / LeadOut
Milling.LeadIn = {}
Milling.LeadOut = {}
Milling.LeadIn.nType = MCH_MILL_LI.LINEAR
Milling.LeadOut.nType = MCH_MILL_LI.LINEAR
Milling.LeadIn.dTangentDistance = TOOLS[Milling.ToolInfo.nToolIndex].dDiameter / 2 + BeamData.COLL_SIC
Milling.LeadIn.dPerpDistance = 0
Milling.LeadOut.dTangentDistance = TOOLS[Milling.ToolInfo.nToolIndex].dDiameter / 2 + BeamData.COLL_SIC
Milling.LeadOut.dPerpDistance = 0
-- TODO calcolare SCC
-- aggiunge lavorazione
bAreAllMachiningsAdded = MachiningLib.AddNewMachining( Proc, Milling)
if Proc.AffectedFaces.bLeft then
Milling.sStage = 'AfterTail'
end
-- sistemo il lato e la direzione di lavoro
Milling.bInvert = EgtIf( TOOLS[Milling.ToolInfo.nToolIndex].bIsCCW, false, true)
Milling.nWorkside = EgtIf( TOOLS[Milling.ToolInfo.nToolIndex].bIsCCW, MCH_MILL_WS.RIGHT, MCH_MILL_WS.LEFT)
Milling.sUserNotes = EgtSetVal( 'MaxElev', EgtNumToString( Proc.dDTLength, 1)) .. ';'
-- TODO calcolare SCC
-- passate con sovramateriale
AuxiliaryData.Clones = {}
for i = nMillingPathsNeeded, 1, -1 do
-- il primo è il passaggio più esterno
local nIndexClones = nMillingPathsNeeded - i + 1
-- suddivido step in base al numero passate da fare
local dRealSideStep = floor( Proc.dDTMaxDist / nMillingPathsNeeded)
-- cambia solo sovrmateriale radiale
AuxiliaryData.Clones[nIndexClones] = {}
AuxiliaryData.Clones[nIndexClones].dRadialOffset = ( i - 1) * dRealSideStep
end
-- aggiunge lavorazione
bAreAllMachiningsAdded = MachiningLib.AddNewMachining( Proc, Milling, AuxiliaryData)
end
end