Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 3a1c98b8eb | |||
| 06a4316efa |
@@ -1174,6 +1174,9 @@ local function CalculateStrategies( vProcSingleRot, Part)
|
|||||||
-- eseguo la strategia solo come calcolo fattibilità e voto. Non si applicano le lavorazioni. Si passa la Proc e i parametri personalizzati
|
-- eseguo la strategia solo come calcolo fattibilità e voto. Non si applicano le lavorazioni. Si passa la Proc e i parametri personalizzati
|
||||||
_, Proc.AvailableStrategies[nIndexCurrentStrategy].Result = CurrentStrategy.Script.Make( false, Proc, Part, Proc.AvailableStrategies[nIndexCurrentStrategy])
|
_, Proc.AvailableStrategies[nIndexCurrentStrategy].Result = CurrentStrategy.Script.Make( false, Proc, Part, Proc.AvailableStrategies[nIndexCurrentStrategy])
|
||||||
|
|
||||||
|
-- pulizia eventuali geometrie aggiutive create dalla strategia
|
||||||
|
EgtEmptyGroup( Part.idTempGroup)
|
||||||
|
|
||||||
-- se taglio di testa o coda sostitutivo non applicabile si ripristina l'originale
|
-- se taglio di testa o coda sostitutivo non applicabile si ripristina l'originale
|
||||||
if Proc.AvailableStrategies[nIndexCurrentStrategy].Result.sStatus ~= 'Completed' then
|
if Proc.AvailableStrategies[nIndexCurrentStrategy].Result.sStatus ~= 'Completed' then
|
||||||
if ID.IsHeadCut( Proc) and not Proc.bIsOriginalHeadcut then
|
if ID.IsHeadCut( Proc) and not Proc.bIsOriginalHeadcut then
|
||||||
@@ -1431,6 +1434,8 @@ local function CalculateMachinings( vProc, Part, nInitialRotation)
|
|||||||
local StrategyScript = require( StrategyScriptName)
|
local StrategyScript = require( StrategyScriptName)
|
||||||
-- eseguo la strategia e si applicano le lavorazioni. Si passa la Proc e i parametri personalizzati
|
-- eseguo la strategia e si applicano le lavorazioni. Si passa la Proc e i parametri personalizzati
|
||||||
local _, Result = StrategyScript.Make( true, Proc, Part, Proc.ChosenStrategy)
|
local _, Result = StrategyScript.Make( true, Proc, Part, Proc.ChosenStrategy)
|
||||||
|
-- pulizia eventuali geometrie aggiutive create dalla strategia
|
||||||
|
EgtEmptyGroup( Part.idTempGroup)
|
||||||
-- per i tagli di testa e coda, che non hanno girato nel CalculateStrategies, si devono settare i risultati
|
-- per i tagli di testa e coda, che non hanno girato nel CalculateStrategies, si devono settare i risultati
|
||||||
if ( ID.IsHeadCut( Proc) or ID.IsTailCut( Proc)) and not Proc.ChosenStrategy.Result then
|
if ( ID.IsHeadCut( Proc) or ID.IsTailCut( Proc)) and not Proc.ChosenStrategy.Result then
|
||||||
Proc.ChosenStrategy.Result = Result
|
Proc.ChosenStrategy.Result = Result
|
||||||
@@ -2388,6 +2393,8 @@ function BeamExec.ProcessAlternatives( PARTS)
|
|||||||
|
|
||||||
local HeadCut = PROCESSINGS[nPart].Rotation[nRotHeadCut+nOffsetIndex][MatrixResult.nIndexHeadCutInVProc]
|
local HeadCut = PROCESSINGS[nPart].Rotation[nRotHeadCut+nOffsetIndex][MatrixResult.nIndexHeadCutInVProc]
|
||||||
local TailCut = PROCESSINGS[nPart].Rotation[nRotSplitCut+nOffsetIndex][MatrixResult.nIndexTailCutInVProc]
|
local TailCut = PROCESSINGS[nPart].Rotation[nRotSplitCut+nOffsetIndex][MatrixResult.nIndexTailCutInVProc]
|
||||||
|
local HeadCutOnFirstRotation = PROCESSINGS[nPart].Rotation[1+nOffsetIndex][MatrixResult.nIndexHeadCutInVProc]
|
||||||
|
local TailCutOnFirstRotation = PROCESSINGS[nPart].Rotation[1+nOffsetIndex][MatrixResult.nIndexTailCutInVProc]
|
||||||
|
|
||||||
-- setto nella Proc l'indice rotazione nella quale deve essere lavorata
|
-- setto nella Proc l'indice rotazione nella quale deve essere lavorata
|
||||||
HeadCut.nIndexRotation = nRotHeadCut
|
HeadCut.nIndexRotation = nRotHeadCut
|
||||||
@@ -2429,7 +2436,7 @@ function BeamExec.ProcessAlternatives( PARTS)
|
|||||||
-- aggiornamento info testa/coda per Nesting
|
-- aggiornamento info testa/coda per Nesting
|
||||||
local nRotation = BeamLib.ConvertBitIndexToRotationIndex( BestCombination.sBitIndexCombination)
|
local nRotation = BeamLib.ConvertBitIndexToRotationIndex( BestCombination.sBitIndexCombination)
|
||||||
local sBitIndexCombinationWithInvert = BestCombination.sBitIndexCombination .. EgtIf( BestCombination.bPartInCombiIsInverted, '_INV', '')
|
local sBitIndexCombinationWithInvert = BestCombination.sBitIndexCombination .. EgtIf( BestCombination.bPartInCombiIsInverted, '_INV', '')
|
||||||
local HeadcutInfo, TailcutInfo = GetHeadTailInfoForNesting( HeadCut, TailCut, PARTS[nPart])
|
local HeadcutInfo, TailcutInfo = GetHeadTailInfoForNesting( HeadCutOnFirstRotation, TailCutOnFirstRotation, PARTS[nPart])
|
||||||
if HeadcutInfo then
|
if HeadcutInfo then
|
||||||
-- offset e vettori vanno adeguati alla rotazione attuale (inversione è già corretta)
|
-- offset e vettori vanno adeguati alla rotazione attuale (inversione è già corretta)
|
||||||
BeamLib.RotateTableFromIndexInPlace( HeadcutInfo.OffsetX, nRotation)
|
BeamLib.RotateTableFromIndexInPlace( HeadcutInfo.OffsetX, nRotation)
|
||||||
|
|||||||
+1
-1
@@ -764,7 +764,7 @@ function BeamLib.LoadCustomParametersInStrategy( Proc, Part, CustomParameters, D
|
|||||||
if DefaultStrategyParamList.ParameterList[i].sType == 'b' then
|
if DefaultStrategyParamList.ParameterList[i].sType == 'b' then
|
||||||
UpdatedParameters[DefaultStrategyParamList.ParameterList[i].sName] = xParameterValue == 'true' or xParameterValue == '1' or xParameterValue == true
|
UpdatedParameters[DefaultStrategyParamList.ParameterList[i].sName] = xParameterValue == 'true' or xParameterValue == '1' or xParameterValue == true
|
||||||
elseif DefaultStrategyParamList.ParameterList[i].sType == 'd' then
|
elseif DefaultStrategyParamList.ParameterList[i].sType == 'd' then
|
||||||
if #DefaultStrategyParamList.ParameterList[i].sValue > 0 or #xParameterValue > 0 then
|
if #DefaultStrategyParamList.ParameterList[i].sValue > 0 then
|
||||||
UpdatedParameters[DefaultStrategyParamList.ParameterList[i].sName] = tonumber( xParameterValue)
|
UpdatedParameters[DefaultStrategyParamList.ParameterList[i].sName] = tonumber( xParameterValue)
|
||||||
-- stringa vuota equivale a non passare alcun valore (deciderà la strategia)
|
-- stringa vuota equivale a non passare alcun valore (deciderà la strategia)
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -209,9 +209,6 @@ function MachiningLib.GetSplitMachinings( Machinings, SplittingPoints, Part)
|
|||||||
Machinings[nCurrentMachiningIndex].nFeatureSegment = j
|
Machinings[nCurrentMachiningIndex].nFeatureSegment = j
|
||||||
Machinings[nCurrentMachiningIndex].dLengthToMachine = Machinings[nCurrentMachiningIndex].dEdgeLength + Machinings[nCurrentMachiningIndex].LeadIn.dStartAddLength + Machinings[nCurrentMachiningIndex].LeadOut.dEndAddLength
|
Machinings[nCurrentMachiningIndex].dLengthToMachine = Machinings[nCurrentMachiningIndex].dEdgeLength + Machinings[nCurrentMachiningIndex].LeadIn.dStartAddLength + Machinings[nCurrentMachiningIndex].LeadOut.dEndAddLength
|
||||||
Machinings[nCurrentMachiningIndex].dTimeToMachine = MachiningLib.GetTimeToMachineAllStepsWithLeadInOut( Machinings[nCurrentMachiningIndex], Part)
|
Machinings[nCurrentMachiningIndex].dTimeToMachine = MachiningLib.GetTimeToMachineAllStepsWithLeadInOut( Machinings[nCurrentMachiningIndex], Part)
|
||||||
Machinings[nCurrentMachiningIndex].bIsFirstSegment = ( j == 1)
|
|
||||||
Machinings[nCurrentMachiningIndex].bIsLastSegment = ( j == nParts)
|
|
||||||
Machinings[nCurrentMachiningIndex].bIsMachiningSplitted = true
|
|
||||||
end
|
end
|
||||||
-- anche le lavorazioni non splittate necessitano del segmento assegnato
|
-- anche le lavorazioni non splittate necessitano del segmento assegnato
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -319,8 +319,4 @@
|
|||||||
1000316=Autocam will apply a machining on the theoretical zero, to avoid collision if the theoretical piece length doesn't correspond to the real length
|
1000316=Autocam will apply a machining on the theoretical zero, to avoid collision if the theoretical piece length doesn't correspond to the real length
|
||||||
1000317=Finish with mill
|
1000317=Finish with mill
|
||||||
1000318=Use a mill to finish the surface if split with chain saw
|
1000318=Use a mill to finish the surface if split with chain saw
|
||||||
1000319=Allow multiple short strips
|
|
||||||
1000320=Allow multiple short strips
|
|
||||||
1000321=Length limit to drop the waste
|
|
||||||
1000322=If Cutting Strategy is set on AUTO, up to this length the software drop the waste, otherwise it'll keep attached
|
|
||||||
// ----- End -----
|
// ----- End -----
|
||||||
|
|||||||
@@ -319,8 +319,4 @@
|
|||||||
1000316=Autocam applicherà una lavorazione sullo zero teorico per evitare collisioni se la lunghezza teorica del pezzo non corrisponde alla lunghezza reale
|
1000316=Autocam applicherà una lavorazione sullo zero teorico per evitare collisioni se la lunghezza teorica del pezzo non corrisponde alla lunghezza reale
|
||||||
1000317=Finisci con la fresa
|
1000317=Finisci con la fresa
|
||||||
1000318=Utilizza una fresa per rifinire la superficie se tagliata con la sega a catena
|
1000318=Utilizza una fresa per rifinire la superficie se tagliata con la sega a catena
|
||||||
1000319=Permettere codoli multipli
|
|
||||||
1000320=Permettere codoli multipli
|
|
||||||
1000321=Lunghezza limite fino alla quale lo scarto viene staccato
|
|
||||||
1000322=Se la strategia di taglio è impostata su AUTO, fino a questa lunghezza il software stacca gli scarti, altrimenti li mantiene attaccati
|
|
||||||
// ----- End -----
|
// ----- End -----
|
||||||
|
|||||||
@@ -319,8 +319,4 @@
|
|||||||
1000316=Autocam past een bewerking toe op het theoretische nulpunt om botsingen te voorkomen als de theoretische lengte niet overeenkomt met de werkelijke lengte
|
1000316=Autocam past een bewerking toe op het theoretische nulpunt om botsingen te voorkomen als de theoretische lengte niet overeenkomt met de werkelijke lengte
|
||||||
1000317=Afwerken met frees
|
1000317=Afwerken met frees
|
||||||
1000318=Gebruik een frees om het oppervlak na te bewerken als dit met de kettingzaag is gespleten
|
1000318=Gebruik een frees om het oppervlak na te bewerken als dit met de kettingzaag is gespleten
|
||||||
1000319=Sta meerdere korte verbindingsstrips toe
|
|
||||||
1000320=Sta meerdere korte verbindingsstrips toe
|
|
||||||
1000321=Maximale lengte voor het uitwerpen van het reststuk
|
|
||||||
1000322=Als de snijstrategie op AUTO staat, wordt het reststuk tot deze maximale lengte automatisch uitgeworpen; bij grotere lengtes blijft het reststuk aan het werkstuk bevestigd.
|
|
||||||
// ----- End -----
|
// ----- End -----
|
||||||
@@ -108,10 +108,6 @@
|
|||||||
"sImage": "ConfigStrategy\\Rabbet-2-Through.png",
|
"sImage": "ConfigStrategy\\Rabbet-2-Through.png",
|
||||||
"StrategyList" : [ { "sStrategyId": "STR0002" }, { "sStrategyId": "STR0005" }, { "sStrategyId": "STR0010"} ]
|
"StrategyList" : [ { "sStrategyId": "STR0002" }, { "sStrategyId": "STR0005" }, { "sStrategyId": "STR0010"} ]
|
||||||
},
|
},
|
||||||
{ "sName": "VGroove-2-Through",
|
|
||||||
"sImage": "ConfigStrategy\\VGroove-2-Through.png",
|
|
||||||
"StrategyList" : [ { "sStrategyId": "STR0002" }, { "sStrategyId": "STR0005" }, { "sStrategyId": "STR0010"} ]
|
|
||||||
},
|
|
||||||
{ "sName": "Cut-1-Through",
|
{ "sName": "Cut-1-Through",
|
||||||
"sImage": "ConfigStrategy\\Cut-1-Through.png",
|
"sImage": "ConfigStrategy\\Cut-1-Through.png",
|
||||||
"StrategyList" : [ { "sStrategyId": "STR0002" }, { "sStrategyId": "STR0005" } ]
|
"StrategyList" : [ { "sStrategyId": "STR0002" }, { "sStrategyId": "STR0005" } ]
|
||||||
@@ -155,10 +151,6 @@
|
|||||||
"sImage": "ConfigStrategy\\Rabbet-2-Through.png",
|
"sImage": "ConfigStrategy\\Rabbet-2-Through.png",
|
||||||
"StrategyList" : [ { "sStrategyId": "STR0002" }, { "sStrategyId": "STR0005" }, { "sStrategyId": "STR0010"} ]
|
"StrategyList" : [ { "sStrategyId": "STR0002" }, { "sStrategyId": "STR0005" }, { "sStrategyId": "STR0010"} ]
|
||||||
},
|
},
|
||||||
{ "sName": "VGroove-2-Through",
|
|
||||||
"sImage": "ConfigStrategy\\VGroove-2-Through.png",
|
|
||||||
"StrategyList" : [ { "sStrategyId": "STR0002" }, { "sStrategyId": "STR0005" }, { "sStrategyId": "STR0010"} ]
|
|
||||||
},
|
|
||||||
{ "sName": "Cut-1-Through",
|
{ "sName": "Cut-1-Through",
|
||||||
"sImage": "ConfigStrategy\\Cut-1-Through.png",
|
"sImage": "ConfigStrategy\\Cut-1-Through.png",
|
||||||
"StrategyList" : [ { "sStrategyId": "STR0002" }, { "sStrategyId": "STR0005" } ]
|
"StrategyList" : [ { "sStrategyId": "STR0002" }, { "sStrategyId": "STR0005" } ]
|
||||||
@@ -204,10 +196,6 @@
|
|||||||
{ "sName": "Rabbet-2-Through",
|
{ "sName": "Rabbet-2-Through",
|
||||||
"sImage": "ConfigStrategy\\Rabbet-2-Through.png",
|
"sImage": "ConfigStrategy\\Rabbet-2-Through.png",
|
||||||
"StrategyList" : [ { "sStrategyId": "STR0002" }, { "sStrategyId": "STR0005" }, { "sStrategyId": "STR0010"} ]
|
"StrategyList" : [ { "sStrategyId": "STR0002" }, { "sStrategyId": "STR0005" }, { "sStrategyId": "STR0010"} ]
|
||||||
},
|
|
||||||
{ "sName": "VGroove-2-Through",
|
|
||||||
"sImage": "ConfigStrategy\\VGroove-2-Through.png",
|
|
||||||
"StrategyList" : [ { "sStrategyId": "STR0002" }, { "sStrategyId": "STR0005" }, { "sStrategyId": "STR0010"} ]
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@@ -236,10 +224,6 @@
|
|||||||
"sImage": "ConfigStrategy\\Rabbet-2-Through.png",
|
"sImage": "ConfigStrategy\\Rabbet-2-Through.png",
|
||||||
"StrategyList" : [ { "sStrategyId": "STR0002" }, { "sStrategyId": "STR0005" }, { "sStrategyId": "STR0010"} ]
|
"StrategyList" : [ { "sStrategyId": "STR0002" }, { "sStrategyId": "STR0005" }, { "sStrategyId": "STR0010"} ]
|
||||||
},
|
},
|
||||||
{ "sName": "VGroove-2-Through",
|
|
||||||
"sImage": "ConfigStrategy\\VGroove-2-Through.png",
|
|
||||||
"StrategyList" : [ { "sStrategyId": "STR0002" }, { "sStrategyId": "STR0005" }, { "sStrategyId": "STR0010"} ]
|
|
||||||
},
|
|
||||||
{ "sName": "Cut-1-Through",
|
{ "sName": "Cut-1-Through",
|
||||||
"sImage": "ConfigStrategy\\Cut-1-Through.png",
|
"sImage": "ConfigStrategy\\Cut-1-Through.png",
|
||||||
"StrategyList" : [ { "sStrategyId": "STR0002" }, { "sStrategyId": "STR0005" } ]
|
"StrategyList" : [ { "sStrategyId": "STR0002" }, { "sStrategyId": "STR0005" } ]
|
||||||
@@ -287,10 +271,6 @@
|
|||||||
"sImage": "ConfigStrategy\\Rabbet-2-Through.png",
|
"sImage": "ConfigStrategy\\Rabbet-2-Through.png",
|
||||||
"StrategyList" : [ { "sStrategyId": "STR0002" }, { "sStrategyId": "STR0005" }, { "sStrategyId": "STR0010"} ]
|
"StrategyList" : [ { "sStrategyId": "STR0002" }, { "sStrategyId": "STR0005" }, { "sStrategyId": "STR0010"} ]
|
||||||
},
|
},
|
||||||
{ "sName": "VGroove-2-Through",
|
|
||||||
"sImage": "ConfigStrategy\\VGroove-2-Through.png",
|
|
||||||
"StrategyList" : [ { "sStrategyId": "STR0002" }, { "sStrategyId": "STR0005" }, { "sStrategyId": "STR0010"} ]
|
|
||||||
},
|
|
||||||
{ "sName": "Cut-1-Through",
|
{ "sName": "Cut-1-Through",
|
||||||
"sImage": "ConfigStrategy\\Cut-1-Through.png",
|
"sImage": "ConfigStrategy\\Cut-1-Through.png",
|
||||||
"StrategyList" : [ { "sStrategyId": "STR0002" }, { "sStrategyId": "STR0005" } ]
|
"StrategyList" : [ { "sStrategyId": "STR0002" }, { "sStrategyId": "STR0005" } ]
|
||||||
@@ -334,10 +314,6 @@
|
|||||||
"sImage": "ConfigStrategy\\Rabbet-2-Through.png",
|
"sImage": "ConfigStrategy\\Rabbet-2-Through.png",
|
||||||
"StrategyList" : [ { "sStrategyId": "STR0002" }, { "sStrategyId": "STR0005" }, { "sStrategyId": "STR0010"} ]
|
"StrategyList" : [ { "sStrategyId": "STR0002" }, { "sStrategyId": "STR0005" }, { "sStrategyId": "STR0010"} ]
|
||||||
},
|
},
|
||||||
{ "sName": "VGroove-2-Through",
|
|
||||||
"sImage": "ConfigStrategy\\VGroove-2-Through.png",
|
|
||||||
"StrategyList" : [ { "sStrategyId": "STR0002" }, { "sStrategyId": "STR0005" }, { "sStrategyId": "STR0010"} ]
|
|
||||||
},
|
|
||||||
{ "sName": "Cut-1-Through",
|
{ "sName": "Cut-1-Through",
|
||||||
"sImage": "ConfigStrategy\\Cut-1-Through.png",
|
"sImage": "ConfigStrategy\\Cut-1-Through.png",
|
||||||
"StrategyList" : [ { "sStrategyId": "STR0002" }, { "sStrategyId": "STR0005" } ]
|
"StrategyList" : [ { "sStrategyId": "STR0002" }, { "sStrategyId": "STR0005" } ]
|
||||||
@@ -392,10 +368,6 @@
|
|||||||
"sImage": "ConfigStrategy\\Rabbet-2-Through.png",
|
"sImage": "ConfigStrategy\\Rabbet-2-Through.png",
|
||||||
"StrategyList" : [ { "sStrategyId": "STR0002" }, { "sStrategyId": "STR0005" }, { "sStrategyId": "STR0010"} ]
|
"StrategyList" : [ { "sStrategyId": "STR0002" }, { "sStrategyId": "STR0005" }, { "sStrategyId": "STR0010"} ]
|
||||||
},
|
},
|
||||||
{ "sName": "VGroove-2-Through",
|
|
||||||
"sImage": "ConfigStrategy\\VGroove-2-Through.png",
|
|
||||||
"StrategyList" : [ { "sStrategyId": "STR0002" }, { "sStrategyId": "STR0005" }, { "sStrategyId": "STR0010"} ]
|
|
||||||
},
|
|
||||||
{ "sName": "Cut-1-Through",
|
{ "sName": "Cut-1-Through",
|
||||||
"sImage": "ConfigStrategy\\Cut-1-Through.png",
|
"sImage": "ConfigStrategy\\Cut-1-Through.png",
|
||||||
"StrategyList" : [ { "sStrategyId": "STR0002" }, { "sStrategyId": "STR0005" } ]
|
"StrategyList" : [ { "sStrategyId": "STR0002" }, { "sStrategyId": "STR0005" } ]
|
||||||
@@ -483,10 +455,6 @@
|
|||||||
"sImage": "ConfigStrategy\\Rabbet-2-Through.png",
|
"sImage": "ConfigStrategy\\Rabbet-2-Through.png",
|
||||||
"StrategyList" : [ { "sStrategyId": "STR0002" }, { "sStrategyId": "STR0005" }, { "sStrategyId": "STR0010"} ]
|
"StrategyList" : [ { "sStrategyId": "STR0002" }, { "sStrategyId": "STR0005" }, { "sStrategyId": "STR0010"} ]
|
||||||
},
|
},
|
||||||
{ "sName": "VGroove-2-Through",
|
|
||||||
"sImage": "ConfigStrategy\\VGroove-2-Through.png",
|
|
||||||
"StrategyList" : [ { "sStrategyId": "STR0002" }, { "sStrategyId": "STR0005" }, { "sStrategyId": "STR0010"} ]
|
|
||||||
},
|
|
||||||
{ "sName": "Cut-1-Through",
|
{ "sName": "Cut-1-Through",
|
||||||
"sImage": "ConfigStrategy\\Cut-1-Through.png",
|
"sImage": "ConfigStrategy\\Cut-1-Through.png",
|
||||||
"StrategyList" : [ { "sStrategyId": "STR0002" }, { "sStrategyId": "STR0005" } ]
|
"StrategyList" : [ { "sStrategyId": "STR0002" }, { "sStrategyId": "STR0005" } ]
|
||||||
@@ -552,10 +520,6 @@
|
|||||||
"sImage": "ConfigStrategy\\Rabbet-2-Through.png",
|
"sImage": "ConfigStrategy\\Rabbet-2-Through.png",
|
||||||
"StrategyList" : [ { "sStrategyId": "STR0002" }, { "sStrategyId": "STR0005" }, { "sStrategyId": "STR0010"} ]
|
"StrategyList" : [ { "sStrategyId": "STR0002" }, { "sStrategyId": "STR0005" }, { "sStrategyId": "STR0010"} ]
|
||||||
},
|
},
|
||||||
{ "sName": "VGroove-2-Through",
|
|
||||||
"sImage": "ConfigStrategy\\VGroove-2-Through.png",
|
|
||||||
"StrategyList" : [ { "sStrategyId": "STR0002" }, { "sStrategyId": "STR0005" }, { "sStrategyId": "STR0010"} ]
|
|
||||||
},
|
|
||||||
{ "sName": "Cut-1-Through",
|
{ "sName": "Cut-1-Through",
|
||||||
"sImage": "ConfigStrategy\\Cut-1-Through.png",
|
"sImage": "ConfigStrategy\\Cut-1-Through.png",
|
||||||
"StrategyList" : [ { "sStrategyId": "STR0002" }, { "sStrategyId": "STR0005" } ]
|
"StrategyList" : [ { "sStrategyId": "STR0002" }, { "sStrategyId": "STR0005" } ]
|
||||||
@@ -611,10 +575,6 @@
|
|||||||
"sImage": "ConfigStrategy\\Rabbet-2-Through.png",
|
"sImage": "ConfigStrategy\\Rabbet-2-Through.png",
|
||||||
"StrategyList" : [ { "sStrategyId": "STR0002" }, { "sStrategyId": "STR0005" }, { "sStrategyId": "STR0010"} ]
|
"StrategyList" : [ { "sStrategyId": "STR0002" }, { "sStrategyId": "STR0005" }, { "sStrategyId": "STR0010"} ]
|
||||||
},
|
},
|
||||||
{ "sName": "VGroove-2-Through",
|
|
||||||
"sImage": "ConfigStrategy\\VGroove-2-Through.png",
|
|
||||||
"StrategyList" : [ { "sStrategyId": "STR0002" }, { "sStrategyId": "STR0005" }, { "sStrategyId": "STR0010"} ]
|
|
||||||
},
|
|
||||||
{ "sName": "Cut-1-Through",
|
{ "sName": "Cut-1-Through",
|
||||||
"sImage": "ConfigStrategy\\Cut-1-Through.png",
|
"sImage": "ConfigStrategy\\Cut-1-Through.png",
|
||||||
"StrategyList" : [ { "sStrategyId": "STR0002" }, { "sStrategyId": "STR0005" } ]
|
"StrategyList" : [ { "sStrategyId": "STR0002" }, { "sStrategyId": "STR0005" } ]
|
||||||
|
|||||||
@@ -100,18 +100,6 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"sName": "dLengthLimitToDropWaste",
|
|
||||||
"sNameNge": "LEN_DROP_WASTE",
|
|
||||||
"sValue": "",
|
|
||||||
"sDescriptionShort": "Length limit to drop the waste",
|
|
||||||
"sDescriptionLong": "If Cutting Strategy is set on AUTO, up to this length the software drop the waste, otherwise it'll keep attached",
|
|
||||||
"idDescriptionShortMsg": 1000321,
|
|
||||||
"idDescriptionLongMsg": 1000322,
|
|
||||||
"sType": "d",
|
|
||||||
"sMessageId": " ",
|
|
||||||
"sMinUserLevel": "1"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"sName": "bDisableDicing",
|
"sName": "bDisableDicing",
|
||||||
"sNameNge": "DISABLE_DICING",
|
"sNameNge": "DISABLE_DICING",
|
||||||
@@ -148,18 +136,6 @@
|
|||||||
"sMessageId": " ",
|
"sMessageId": " ",
|
||||||
"sMinUserLevel": "1"
|
"sMinUserLevel": "1"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"sName": "bAllowPerpendicularStrip",
|
|
||||||
"sNameNge": "ALLOW_PERPENDICULAR_STRIP",
|
|
||||||
"sValue": "false",
|
|
||||||
"sDescriptionShort": "Allow multiple short strips",
|
|
||||||
"sDescriptionLong": "Allow multiple short strips",
|
|
||||||
"idDescriptionShortMsg": 1000319,
|
|
||||||
"idDescriptionLongMsg": 1000320,
|
|
||||||
"sType": "b",
|
|
||||||
"sMessageId": " ",
|
|
||||||
"sMinUserLevel": "1"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"sName": "bFinishWithMill",
|
"sName": "bFinishWithMill",
|
||||||
"sNameNge": "ALLOW_FINISH_MILL",
|
"sNameNge": "ALLOW_FINISH_MILL",
|
||||||
|
|||||||
@@ -100,8 +100,8 @@ function STR0005.Make( bAddMachining, Proc, Part, CustomParameters)
|
|||||||
-- considerazioni necessarie a determinare se lavorare con codolo oppure no
|
-- considerazioni necessarie a determinare se lavorare con codolo oppure no
|
||||||
local bKeepWasteAttached = ( Strategy.Parameters.sCuttingStrategy == 'KEEP_WASTE_ATTACHED')
|
local bKeepWasteAttached = ( Strategy.Parameters.sCuttingStrategy == 'KEEP_WASTE_ATTACHED')
|
||||||
local bDropWaste = ( Strategy.Parameters.sCuttingStrategy == 'DROP_WASTE')
|
local bDropWaste = ( Strategy.Parameters.sCuttingStrategy == 'DROP_WASTE')
|
||||||
|
|
||||||
local bFeatureHindersClamping = MachiningLib.IsFeatureHinderingClamping( Proc, Part)
|
local bFeatureHindersClamping = MachiningLib.IsFeatureHinderingClamping( Proc, Part)
|
||||||
local dLengthLimitToDropWaste = Strategy.Parameters.dLengthLimitToDropWaste
|
|
||||||
|
|
||||||
local bIsFeatureLong = FeatureLib.IsMachiningLong( Proc.b3Box:getDimX(), Part, { dMaxSegmentLength = BeamData.LONGCUT_ENDLEN})
|
local bIsFeatureLong = FeatureLib.IsMachiningLong( Proc.b3Box:getDimX(), Part, { dMaxSegmentLength = BeamData.LONGCUT_ENDLEN})
|
||||||
local bIsTwoFacesCommonEdgeTooLong = ( ( Proc.Topology and ( Proc.Topology.sName == 'Rabbet-2-Through' or Proc.Topology.sName == 'Bevel-2-Blind')) and IsTwoFacesCommonEdgeTooLong( Proc, Part))
|
local bIsTwoFacesCommonEdgeTooLong = ( ( Proc.Topology and ( Proc.Topology.sName == 'Rabbet-2-Through' or Proc.Topology.sName == 'Bevel-2-Blind')) and IsTwoFacesCommonEdgeTooLong( Proc, Part))
|
||||||
@@ -109,16 +109,10 @@ function STR0005.Make( bAddMachining, Proc, Part, CustomParameters)
|
|||||||
-- lavorazione con codolo
|
-- lavorazione con codolo
|
||||||
if ( Proc.nFct > 2 and bIsFeatureLong)
|
if ( Proc.nFct > 2 and bIsFeatureLong)
|
||||||
or ( bFeatureHindersClamping and not bDropWaste)
|
or ( bFeatureHindersClamping and not bDropWaste)
|
||||||
or ( dLengthLimitToDropWaste and Proc.b3Box:getDimX() > dLengthLimitToDropWaste)
|
|
||||||
or bKeepWasteAttached then
|
or bKeepWasteAttached then
|
||||||
|
|
||||||
local BladeKeepWasteResult
|
local BladeKeepWasteResult
|
||||||
local OptionalParameters = { dExtendAfterTail = dExtendAfterTail,
|
local OptionalParameters = { dExtendAfterTail = dExtendAfterTail, dStripWidth = Strategy.Parameters.dStripWidth, bForced = bKeepWasteAttached}
|
||||||
dStripWidth = Strategy.Parameters.dStripWidth,
|
|
||||||
bAllowPerpendicularStrip = Strategy.Parameters.bAllowPerpendicularStrip,
|
|
||||||
bFinishWithMill = Strategy.Parameters.bFinishWithMill,
|
|
||||||
bForced = bKeepWasteAttached
|
|
||||||
}
|
|
||||||
AuxiliaryData.bIgnoreNotClampableLength = true
|
AuxiliaryData.bIgnoreNotClampableLength = true
|
||||||
Blade.Result, BladeKeepWasteResult = BladeKeepWaste.Make( Proc, Part, OptionalParameters)
|
Blade.Result, BladeKeepWasteResult = BladeKeepWaste.Make( Proc, Part, OptionalParameters)
|
||||||
dTimeToMachine = BladeKeepWasteResult.dTimeToMachine
|
dTimeToMachine = BladeKeepWasteResult.dTimeToMachine
|
||||||
|
|||||||
@@ -51,18 +51,6 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"sName": "dLengthLimitToDropWaste",
|
|
||||||
"sNameNge": "LEN_DROP_WASTE",
|
|
||||||
"sValue": "",
|
|
||||||
"sDescriptionShort": "Length limit to drop the waste",
|
|
||||||
"sDescriptionLong": "If Cutting Strategy is set on AUTO, up to this length the software drop the waste, otherwise it'll keep attached",
|
|
||||||
"idDescriptionShortMsg": 1000321,
|
|
||||||
"idDescriptionLongMsg": 1000322,
|
|
||||||
"sType": "d",
|
|
||||||
"sMessageId": " ",
|
|
||||||
"sMinUserLevel": "1"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"sName": "sCanDamageNextPiece",
|
"sName": "sCanDamageNextPiece",
|
||||||
"sNameNge": "DAMAGE_NEXT_PIECE",
|
"sNameNge": "DAMAGE_NEXT_PIECE",
|
||||||
@@ -137,30 +125,6 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"sName": "dStripWidth",
|
|
||||||
"sNameNge": "STRIP_WIDTH",
|
|
||||||
"sValue": "5",
|
|
||||||
"sDescriptionShort": "Strip width",
|
|
||||||
"sDescriptionLong": "In case the waste is still kept attached, this is the wigth dimension of the strip",
|
|
||||||
"idDescriptionShortMsg": 1000129,
|
|
||||||
"idDescriptionLongMsg": 1000130,
|
|
||||||
"sType": "d",
|
|
||||||
"sMessageId": " ",
|
|
||||||
"sMinUserLevel": "1"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"sName": "bAllowPerpendicularStrip",
|
|
||||||
"sNameNge": "ALLOW_PERPENDICULAR_STRIP",
|
|
||||||
"sValue": "false",
|
|
||||||
"sDescriptionShort": "Allow multiple short strips",
|
|
||||||
"sDescriptionLong": "Allow multiple short strips",
|
|
||||||
"idDescriptionShortMsg": 1000319,
|
|
||||||
"idDescriptionLongMsg": 1000320,
|
|
||||||
"sType": "b",
|
|
||||||
"sMessageId": " ",
|
|
||||||
"sMinUserLevel": "1"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"sName": "dMaxWasteLength",
|
"sName": "dMaxWasteLength",
|
||||||
"sSource": "GEN_dMaxWasteLength",
|
"sSource": "GEN_dMaxWasteLength",
|
||||||
|
|||||||
@@ -95,17 +95,13 @@ function STR0012.Make( bAddMachining, Proc, Part, CustomParameters)
|
|||||||
local bKeepWasteAttached = ( Strategy.Parameters.sCuttingStrategy == 'KEEP_WASTE_ATTACHED')
|
local bKeepWasteAttached = ( Strategy.Parameters.sCuttingStrategy == 'KEEP_WASTE_ATTACHED')
|
||||||
local bDropWaste = ( Strategy.Parameters.sCuttingStrategy == 'DROP_WASTE')
|
local bDropWaste = ( Strategy.Parameters.sCuttingStrategy == 'DROP_WASTE')
|
||||||
local bFeatureHindersClamping = MachiningLib.IsFeatureHinderingClamping( NewProc, Part)
|
local bFeatureHindersClamping = MachiningLib.IsFeatureHinderingClamping( NewProc, Part)
|
||||||
local dLengthLimitToDropWaste = Strategy.Parameters.dLengthLimitToDropWaste
|
|
||||||
|
|
||||||
-- lavorazione con codolo
|
-- lavorazione con codolo
|
||||||
if ( bFeatureHindersClamping and not bDropWaste)
|
if ( bFeatureHindersClamping and not bDropWaste)
|
||||||
or ( dLengthLimitToDropWaste and Proc.b3Box:getDimX() > dLengthLimitToDropWaste)
|
|
||||||
or bKeepWasteAttached then
|
or bKeepWasteAttached then
|
||||||
|
|
||||||
local BladeKeepWasteResult
|
local BladeKeepWasteResult
|
||||||
local OptionalParameters = { bAllowPerpendicularStrip = Strategy.Parameters.bAllowPerpendicularStrip,
|
local OptionalParameters = { dExtendAfterTail = dExtendAfterTail, dStripWidth = 5, bFinishWithMill = false}
|
||||||
dStripWidth = Strategy.Parameters.dStripWidth,
|
|
||||||
dExtendAfterTail = dExtendAfterTail, bFinishWithMill = false}
|
|
||||||
AuxiliaryData.bIgnoreNotClampableLength = true
|
AuxiliaryData.bIgnoreNotClampableLength = true
|
||||||
TwoFaces.Result, BladeKeepWasteResult = BladeKeepWaste.Make( NewProc, Part, OptionalParameters)
|
TwoFaces.Result, BladeKeepWasteResult = BladeKeepWaste.Make( NewProc, Part, OptionalParameters)
|
||||||
dTimeToMachine = BladeKeepWasteResult.dTimeToMachine
|
dTimeToMachine = BladeKeepWasteResult.dTimeToMachine
|
||||||
@@ -117,10 +113,10 @@ function STR0012.Make( bAddMachining, Proc, Part, CustomParameters)
|
|||||||
else
|
else
|
||||||
local BladeToWasteResult
|
local BladeToWasteResult
|
||||||
local OptionalParameters = { dMaxWasteVolume = Strategy.Parameters.dMaxWasteVolume,
|
local OptionalParameters = { dMaxWasteVolume = Strategy.Parameters.dMaxWasteVolume,
|
||||||
dMaxWasteLength = Strategy.Parameters.dMaxWasteLength,
|
dMaxWasteLength = Strategy.Parameters.dMaxWasteLength,
|
||||||
bSaveAddedGeometries = bAddMachining,
|
bSaveAddedGeometries = bAddMachining,
|
||||||
dExtendAfterTail = dExtendAfterTail,
|
dExtendAfterTail = dExtendAfterTail,
|
||||||
bReduceBladePath = Strategy.Parameters.bReduceBladePath
|
bReduceBladePath = Strategy.Parameters.bReduceBladePath
|
||||||
}
|
}
|
||||||
AuxiliaryData.bIgnoreNotClampableLength = false
|
AuxiliaryData.bIgnoreNotClampableLength = false
|
||||||
TwoFaces.Result, BladeToWasteResult = BladeToWaste.Make( NewProc, Part, OptionalParameters)
|
TwoFaces.Result, BladeToWasteResult = BladeToWaste.Make( NewProc, Part, OptionalParameters)
|
||||||
|
|||||||
@@ -146,12 +146,10 @@ local function MakeBottomFace( Proc, Part, BottomFace, EdgeToMachine, Parameters
|
|||||||
local dExtendAfterTail = Parameters.dExtendAfterTail
|
local dExtendAfterTail = Parameters.dExtendAfterTail
|
||||||
local nToolIndex = Parameters.nToolIndex
|
local nToolIndex = Parameters.nToolIndex
|
||||||
local dStripWidth = Parameters.dStripWidth
|
local dStripWidth = Parameters.dStripWidth
|
||||||
local bAllowPerpendicularStrip = Parameters.bAllowPerpendicularStrip
|
|
||||||
local OtherBottomFace = Parameters.OtherBottomFace
|
local OtherBottomFace = Parameters.OtherBottomFace
|
||||||
|
|
||||||
local dDepthToMachine = EdgeToMachine.dElevation / 2 - dStripWidth / 2
|
local dDepthToMachine = EdgeToMachine.dElevation / 2 - dStripWidth / 2
|
||||||
local OptionalParametersFaceByBlade1 = { dDepthToMachine = dDepthToMachine, bIsSplitFeature = bIsSplitFeature,
|
local OptionalParametersFaceByBlade1 = { dDepthToMachine = dDepthToMachine, bIsSplitFeature = bIsSplitFeature, dExtendAfterTail = dExtendAfterTail, nToolIndex = nToolIndex}
|
||||||
dExtendAfterTail = dExtendAfterTail, nToolIndex = nToolIndex}
|
|
||||||
local EdgeToMachineOpposite = BeamLib.FindEdgeBestOrientedAsDirection( BottomFace.Edges, -EdgeToMachine.vtN)
|
local EdgeToMachineOpposite = BeamLib.FindEdgeBestOrientedAsDirection( BottomFace.Edges, -EdgeToMachine.vtN)
|
||||||
|
|
||||||
-- primo lato
|
-- primo lato
|
||||||
@@ -177,15 +175,8 @@ local function MakeBottomFace( Proc, Part, BottomFace, EdgeToMachine, Parameters
|
|||||||
if OtherBottomFace and ( EdgeToMachine.idAdjacentFace == OtherBottomFace.id) then
|
if OtherBottomFace and ( EdgeToMachine.idAdjacentFace == OtherBottomFace.id) then
|
||||||
dStripWidth = TOOLS[Cutting2.nToolIndex].dThickness + 2 * dStripWidth
|
dStripWidth = TOOLS[Cutting2.nToolIndex].dThickness + 2 * dStripWidth
|
||||||
end
|
end
|
||||||
-- se richiesto, si calcola il codolo verticale
|
dDepthToMachine = min( TOOLS[Cutting2.nToolIndex].dMaxMaterial, EdgeToMachine.dElevation - dStripWidth)
|
||||||
if bAllowPerpendicularStrip and FeatureLib.IsMachiningLong( Cutting1.dEdgeLength, Part) then
|
|
||||||
dDepthToMachine = TOOLS[Cutting2.nToolIndex].dMaxMaterial - 10
|
|
||||||
else
|
|
||||||
dDepthToMachine = min( TOOLS[Cutting2.nToolIndex].dMaxMaterial, EdgeToMachine.dElevation - dStripWidth)
|
|
||||||
end
|
|
||||||
|
|
||||||
OptionalParametersFaceByBlade2.dDepthToMachine = dDepthToMachine
|
OptionalParametersFaceByBlade2.dDepthToMachine = dDepthToMachine
|
||||||
OptionalParametersFaceByBlade2.bAllowPerpendicularStrip = bAllowPerpendicularStrip
|
|
||||||
|
|
||||||
Cutting2 = FaceByBlade.Make( Proc, Part, BottomFace, EdgeToMachine, OptionalParametersFaceByBlade2)
|
Cutting2 = FaceByBlade.Make( Proc, Part, BottomFace, EdgeToMachine, OptionalParametersFaceByBlade2)
|
||||||
Cutting2.nInternalSortingPriority = 2
|
Cutting2.nInternalSortingPriority = 2
|
||||||
@@ -198,15 +189,8 @@ local function MakeBottomFace( Proc, Part, BottomFace, EdgeToMachine, Parameters
|
|||||||
if OtherBottomFace and ( EdgeToMachine.idAdjacentFace == OtherBottomFace.id) then
|
if OtherBottomFace and ( EdgeToMachine.idAdjacentFace == OtherBottomFace.id) then
|
||||||
dStripWidth = TOOLS[Cutting1.nToolIndex].dThickness + 2 * dStripWidth
|
dStripWidth = TOOLS[Cutting1.nToolIndex].dThickness + 2 * dStripWidth
|
||||||
end
|
end
|
||||||
-- se richiesto, si calcola il codolo verticale
|
dDepthToMachine = min( TOOLS[Cutting1.nToolIndex].dMaxMaterial, EdgeToMachine.dElevation - dStripWidth)
|
||||||
if bAllowPerpendicularStrip and FeatureLib.IsMachiningLong( Cutting2.dEdgeLength, Part) then
|
|
||||||
dDepthToMachine = TOOLS[Cutting1.nToolIndex].dMaxMaterial - 10
|
|
||||||
else
|
|
||||||
dDepthToMachine = min( TOOLS[Cutting1.nToolIndex].dMaxMaterial, EdgeToMachine.dElevation - dStripWidth)
|
|
||||||
end
|
|
||||||
|
|
||||||
OptionalParametersFaceByBlade1.dDepthToMachine = dDepthToMachine
|
OptionalParametersFaceByBlade1.dDepthToMachine = dDepthToMachine
|
||||||
OptionalParametersFaceByBlade1.bAllowPerpendicularStrip = bAllowPerpendicularStrip
|
|
||||||
|
|
||||||
Cutting1 = FaceByBlade.Make( Proc, Part, BottomFace, EdgeToMachine, OptionalParametersFaceByBlade1)
|
Cutting1 = FaceByBlade.Make( Proc, Part, BottomFace, EdgeToMachine, OptionalParametersFaceByBlade1)
|
||||||
Cutting1.nInternalSortingPriority = 2
|
Cutting1.nInternalSortingPriority = 2
|
||||||
@@ -266,7 +250,6 @@ function BLADEKEEPWASTE.Make( Proc, Part, OptionalParameters)
|
|||||||
local bFinishWithMill = ( OptionalParameters.bFinishWithMill ~= false)
|
local bFinishWithMill = ( OptionalParameters.bFinishWithMill ~= false)
|
||||||
local dMillingOffsetFromSide = OptionalParameters.dMillingOffsetFromSide or 1
|
local dMillingOffsetFromSide = OptionalParameters.dMillingOffsetFromSide or 1
|
||||||
local dStripWidth = OptionalParameters.dStripWidth or 5
|
local dStripWidth = OptionalParameters.dStripWidth or 5
|
||||||
local bAllowPerpendicularStrip = OptionalParameters.bAllowPerpendicularStrip or false
|
|
||||||
local bForced = OptionalParameters.bForced or false
|
local bForced = OptionalParameters.bForced or false
|
||||||
|
|
||||||
-- volume della feature
|
-- volume della feature
|
||||||
@@ -313,7 +296,6 @@ function BLADEKEEPWASTE.Make( Proc, Part, OptionalParameters)
|
|||||||
dExtendAfterTail = dExtendAfterTail,
|
dExtendAfterTail = dExtendAfterTail,
|
||||||
nToolIndex = nToolIndex,
|
nToolIndex = nToolIndex,
|
||||||
dStripWidth = dStripWidth,
|
dStripWidth = dStripWidth,
|
||||||
bAllowPerpendicularStrip = bAllowPerpendicularStrip,
|
|
||||||
OtherBottomFace = BottomFace2
|
OtherBottomFace = BottomFace2
|
||||||
}
|
}
|
||||||
local Cuttings1 = MakeBottomFace( Proc, Part, BottomFace1, BottomEdgeToMachine1, Parameters1)
|
local Cuttings1 = MakeBottomFace( Proc, Part, BottomFace1, BottomEdgeToMachine1, Parameters1)
|
||||||
@@ -445,37 +427,6 @@ function BLADEKEEPWASTE.Make( Proc, Part, OptionalParameters)
|
|||||||
Machinings = MachiningLib.GetSplitMachinings( Machinings, FeatureSplittingPoints, Part)
|
Machinings = MachiningLib.GetSplitMachinings( Machinings, FeatureSplittingPoints, Part)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- se codoli perpendicolari, si accorciano LeadIn/LeadOut
|
|
||||||
if bAllowPerpendicularStrip then
|
|
||||||
for j = 1, #Machinings do
|
|
||||||
if Machinings[j].bIsMachiningSplitted then
|
|
||||||
-- se primo spezzone
|
|
||||||
if Machinings[j].bIsFirstSegment then
|
|
||||||
if MachiningLib.StartsLeftSide( Machinings[j]) then
|
|
||||||
Machinings[j].LeadIn.dStartAddLength = Machinings[j].LeadIn.dStartAddLength - Machinings[j].dToolMarkLength - dStripWidth
|
|
||||||
Machinings[j].LeadOut.dEndAddLength = Machinings[j].LeadOut.dEndAddLength - dStripWidth
|
|
||||||
else
|
|
||||||
Machinings[j].LeadOut.dEndAddLength = Machinings[j].LeadOut.dEndAddLength - Machinings[j].dToolMarkLength - dStripWidth
|
|
||||||
Machinings[j].LeadIn.dStartAddLength = Machinings[j].LeadIn.dStartAddLength - dStripWidth
|
|
||||||
end
|
|
||||||
-- se ultimo spezzone
|
|
||||||
elseif Machinings[j].bIsLastSegment then
|
|
||||||
if MachiningLib.StartsLeftSide( Machinings[j]) then
|
|
||||||
Machinings[j].LeadOut.dEndAddLength = Machinings[j].LeadOut.dEndAddLength - Machinings[j].dToolMarkLength - dStripWidth
|
|
||||||
Machinings[j].LeadIn.dStartAddLength = Machinings[j].LeadIn.dStartAddLength - dStripWidth
|
|
||||||
else
|
|
||||||
Machinings[j].LeadIn.dStartAddLength = Machinings[j].LeadIn.dStartAddLength - Machinings[j].dToolMarkLength - dStripWidth
|
|
||||||
Machinings[j].LeadOut.dEndAddLength = Machinings[j].LeadOut.dEndAddLength - dStripWidth
|
|
||||||
end
|
|
||||||
-- se spezzoni centrali
|
|
||||||
else
|
|
||||||
Machinings[j].LeadIn.dStartAddLength = Machinings[j].LeadIn.dStartAddLength - Machinings[j].dToolMarkLength - dStripWidth
|
|
||||||
Machinings[j].LeadOut.dEndAddLength = Machinings[j].LeadOut.dEndAddLength - Machinings[j].dToolMarkLength - dStripWidth
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
-- ordinamento
|
-- ordinamento
|
||||||
table.sort( Machinings, SortMachiningsBySegment)
|
table.sort( Machinings, SortMachiningsBySegment)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user