-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
A large fractal pyramid takes ages to slice. #117
Comments
The underlying Clipper library does not handle long overlapping contours well. It handles them, but it takes ages to process. A single call of a clipper diff call takes 10 minutes in a debug build at the base of the pyramid. Here are the contours in SVG format. |
The Clipper::JoinCommonEdges method has a terrible time complexity for complex partially overlapping polygons.
|
The Clipper library has difficulties processing overlapping polygons. Namely, the function Clipper::JoinCommonEdges() has potentially a terrible time complexity if the output of the operation is of the PolyTree type. This function implmenets a following workaround: 1) Peform the Clipper operation with the output to Paths. This method handles overlaps in a reasonable time. 2) Run Clipper Union once again to extract the PolyTree from the result of 1).
Fixed by The Clipper library has difficulties processing overlapping polygons.
|
The Clipper library has difficulties processing overlapping polygons. Namely, the function Clipper::JoinCommonEdges() has potentially a terrible time complexity if the output of the operation is of the PolyTree type. This function implmenets a following workaround: 1) Peform the Clipper operation with the output to Paths. This method handles overlaps in a reasonable time. 2) Run Clipper Union once again to extract the PolyTree from the result of 1). Conflicts: xs/src/libslic3r/ClipperUtils.cpp
A large fractal pyramid takes ages to slice.
http://www.thingiverse.com/thing:1356547
Likely the reason is the plethora of islands.
The smaller fractal pyramids are processed relatively quickly.
The text was updated successfully, but these errors were encountered: