|
|
|
@@ -1662,12 +1662,16 @@ function MachiningLib.GetTimeToMachineAllStepsWithLeadInOut( Machining, Part)
|
|
|
|
|
local idTempGroup = Part.idTempGroup
|
|
|
|
|
-- TODO in futuro creare flatregion (se ci fossero isole il calcolo del percorso non sarebbe corretto)
|
|
|
|
|
local idFaceContour = EgtExtractSurfTmFacetLoops( ProcTm.id, Machining.Geometry[1][2], idTempGroup)
|
|
|
|
|
|
|
|
|
|
-- si settano i lati aperti della curva derivata dalla superficie
|
|
|
|
|
local sOpenEdges = ''
|
|
|
|
|
for i = 1, #ProcTm.Faces[Machining.Geometry[1][2] + 1].Edges do
|
|
|
|
|
if ProcTm.Faces[Machining.Geometry[1][2] + 1].Edges[i].bIsOpen then
|
|
|
|
|
EgtCurveCompoSetTempProp( idFaceContour, ProcTm.Faces[Machining.Geometry[1][2] + 1].Edges[i].id, 1)
|
|
|
|
|
sOpenEdges = sOpenEdges .. EgtNumToString( ProcTm.Faces[Machining.Geometry[1][2] + 1].Edges[i].id) .. ','
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
EgtSetInfo( idFaceContour, 'OPEN', sOpenEdges)
|
|
|
|
|
|
|
|
|
|
-- dal momento che la funzione EgtPocketing non considera il grezzo, nei casi ottimizzati si deve correggere l'offset
|
|
|
|
|
local idTestCurve = EgtCopyGlob( idFaceContour, idTempGroup )
|
|
|
|
|
local bIsOptimizedPocketing = ( TOOLS[Machining.nToolIndex].dDiameter > TOOLS[Machining.nToolIndex].dSideStep - 10 * GEO.EPS_SMALL)
|
|
|
|
@@ -1678,11 +1682,7 @@ function MachiningLib.GetTimeToMachineAllStepsWithLeadInOut( Machining, Part)
|
|
|
|
|
dOffset = TOOLS[Machining.nToolIndex].dDiameter - TOOLS[Machining.nToolIndex].dSideStep
|
|
|
|
|
end
|
|
|
|
|
EgtOffsetCurve( idFaceContour, dOffset)
|
|
|
|
|
-- si settano tutti i lati chiusi per la curva offsettata
|
|
|
|
|
local _, nFaceCountourCurveCount = EgtCurveDomain( idFaceContour)
|
|
|
|
|
for i = 1, nFaceCountourCurveCount do
|
|
|
|
|
EgtCurveCompoSetTempProp( idFaceContour, i - 1, 0)
|
|
|
|
|
end
|
|
|
|
|
EgtRemoveInfo( idFaceContour, 'OPEN')
|
|
|
|
|
end
|
|
|
|
|
-- calcolo percorso di svuotatura replicando il calcolo che fa la svuotatura
|
|
|
|
|
local idPocketingPath = EgtPocketing( idFaceContour, TOOLS[Machining.nToolIndex].dDiameter / 2, TOOLS[Machining.nToolIndex].dSideStep, 0, Machining.nSubType, true, idTempGroup)
|
|
|
|
|