- in FeatureLib -> GetFeatureSplittingPoints correzioni e migliorie
- in MachiningLib -> GetSplitMachinings correzione all'assegnazione del segmento per gli edge non lavorati completamente - in STR0003 gestito ordinamento lavorazioni lama + sega a catena - altre piccole migliorie
This commit is contained in:
@@ -324,6 +324,7 @@ function FeatureLib.GetFeatureSplittingPoints( Proc, Part, OptionalParameters)
|
||||
end
|
||||
local dMaxSegmentLength = OptionalParameters.dMaxSegmentLength or BeamData.LONGCUT_MAXLEN
|
||||
local dMaxSegmentLengthOnEdges = OptionalParameters.dMaxSegmentLengthOnEdges or BeamData.LONGCUT_ENDLEN
|
||||
local dMinSegmentLength = OptionalParameters.dMinSegmentLength or dMaxSegmentLengthOnEdges / 2
|
||||
local dToolOverlapBetweenSegments = OptionalParameters.dToolOverlapBetweenSegments or BeamData.MILL_OVERLAP
|
||||
|
||||
-- verifica spezzatura necessaria
|
||||
@@ -344,7 +345,7 @@ function FeatureLib.GetFeatureSplittingPoints( Proc, Part, OptionalParameters)
|
||||
if bFeatureStartsOnEdgeLeft then
|
||||
-- decido punto spezzatura verso la coda
|
||||
if Proc.b3Box:getDimX() > dMaxSegmentLengthOnEdges * 2 then
|
||||
dSplitXLeft = max( Part.b3Solid:getMin():getX() + dMaxSegmentLengthOnEdges, Proc.b3Box:getMin():getX() + dMaxSegmentLengthOnEdges / 2)
|
||||
dSplitXLeft = max( Part.b3Solid:getMin():getX() + dMaxSegmentLengthOnEdges, Proc.b3Box:getMin():getX() + dMinSegmentLength)
|
||||
else
|
||||
-- se pezzo abbastanza piccolo, spezzo in mezzo al 'pezzo + grezzo restante'
|
||||
if Part.dRestLength + Part.b3Solid:getDimX() < BeamData.dMinRaw * 1.5 then
|
||||
@@ -360,7 +361,7 @@ function FeatureLib.GetFeatureSplittingPoints( Proc, Part, OptionalParameters)
|
||||
-- calcolo punto estremo destro
|
||||
local ptSplitXRight
|
||||
if bFeatureStartsOnEdgeRight then
|
||||
dSplitXRight = min( ( Proc.b3Box:getMax():getX() - dSplitXRight * 3), Part.b3Solid:getMax():getX() - dMaxSegmentLengthOnEdges)
|
||||
dSplitXRight = min( ( Proc.b3Box:getMax():getX() - dMinSegmentLength), Part.b3Solid:getMax():getX() - dMaxSegmentLengthOnEdges)
|
||||
if dSplitXRight - dSplitXLeft < 500 * GEO.EPS_SMALL then
|
||||
dSplitXRight = dSplitXLeft - dToolOverlapBetweenSegments
|
||||
dFeatureCentralLength = 0
|
||||
|
||||
Reference in New Issue
Block a user