Index: DamTools/GeometryVisualizer/GeometryPlot.py =================================================================== diff -u -r4867 -r4996 --- DamTools/GeometryVisualizer/GeometryPlot.py (.../GeometryPlot.py) (revision 4867) +++ DamTools/GeometryVisualizer/GeometryPlot.py (.../GeometryPlot.py) (revision 4996) @@ -11,17 +11,24 @@ curves = surface.get('OuterLoop', {}).get('Curves', []) points = [] + previous_head_point = (999.9, 999.9) + previous_end_point = (999.9, 999.9) for curve in curves: - head_point = curve.get('HeadPoint', {}) - end_point = curve.get('EndPoint', {}) + head_point_element = curve.get('HeadPoint', {}) + end_point_element = curve.get('EndPoint', {}) - if 'X' in head_point and 'Z' in head_point: - points.append((head_point['X'], head_point['Z'])) - - if 'X' in end_point and 'Z' in end_point: - points.append((end_point['X'], end_point['Z'])) + head_point = (head_point_element['X'], head_point_element['Z']) + end_point = (end_point_element['X'], end_point_element['Z']) + if end_point == previous_head_point or end_point == previous_end_point: + head_point, end_point = end_point, head_point + points.append(head_point) + points.append(end_point) + previous_head_point = head_point + previous_end_point = end_point + + # Plot points and lines if points: x_vals, z_vals = zip(*points)