Partial solution for #6775.

The issue happens when a wall has a "ATPATH" connection and has a
negative direction sense. It mixes the profile points in an incorrect
order. This commit seems to fix it, but maybe there is a better solution.
This commit is contained in:
Bruno Perdigão
2025-06-30 19:46:38 -03:00
parent a31aa6053e
commit 6c4e4e5f91
@@ -150,6 +150,8 @@ class Regenerator:
continue
self.join(wall, wall2, layers1, layers2, rel.RelatedConnectionType, rel.RelatingConnectionType)
miny = axes[-2][0][1]
maxy = axes[-1][0][1]
if not self.start_points:
minx = axes[0][0][0]
self.start_points = [
@@ -266,6 +268,13 @@ class Regenerator:
split_points.append(end_points)
split_points = iter(split_points)
if maxy < miny:
self.maxpath_points, self.minpath_points = self.minpath_points, self.maxpath_points
if self.maxpath_points:
self.maxpath_points[0] = list(reversed(self.maxpath_points[0]))
if self.minpath_points:
self.minpath_points[0] = list(reversed(self.minpath_points[0]))
while True:
# Draw each profile as clockwise starting from (minx, miny)
start_split = next(split_points, None)