Issues regarding seam/gap position

91 views
Skip to first unread message

Dreide

unread,
Oct 17, 2014, 5:10:40 PM10/17/14
to kisslicer-r...@googlegroups.com
The strategy KISSlicer uses to place the seam kind of fails in a couple of situations.

I guess the current algorithm for finding the seam position works like this: First, something like a center of gravity of the island perimeter is calculated which is used then as a reference point. Then the intersection(s) between the perimeter and the line going through the reference point and having the seam angle as set by the user is determined. The point of intersection which lies in the right direction with respect to the reference point is chosen as the seam position. This method is applied in the same way for perimeters (seam) and loops (gaps).
Problematic cases:

1. If the perimeter is not convex, there might be more than one possible seam position (intersection point) and the algorithm might pick different ones for each loop or layer. As a consequence, the gaps in the loops might be placed at completely different positions than the according seam position in the perimeter.
Solution: The algorithm should pick always the position which is furthest away from the reference point (or closest to the reference point).

2. In small parts, the shape of the loops might be considerably different than the shape of the perimeter (or even make new islands), causing them to have different reference points and causing the gaps to be considerably displaced with respect to the corresponding seam position in the perimeter, thereby defeating the purpose of the gaps. Especially when there is not enough space for the full number of loops and the inner loops need to be printed as islands, the reference point approach fails.
Solution: The algorithm should calculate the gap positions in the loops completely differently as compared the seam position on the perimeter, for example, by taking just the point of the loop which is closest to the already chosen seam position on the perimeter. If there are several perimeters (islands) and there is no other way for identifying the according perimeter for a given loop, just try the seam positions of all perimeters.

I am not saying that the suggested solutions would work well under all circumstances, but I think there is room for improvement in the current seam positioning algorithm.

Why the gap in the loops is missing sometimes is a mystery to me.



Clip.stl
Ex1.png
Ex2.png
Ex3.png

PenskeGuy

unread,
Oct 18, 2014, 12:13:10 AM10/18/14
to
Check the two most recent posts (8:44 and 9:00) in the 1.5 Beta thread.

Dreide

unread,
Oct 18, 2014, 4:40:58 AM10/18/14
to kisslicer-r...@googlegroups.com
On Saturday, October 18, 2014 6:13:10 AM UTC+2, PenskeGuy wrote:
Check the two most recent posts (8:44 and 9:00) in the 1.5 Beta thread.


Yeah, I think it is actually two problems: (a) how to place the seam on the perimeter and (b) how to put the gaps on the loops in the right position so that they are actually useful. Straight lines and degenerated shapes (e.g., high aspect ratio) are obviously problematic cases which might need some extra attention. I think problem (b) is actually easier to solve.
Reply all
Reply to author
Forward
0 new messages