- in tutte le strategie, tutte le chiamate a funzioni interne AddMachiningAllSteps o a MachiningLib.AddNewMachining sostituite con chiamate a funzione AddMachinings in MachiningLib
- in FACEBYBLADE e FACEBYCHAINSAW contemplata opzione bDisableHorizontalSteps e bDisableVerticalSteps, rispettivamente, per non creare i cloni orizzontali / verticali
This commit is contained in:
@@ -464,7 +464,7 @@ end
|
||||
|
||||
-------------------------------------------------------------------------------------------------------------
|
||||
-- salva in lista globale la lavorazione appena calcolata
|
||||
function MachiningLib.AddNewMachining( ProcToAdd, MachiningToAdd, AuxiliaryDataToAdd)
|
||||
local function AddNewMachining( ProcToAdd, MachiningToAdd, AuxiliaryDataToAdd)
|
||||
-- Controllo parametri obbligatori
|
||||
if not MachiningToAdd.nType or not MachiningToAdd.nToolIndex or not MachiningToAdd.Geometry or not ProcToAdd.id then
|
||||
return false
|
||||
@@ -525,6 +525,46 @@ function MachiningLib.AddNewMachining( ProcToAdd, MachiningToAdd, AuxiliaryDataT
|
||||
return true
|
||||
end
|
||||
|
||||
-------------------------------------------------------------------------------------------------------------
|
||||
function MachiningLib.AddMachinings( Proc, Machining, AuxiliaryData)
|
||||
local bMachiningAdded = false
|
||||
|
||||
if Machining.CloneStepsHorizontal and Machining.CloneStepsHorizontal.nCount > 1 then
|
||||
if not AuxiliaryData then
|
||||
AuxiliaryData = {}
|
||||
end
|
||||
AuxiliaryData.Clones = {}
|
||||
|
||||
local dOriginalRadialOffset = Machining.dRadialOffset
|
||||
local dOriginalLeadInPerpDistance = Machining.LeadIn.dPerpDistance
|
||||
local dOriginalLeadOutPerpDistance = Machining.LeadOut.dPerpDistance
|
||||
for i = 1, Machining.CloneStepsHorizontal.nCount do
|
||||
AuxiliaryData.Clones[i] = {}
|
||||
AuxiliaryData.Clones[i].LeadIn = {}
|
||||
AuxiliaryData.Clones[i].LeadOut = {}
|
||||
AuxiliaryData.Clones[i].dRadialOffset = dOriginalRadialOffset + Machining.CloneStepsHorizontal.dStep * ( Machining.CloneStepsHorizontal.nCount - i)
|
||||
-- update distanza perpendicolare attacco per contemplare l'offset applicato
|
||||
AuxiliaryData.Clones[i].LeadIn.dPerpDistance = dOriginalLeadInPerpDistance - AuxiliaryData.Clones[i].dRadialOffset + dOriginalRadialOffset
|
||||
AuxiliaryData.Clones[i].LeadOut.dPerpDistance = dOriginalLeadOutPerpDistance - AuxiliaryData.Clones[i].dRadialOffset + dOriginalRadialOffset
|
||||
end
|
||||
elseif Machining.CloneStepsVertical and Machining.CloneStepsVertical.nCount > 1 then
|
||||
if not AuxiliaryData then
|
||||
AuxiliaryData = {}
|
||||
end
|
||||
AuxiliaryData.Clones = {}
|
||||
|
||||
local dOriginalRadialOffsetMortising = Machining.dRadialOffset
|
||||
for i = Machining.CloneStepsVertical.nCount, 1, -1 do
|
||||
AuxiliaryData.Clones[i] = {}
|
||||
AuxiliaryData.Clones[i].dRadialOffset = dOriginalRadialOffsetMortising + Machining.CloneStepsVertical.dStep * ( i - 1)
|
||||
end
|
||||
end
|
||||
|
||||
bMachiningAdded = AddNewMachining( Proc, Machining, AuxiliaryData)
|
||||
|
||||
return bMachiningAdded
|
||||
end
|
||||
|
||||
-------------------------------------------------------------------------------------------------------------
|
||||
-- funzione per aggiungere una nuova lavorazione
|
||||
function MachiningLib.AddOperations( vProc, Part, sRotation)
|
||||
|
||||
Reference in New Issue
Block a user