mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-09 17:31:45 +00:00
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:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user