It seems like 'unify paths orientation' is not always giving the intended behaviour. I found this out by investigating the behaviour of close_paths(self) in the Base Slicer. I thought it was strange that after slicing a geometry with CGAL, it is still necessary for the script to add extra points to close the paths. This is strange, because if a path is closed according to CGAL Slicing, it must already have the same first as the same last point (path.points[0] == path.points[-1]). So what currently happens:
Slicing using cgal, results in a closed path with points[0] == points[-1].
Unify paths orientation somehow removes a point.
Close paths puts back the point.
I think the result of 'unify paths orientation' should already be a closed path, without the need of additionally closing the path in a next step right? I.e.: ideally we don't need the 'close_paths' function to ever trigger.
Img1: Slicing result with unify path orientation and close paths commented out:
Img2: Slicing result with close paths commented out (and unify paths orientation on):
Additonally, I think unify paths orientation does not always unify the direction correctly, and sometimes it can even mess up the orientation of paths that were perfectly fine after just the slicing result. This should be investigated more.
Code used (very simple):
Model I can still share if necessary but it should be the same for all models.
It seems like 'unify paths orientation' is not always giving the intended behaviour. I found this out by investigating the behaviour of
close_paths(self)
in the Base Slicer. I thought it was strange that after slicing a geometry with CGAL, it is still necessary for the script to add extra points to close the paths. This is strange, because if a path is closed according to CGAL Slicing, it must already have the same first as the same last point (path.points[0] == path.points[-1]
). So what currently happens:I think the result of 'unify paths orientation' should already be a closed path, without the need of additionally closing the path in a next step right? I.e.: ideally we don't need the 'close_paths' function to ever trigger.
Img1: Slicing result with unify path orientation and close paths commented out:
Img2: Slicing result with close paths commented out (and unify paths orientation on):
Additonally, I think unify paths orientation does not always unify the direction correctly, and sometimes it can even mess up the orientation of paths that were perfectly fine after just the slicing result. This should be investigated more.
Code used (very simple): Model I can still share if necessary but it should be the same for all models.