Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
[1.2.7-dev] Extra perimeter regression #2664
added a commit
Feb 23, 2015
IMO, the term itself is a bit ambiguous.
This feature, as I understand it, appeared as an attempt to cover the unsightly infill overlap/overextrusion so that it won't be visible from above.
If I were the one implementing the logic, I would have done it like that:
Of course, in case vertical extrusions are present, the problem would be exactly the same as in this issue. In this case, the more proper solution seems to be:
Tuning your N or the area delta threshold is the same as my 30% :-)
The algorithmic problem is that your upper layer might be much smaller or it might have a very different shape from the lower one, but in case a part of its contour would benefit from an extra lower perimeter we need to check whether it's worth or not. Adding one or more extra perimeters just for hiding a very small quantity of infill endpoints is not worth. This is why the current logic only does that if the two layers share at least 30% of their shape… Maybe this 30% should even become 50%, but I'll wait for test cases...
once again - You did introduce very nice variable, but You are somehow reluctant to put it into EXPERT options :) it would fit VERY nicely on right side of the 'extra perimeters if needed' as simply 'threshold' with some nice hint :)
also for very big, complex, or 'production' models this variable could be used like many other from modifier options , allowing to set different thresholds for different parts of model...
note that triggering extra perimeters is performed per layer and not per loop logic, which further complicates things - small loop with big overhang may trigger extra perimeter for large loop without one - or big loop might prevent small loop from getting extra perimeter. both cases might be undesirable . while providing variable will not prevent such border cases to fail, it at least provides user with some way to work-around the problem.