- Gestione cloni
- Aggiunta attacco lineare
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user