Index: DamTools/GeometryVisualizer/Geometry.json =================================================================== diff -u --- DamTools/GeometryVisualizer/Geometry.json (revision 0) +++ DamTools/GeometryVisualizer/Geometry.json (revision 4867) @@ -0,0 +1,202 @@ +{ + "Surfaces": [ + { + "OuterLoop": { + "Curves": [ + { + "HeadPoint": { + "X": 0, + "Z": 0 + }, + "EndPoint": { + "X": 5, + "Z": 10 + } + }, + { + "HeadPoint": { + "X": 5, + "Z": 10 + }, + "EndPoint": { + "X": 10, + "Z": 10 + } + }, + { + "HeadPoint": { + "X": 10, + "Z": 10 + }, + "EndPoint": { + "X": 10, + "Z": -5 + } + }, + { + "HeadPoint": { + "X": 10, + "Z": -5 + }, + "EndPoint": { + "X": 5, + "Z": -5 + } + }, + { + "HeadPoint": { + "X": 5, + "Z": -5 + }, + "EndPoint": { + "X": 0, + "Z": -5 + } + }, + { + "HeadPoint": { + "X": 0, + "Z": -5 + }, + "EndPoint": { + "X": 0, + "Z": 0 + } + } + ] + } + }, + { + "OuterLoop": { + "Curves": [ + { + "HeadPoint": { + "X": 10, + "Z": -5 + }, + "EndPoint": { + "X": 5, + "Z": -5 + } + }, + { + "HeadPoint": { + "X": 10, + "Z": -5 + }, + "EndPoint": { + "X": 10, + "Z": -8 + } + }, + { + "HeadPoint": { + "X": 10, + "Z": -8 + }, + "EndPoint": { + "X": 5, + "Z": -8 + } + }, + { + "HeadPoint": { + "X": 5, + "Z": -8 + }, + "EndPoint": { + "X": 0, + "Z": -8 + } + }, + { + "HeadPoint": { + "X": 0, + "Z": -8 + }, + "EndPoint": { + "X": 0, + "Z": -5 + } + }, + { + "HeadPoint": { + "X": 5, + "Z": -5 + }, + "EndPoint": { + "X": 0, + "Z": -5 + } + } + ] + } + }, + { + "OuterLoop": { + "Curves": [ + { + "HeadPoint": { + "X": 10, + "Z": -8 + }, + "EndPoint": { + "X": 5, + "Z": -8 + } + }, + { + "HeadPoint": { + "X": 10, + "Z": -8 + }, + "EndPoint": { + "X": 10, + "Z": -10 + } + }, + { + "HeadPoint": { + "X": 10, + "Z": -10 + }, + "EndPoint": { + "X": 5, + "Z": -10 + } + }, + { + "HeadPoint": { + "X": 5, + "Z": -10 + }, + "EndPoint": { + "X": 0, + "Z": -10 + } + }, + { + "HeadPoint": { + "X": 0, + "Z": -10 + }, + "EndPoint": { + "X": 0, + "Z": -8 + } + }, + { + "HeadPoint": { + "X": 5, + "Z": -8 + }, + "EndPoint": { + "X": 0, + "Z": -8 + } + } + ] + } + } + ] +} \ No newline at end of file Index: DamTools/GeometryVisualizer/GeometryPlot.py =================================================================== diff -u --- DamTools/GeometryVisualizer/GeometryPlot.py (revision 0) +++ DamTools/GeometryVisualizer/GeometryPlot.py (revision 4867) @@ -0,0 +1,34 @@ +import json +import matplotlib.pyplot as plt + +# Load JSON data +with open('Geometry.json', 'r') as file: + data = json.load(file) + +# Extract points +surfaces = data.get('Surfaces', []) +for surface in surfaces: + curves = surface.get('OuterLoop', {}).get('Curves', []) + + points = [] + for curve in curves: + head_point = curve.get('HeadPoint', {}) + end_point = 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'])) + + +# Plot points and lines + if points: + x_vals, z_vals = zip(*points) + plt.plot(x_vals, z_vals, marker='o') + +# Add labels and grid +plt.xlabel('X') +plt.ylabel('Z') +plt.grid(True) +plt.show()