From 6c351c866f2dcea0dc8a52ec4c7c91f2570df77e Mon Sep 17 00:00:00 2001 From: ggartside Date: Tue, 20 Dec 2022 09:06:00 -0600 Subject: [PATCH 01/22] Fixes 4766: Different number of wall surfaces between ThreeJS reverse translator and Floorspace reverse translator --- resources/CMakeLists.txt | 2 + .../utilities/Geometry/floorplan_mcve.json | 1137 +++ resources/utilities/Geometry/issue-4222.json | 6973 +++++++++++++++++ .../FloorspaceReverseTranslator_GTest.cpp | 143 +- src/utilities/floorspace/FSModel.cpp | 2 - 5 files changed, 8254 insertions(+), 3 deletions(-) create mode 100644 resources/utilities/Geometry/floorplan_mcve.json create mode 100644 resources/utilities/Geometry/issue-4222.json diff --git a/resources/CMakeLists.txt b/resources/CMakeLists.txt index ca59c74f600..c592c207851 100644 --- a/resources/CMakeLists.txt +++ b/resources/CMakeLists.txt @@ -68,6 +68,8 @@ set(utilities_resources_src utilities/Geometry/surface_match_floorplan.json utilities/Geometry/threejs.json utilities/Geometry/window_floorplan.json + utilities/Geometry/issue-4222.json + utilities/Geometry/floorplan_mcve.json utilities/Geometry/minimal_GLTF_File.gltf utilities/Geometry/7-7_Windows_Complete.gltf utilities/Geometry/15023_Model12.gltf diff --git a/resources/utilities/Geometry/floorplan_mcve.json b/resources/utilities/Geometry/floorplan_mcve.json new file mode 100644 index 00000000000..3109a7d2652 --- /dev/null +++ b/resources/utilities/Geometry/floorplan_mcve.json @@ -0,0 +1,1137 @@ +{ + "application": { + "currentSelections": { + "story": null, + "story_id": "11", + "subselection_ids": { + "5": "7", + "11": "188" + }, + "component_id": null, + "component_definition_id": "8473", + "component_instance_id": null, + "space_property_id": "793", + "tool": "Rectangle", + "mode": "spaces", + "snapMode": "grid-strict", + "modeTab": "floorplan", + "subselectionType": "spaces" + }, + "modes": [ + "spaces", + "shading", + "building_units", + "thermal_zones", + "pitched_roofs", + "space_types", + "images" + ], + "tools": [ + "Pan", + "Drag", + "Rectangle", + "Polygon", + "Eraser", + "Select", + "Map", + "Fill", + "Place Component", + "Image", + "Apply Property" + ], + "scale": { + "x": { + "pixels": 1400, + "rwuRange": [ + -100, + -200 + ] + }, + "y": { + "pixels": 803, + "rwuRange": [ + -100.0, + 200.0 + ] + } + } + }, + "project": { + "config": { + "language": "EN-US", + "units": "ip", + "unitsEditable": true + }, + "north_axis": 0, + "ground": { + "azimuth_angle": 0, + "floor_offset": 0, + "tilt_slope": 0 + }, + "grid": { + "spacing": 2, + "visible": true + }, + "view": { + "max_x": 200.0, + "max_y": 200.0, + "min_x": -100.0, + "min_y": 200.0 + }, + "map": { + "elevation": 0, + "enabled": true, + "initialized": true, + "latitude": 39.51849730000001, + "longitude": -104.7591812, + "rotation": 0, + "visible": true, + "zoom": 4.5 + }, + "previous_story": { + "visible": true + }, + "show_import_export": true, + "footprintID": "92cb-9705-aa6b-8724" + }, + "stories": [ + { + "id": "11", + "handle": null, + "name": "Story 1", + "image_visible": true, + "below_floor_plenum_height": 0, + "floor_to_ceiling_height": 18, + "above_ceiling_plenum_height": 0, + "multiplier": 1, + "color": "#117733", + "geometry": { + "id": "12", + "vertices": [ + { + "id": "132", + "x": 96, + "y": 186, + "edge_ids": [ + "193", + "847" + ] + }, + { + "id": "179", + "x": 22, + "y": 120, + "edge_ids": [ + "186", + "395", + "800" + ] + }, + { + "id": "180", + "x": 62, + "y": 102, + "edge_ids": [ + "186", + "196", + "806" + ] + }, + { + "id": "189", + "x": 118, + "y": 176, + "edge_ids": [ + "193", + "194" + ] + }, + { + "id": "190", + "x": 154, + "y": 154, + "edge_ids": [ + "194", + "195", + "535" + ] + }, + { + "id": "191", + "x": 104, + "y": 78, + "edge_ids": [ + "195", + "196", + "400" + ] + }, + { + "id": "300", + "x": 132, + "y": 56, + "edge_ids": [ + "401", + "404" + ] + }, + { + "id": "383", + "x": 146, + "y": 44, + "edge_ids": [ + "386", + "404" + ] + }, + { + "id": "384", + "x": 104, + "y": 0, + "edge_ids": [ + "386", + "393" + ] + }, + { + "id": "390", + "x": 82, + "y": 20, + "edge_ids": [ + "393", + "394" + ] + }, + { + "id": "391", + "x": 0, + "y": 64, + "edge_ids": [ + "394", + "395" + ] + }, + { + "id": "398", + "x": 131.86999999999898, + "y": 56.13000000000011, + "edge_ids": [ + "400", + "401", + "533" + ] + }, + { + "id": "481", + "x": 37.294117647059466, + "y": 158.23529411764684, + "edge_ids": [ + "811", + "800" + ] + }, + { + "id": "482", + "x": 78, + "y": 142, + "edge_ids": [ + "804", + "805" + ] + }, + { + "id": "530", + "x": 158, + "y": 86, + "edge_ids": [ + "533", + "534" + ] + }, + { + "id": "531", + "x": 188, + "y": 126, + "edge_ids": [ + "534", + "535" + ] + }, + { + "id": "798", + "x": 69.41247753207062, + "y": 145.42508121553328, + "edge_ids": [ + "803", + "804" + ] + }, + { + "id": "799", + "x": 78.16214732562003, + "y": 141.93001103976894, + "edge_ids": [ + "805", + "806", + "834" + ] + }, + { + "id": "808", + "x": 48, + "y": 154, + "edge_ids": [ + "811", + "812" + ] + }, + { + "id": "809", + "x": 61.13000000000102, + "y": 148.72999999999956, + "edge_ids": [ + "812", + "803" + ] + }, + { + "id": "830", + "x": 86.6526961386844, + "y": 162.90666104851243, + "edge_ids": [ + "834", + "847" + ] + } + ], + "edges": [ + { + "id": "186", + "vertex_ids": [ + "179", + "180" + ], + "face_ids": [ + "403", + "814" + ] + }, + { + "id": "193", + "vertex_ids": [ + "132", + "189" + ], + "face_ids": [ + "197" + ] + }, + { + "id": "194", + "vertex_ids": [ + "189", + "190" + ], + "face_ids": [ + "197" + ] + }, + { + "id": "195", + "vertex_ids": [ + "190", + "191" + ], + "face_ids": [ + "197", + "536" + ] + }, + { + "id": "196", + "vertex_ids": [ + "191", + "180" + ], + "face_ids": [ + "197", + "403" + ] + }, + { + "id": "386", + "vertex_ids": [ + "383", + "384" + ], + "face_ids": [ + "403" + ] + }, + { + "id": "400", + "vertex_ids": [ + "191", + "398" + ], + "face_ids": [ + "403", + "536" + ] + }, + { + "id": "401", + "vertex_ids": [ + "398", + "300" + ], + "face_ids": [ + "403" + ] + }, + { + "id": "393", + "vertex_ids": [ + "384", + "390" + ], + "face_ids": [ + "403" + ] + }, + { + "id": "394", + "vertex_ids": [ + "390", + "391" + ], + "face_ids": [ + "403" + ] + }, + { + "id": "395", + "vertex_ids": [ + "391", + "179" + ], + "face_ids": [ + "403" + ] + }, + { + "id": "404", + "vertex_ids": [ + "300", + "383" + ], + "face_ids": [ + "403" + ] + }, + { + "id": "533", + "vertex_ids": [ + "398", + "530" + ], + "face_ids": [ + "536" + ] + }, + { + "id": "534", + "vertex_ids": [ + "530", + "531" + ], + "face_ids": [ + "536" + ] + }, + { + "id": "535", + "vertex_ids": [ + "531", + "190" + ], + "face_ids": [ + "536" + ] + }, + { + "id": "811", + "vertex_ids": [ + "481", + "808" + ], + "face_ids": [ + "814" + ] + }, + { + "id": "812", + "vertex_ids": [ + "808", + "809" + ], + "face_ids": [ + "814" + ] + }, + { + "id": "800", + "vertex_ids": [ + "179", + "481" + ], + "face_ids": [ + "814" + ] + }, + { + "id": "803", + "vertex_ids": [ + "809", + "798" + ], + "face_ids": [ + "814" + ] + }, + { + "id": "804", + "vertex_ids": [ + "798", + "482" + ], + "face_ids": [ + "814" + ] + }, + { + "id": "805", + "vertex_ids": [ + "482", + "799" + ], + "face_ids": [ + "814" + ] + }, + { + "id": "806", + "vertex_ids": [ + "799", + "180" + ], + "face_ids": [ + "197", + "814" + ] + }, + { + "id": "834", + "vertex_ids": [ + "830", + "799" + ], + "face_ids": [ + "197" + ] + }, + { + "id": "847", + "vertex_ids": [ + "830", + "132" + ], + "face_ids": [ + "197" + ] + } + ], + "faces": [ + { + "id": "197", + "edge_ids": [ + "806", + "834", + "847", + "193", + "194", + "195", + "196" + ], + "edge_order": [ + 0, + 0, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "id": "403", + "edge_ids": [ + "386", + "393", + "394", + "395", + "186", + "196", + "400", + "401", + "404" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 1 + ] + }, + { + "id": "536", + "edge_ids": [ + "400", + "533", + "534", + "535", + "195" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "id": "814", + "edge_ids": [ + "805", + "804", + "803", + "812", + "811", + "800", + "186", + "806" + ], + "edge_order": [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ] + } + ] + }, + "images": [], + "spaces": [ + { + "id": "188", + "handle": null, + "name": "Space 1-1", + "face_id": "197", + "building_unit_id": null, + "thermal_zone_id": null, + "space_type_id": null, + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "area": 5238, + "color": "#bbc3c7", + "type": "space" + }, + { + "id": "389", + "handle": null, + "name": "Space 1-6", + "face_id": "403", + "building_unit_id": null, + "thermal_zone_id": null, + "space_type_id": null, + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "area": 8232.389999999956, + "color": "#bbc3c7", + "type": "space" + }, + { + "id": "528", + "handle": null, + "name": "Space 1-12", + "face_id": "536", + "building_unit_id": null, + "thermal_zone_id": null, + "space_type_id": null, + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "area": 3653.969999999972, + "color": "#bbc3c7", + "type": "space" + }, + { + "id": "795", + "handle": null, + "name": "Space 1-18", + "face_id": "814", + "building_unit_id": null, + "thermal_zone_id": null, + "space_type_id": null, + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "area": 1850.5852286721347, + "color": "#bbc3c7", + "type": "space" + } + ], + "shading": [], + "windows": [], + "doors": [], + "area": 93207.04805704096, + "construction_lines": [], + "image_id": "68" + }, + { + "id": "580", + "handle": null, + "name": "Story 2", + "image_visible": true, + "below_floor_plenum_height": 0, + "floor_to_ceiling_height": 18, + "above_ceiling_plenum_height": 0, + "multiplier": 1, + "color": "#332288", + "geometry": { + "id": "581", + "vertices": [ + { + "id": "719", + "x": 146, + "y": 44, + "edge_ids": [ + "724", + "740" + ] + }, + { + "id": "720", + "x": 104, + "y": 0, + "edge_ids": [ + "724", + "734" + ] + }, + { + "id": "728", + "x": 82, + "y": 20, + "edge_ids": [ + "734", + "735" + ] + }, + { + "id": "729", + "x": 60, + "y": 32, + "edge_ids": [ + "735", + "736", + "764" + ] + }, + { + "id": "730", + "x": 108, + "y": 90, + "edge_ids": [ + "736", + "737", + "759" + ] + }, + { + "id": "731", + "x": 128, + "y": 76, + "edge_ids": [ + "737", + "738" + ] + }, + { + "id": "732", + "x": 140, + "y": 66, + "edge_ids": [ + "738", + "739" + ] + }, + { + "id": "733", + "x": 131.86999999999898, + "y": 56.13000000000011, + "edge_ids": [ + "739", + "740" + ] + }, + { + "id": "754", + "x": 80, + "y": 106, + "edge_ids": [ + "759", + "760" + ] + }, + { + "id": "755", + "x": 54, + "y": 120, + "edge_ids": [ + "760", + "761" + ] + }, + { + "id": "756", + "x": 28, + "y": 130, + "edge_ids": [ + "761", + "762" + ] + }, + { + "id": "757", + "x": 26, + "y": 130, + "edge_ids": [ + "762", + "789" + ] + }, + { + "id": "758", + "x": 0, + "y": 64, + "edge_ids": [ + "764", + "787" + ] + }, + { + "id": "776", + "x": 22, + "y": 120, + "edge_ids": [ + "787", + "789" + ] + } + ], + "edges": [ + { + "id": "724", + "vertex_ids": [ + "719", + "720" + ], + "face_ids": [ + "741" + ] + }, + { + "id": "734", + "vertex_ids": [ + "720", + "728" + ], + "face_ids": [ + "741" + ] + }, + { + "id": "735", + "vertex_ids": [ + "728", + "729" + ], + "face_ids": [ + "741" + ] + }, + { + "id": "736", + "vertex_ids": [ + "729", + "730" + ], + "face_ids": [ + "741", + "765" + ] + }, + { + "id": "737", + "vertex_ids": [ + "730", + "731" + ], + "face_ids": [ + "741" + ] + }, + { + "id": "738", + "vertex_ids": [ + "731", + "732" + ], + "face_ids": [ + "741" + ] + }, + { + "id": "739", + "vertex_ids": [ + "732", + "733" + ], + "face_ids": [ + "741" + ] + }, + { + "id": "740", + "vertex_ids": [ + "733", + "719" + ], + "face_ids": [ + "741" + ] + }, + { + "id": "759", + "vertex_ids": [ + "730", + "754" + ], + "face_ids": [ + "765" + ] + }, + { + "id": "760", + "vertex_ids": [ + "754", + "755" + ], + "face_ids": [ + "765" + ] + }, + { + "id": "761", + "vertex_ids": [ + "755", + "756" + ], + "face_ids": [ + "765" + ] + }, + { + "id": "762", + "vertex_ids": [ + "756", + "757" + ], + "face_ids": [ + "765" + ] + }, + { + "id": "764", + "vertex_ids": [ + "758", + "729" + ], + "face_ids": [ + "765" + ] + }, + { + "id": "787", + "vertex_ids": [ + "776", + "758" + ], + "face_ids": [ + "765" + ] + }, + { + "id": "789", + "vertex_ids": [ + "757", + "776" + ], + "face_ids": [ + "765" + ] + } + ], + "faces": [ + { + "id": "741", + "edge_ids": [ + "724", + "734", + "735", + "736", + "737", + "738", + "739", + "740" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "id": "765", + "edge_ids": [ + "736", + "759", + "760", + "761", + "762", + "789", + "787", + "764" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + } + ] + }, + "images": [], + "spaces": [ + { + "id": "727", + "handle": null, + "name": "Space 2-5", + "face_id": "741", + "building_unit_id": null, + "thermal_zone_id": null, + "space_type_id": null, + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "area": 3934.9599999999627, + "color": "#bbc3c7", + "type": "space" + }, + { + "id": "753", + "handle": null, + "name": "Space 2-6", + "face_id": "765", + "building_unit_id": null, + "thermal_zone_id": null, + "space_type_id": null, + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "area": 5908, + "color": "#bbc3c7", + "type": "space" + } + ], + "shading": [], + "windows": [], + "doors": [], + "area": 39454.95999999996, + "construction_lines": [], + "image_id": null + } + ], + "building_units": [], + "thermal_zones": [], + "space_types": [], + "construction_sets": [], + "window_definitions": [], + "daylighting_control_definitions": [], + "pitched_roofs": [], + "door_definitions": [], + "version": "0.7.0" +} diff --git a/resources/utilities/Geometry/issue-4222.json b/resources/utilities/Geometry/issue-4222.json new file mode 100644 index 00000000000..e8b2b479920 --- /dev/null +++ b/resources/utilities/Geometry/issue-4222.json @@ -0,0 +1,6973 @@ +{ + "option_name": "Study02082021", + "project": { + "footprintID": "92cb-9705-aa6b-8724", + "config": { + "units": "ip", + "unitsEditable": true, + "language": "EN-US" + }, + "north_axis": 0, + "ground": { + "floor_offset": 0, + "azimuth_angle": 0, + "tilt_slope": 0 + }, + "grid": { + "visible": true, + "spacing": 2 + }, + "view": { + "min_x": -18753.00435238038, + "max_x": -18585.226574602602, + "min_y": -6122.548761647993, + "max_y": -5986.386496599218 + }, + "map": { + "initialized": true, + "enabled": true, + "visible": true, + "latitude": 39.51849730000001, + "longitude": -104.7591812, + "zoom": 4.5, + "rotation": 0, + "elevation": 0 + }, + "previous_story": { + "visible": true + }, + "show_import_export": true + }, + "stories": [ + { + "id": "11", + "handle": null, + "name": "Story 1", + "image_id": "68", + "below_floor_plenum_height": 0, + "floor_to_ceiling_height": 18, + "above_ceiling_plenum_height": 0, + "multiplier": 1, + "color": "#117733", + "geometry": { + "id": "12", + "vertices": [ + { + "id": "126", + "x": -18802, + "y": -6038, + "edge_ids": [ + "143", + "413", + "469" + ] + }, + { + "id": "127", + "x": -18756, + "y": -6038, + "edge_ids": [ + "143", + "144" + ] + }, + { + "id": "128", + "x": -18708, + "y": -6050, + "edge_ids": [ + "144", + "414", + "468" + ] + }, + { + "id": "132", + "x": -18604, + "y": -5994, + "edge_ids": [ + "193", + "847", + "863" + ] + }, + { + "id": "179", + "x": -18678, + "y": -6060, + "edge_ids": [ + "186", + "395", + "415", + "800" + ] + }, + { + "id": "180", + "x": -18638, + "y": -6078, + "edge_ids": [ + "186", + "196", + "806" + ] + }, + { + "id": "189", + "x": -18582, + "y": -6004, + "edge_ids": [ + "193", + "194" + ] + }, + { + "id": "190", + "x": -18546, + "y": -6026, + "edge_ids": [ + "194", + "195", + "535" + ] + }, + { + "id": "191", + "x": -18596, + "y": -6102, + "edge_ids": [ + "195", + "196", + "400" + ] + }, + { + "id": "227", + "x": -18426, + "y": -6154, + "edge_ids": [ + "312", + "319", + "549" + ] + }, + { + "id": "243", + "x": -18410, + "y": -6180, + "edge_ids": [ + "319", + "320", + "562" + ] + }, + { + "id": "252", + "x": -18380, + "y": -6246, + "edge_ids": [ + "510", + "511", + "578" + ] + }, + { + "id": "297", + "x": -18544, + "y": -6146, + "edge_ids": [ + "381", + "385", + "551" + ] + }, + { + "id": "300", + "x": -18568, + "y": -6124, + "edge_ids": [ + "401", + "404" + ] + }, + { + "id": "310", + "x": -18504, + "y": -6194, + "edge_ids": [ + "312", + "313", + "321" + ] + }, + { + "id": "311", + "x": -18504.05, + "y": -6193.93, + "edge_ids": [ + "313", + "380" + ] + }, + { + "id": "318", + "x": -18492, + "y": -6216, + "edge_ids": [ + "320", + "321", + "368" + ] + }, + { + "id": "324", + "x": -18474, + "y": -6252, + "edge_ids": [ + "365", + "366", + "559" + ] + }, + { + "id": "335", + "x": -18464, + "y": -6282, + "edge_ids": [ + "347", + "366", + "508" + ] + }, + { + "id": "336", + "x": -18454, + "y": -6312, + "edge_ids": [ + "347", + "348", + "515" + ] + }, + { + "id": "337", + "x": -18514, + "y": -6328, + "edge_ids": [ + "348", + "362", + "526" + ] + }, + { + "id": "359", + "x": -18518, + "y": -6308, + "edge_ids": [ + "362", + "363" + ] + }, + { + "id": "360", + "x": -18538, + "y": -6262, + "edge_ids": [ + "363", + "364", + "374" + ] + }, + { + "id": "361", + "x": -18478, + "y": -6244, + "edge_ids": [ + "364", + "365", + "368" + ] + }, + { + "id": "370", + "x": -18546, + "y": -6244, + "edge_ids": [ + "374", + "375" + ] + }, + { + "id": "371", + "x": -18562, + "y": -6218, + "edge_ids": [ + "375", + "376" + ] + }, + { + "id": "372", + "x": -18582, + "y": -6194, + "edge_ids": [ + "376", + "377", + "387" + ] + }, + { + "id": "373", + "x": -18534, + "y": -6158, + "edge_ids": [ + "377", + "380", + "381" + ] + }, + { + "id": "383", + "x": -18554, + "y": -6136, + "edge_ids": [ + "385", + "386", + "404" + ] + }, + { + "id": "384", + "x": -18596, + "y": -6180, + "edge_ids": [ + "386", + "387", + "393" + ] + }, + { + "id": "390", + "x": -18618, + "y": -6160, + "edge_ids": [ + "393", + "394" + ] + }, + { + "id": "391", + "x": -18700, + "y": -6116, + "edge_ids": [ + "394", + "395", + "410" + ] + }, + { + "id": "398", + "x": -18568.13, + "y": -6123.87, + "edge_ids": [ + "400", + "401", + "533" + ] + }, + { + "id": "406", + "x": -18720, + "y": -6108, + "edge_ids": [ + "410", + "411" + ] + }, + { + "id": "407", + "x": -18778, + "y": -6096, + "edge_ids": [ + "411", + "412" + ] + }, + { + "id": "408", + "x": -18802, + "y": -6096, + "edge_ids": [ + "412", + "413" + ] + }, + { + "id": "409", + "x": -18692, + "y": -6054, + "edge_ids": [ + "414", + "415" + ] + }, + { + "id": "425", + "x": -18956, + "y": -6000, + "edge_ids": [ + "439", + "490", + "856" + ] + }, + { + "id": "426", + "x": -18888, + "y": -5978, + "edge_ids": [ + "439", + "440" + ] + }, + { + "id": "427", + "x": -18792, + "y": -5974, + "edge_ids": [ + "440", + "441" + ] + }, + { + "id": "428", + "x": -18746, + "y": -5978, + "edge_ids": [ + "441", + "442" + ] + }, + { + "id": "429", + "x": -18704, + "y": -5984, + "edge_ids": [ + "442", + "493" + ] + }, + { + "id": "455", + "x": -18932, + "y": -6060, + "edge_ids": [ + "463", + "471" + ] + }, + { + "id": "456", + "x": -18940, + "y": -6040, + "edge_ids": [ + "463", + "464", + "490" + ] + }, + { + "id": "457", + "x": -18880, + "y": -6022, + "edge_ids": [ + "464", + "465" + ] + }, + { + "id": "458", + "x": -18844, + "y": -6018, + "edge_ids": [ + "465", + "466" + ] + }, + { + "id": "459", + "x": -18760, + "y": -6016, + "edge_ids": [ + "466", + "467" + ] + }, + { + "id": "460", + "x": -18702, + "y": -6030, + "edge_ids": [ + "467", + "468", + "846" + ] + }, + { + "id": "461", + "x": -18840, + "y": -6038, + "edge_ids": [ + "469", + "470" + ] + }, + { + "id": "462", + "x": -18874, + "y": -6042, + "edge_ids": [ + "470", + "471" + ] + }, + { + "id": "481", + "x": -18662.70588235294, + "y": -6021.764705882353, + "edge_ids": [ + "811", + "800", + "836" + ] + }, + { + "id": "482", + "x": -18622, + "y": -6038, + "edge_ids": [ + "804", + "805" + ] + }, + { + "id": "488", + "x": -18696, + "y": -6010, + "edge_ids": [ + "837", + "838" + ] + }, + { + "id": "489", + "x": -18688, + "y": -5990, + "edge_ids": [ + "493", + "833", + "839" + ] + }, + { + "id": "502", + "x": -18424, + "y": -6270, + "edge_ids": [ + "508", + "509" + ] + }, + { + "id": "503", + "x": -18426, + "y": -6266, + "edge_ids": [ + "509", + "510", + "577" + ] + }, + { + "id": "504", + "x": -18374, + "y": -6260, + "edge_ids": [ + "511", + "512" + ] + }, + { + "id": "505", + "x": -18360, + "y": -6320, + "edge_ids": [ + "512", + "513" + ] + }, + { + "id": "506", + "x": -18434, + "y": -6332, + "edge_ids": [ + "513", + "514", + "522" + ] + }, + { + "id": "507", + "x": -18446, + "y": -6334, + "edge_ids": [ + "514", + "515" + ] + }, + { + "id": "518", + "x": -18430, + "y": -6376, + "edge_ids": [ + "522", + "523" + ] + }, + { + "id": "519", + "x": -18430, + "y": -6408, + "edge_ids": [ + "523", + "524" + ] + }, + { + "id": "520", + "x": -18504, + "y": -6406, + "edge_ids": [ + "524", + "525" + ] + }, + { + "id": "521", + "x": -18504, + "y": -6384, + "edge_ids": [ + "525", + "526" + ] + }, + { + "id": "530", + "x": -18542, + "y": -6094, + "edge_ids": [ + "533", + "534", + "541" + ] + }, + { + "id": "531", + "x": -18512, + "y": -6054, + "edge_ids": [ + "534", + "535", + "544" + ] + }, + { + "id": "538", + "x": -18516, + "y": -6118, + "edge_ids": [ + "541", + "542", + "551" + ] + }, + { + "id": "539", + "x": -18480, + "y": -6086, + "edge_ids": [ + "542", + "543", + "550" + ] + }, + { + "id": "540", + "x": -18500, + "y": -6064, + "edge_ids": [ + "543", + "544" + ] + }, + { + "id": "547", + "x": -18448, + "y": -6120, + "edge_ids": [ + "549", + "550" + ] + }, + { + "id": "555", + "x": -18436, + "y": -6234, + "edge_ids": [ + "559", + "560", + "577" + ] + }, + { + "id": "556", + "x": -18392, + "y": -6216, + "edge_ids": [ + "560", + "561", + "578" + ] + }, + { + "id": "557", + "x": -18400, + "y": -6196, + "edge_ids": [ + "561", + "562" + ] + }, + { + "id": "798", + "x": -18630.58752246793, + "y": -6034.574918784467, + "edge_ids": [ + "803", + "804" + ] + }, + { + "id": "799", + "x": -18621.83785267438, + "y": -6038.069988960231, + "edge_ids": [ + "805", + "806", + "834" + ] + }, + { + "id": "808", + "x": -18652, + "y": -6026, + "edge_ids": [ + "811", + "812" + ] + }, + { + "id": "809", + "x": -18638.87, + "y": -6031.27, + "edge_ids": [ + "812", + "803" + ] + }, + { + "id": "830", + "x": -18613.347303861316, + "y": -6017.093338951488, + "edge_ids": [ + "833", + "834", + "847" + ] + }, + { + "id": "831", + "x": -18696.18181818182, + "y": -6010.606060606061, + "edge_ids": [ + "836", + "837", + "846" + ] + }, + { + "id": "832", + "x": -18692, + "y": -6000, + "edge_ids": [ + "838", + "839" + ] + }, + { + "id": "849", + "x": -18964, + "y": -5978, + "edge_ids": [ + "856", + "857" + ] + }, + { + "id": "850", + "x": -18894, + "y": -5954, + "edge_ids": [ + "857", + "858" + ] + }, + { + "id": "851", + "x": -18852, + "y": -5948, + "edge_ids": [ + "858", + "859" + ] + }, + { + "id": "852", + "x": -18792, + "y": -5946, + "edge_ids": [ + "859", + "860" + ] + }, + { + "id": "853", + "x": -18748, + "y": -5950, + "edge_ids": [ + "860", + "861" + ] + }, + { + "id": "854", + "x": -18700, + "y": -5958, + "edge_ids": [ + "861", + "862" + ] + }, + { + "id": "855", + "x": -18644, + "y": -5976, + "edge_ids": [ + "862", + "863" + ] + } + ], + "edges": [ + { + "id": "143", + "vertex_ids": [ + "126", + "127" + ], + "face_ids": [ + "416", + "472" + ] + }, + { + "id": "144", + "vertex_ids": [ + "127", + "128" + ], + "face_ids": [ + "416", + "472" + ] + }, + { + "id": "186", + "vertex_ids": [ + "179", + "180" + ], + "face_ids": [ + "403", + "814" + ] + }, + { + "id": "193", + "vertex_ids": [ + "132", + "189" + ], + "face_ids": [ + "197" + ] + }, + { + "id": "194", + "vertex_ids": [ + "189", + "190" + ], + "face_ids": [ + "197" + ] + }, + { + "id": "195", + "vertex_ids": [ + "190", + "191" + ], + "face_ids": [ + "197", + "536" + ] + }, + { + "id": "196", + "vertex_ids": [ + "191", + "180" + ], + "face_ids": [ + "197", + "403" + ] + }, + { + "id": "312", + "vertex_ids": [ + "227", + "310" + ], + "face_ids": [ + "322", + "553" + ] + }, + { + "id": "313", + "vertex_ids": [ + "310", + "311" + ], + "face_ids": [ + "379", + "553" + ] + }, + { + "id": "319", + "vertex_ids": [ + "227", + "243" + ], + "face_ids": [ + "322" + ] + }, + { + "id": "320", + "vertex_ids": [ + "243", + "318" + ], + "face_ids": [ + "322", + "563" + ] + }, + { + "id": "321", + "vertex_ids": [ + "318", + "310" + ], + "face_ids": [ + "322", + "379" + ] + }, + { + "id": "347", + "vertex_ids": [ + "335", + "336" + ], + "face_ids": [ + "367", + "516" + ] + }, + { + "id": "348", + "vertex_ids": [ + "336", + "337" + ], + "face_ids": [ + "367", + "527" + ] + }, + { + "id": "362", + "vertex_ids": [ + "337", + "359" + ], + "face_ids": [ + "367" + ] + }, + { + "id": "363", + "vertex_ids": [ + "359", + "360" + ], + "face_ids": [ + "367" + ] + }, + { + "id": "364", + "vertex_ids": [ + "360", + "361" + ], + "face_ids": [ + "367", + "379" + ] + }, + { + "id": "365", + "vertex_ids": [ + "361", + "324" + ], + "face_ids": [ + "367", + "563" + ] + }, + { + "id": "366", + "vertex_ids": [ + "324", + "335" + ], + "face_ids": [ + "367" + ] + }, + { + "id": "368", + "vertex_ids": [ + "318", + "361" + ], + "face_ids": [ + "379", + "563" + ] + }, + { + "id": "374", + "vertex_ids": [ + "360", + "370" + ], + "face_ids": [ + "379" + ] + }, + { + "id": "375", + "vertex_ids": [ + "370", + "371" + ], + "face_ids": [ + "379" + ] + }, + { + "id": "376", + "vertex_ids": [ + "371", + "372" + ], + "face_ids": [ + "379" + ] + }, + { + "id": "377", + "vertex_ids": [ + "372", + "373" + ], + "face_ids": [ + "379", + "388" + ] + }, + { + "id": "380", + "vertex_ids": [ + "311", + "373" + ], + "face_ids": [ + "379", + "553" + ] + }, + { + "id": "381", + "vertex_ids": [ + "373", + "297" + ], + "face_ids": [ + "388", + "553" + ] + }, + { + "id": "385", + "vertex_ids": [ + "297", + "383" + ], + "face_ids": [ + "388" + ] + }, + { + "id": "386", + "vertex_ids": [ + "383", + "384" + ], + "face_ids": [ + "388", + "403" + ] + }, + { + "id": "387", + "vertex_ids": [ + "384", + "372" + ], + "face_ids": [ + "388" + ] + }, + { + "id": "400", + "vertex_ids": [ + "191", + "398" + ], + "face_ids": [ + "403", + "536" + ] + }, + { + "id": "401", + "vertex_ids": [ + "398", + "300" + ], + "face_ids": [ + "403" + ] + }, + { + "id": "393", + "vertex_ids": [ + "384", + "390" + ], + "face_ids": [ + "403" + ] + }, + { + "id": "394", + "vertex_ids": [ + "390", + "391" + ], + "face_ids": [ + "403" + ] + }, + { + "id": "395", + "vertex_ids": [ + "391", + "179" + ], + "face_ids": [ + "403", + "416" + ] + }, + { + "id": "404", + "vertex_ids": [ + "300", + "383" + ], + "face_ids": [ + "403" + ] + }, + { + "id": "410", + "vertex_ids": [ + "391", + "406" + ], + "face_ids": [ + "416" + ] + }, + { + "id": "411", + "vertex_ids": [ + "406", + "407" + ], + "face_ids": [ + "416" + ] + }, + { + "id": "412", + "vertex_ids": [ + "407", + "408" + ], + "face_ids": [ + "416" + ] + }, + { + "id": "413", + "vertex_ids": [ + "408", + "126" + ], + "face_ids": [ + "416" + ] + }, + { + "id": "414", + "vertex_ids": [ + "128", + "409" + ], + "face_ids": [ + "416" + ] + }, + { + "id": "415", + "vertex_ids": [ + "409", + "179" + ], + "face_ids": [ + "416" + ] + }, + { + "id": "439", + "vertex_ids": [ + "425", + "426" + ], + "face_ids": [ + "494", + "864" + ] + }, + { + "id": "440", + "vertex_ids": [ + "426", + "427" + ], + "face_ids": [ + "494", + "864" + ] + }, + { + "id": "441", + "vertex_ids": [ + "427", + "428" + ], + "face_ids": [ + "494", + "864" + ] + }, + { + "id": "442", + "vertex_ids": [ + "428", + "429" + ], + "face_ids": [ + "494", + "864" + ] + }, + { + "id": "463", + "vertex_ids": [ + "455", + "456" + ], + "face_ids": [ + "472" + ] + }, + { + "id": "464", + "vertex_ids": [ + "456", + "457" + ], + "face_ids": [ + "472", + "494" + ] + }, + { + "id": "465", + "vertex_ids": [ + "457", + "458" + ], + "face_ids": [ + "472", + "494" + ] + }, + { + "id": "466", + "vertex_ids": [ + "458", + "459" + ], + "face_ids": [ + "472", + "494" + ] + }, + { + "id": "467", + "vertex_ids": [ + "459", + "460" + ], + "face_ids": [ + "472", + "494" + ] + }, + { + "id": "468", + "vertex_ids": [ + "460", + "128" + ], + "face_ids": [ + "472" + ] + }, + { + "id": "469", + "vertex_ids": [ + "126", + "461" + ], + "face_ids": [ + "472" + ] + }, + { + "id": "470", + "vertex_ids": [ + "461", + "462" + ], + "face_ids": [ + "472" + ] + }, + { + "id": "471", + "vertex_ids": [ + "462", + "455" + ], + "face_ids": [ + "472" + ] + }, + { + "id": "490", + "vertex_ids": [ + "425", + "456" + ], + "face_ids": [ + "494" + ] + }, + { + "id": "493", + "vertex_ids": [ + "489", + "429" + ], + "face_ids": [ + "494", + "864" + ] + }, + { + "id": "508", + "vertex_ids": [ + "335", + "502" + ], + "face_ids": [ + "516" + ] + }, + { + "id": "509", + "vertex_ids": [ + "502", + "503" + ], + "face_ids": [ + "516" + ] + }, + { + "id": "510", + "vertex_ids": [ + "503", + "252" + ], + "face_ids": [ + "516", + "579" + ] + }, + { + "id": "511", + "vertex_ids": [ + "252", + "504" + ], + "face_ids": [ + "516" + ] + }, + { + "id": "512", + "vertex_ids": [ + "504", + "505" + ], + "face_ids": [ + "516" + ] + }, + { + "id": "513", + "vertex_ids": [ + "505", + "506" + ], + "face_ids": [ + "516" + ] + }, + { + "id": "514", + "vertex_ids": [ + "506", + "507" + ], + "face_ids": [ + "516", + "527" + ] + }, + { + "id": "515", + "vertex_ids": [ + "507", + "336" + ], + "face_ids": [ + "516", + "527" + ] + }, + { + "id": "522", + "vertex_ids": [ + "506", + "518" + ], + "face_ids": [ + "527" + ] + }, + { + "id": "523", + "vertex_ids": [ + "518", + "519" + ], + "face_ids": [ + "527" + ] + }, + { + "id": "524", + "vertex_ids": [ + "519", + "520" + ], + "face_ids": [ + "527" + ] + }, + { + "id": "525", + "vertex_ids": [ + "520", + "521" + ], + "face_ids": [ + "527" + ] + }, + { + "id": "526", + "vertex_ids": [ + "521", + "337" + ], + "face_ids": [ + "527" + ] + }, + { + "id": "533", + "vertex_ids": [ + "398", + "530" + ], + "face_ids": [ + "536" + ] + }, + { + "id": "534", + "vertex_ids": [ + "530", + "531" + ], + "face_ids": [ + "536", + "545" + ] + }, + { + "id": "535", + "vertex_ids": [ + "531", + "190" + ], + "face_ids": [ + "536" + ] + }, + { + "id": "541", + "vertex_ids": [ + "530", + "538" + ], + "face_ids": [ + "545" + ] + }, + { + "id": "542", + "vertex_ids": [ + "538", + "539" + ], + "face_ids": [ + "545", + "553" + ] + }, + { + "id": "543", + "vertex_ids": [ + "539", + "540" + ], + "face_ids": [ + "545" + ] + }, + { + "id": "544", + "vertex_ids": [ + "540", + "531" + ], + "face_ids": [ + "545" + ] + }, + { + "id": "549", + "vertex_ids": [ + "227", + "547" + ], + "face_ids": [ + "553" + ] + }, + { + "id": "550", + "vertex_ids": [ + "547", + "539" + ], + "face_ids": [ + "553" + ] + }, + { + "id": "551", + "vertex_ids": [ + "538", + "297" + ], + "face_ids": [ + "553" + ] + }, + { + "id": "559", + "vertex_ids": [ + "324", + "555" + ], + "face_ids": [ + "563" + ] + }, + { + "id": "560", + "vertex_ids": [ + "555", + "556" + ], + "face_ids": [ + "563", + "579" + ] + }, + { + "id": "561", + "vertex_ids": [ + "556", + "557" + ], + "face_ids": [ + "563" + ] + }, + { + "id": "562", + "vertex_ids": [ + "557", + "243" + ], + "face_ids": [ + "563" + ] + }, + { + "id": "577", + "vertex_ids": [ + "555", + "503" + ], + "face_ids": [ + "579" + ] + }, + { + "id": "578", + "vertex_ids": [ + "252", + "556" + ], + "face_ids": [ + "579" + ] + }, + { + "id": "811", + "vertex_ids": [ + "481", + "808" + ], + "face_ids": [ + "814", + "845" + ] + }, + { + "id": "812", + "vertex_ids": [ + "808", + "809" + ], + "face_ids": [ + "814", + "845" + ] + }, + { + "id": "800", + "vertex_ids": [ + "179", + "481" + ], + "face_ids": [ + "814" + ] + }, + { + "id": "803", + "vertex_ids": [ + "809", + "798" + ], + "face_ids": [ + "814", + "845" + ] + }, + { + "id": "804", + "vertex_ids": [ + "798", + "482" + ], + "face_ids": [ + "814", + "845" + ] + }, + { + "id": "805", + "vertex_ids": [ + "482", + "799" + ], + "face_ids": [ + "814", + "845" + ] + }, + { + "id": "806", + "vertex_ids": [ + "799", + "180" + ], + "face_ids": [ + "197", + "814" + ] + }, + { + "id": "833", + "vertex_ids": [ + "489", + "830" + ], + "face_ids": [ + "845", + "864" + ] + }, + { + "id": "834", + "vertex_ids": [ + "830", + "799" + ], + "face_ids": [ + "197", + "845" + ] + }, + { + "id": "836", + "vertex_ids": [ + "481", + "831" + ], + "face_ids": [ + "845" + ] + }, + { + "id": "837", + "vertex_ids": [ + "831", + "488" + ], + "face_ids": [ + "494", + "845" + ] + }, + { + "id": "838", + "vertex_ids": [ + "488", + "832" + ], + "face_ids": [ + "494", + "845" + ] + }, + { + "id": "839", + "vertex_ids": [ + "832", + "489" + ], + "face_ids": [ + "494", + "845" + ] + }, + { + "id": "846", + "vertex_ids": [ + "460", + "831" + ], + "face_ids": [ + "494" + ] + }, + { + "id": "847", + "vertex_ids": [ + "830", + "132" + ], + "face_ids": [ + "197", + "864" + ] + }, + { + "id": "856", + "vertex_ids": [ + "425", + "849" + ], + "face_ids": [ + "864" + ] + }, + { + "id": "857", + "vertex_ids": [ + "849", + "850" + ], + "face_ids": [ + "864" + ] + }, + { + "id": "858", + "vertex_ids": [ + "850", + "851" + ], + "face_ids": [ + "864" + ] + }, + { + "id": "859", + "vertex_ids": [ + "851", + "852" + ], + "face_ids": [ + "864" + ] + }, + { + "id": "860", + "vertex_ids": [ + "852", + "853" + ], + "face_ids": [ + "864" + ] + }, + { + "id": "861", + "vertex_ids": [ + "853", + "854" + ], + "face_ids": [ + "864" + ] + }, + { + "id": "862", + "vertex_ids": [ + "854", + "855" + ], + "face_ids": [ + "864" + ] + }, + { + "id": "863", + "vertex_ids": [ + "855", + "132" + ], + "face_ids": [ + "864" + ] + } + ], + "faces": [ + { + "id": "197", + "edge_ids": [ + "806", + "834", + "847", + "193", + "194", + "195", + "196" + ], + "edge_order": [ + 0, + 0, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "id": "322", + "edge_ids": [ + "312", + "319", + "320", + "321" + ], + "edge_order": [ + 0, + 1, + 1, + 1 + ] + }, + { + "id": "367", + "edge_ids": [ + "348", + "362", + "363", + "364", + "365", + "366", + "347" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "id": "379", + "edge_ids": [ + "368", + "321", + "313", + "380", + "377", + "376", + "375", + "374", + "364" + ], + "edge_order": [ + 0, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 1 + ] + }, + { + "id": "388", + "edge_ids": [ + "377", + "381", + "385", + "386", + "387" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "id": "403", + "edge_ids": [ + "386", + "393", + "394", + "395", + "186", + "196", + "400", + "401", + "404" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 1 + ] + }, + { + "id": "416", + "edge_ids": [ + "410", + "411", + "412", + "413", + "143", + "144", + "414", + "415", + "395" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0 + ] + }, + { + "id": "472", + "edge_ids": [ + "463", + "464", + "465", + "466", + "467", + "468", + "144", + "143", + "469", + "470", + "471" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 1, + 1, + 1 + ] + }, + { + "id": "494", + "edge_ids": [ + "490", + "464", + "465", + "466", + "467", + "846", + "837", + "838", + "839", + "493", + "442", + "441", + "440", + "439" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0 + ] + }, + { + "id": "516", + "edge_ids": [ + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "347" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0 + ] + }, + { + "id": "527", + "edge_ids": [ + "348", + "515", + "514", + "522", + "523", + "524", + "525", + "526" + ], + "edge_order": [ + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "id": "536", + "edge_ids": [ + "400", + "533", + "534", + "535", + "195" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "id": "545", + "edge_ids": [ + "541", + "542", + "543", + "544", + "534" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 0 + ] + }, + { + "id": "553", + "edge_ids": [ + "381", + "380", + "313", + "312", + "549", + "550", + "542", + "551" + ], + "edge_order": [ + 0, + 0, + 0, + 0, + 1, + 1, + 0, + 1 + ] + }, + { + "id": "563", + "edge_ids": [ + "368", + "365", + "559", + "560", + "561", + "562", + "320" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "id": "579", + "edge_ids": [ + "577", + "510", + "578", + "560" + ], + "edge_order": [ + 1, + 1, + 1, + 0 + ] + }, + { + "id": "814", + "edge_ids": [ + "805", + "804", + "803", + "812", + "811", + "800", + "186", + "806" + ], + "edge_order": [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ] + }, + { + "id": "845", + "edge_ids": [ + "833", + "834", + "805", + "804", + "803", + "812", + "811", + "836", + "837", + "838", + "839" + ], + "edge_order": [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + { + "id": "864", + "edge_ids": [ + "833", + "493", + "442", + "441", + "440", + "439", + "856", + "857", + "858", + "859", + "860", + "861", + "862", + "863", + "847" + ], + "edge_order": [ + 0, + 1, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0 + ] + } + ] + }, + "spaces": [ + { + "id": "188", + "handle": null, + "name": "Space 1-1", + "face_id": "197", + "building_unit_id": null, + "thermal_zone_id": "tz_1", + "space_type_id": "790", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 5238 + }, + { + "id": "317", + "handle": null, + "name": "Space 1-2", + "face_id": "322", + "building_unit_id": null, + "thermal_zone_id": "tz_2", + "space_type_id": "791", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 2452 + }, + { + "id": "358", + "handle": null, + "name": "Space 1-3", + "face_id": "367", + "building_unit_id": null, + "thermal_zone_id": "tz_3", + "space_type_id": "791", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 4360 + }, + { + "id": "369", + "handle": null, + "name": "Space 1-4", + "face_id": "379", + "building_unit_id": null, + "thermal_zone_id": "tz_4", + "space_type_id": "792", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 5612.149999999907 + }, + { + "id": "382", + "handle": null, + "name": "Space 1-5", + "face_id": "388", + "building_unit_id": null, + "thermal_zone_id": "tz_5", + "space_type_id": "791", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1500 + }, + { + "id": "389", + "handle": null, + "name": "Space 1-6", + "face_id": "403", + "building_unit_id": null, + "thermal_zone_id": "tz_6", + "space_type_id": "790", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 8232.389999999956 + }, + { + "id": "405", + "handle": null, + "name": "Space 1-7", + "face_id": "416", + "building_unit_id": null, + "thermal_zone_id": "tz_7", + "space_type_id": "790", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 6906 + }, + { + "id": "454", + "handle": null, + "name": "Space 1-8", + "face_id": "472", + "building_unit_id": null, + "thermal_zone_id": "tz_8", + "space_type_id": "791", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 4920 + }, + { + "id": "487", + "handle": null, + "name": "Space 1-9", + "face_id": "494", + "building_unit_id": null, + "thermal_zone_id": "tz_9", + "space_type_id": "790", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 10943.999999999942 + }, + { + "id": "501", + "handle": null, + "name": "Space 1-10", + "face_id": "516", + "building_unit_id": null, + "thermal_zone_id": "tz_10", + "space_type_id": "790", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 5816 + }, + { + "id": "517", + "handle": null, + "name": "Space 1-11", + "face_id": "527", + "building_unit_id": null, + "thermal_zone_id": "tz_11", + "space_type_id": "790", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 6482 + }, + { + "id": "528", + "handle": null, + "name": "Space 1-12", + "face_id": "536", + "building_unit_id": null, + "thermal_zone_id": "tz_12", + "space_type_id": "790", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 3653.969999999972 + }, + { + "id": "537", + "handle": null, + "name": "Space 1-13", + "face_id": "545", + "building_unit_id": null, + "thermal_zone_id": "tz_13", + "space_type_id": "791", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 2000 + }, + { + "id": "546", + "handle": null, + "name": "Space 1-14", + "face_id": "553", + "building_unit_id": null, + "thermal_zone_id": "tz_14", + "space_type_id": "790", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 6693.850000000093 + }, + { + "id": "554", + "handle": null, + "name": "Space 1-15", + "face_id": "563", + "building_unit_id": null, + "thermal_zone_id": "tz_15", + "space_type_id": "790", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 3582 + }, + { + "id": "564", + "handle": null, + "name": "Space 1-16", + "face_id": "579", + "building_unit_id": null, + "thermal_zone_id": "tz_16", + "space_type_id": "791", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1604 + }, + { + "id": "795", + "handle": null, + "name": "Space 1-18", + "face_id": "814", + "building_unit_id": null, + "thermal_zone_id": "tz_17", + "space_type_id": "790", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1850.5852286721348 + }, + { + "id": "816", + "handle": null, + "name": "Space 1-19", + "face_id": "845", + "building_unit_id": null, + "thermal_zone_id": "tz_18", + "space_type_id": "790", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1731.4879846839468 + }, + { + "id": "848", + "handle": null, + "name": "Space 1-20", + "face_id": "864", + "building_unit_id": null, + "thermal_zone_id": "tz_19", + "space_type_id": "791", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 9628.614843685005 + } + ], + "shading": [], + "windows": [ + { + "edge_id": "543", + "alpha": 0.4999999999999547, + "window_definition_id": 1, + "id": 1, + "name": "window 1" + }, + { + "edge_id": "550", + "alpha": 0.49999999999997166, + "window_definition_id": 2, + "id": 2, + "name": "window 2" + }, + { + "edge_id": "549", + "alpha": 0.5000000000000078, + "window_definition_id": 3, + "id": 3, + "name": "window 3" + }, + { + "edge_id": "319", + "alpha": 0.4999999999999629, + "window_definition_id": 4, + "id": 4, + "name": "window 4" + }, + { + "edge_id": "562", + "alpha": 0.5, + "window_definition_id": 5, + "id": 5, + "name": "window 5" + }, + { + "edge_id": "561", + "alpha": 0.2069473684210093, + "window_definition_id": 6, + "id": 6, + "name": "window 6" + }, + { + "edge_id": "578", + "alpha": 0.6943684210526605, + "window_definition_id": 7, + "id": 7, + "name": "window 7" + }, + { + "edge_id": "511", + "alpha": 0.5, + "window_definition_id": 8, + "id": 8, + "name": "window 8" + }, + { + "edge_id": "512", + "alpha": 0.5000000000000143, + "window_definition_id": 9, + "id": 9, + "name": "window 9" + }, + { + "edge_id": "513", + "alpha": 0.5, + "window_definition_id": 10, + "id": 10, + "name": "window 10" + }, + { + "edge_id": "522", + "alpha": 0.5, + "window_definition_id": 11, + "id": 11, + "name": "window 11" + }, + { + "edge_id": "523", + "alpha": 0.5, + "window_definition_id": 12, + "id": 12, + "name": "window 12" + }, + { + "edge_id": "524", + "alpha": 0.5, + "window_definition_id": 13, + "id": 13, + "name": "window 13" + }, + { + "edge_id": "525", + "alpha": 0.5, + "window_definition_id": 14, + "id": 14, + "name": "window 14" + }, + { + "edge_id": "526", + "alpha": 0.5, + "window_definition_id": 15, + "id": 15, + "name": "window 15" + }, + { + "edge_id": "362", + "alpha": 0.5000000000000175, + "window_definition_id": 16, + "id": 16, + "name": "window 16" + }, + { + "edge_id": "363", + "alpha": 0.5, + "window_definition_id": 17, + "id": 17, + "name": "window 17" + }, + { + "edge_id": "374", + "alpha": 0.5, + "window_definition_id": 18, + "id": 18, + "name": "window 18" + }, + { + "edge_id": "375", + "alpha": 0.5000000000000118, + "window_definition_id": 19, + "id": 19, + "name": "window 19" + }, + { + "edge_id": "376", + "alpha": 0.5000000000000447, + "window_definition_id": 20, + "id": 20, + "name": "window 20" + }, + { + "edge_id": "387", + "alpha": 0.5, + "window_definition_id": 21, + "id": 21, + "name": "window 21" + }, + { + "edge_id": "393", + "alpha": 0.5, + "window_definition_id": 22, + "id": 22, + "name": "window 22" + }, + { + "edge_id": "394", + "alpha": 0.5000000000000344, + "window_definition_id": 23, + "id": 23, + "name": "window 23" + }, + { + "edge_id": "410", + "alpha": 0.5000000000000314, + "window_definition_id": 24, + "id": 24, + "name": "window 24" + }, + { + "edge_id": "411", + "alpha": 0.5, + "window_definition_id": 25, + "id": 25, + "name": "window 25" + }, + { + "edge_id": "412", + "alpha": 0.5, + "window_definition_id": 26, + "id": 26, + "name": "window 26" + }, + { + "edge_id": "413", + "alpha": 0.5, + "window_definition_id": 27, + "id": 27, + "name": "window 27" + }, + { + "edge_id": "469", + "alpha": 0.5, + "window_definition_id": 28, + "id": 28, + "name": "window 28" + }, + { + "edge_id": "470", + "alpha": 0.5000000000000031, + "window_definition_id": 29, + "id": 29, + "name": "window 29" + }, + { + "edge_id": "471", + "alpha": 0.4999999999999956, + "window_definition_id": 30, + "id": 30, + "name": "window 30" + }, + { + "edge_id": "463", + "alpha": 0.8522631578947261, + "window_definition_id": 31, + "id": 31, + "name": "window 31" + }, + { + "edge_id": "490", + "alpha": 0.6746315789473749, + "window_definition_id": 32, + "id": 32, + "name": "window 32" + }, + { + "edge_id": "856", + "alpha": 0.49999999999992697, + "window_definition_id": 33, + "id": 33, + "name": "window 33" + }, + { + "edge_id": "836", + "alpha": 0.49999999999998787, + "window_definition_id": 34, + "id": 34, + "name": "window 34" + }, + { + "edge_id": "846", + "alpha": 0.2614572368420816, + "window_definition_id": 35, + "id": 35, + "name": "window 35" + }, + { + "edge_id": "468", + "alpha": 0.26974641148320258, + "window_definition_id": 36, + "id": 36, + "name": "window 36" + }, + { + "edge_id": "800", + "alpha": 0.5000000000000164, + "window_definition_id": 37, + "id": 37, + "name": "window 37" + }, + { + "edge_id": "577", + "alpha": 0.5, + "window_definition_id": 38, + "id": 38, + "name": "window 38" + }, + { + "edge_id": "509", + "alpha": 0.5, + "window_definition_id": 39, + "id": 39, + "name": "window 39" + }, + { + "edge_id": "366", + "alpha": 0.4999999999999818, + "window_definition_id": 40, + "id": 40, + "name": "window 40" + }, + { + "edge_id": "559", + "alpha": 0.5000000000000092, + "window_definition_id": 41, + "id": 41, + "name": "window 41" + }, + { + "edge_id": "385", + "alpha": 0.5, + "window_definition_id": 42, + "id": 42, + "name": "window 42" + }, + { + "edge_id": "401", + "alpha": 0.49999999999125485, + "window_definition_id": 43, + "id": 43, + "name": "window 43" + }, + { + "edge_id": "533", + "alpha": 0.4999999999999784, + "window_definition_id": 44, + "id": 44, + "name": "window 44" + }, + { + "edge_id": "541", + "alpha": 0.5000000000000174, + "window_definition_id": 45, + "id": 45, + "name": "window 45" + } + ], + "doors": [], + "construction_lines": [ + { + "id": "20", + "start": { + "x": 0, + "y": -30 + }, + "end": { + "x": 90, + "y": -15 + } + }, + { + "id": "21", + "start": { + "x": 75, + "y": 45 + }, + "end": { + "x": 90, + "y": -15 + } + }, + { + "id": "22", + "start": { + "x": 55, + "y": 95 + }, + "end": { + "x": 75, + "y": 45 + } + }, + { + "id": "23", + "start": { + "x": 25, + "y": 150 + }, + "end": { + "x": 55, + "y": 95 + } + }, + { + "id": "24", + "start": { + "x": 0, + "y": 185 + }, + "end": { + "x": 25, + "y": 150 + } + }, + { + "id": "25", + "start": { + "x": -25, + "y": 215 + }, + "end": { + "x": 0, + "y": 185 + } + }, + { + "id": "26", + "start": { + "x": -60, + "y": 250 + }, + "end": { + "x": -25, + "y": 215 + } + }, + { + "id": "27", + "start": { + "x": -95, + "y": 275 + }, + "end": { + "x": -60, + "y": 250 + } + }, + { + "id": "28", + "start": { + "x": -130, + "y": 300 + }, + "end": { + "x": -95, + "y": 275 + } + }, + { + "id": "29", + "start": { + "x": -180, + "y": 325 + }, + "end": { + "x": -130, + "y": 300 + } + }, + { + "id": "30", + "start": { + "x": -225, + "y": 340 + }, + "end": { + "x": -180, + "y": 325 + } + }, + { + "id": "31", + "start": { + "x": -265, + "y": 350 + }, + "end": { + "x": -225, + "y": 340 + } + }, + { + "id": "32", + "start": { + "x": -285, + "y": 355 + }, + "end": { + "x": -265, + "y": 350 + } + }, + { + "id": "33", + "start": { + "x": -325, + "y": 360 + }, + "end": { + "x": -285, + "y": 355 + } + }, + { + "id": "34", + "start": { + "x": -360, + "y": 360 + }, + "end": { + "x": -325, + "y": 360 + } + }, + { + "id": "35", + "start": { + "x": -405, + "y": 355 + }, + "end": { + "x": -360, + "y": 360 + } + }, + { + "id": "36", + "start": { + "x": -445, + "y": 350 + }, + "end": { + "x": -405, + "y": 355 + } + }, + { + "id": "37", + "start": { + "x": -470, + "y": 345 + }, + "end": { + "x": -445, + "y": 350 + } + }, + { + "id": "38", + "start": { + "x": -515, + "y": 330 + }, + "end": { + "x": -470, + "y": 345 + } + }, + { + "id": "39", + "start": { + "x": -515, + "y": 330 + }, + "end": { + "x": -485, + "y": 245 + } + }, + { + "id": "40", + "start": { + "x": -55, + "y": -100 + }, + "end": { + "x": 20, + "y": -100 + } + }, + { + "id": "41", + "start": { + "x": 15, + "y": -25 + }, + "end": { + "x": 20, + "y": -100 + } + }, + { + "id": "42", + "start": { + "x": -55, + "y": -100 + }, + "end": { + "x": -55, + "y": -65 + } + }, + { + "id": "43", + "start": { + "x": -60, + "y": -35 + }, + "end": { + "x": -55, + "y": -35 + } + }, + { + "id": "44", + "start": { + "x": -60, + "y": -35 + }, + "end": { + "x": -55, + "y": -65 + } + }, + { + "id": "45", + "start": { + "x": -65, + "y": -10 + }, + "end": { + "x": -60, + "y": -35 + } + }, + { + "id": "46", + "start": { + "x": -75, + "y": 15 + }, + "end": { + "x": -65, + "y": -10 + } + }, + { + "id": "47", + "start": { + "x": -5, + "y": -5 + }, + "end": { + "x": 0, + "y": -30 + } + }, + { + "id": "48", + "start": { + "x": -10, + "y": 15 + }, + "end": { + "x": -5, + "y": -5 + } + }, + { + "id": "49", + "start": { + "x": -15, + "y": 30 + }, + "end": { + "x": -10, + "y": 15 + } + }, + { + "id": "50", + "start": { + "x": -20, + "y": 45 + }, + "end": { + "x": -15, + "y": 30 + } + }, + { + "id": "51", + "start": { + "x": -485, + "y": 245 + }, + "end": { + "x": -455, + "y": 255 + } + }, + { + "id": "52", + "start": { + "x": -455, + "y": 255 + }, + "end": { + "x": -430, + "y": 260 + } + }, + { + "id": "53", + "start": { + "x": -430, + "y": 260 + }, + "end": { + "x": -405, + "y": 265 + } + }, + { + "id": "55", + "start": { + "x": -350, + "y": 195 + }, + "end": { + "x": -325, + "y": 265 + } + }, + { + "id": "69", + "start": { + "x": -18434, + "y": -6332 + }, + "end": { + "x": -18360, + "y": -6320 + } + }, + { + "id": "70", + "start": { + "x": -18434, + "y": -6332 + }, + "end": { + "x": -18430, + "y": -6376 + } + }, + { + "id": "71", + "start": { + "x": -18430, + "y": -6408 + }, + "end": { + "x": -18430, + "y": -6376 + } + }, + { + "id": "72", + "start": { + "x": -18504, + "y": -6406 + }, + "end": { + "x": -18430, + "y": -6408 + } + }, + { + "id": "73", + "start": { + "x": -18504, + "y": -6406 + }, + "end": { + "x": -18504, + "y": -6384 + } + }, + { + "id": "74", + "start": { + "x": -18518, + "y": -6308 + }, + "end": { + "x": -18504, + "y": -6384 + } + }, + { + "id": "75", + "start": { + "x": -18546, + "y": -6244 + }, + "end": { + "x": -18518, + "y": -6308 + } + }, + { + "id": "76", + "start": { + "x": -18562, + "y": -6218 + }, + "end": { + "x": -18546, + "y": -6244 + } + }, + { + "id": "77", + "start": { + "x": -18582, + "y": -6194 + }, + "end": { + "x": -18562, + "y": -6218 + } + }, + { + "id": "78", + "start": { + "x": -18602, + "y": -6174 + }, + "end": { + "x": -18582, + "y": -6194 + } + }, + { + "id": "79", + "start": { + "x": -18618, + "y": -6160 + }, + "end": { + "x": -18602, + "y": -6174 + } + }, + { + "id": "80", + "start": { + "x": -18638, + "y": -6146 + }, + "end": { + "x": -18618, + "y": -6160 + } + }, + { + "id": "81", + "start": { + "x": -18654, + "y": -6136 + }, + "end": { + "x": -18638, + "y": -6146 + } + }, + { + "id": "82", + "start": { + "x": -18684, + "y": -6122 + }, + "end": { + "x": -18654, + "y": -6136 + } + }, + { + "id": "83", + "start": { + "x": -18720, + "y": -6108 + }, + "end": { + "x": -18684, + "y": -6122 + } + }, + { + "id": "84", + "start": { + "x": -18754, + "y": -6100 + }, + "end": { + "x": -18720, + "y": -6108 + } + }, + { + "id": "85", + "start": { + "x": -18778, + "y": -6096 + }, + "end": { + "x": -18754, + "y": -6100 + } + }, + { + "id": "86", + "start": { + "x": -18802, + "y": -6096 + }, + "end": { + "x": -18778, + "y": -6096 + } + }, + { + "id": "87", + "start": { + "x": -18802, + "y": -6096 + }, + "end": { + "x": -18802, + "y": -6038 + } + }, + { + "id": "88", + "start": { + "x": -18840, + "y": -6038 + }, + "end": { + "x": -18802, + "y": -6038 + } + }, + { + "id": "89", + "start": { + "x": -18874, + "y": -6042 + }, + "end": { + "x": -18840, + "y": -6038 + } + }, + { + "id": "90", + "start": { + "x": -18932, + "y": -6060 + }, + "end": { + "x": -18874, + "y": -6042 + } + }, + { + "id": "91", + "start": { + "x": -18964, + "y": -5978 + }, + "end": { + "x": -18932, + "y": -6060 + } + }, + { + "id": "92", + "start": { + "x": -18964, + "y": -5978 + }, + "end": { + "x": -18894, + "y": -5954 + } + }, + { + "id": "93", + "start": { + "x": -18894, + "y": -5954 + }, + "end": { + "x": -18852, + "y": -5948 + } + }, + { + "id": "94", + "start": { + "x": -18852, + "y": -5948 + }, + "end": { + "x": -18792, + "y": -5946 + } + }, + { + "id": "95", + "start": { + "x": -18792, + "y": -5946 + }, + "end": { + "x": -18748, + "y": -5950 + } + }, + { + "id": "96", + "start": { + "x": -18748, + "y": -5950 + }, + "end": { + "x": -18700, + "y": -5958 + } + }, + { + "id": "97", + "start": { + "x": -18700, + "y": -5958 + }, + "end": { + "x": -18644, + "y": -5976 + } + }, + { + "id": "98", + "start": { + "x": -18644, + "y": -5976 + }, + "end": { + "x": -18582, + "y": -6004 + } + }, + { + "id": "99", + "start": { + "x": -18582, + "y": -6004 + }, + "end": { + "x": -18546, + "y": -6026 + } + }, + { + "id": "100", + "start": { + "x": -18546, + "y": -6026 + }, + "end": { + "x": -18500, + "y": -6064 + } + }, + { + "id": "101", + "start": { + "x": -18500, + "y": -6064 + }, + "end": { + "x": -18448, + "y": -6120 + } + }, + { + "id": "102", + "start": { + "x": -18448, + "y": -6120 + }, + "end": { + "x": -18418, + "y": -6166 + } + }, + { + "id": "103", + "start": { + "x": -18418, + "y": -6166 + }, + "end": { + "x": -18400, + "y": -6196 + } + }, + { + "id": "104", + "start": { + "x": -18400, + "y": -6196 + }, + "end": { + "x": -18374, + "y": -6260 + } + }, + { + "id": "105", + "start": { + "x": -18374, + "y": -6260 + }, + "end": { + "x": -18360, + "y": -6320 + } + }, + { + "id": "106", + "start": { + "x": -18708, + "y": -6050 + }, + "end": { + "x": -18696, + "y": -6010 + } + }, + { + "id": "107", + "start": { + "x": -18698, + "y": -6010 + }, + "end": { + "x": -18662, + "y": -6022 + } + }, + { + "id": "108", + "start": { + "x": -18678, + "y": -6060 + }, + "end": { + "x": -18662, + "y": -6020 + } + }, + { + "id": "109", + "start": { + "x": -18708, + "y": -6050 + }, + "end": { + "x": -18692, + "y": -6054 + } + }, + { + "id": "110", + "start": { + "x": -18692, + "y": -6054 + }, + "end": { + "x": -18678, + "y": -6060 + } + }, + { + "id": "111", + "start": { + "x": -18544, + "y": -6092 + }, + "end": { + "x": -18516, + "y": -6118 + } + }, + { + "id": "112", + "start": { + "x": -18546, + "y": -6148 + }, + "end": { + "x": -18516, + "y": -6118 + } + }, + { + "id": "113", + "start": { + "x": -18570, + "y": -6126 + }, + "end": { + "x": -18542, + "y": -6094 + } + }, + { + "id": "114", + "start": { + "x": -18570, + "y": -6122 + }, + "end": { + "x": -18556, + "y": -6136 + } + }, + { + "id": "115", + "start": { + "x": -18556, + "y": -6136 + }, + "end": { + "x": -18544, + "y": -6148 + } + }, + { + "id": "116", + "start": { + "x": -18438, + "y": -6234 + }, + "end": { + "x": -18424, + "y": -6270 + } + }, + { + "id": "117", + "start": { + "x": -18464, + "y": -6282 + }, + "end": { + "x": -18424, + "y": -6268 + } + }, + { + "id": "118", + "start": { + "x": -18476, + "y": -6252 + }, + "end": { + "x": -18436, + "y": -6234 + } + }, + { + "id": "119", + "start": { + "x": -18476, + "y": -6250 + }, + "end": { + "x": -18468, + "y": -6268 + } + }, + { + "id": "120", + "start": { + "x": -18468, + "y": -6268 + }, + "end": { + "x": -18464, + "y": -6282 + } + } + ], + "area": 93207.04805704096 + }, + { + "id": "580", + "handle": null, + "name": "Story 2", + "image_id": null, + "below_floor_plenum_height": 0, + "floor_to_ceiling_height": 18, + "above_ceiling_plenum_height": 0, + "multiplier": 1, + "color": "#332288", + "geometry": { + "id": "581", + "vertices": [ + { + "id": "669", + "x": -18514, + "y": -6328, + "edge_ids": [ + "676", + "682", + "692" + ] + }, + { + "id": "670", + "x": -18504, + "y": -6384, + "edge_ids": [ + "676", + "677" + ] + }, + { + "id": "671", + "x": -18504, + "y": -6406, + "edge_ids": [ + "677", + "678" + ] + }, + { + "id": "672", + "x": -18430, + "y": -6408, + "edge_ids": [ + "678", + "679" + ] + }, + { + "id": "673", + "x": -18430, + "y": -6376, + "edge_ids": [ + "679", + "680" + ] + }, + { + "id": "674", + "x": -18434, + "y": -6332, + "edge_ids": [ + "680", + "681" + ] + }, + { + "id": "675", + "x": -18440, + "y": -6308, + "edge_ids": [ + "681", + "682", + "699" + ] + }, + { + "id": "685", + "x": -18518, + "y": -6308, + "edge_ids": [ + "692", + "693" + ] + }, + { + "id": "686", + "x": -18538, + "y": -6262, + "edge_ids": [ + "693", + "694", + "714" + ] + }, + { + "id": "687", + "x": -18468, + "y": -6234, + "edge_ids": [ + "694", + "695", + "708" + ] + }, + { + "id": "688", + "x": -18462, + "y": -6246, + "edge_ids": [ + "695", + "696" + ] + }, + { + "id": "689", + "x": -18474, + "y": -6252, + "edge_ids": [ + "696", + "697" + ] + }, + { + "id": "690", + "x": -18464, + "y": -6282, + "edge_ids": [ + "697", + "698" + ] + }, + { + "id": "691", + "x": -18450, + "y": -6278, + "edge_ids": [ + "698", + "699" + ] + }, + { + "id": "702", + "x": -18478, + "y": -6210, + "edge_ids": [ + "708", + "709" + ] + }, + { + "id": "703", + "x": -18490, + "y": -6188, + "edge_ids": [ + "709", + "710" + ] + }, + { + "id": "704", + "x": -18522, + "y": -6150, + "edge_ids": [ + "710", + "711", + "721" + ] + }, + { + "id": "705", + "x": -18582, + "y": -6194, + "edge_ids": [ + "711", + "712", + "725" + ] + }, + { + "id": "706", + "x": -18562, + "y": -6218, + "edge_ids": [ + "712", + "713" + ] + }, + { + "id": "707", + "x": -18546, + "y": -6244, + "edge_ids": [ + "713", + "714" + ] + }, + { + "id": "717", + "x": -18534, + "y": -6136, + "edge_ids": [ + "721", + "722" + ] + }, + { + "id": "718", + "x": -18544, + "y": -6146, + "edge_ids": [ + "722", + "723" + ] + }, + { + "id": "719", + "x": -18554, + "y": -6136, + "edge_ids": [ + "723", + "724", + "740" + ] + }, + { + "id": "720", + "x": -18596, + "y": -6180, + "edge_ids": [ + "724", + "725", + "734" + ] + }, + { + "id": "728", + "x": -18618, + "y": -6160, + "edge_ids": [ + "734", + "735" + ] + }, + { + "id": "729", + "x": -18640, + "y": -6148, + "edge_ids": [ + "735", + "736", + "764" + ] + }, + { + "id": "730", + "x": -18592, + "y": -6090, + "edge_ids": [ + "736", + "737", + "759" + ] + }, + { + "id": "731", + "x": -18572, + "y": -6104, + "edge_ids": [ + "737", + "738" + ] + }, + { + "id": "732", + "x": -18560, + "y": -6114, + "edge_ids": [ + "738", + "739" + ] + }, + { + "id": "733", + "x": -18568.13, + "y": -6123.87, + "edge_ids": [ + "739", + "740" + ] + }, + { + "id": "754", + "x": -18620, + "y": -6074, + "edge_ids": [ + "759", + "760" + ] + }, + { + "id": "755", + "x": -18646, + "y": -6060, + "edge_ids": [ + "760", + "761" + ] + }, + { + "id": "756", + "x": -18672, + "y": -6050, + "edge_ids": [ + "761", + "762" + ] + }, + { + "id": "757", + "x": -18674, + "y": -6050, + "edge_ids": [ + "762", + "789" + ] + }, + { + "id": "758", + "x": -18700, + "y": -6116, + "edge_ids": [ + "764", + "777", + "787" + ] + }, + { + "id": "767", + "x": -18720, + "y": -6108, + "edge_ids": [ + "777", + "778" + ] + }, + { + "id": "768", + "x": -18778, + "y": -6096, + "edge_ids": [ + "778", + "779" + ] + }, + { + "id": "769", + "x": -18802, + "y": -6096, + "edge_ids": [ + "779", + "780" + ] + }, + { + "id": "770", + "x": -18802, + "y": -6038, + "edge_ids": [ + "780", + "781" + ] + }, + { + "id": "771", + "x": -18802, + "y": -6016, + "edge_ids": [ + "781", + "782" + ] + }, + { + "id": "772", + "x": -18760, + "y": -6016, + "edge_ids": [ + "782", + "783" + ] + }, + { + "id": "773", + "x": -18702, + "y": -6030, + "edge_ids": [ + "783", + "784" + ] + }, + { + "id": "774", + "x": -18708, + "y": -6050, + "edge_ids": [ + "784", + "785" + ] + }, + { + "id": "775", + "x": -18692, + "y": -6054, + "edge_ids": [ + "785", + "786" + ] + }, + { + "id": "776", + "x": -18678, + "y": -6060, + "edge_ids": [ + "786", + "787", + "789" + ] + } + ], + "edges": [ + { + "id": "676", + "vertex_ids": [ + "669", + "670" + ], + "face_ids": [ + "683" + ] + }, + { + "id": "677", + "vertex_ids": [ + "670", + "671" + ], + "face_ids": [ + "683" + ] + }, + { + "id": "678", + "vertex_ids": [ + "671", + "672" + ], + "face_ids": [ + "683" + ] + }, + { + "id": "679", + "vertex_ids": [ + "672", + "673" + ], + "face_ids": [ + "683" + ] + }, + { + "id": "680", + "vertex_ids": [ + "673", + "674" + ], + "face_ids": [ + "683" + ] + }, + { + "id": "681", + "vertex_ids": [ + "674", + "675" + ], + "face_ids": [ + "683" + ] + }, + { + "id": "682", + "vertex_ids": [ + "675", + "669" + ], + "face_ids": [ + "683", + "700" + ] + }, + { + "id": "692", + "vertex_ids": [ + "669", + "685" + ], + "face_ids": [ + "700" + ] + }, + { + "id": "693", + "vertex_ids": [ + "685", + "686" + ], + "face_ids": [ + "700" + ] + }, + { + "id": "694", + "vertex_ids": [ + "686", + "687" + ], + "face_ids": [ + "700", + "715" + ] + }, + { + "id": "695", + "vertex_ids": [ + "687", + "688" + ], + "face_ids": [ + "700" + ] + }, + { + "id": "696", + "vertex_ids": [ + "688", + "689" + ], + "face_ids": [ + "700" + ] + }, + { + "id": "697", + "vertex_ids": [ + "689", + "690" + ], + "face_ids": [ + "700" + ] + }, + { + "id": "698", + "vertex_ids": [ + "690", + "691" + ], + "face_ids": [ + "700" + ] + }, + { + "id": "699", + "vertex_ids": [ + "691", + "675" + ], + "face_ids": [ + "700" + ] + }, + { + "id": "708", + "vertex_ids": [ + "687", + "702" + ], + "face_ids": [ + "715" + ] + }, + { + "id": "709", + "vertex_ids": [ + "702", + "703" + ], + "face_ids": [ + "715" + ] + }, + { + "id": "710", + "vertex_ids": [ + "703", + "704" + ], + "face_ids": [ + "715" + ] + }, + { + "id": "711", + "vertex_ids": [ + "704", + "705" + ], + "face_ids": [ + "715", + "726" + ] + }, + { + "id": "712", + "vertex_ids": [ + "705", + "706" + ], + "face_ids": [ + "715" + ] + }, + { + "id": "713", + "vertex_ids": [ + "706", + "707" + ], + "face_ids": [ + "715" + ] + }, + { + "id": "714", + "vertex_ids": [ + "707", + "686" + ], + "face_ids": [ + "715" + ] + }, + { + "id": "721", + "vertex_ids": [ + "704", + "717" + ], + "face_ids": [ + "726" + ] + }, + { + "id": "722", + "vertex_ids": [ + "717", + "718" + ], + "face_ids": [ + "726" + ] + }, + { + "id": "723", + "vertex_ids": [ + "718", + "719" + ], + "face_ids": [ + "726" + ] + }, + { + "id": "724", + "vertex_ids": [ + "719", + "720" + ], + "face_ids": [ + "726", + "741" + ] + }, + { + "id": "725", + "vertex_ids": [ + "720", + "705" + ], + "face_ids": [ + "726" + ] + }, + { + "id": "734", + "vertex_ids": [ + "720", + "728" + ], + "face_ids": [ + "741" + ] + }, + { + "id": "735", + "vertex_ids": [ + "728", + "729" + ], + "face_ids": [ + "741" + ] + }, + { + "id": "736", + "vertex_ids": [ + "729", + "730" + ], + "face_ids": [ + "741", + "765" + ] + }, + { + "id": "737", + "vertex_ids": [ + "730", + "731" + ], + "face_ids": [ + "741" + ] + }, + { + "id": "738", + "vertex_ids": [ + "731", + "732" + ], + "face_ids": [ + "741" + ] + }, + { + "id": "739", + "vertex_ids": [ + "732", + "733" + ], + "face_ids": [ + "741" + ] + }, + { + "id": "740", + "vertex_ids": [ + "733", + "719" + ], + "face_ids": [ + "741" + ] + }, + { + "id": "759", + "vertex_ids": [ + "730", + "754" + ], + "face_ids": [ + "765" + ] + }, + { + "id": "760", + "vertex_ids": [ + "754", + "755" + ], + "face_ids": [ + "765" + ] + }, + { + "id": "761", + "vertex_ids": [ + "755", + "756" + ], + "face_ids": [ + "765" + ] + }, + { + "id": "762", + "vertex_ids": [ + "756", + "757" + ], + "face_ids": [ + "765" + ] + }, + { + "id": "764", + "vertex_ids": [ + "758", + "729" + ], + "face_ids": [ + "765" + ] + }, + { + "id": "777", + "vertex_ids": [ + "758", + "767" + ], + "face_ids": [ + "788" + ] + }, + { + "id": "778", + "vertex_ids": [ + "767", + "768" + ], + "face_ids": [ + "788" + ] + }, + { + "id": "779", + "vertex_ids": [ + "768", + "769" + ], + "face_ids": [ + "788" + ] + }, + { + "id": "780", + "vertex_ids": [ + "769", + "770" + ], + "face_ids": [ + "788" + ] + }, + { + "id": "781", + "vertex_ids": [ + "770", + "771" + ], + "face_ids": [ + "788" + ] + }, + { + "id": "782", + "vertex_ids": [ + "771", + "772" + ], + "face_ids": [ + "788" + ] + }, + { + "id": "783", + "vertex_ids": [ + "772", + "773" + ], + "face_ids": [ + "788" + ] + }, + { + "id": "784", + "vertex_ids": [ + "773", + "774" + ], + "face_ids": [ + "788" + ] + }, + { + "id": "785", + "vertex_ids": [ + "774", + "775" + ], + "face_ids": [ + "788" + ] + }, + { + "id": "786", + "vertex_ids": [ + "775", + "776" + ], + "face_ids": [ + "788" + ] + }, + { + "id": "787", + "vertex_ids": [ + "776", + "758" + ], + "face_ids": [ + "765", + "788" + ] + }, + { + "id": "789", + "vertex_ids": [ + "757", + "776" + ], + "face_ids": [ + "765" + ] + } + ], + "faces": [ + { + "id": "683", + "edge_ids": [ + "676", + "677", + "678", + "679", + "680", + "681", + "682" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "id": "700", + "edge_ids": [ + "682", + "692", + "693", + "694", + "695", + "696", + "697", + "698", + "699" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "id": "715", + "edge_ids": [ + "694", + "708", + "709", + "710", + "711", + "712", + "713", + "714" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "id": "726", + "edge_ids": [ + "711", + "721", + "722", + "723", + "724", + "725" + ], + "edge_order": [ + 0, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "id": "741", + "edge_ids": [ + "724", + "734", + "735", + "736", + "737", + "738", + "739", + "740" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "id": "765", + "edge_ids": [ + "736", + "759", + "760", + "761", + "762", + "789", + "787", + "764" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "id": "788", + "edge_ids": [ + "777", + "778", + "779", + "780", + "781", + "782", + "783", + "784", + "785", + "786", + "787" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + } + ] + }, + "spaces": [ + { + "id": "668", + "handle": null, + "name": "Space 2-1", + "face_id": "683", + "building_unit_id": null, + "thermal_zone_id": "tz_20", + "space_type_id": "793", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 6810 + }, + { + "id": "684", + "handle": null, + "name": "Space 2-2", + "face_id": "700", + "building_unit_id": null, + "thermal_zone_id": "tz_21", + "space_type_id": "793", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 5172 + }, + { + "id": "701", + "handle": null, + "name": "Space 2-3", + "face_id": "715", + "building_unit_id": null, + "thermal_zone_id": "tz_22", + "space_type_id": "792", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 6864 + }, + { + "id": "716", + "handle": null, + "name": "Space 2-4", + "face_id": "726", + "building_unit_id": null, + "thermal_zone_id": "tz_23", + "space_type_id": "792", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1766 + }, + { + "id": "727", + "handle": null, + "name": "Space 2-5", + "face_id": "741", + "building_unit_id": null, + "thermal_zone_id": "tz_24", + "space_type_id": "792", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 3934.9599999999629 + }, + { + "id": "753", + "handle": null, + "name": "Space 2-6", + "face_id": "765", + "building_unit_id": null, + "thermal_zone_id": "tz_25", + "space_type_id": "793", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 5908 + }, + { + "id": "766", + "handle": null, + "name": "Space 2-7", + "face_id": "788", + "building_unit_id": null, + "thermal_zone_id": "tz_26", + "space_type_id": "793", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 9000 + } + ], + "shading": [], + "windows": [ + { + "edge_id": "789", + "alpha": 0.5000000000000784, + "window_definition_id": 46, + "id": 46, + "name": "window 46" + }, + { + "edge_id": "739", + "alpha": 0.5000000000004087, + "window_definition_id": 47, + "id": 47, + "name": "window 47" + }, + { + "edge_id": "723", + "alpha": 0.5, + "window_definition_id": 48, + "id": 48, + "name": "window 48" + }, + { + "edge_id": "721", + "alpha": 0.5, + "window_definition_id": 49, + "id": 49, + "name": "window 49" + }, + { + "edge_id": "710", + "alpha": 0.49999999999998598, + "window_definition_id": 50, + "id": 50, + "name": "window 50" + }, + { + "edge_id": "709", + "alpha": 0.4999999999999682, + "window_definition_id": 51, + "id": 51, + "name": "window 51" + }, + { + "edge_id": "708", + "alpha": 0.5000000000000323, + "window_definition_id": 52, + "id": 52, + "name": "window 52" + }, + { + "edge_id": "695", + "alpha": 0.5, + "window_definition_id": 53, + "id": 53, + "name": "window 53" + }, + { + "edge_id": "696", + "alpha": 0.4999999999999697, + "window_definition_id": 54, + "id": 54, + "name": "window 54" + }, + { + "edge_id": "697", + "alpha": 0.4999999999999818, + "window_definition_id": 55, + "id": 55, + "name": "window 55" + }, + { + "edge_id": "699", + "alpha": 0.4999999999999818, + "window_definition_id": 56, + "id": 56, + "name": "window 56" + }, + { + "edge_id": "681", + "alpha": 0.5000000000000356, + "window_definition_id": 57, + "id": 57, + "name": "window 57" + }, + { + "edge_id": "680", + "alpha": 0.5, + "window_definition_id": 58, + "id": 58, + "name": "window 58" + }, + { + "edge_id": "679", + "alpha": 0.5, + "window_definition_id": 59, + "id": 59, + "name": "window 59" + }, + { + "edge_id": "678", + "alpha": 0.5, + "window_definition_id": 60, + "id": 60, + "name": "window 60" + }, + { + "edge_id": "677", + "alpha": 0.5, + "window_definition_id": 61, + "id": 61, + "name": "window 61" + }, + { + "edge_id": "676", + "alpha": 0.5, + "window_definition_id": 62, + "id": 62, + "name": "window 62" + }, + { + "edge_id": "692", + "alpha": 0.5000000000000175, + "window_definition_id": 63, + "id": 63, + "name": "window 63" + }, + { + "edge_id": "693", + "alpha": 0.5, + "window_definition_id": 64, + "id": 64, + "name": "window 64" + }, + { + "edge_id": "714", + "alpha": 0.5, + "window_definition_id": 65, + "id": 65, + "name": "window 65" + }, + { + "edge_id": "713", + "alpha": 0.4999999999999883, + "window_definition_id": 66, + "id": 66, + "name": "window 66" + }, + { + "edge_id": "712", + "alpha": 0.4999999999999553, + "window_definition_id": 67, + "id": 67, + "name": "window 67" + }, + { + "edge_id": "725", + "alpha": 0.5, + "window_definition_id": 68, + "id": 68, + "name": "window 68" + }, + { + "edge_id": "734", + "alpha": 0.5, + "window_definition_id": 69, + "id": 69, + "name": "window 69" + }, + { + "edge_id": "735", + "alpha": 0.5, + "window_definition_id": 70, + "id": 70, + "name": "window 70" + }, + { + "edge_id": "764", + "alpha": 0.49999999999998748, + "window_definition_id": 71, + "id": 71, + "name": "window 71" + }, + { + "edge_id": "777", + "alpha": 0.5000000000000314, + "window_definition_id": 72, + "id": 72, + "name": "window 72" + }, + { + "edge_id": "778", + "alpha": 0.5, + "window_definition_id": 73, + "id": 73, + "name": "window 73" + }, + { + "edge_id": "779", + "alpha": 0.5, + "window_definition_id": 74, + "id": 74, + "name": "window 74" + }, + { + "edge_id": "780", + "alpha": 0.6603393829401155, + "window_definition_id": 75, + "id": 75, + "name": "window 75" + }, + { + "edge_id": "781", + "alpha": 0.07237799043060461, + "window_definition_id": 76, + "id": 76, + "name": "window 76" + }, + { + "edge_id": "784", + "alpha": 0.5000000000001251, + "window_definition_id": 77, + "id": 77, + "name": "window 77" + } + ], + "doors": [], + "construction_lines": [], + "area": 39454.95999999996 + } + ], + "building_units": [], + "thermal_zones": [ + { + "id": "tz_1", + "handle": null, + "name": "Thermal Zone 1", + "color": "#999933" + }, + { + "id": "tz_2", + "handle": null, + "name": "Thermal Zone 2", + "color": "#ddcc77" + }, + { + "id": "tz_3", + "handle": null, + "name": "Thermal Zone 3", + "color": "#cc6677" + }, + { + "id": "tz_4", + "handle": null, + "name": "Thermal Zone 4", + "color": "#882255" + }, + { + "id": "tz_5", + "handle": null, + "name": "Thermal Zone 5", + "color": "#44aa99" + }, + { + "id": "tz_6", + "handle": null, + "name": "Thermal Zone 6", + "color": "#6699cc" + }, + { + "id": "tz_7", + "handle": null, + "name": "Thermal Zone 7", + "color": "#661100" + }, + { + "id": "tz_8", + "handle": null, + "name": "Thermal Zone 8", + "color": "#aa4466" + }, + { + "id": "tz_9", + "handle": null, + "name": "Thermal Zone 9", + "color": "#aa4499" + }, + { + "id": "tz_10", + "handle": null, + "name": "Thermal Zone 10", + "color": "#88ccee" + }, + { + "id": "tz_11", + "handle": null, + "name": "Thermal Zone 11", + "color": "#332288" + }, + { + "id": "tz_12", + "handle": null, + "name": "Thermal Zone 12", + "color": "#117733" + }, + { + "id": "tz_13", + "handle": null, + "name": "Thermal Zone 13", + "color": "#999933" + }, + { + "id": "tz_14", + "handle": null, + "name": "Thermal Zone 14", + "color": "#ddcc77" + }, + { + "id": "tz_15", + "handle": null, + "name": "Thermal Zone 15", + "color": "#cc6677" + }, + { + "id": "tz_16", + "handle": null, + "name": "Thermal Zone 16", + "color": "#882255" + }, + { + "id": "tz_17", + "handle": null, + "name": "Thermal Zone 17", + "color": "#44aa99" + }, + { + "id": "tz_18", + "handle": null, + "name": "Thermal Zone 18", + "color": "#6699cc" + }, + { + "id": "tz_19", + "handle": null, + "name": "Thermal Zone 19", + "color": "#661100" + }, + { + "id": "tz_20", + "handle": null, + "name": "Thermal Zone 20", + "color": "#aa4466" + }, + { + "id": "tz_21", + "handle": null, + "name": "Thermal Zone 21", + "color": "#aa4499" + }, + { + "id": "tz_22", + "handle": null, + "name": "Thermal Zone 22", + "color": "#88ccee" + }, + { + "id": "tz_23", + "handle": null, + "name": "Thermal Zone 23", + "color": "#332288" + }, + { + "id": "tz_24", + "handle": null, + "name": "Thermal Zone 24", + "color": "#117733" + }, + { + "id": "tz_25", + "handle": null, + "name": "Thermal Zone 25", + "color": "#999933" + }, + { + "id": "tz_26", + "handle": null, + "name": "Thermal Zone 26", + "color": "#ddcc77" + } + ], + "space_types": [ + { + "handle": null, + "id": "157", + "name": "Office-MechRoom", + "color": "#88ccee", + "type": "space_types" + }, + { + "handle": null, + "id": "292", + "name": "Office-DataCenter", + "color": "#332288", + "type": "space_types" + }, + { + "handle": null, + "id": "790", + "name": "Office-Conference", + "color": "#117733", + "type": "space_types" + }, + { + "handle": null, + "id": "791", + "name": "Office-BreakRoom", + "color": "#999933", + "type": "space_types" + }, + { + "handle": null, + "id": "792", + "name": "Office-OpenOffice", + "color": "#ddcc77", + "type": "space_types" + }, + { + "handle": null, + "id": "793", + "name": "Office-PrivateOffice", + "color": "#cc6677", + "type": "space_types" + } + ], + "construction_sets": [], + "window_definitions": [ + { + "id": 1, + "name": "Window 1", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 15.648493418229572, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 2, + "name": "Window 2", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 24.573931641957296, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 3, + "name": "Window 3", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 21.314164980332387, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 4, + "name": "Window 4", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 16.06772370786697, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 5, + "name": "Window 5", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 9.930506454796527, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 6, + "name": "Window 6", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 8.786321527429465, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 7, + "name": "Window 7", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 19.556651141701175, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 8, + "name": "Window 8", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 8.016603269331047, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 9, + "name": "Window 9", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 32.42720379105238, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 10, + "name": "Window 10", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 53.54761375425933, + "height": 15.12, + "sill_height": 1.4400000000000005, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 11, + "name": "Window 11", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 23.253391615131365, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 12, + "name": "Window 12", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 16.842105263158375, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 13, + "name": "Window 13", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 52.87644435234629, + "height": 15.12, + "sill_height": 1.4400000000000005, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 14, + "name": "Window 14", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 11.578947368421723, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 15, + "name": "Window 15", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 29.939921375427486, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 16, + "name": "Window 16", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 10.73477792335416, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 17, + "name": "Window 17", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 26.39986569259984, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 18, + "name": "Window 18", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 10.367218738733325, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 19, + "name": "Window 19", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 16.067723707867747, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 20, + "name": "Window 20", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 16.44263089664527, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 21, + "name": "Window 21", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 10.420520985905223, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 22, + "name": "Window 22", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 21.23724106759729, + "height": 15.12, + "sill_height": 1.4400000000000005, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 23, + "name": "Window 23", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 66.47080070932396, + "height": 15.12, + "sill_height": 1.4400000000000005, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 24, + "name": "Window 24", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 15.386185163240813, + "height": 15.12, + "sill_height": 1.4400000000000005, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 25, + "name": "Window 25", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 42.30597969988556, + "height": 15.12, + "sill_height": 1.4400000000000005, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 26, + "name": "Window 26", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 17.142857142855065, + "height": 15.12, + "sill_height": 1.4400000000000005, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 27, + "name": "Window 27", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 30.5263157894733, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 28, + "name": "Window 28", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 27.142857142855065, + "height": 15.12, + "sill_height": 1.4400000000000005, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 29, + "name": "Window 29", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 24.453203955176215, + "height": 15.12, + "sill_height": 1.4400000000000005, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 30, + "name": "Window 30", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 43.37778985911243, + "height": 15.12, + "sill_height": 1.4400000000000005, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 31, + "name": "Window 31", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 6.235453987208835, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 32, + "name": "Window 32", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 27.776113215745839, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 33, + "name": "Window 33", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 12.320736748125892, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 34, + "name": "Window 34", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 25.204810482117919, + "height": 15.12, + "sill_height": 1.4400000000000005, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 35, + "name": "Window 35", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 10.506911335120572, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 36, + "name": "Window 36", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 11.139657184147492, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 37, + "name": "Window 37", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 21.674037923450699, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 38, + "name": "Window 38", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 17.64532064656904, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 39, + "name": "Window 39", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 2.353755765788353, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 40, + "name": "Window 40", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 16.64356663246541, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 41, + "name": "Window 41", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 30.033994345182003, + "height": 15.12, + "sill_height": 1.4400000000000005, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 42, + "name": "Window 42", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 7.443229275645026, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 43, + "name": "Window 43", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 0.09676198058651599, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 44, + "name": "Window 44", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 20.88746923854086, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 45, + "name": "Window 45", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 25.274008589933538, + "height": 15.12, + "sill_height": 1.4400000000000005, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 46, + "name": "Window 46", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 5.668594533826398, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 47, + "name": "Window 47", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 6.730132349404282, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 48, + "name": "Window 48", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 7.443229275645026, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 49, + "name": "Window 49", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 9.70478363925512, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 50, + "name": "Window 50", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 26.146825996576444, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 51, + "name": "Window 51", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 13.189435880149255, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 52, + "name": "Window 52", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 13.684210526315628, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 53, + "name": "Window 53", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 7.061267297365873, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 54, + "name": "Window 54", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 9.583148475002004, + "height": 15.12, + "sill_height": 1.4400000000000005, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 55, + "name": "Window 55", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 16.64356663246541, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 56, + "name": "Window 56", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 16.64356663246541, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 57, + "name": "Window 57", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 13.020333554581436, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 58, + "name": "Window 58", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 23.253391615131365, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 59, + "name": "Window 59", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 16.842105263158375, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 60, + "name": "Window 60", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 52.87644435234629, + "height": 15.12, + "sill_height": 1.4400000000000005, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 61, + "name": "Window 61", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 11.578947368421723, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 62, + "name": "Window 62", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 29.939921375427486, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 63, + "name": "Window 63", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 10.73477792335416, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 64, + "name": "Window 64", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 26.39986569259984, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 65, + "name": "Window 65", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 10.367218738733325, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 66, + "name": "Window 66", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 16.067723707867747, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 67, + "name": "Window 67", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 16.44263089664527, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 68, + "name": "Window 68", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 10.420520985905223, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 69, + "name": "Window 69", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 21.23724106759729, + "height": 15.12, + "sill_height": 1.4400000000000005, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 70, + "name": "Window 70", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 17.89994869448849, + "height": 15.12, + "sill_height": 1.4400000000000005, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 71, + "name": "Window 71", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 48.5714285714301, + "height": 15.12, + "sill_height": 1.4400000000000005, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 72, + "name": "Window 72", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 15.386185163240813, + "height": 15.12, + "sill_height": 1.4400000000000005, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 73, + "name": "Window 73", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 42.30597969988556, + "height": 15.12, + "sill_height": 1.4400000000000005, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 74, + "name": "Window 74", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 17.142857142855065, + "height": 15.12, + "sill_height": 1.4400000000000005, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 75, + "name": "Window 75", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 39.05263157894751, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 76, + "name": "Window 76", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 3.052631578947512, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 77, + "name": "Window 77", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 10.98979632516623, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + } + ], + "daylighting_control_definitions": [], + "pitched_roofs": [], + "door_definitions": [], + "version": "0.7.0", + "area": 132662.00805704093 +} \ No newline at end of file diff --git a/src/model/test/FloorspaceReverseTranslator_GTest.cpp b/src/model/test/FloorspaceReverseTranslator_GTest.cpp index 9b838e36d5f..3a75bd28195 100644 --- a/src/model/test/FloorspaceReverseTranslator_GTest.cpp +++ b/src/model/test/FloorspaceReverseTranslator_GTest.cpp @@ -255,7 +255,9 @@ void CompareTwoModels(Model& model, Model& baseline) { // Check space surfaces and subsurfaces EXPECT_EQ(space.surfaces().size(), match->surfaces().size()); - + if (space.surfaces().size() != match->surfaces().size()) { + EXPECT_EQ(*space.name(), "Test"); + } for (auto& surface1 : space.surfaces()) { std::string name1 = *surface1.name(); bool matchedSurface = false; @@ -1389,3 +1391,142 @@ TEST_F(ModelFixture, FloorspaceReverseTranslator_FloorplanJS_Site_ClimateZones_4 EXPECT_EQ(-30.0, newModel_->getOptionalUniqueModelObject()->northAxis()); EXPECT_FALSE(newModel_->getOptionalUniqueModelObject()->nominalFloortoFloorHeight()); } + +void ShiftVertices(Model& model) { + BoundingBox bb; + auto spaces = model.getConcreteModelObjects(); + for (const auto& space : spaces) { + for (const auto& surface : space.surfaces()) { + if (surface.surfaceType() == "Floor") { + bb.addPoints(surface.vertices()); + } + } + } + double x = (*bb.minX() + *bb.maxX()) / 2.0; + double y = (*bb.minY() + *bb.maxY()) / 2.0; + + auto surfaces = model.getConcreteModelObjects(); + for (auto& surface : surfaces) { + Point3dVector v; + for (auto& vertex : surface.vertices()) { + v.push_back(Point3d(vertex.x() - x, vertex.y() - y, vertex.z())); + } + surface.setVertices(v); + } + + auto subSurfaces = model.getConcreteModelObjects(); + for (auto& subSurface : subSurfaces) { + Point3dVector v; + for (auto& vertex : subSurface.vertices()) { + v.push_back(Point3d(vertex.x() - x, vertex.y() - y, vertex.z())); + } + subSurface.setVertices(v); + } +} + +TEST_F(ModelFixture, FloorspaceReverseTranslator_Issue_4766) { + + ThreeJSReverseTranslator rt; + + openstudio::path p = resourcesPath() / toPath("utilities/Geometry/floorplan_mcve.json"); + ASSERT_TRUE(exists(p)); + + boost::optional floorPlan = FloorplanJS::load(toString(p)); + ASSERT_TRUE(floorPlan); + + // not triangulated, for model transport/translation + ThreeScene scene = floorPlan->toThreeScene(true); + boost::optional model = rt.modelFromThreeJS(scene); + ASSERT_TRUE(model); + + ShiftVertices(*model); + model->save(resourcesPath() / toPath("utilities/Geometry/floorplan_mcve_threejs.osm"), true); + + FloorspaceReverseTranslator frt; + boost::optional model1 = frt.modelFromFloorspace(toString(p)); + ASSERT_TRUE(model1); + + ShiftVertices(*model1); + model1->save(resourcesPath() / toPath("utilities/Geometry/floorplan_mcve_direct.osm"), true); + + CompareTwoModels(*model1, *model); +} + +// It was noticed that the ThreeJS import had a missing subsurface on the external wall of Space 1-10 and +// also that the surface should have been split into an internal section and an external section which +// it was not. The direct floorspace imporrt did not have these issues. This test verifies that issue +// has been fixed (albeit inadvertently!) +TEST_F(ModelFixture, FloorspaceReverseTranslator_Issue_4222) { + + ThreeJSReverseTranslator rt; + + openstudio::path p = resourcesPath() / toPath("utilities/Geometry/issue-4222.json"); + ASSERT_TRUE(exists(p)); + + boost::optional floorPlan = FloorplanJS::load(toString(p)); + ASSERT_TRUE(floorPlan); + + // not triangulated, for model transport/translation + ThreeScene scene = floorPlan->toThreeScene(true); + boost::optional model = rt.modelFromThreeJS(scene); + ASSERT_TRUE(model); + + ShiftVertices(*model); + model->save(resourcesPath() / toPath("utilities/Geometry/issue-4222_threejs.osm"), true); + + FloorspaceReverseTranslator frt; + boost::optional model1 = frt.modelFromFloorspace(toString(p)); + ASSERT_TRUE(model1); + + ShiftVertices(*model1); + model1->save(resourcesPath() / toPath("utilities/Geometry/Issue-4222_direct.osm"), true); + + auto space = model->getConcreteModelObjectByName("Space 1-10"); + auto space1 = model1->getConcreteModelObjectByName("Space 1-10"); + EXPECT_EQ(space->surfaces().size(), 12); + EXPECT_EQ(space1->surfaces().size(), 13); + + int nRoofs = 0; + int nFloors = 0; + int nWalls = 0; + int nWindows = 0; + for (const auto& surface : space->surfaces()) { + if (surface.surfaceType() == "RoofCeiling") { + nRoofs++; + } else if (surface.surfaceType() == "Wall") { + nWalls++; + for (const auto& subSurface : surface.subSurfaces()) { + nWindows++; + } + } else if (surface.surfaceType() == "Floor") { + nFloors++; + } + } + + EXPECT_EQ(nRoofs, 3); + EXPECT_EQ(nFloors, 1); + EXPECT_EQ(nWalls, 8); + EXPECT_EQ(nWindows, 3); + + nRoofs = 0; + nFloors = 0; + nWalls = 0; + nWindows = 0; + for (const auto& surface : space1->surfaces()) { + if (surface.surfaceType() == "RoofCeiling") { + nRoofs++; + } else if (surface.surfaceType() == "Wall") { + nWalls++; + for (const auto& subSurface : surface.subSurfaces()) { + nWindows++; + } + } else if (surface.surfaceType() == "Floor") { + nFloors++; + } + } + + EXPECT_EQ(nRoofs, 3); + EXPECT_EQ(nFloors, 1); + EXPECT_EQ(nWalls, 9); + EXPECT_EQ(nWindows, 4); +} \ No newline at end of file diff --git a/src/utilities/floorspace/FSModel.cpp b/src/utilities/floorspace/FSModel.cpp index aecfcd412ee..5425a607d1d 100644 --- a/src/utilities/floorspace/FSModel.cpp +++ b/src/utilities/floorspace/FSModel.cpp @@ -576,8 +576,6 @@ FSSpace::FSSpace(const Json::Value& root, const FSModel& model, FSStory& story) for (const auto& daylightingControl : root.get("daylighting_controls", Json::arrayValue)) { m_daylightingControls.emplace_back(daylightingControl, model, story); } - - simplifyFace(story.geometry()); } boost::optional FSSpace::thermalZone() const { From 7a1de5f56d5d140ff52c1921401edce89c3a2a42 Mon Sep 17 00:00:00 2001 From: ggartside Date: Wed, 21 Dec 2022 12:29:29 -0600 Subject: [PATCH 02/22] After removing the call to fix 4766 had to fix how wall surfaces are created --- src/model/FloorspaceReverseTranslator.cpp | 78 ++++++++-------- .../FloorspaceReverseTranslator_Impl.hpp | 9 +- .../FloorspaceReverseTranslator_GTest.cpp | 92 +++---------------- src/utilities/floorspace/FSModel.cpp | 2 +- src/utilities/floorspace/FSModel.hpp | 2 +- 5 files changed, 54 insertions(+), 129 deletions(-) diff --git a/src/model/FloorspaceReverseTranslator.cpp b/src/model/FloorspaceReverseTranslator.cpp index 88054c02f72..6d8ed8e9ca4 100644 --- a/src/model/FloorspaceReverseTranslator.cpp +++ b/src/model/FloorspaceReverseTranslator.cpp @@ -542,9 +542,10 @@ namespace model { createFloorSurface(osSpace, faceVertices, minZ, openToBelow); createRoofSurface(osSpace, faceVertices, maxZ); - // Create wall surfaces - for (const auto& edgeRef : face->edgeRefs()) { - createWallSurfaces(osSpace, fsSpace, edgeRef, minZ, maxZ, reversed, typeOfSpace == SpaceTypeEnum::ABOVEFLOOR); + for (int i = 0; i < faceVertices.size(); i++) { + const Point3d& p1 = faceVertices[i]; + const Point3d& p2 = faceVertices[(i + 1) % faceVertices.size()]; + createWallSurface(osSpace, fsSpace, p1, p2, minZ, maxZ, typeOfSpace == SpaceTypeEnum::ABOVEFLOOR); } } } @@ -563,34 +564,18 @@ namespace model { } } - // Creates a "Wall" surface and sub-surfaces - // TODO: fsSpace unused - void FloorspaceReverseTranslator_Impl::createWallSurfaces(Space& osSpace, const FSSpace& fsSpace, const FSEdgeReference& edgeRef, double minZ, - double maxZ, bool reversed, bool createSubsurfaces) { - Point3dVector wallVertices; - const FSVertex& v1 = edgeRef.edge().firstVertex(); - const FSVertex& v2 = edgeRef.edge().secondVertex(); + void FloorspaceReverseTranslator_Impl::createWallSurface(Space& osSpace, const FSSpace& fsSpace, const Point3d& p1, const Point3d& p2, + double minZ, double maxZ, bool createSubsurfaces) { + double tol = 0.001; - // Get the edge order (v1..v2 or v2..v1) and reverse if necessary to ensure - // the wall surface is oriented correctly - int edgeOrder = edgeRef.edgeOrder(); - if (edgeOrder == 1 && reversed) { - edgeOrder = 0; - } else if (edgeOrder == 0 && reversed) { - edgeOrder = 1; - } - - if (edgeOrder == 1) { - wallVertices.push_back(Point3d(v2.x(), v2.y(), maxZ)); - wallVertices.push_back(Point3d(v1.x(), v1.y(), maxZ)); - wallVertices.push_back(Point3d(v1.x(), v1.y(), minZ)); - wallVertices.push_back(Point3d(v2.x(), v2.y(), minZ)); - } else { - wallVertices.push_back(Point3d(v1.x(), v1.y(), maxZ)); - wallVertices.push_back(Point3d(v2.x(), v2.y(), maxZ)); - wallVertices.push_back(Point3d(v2.x(), v2.y(), minZ)); - wallVertices.push_back(Point3d(v1.x(), v1.y(), minZ)); - } + Point3dVector wallVertices; + wallVertices.push_back(Point3d(p2.x(), p2.y(), maxZ)); + wallVertices.push_back(Point3d(p1.x(), p1.y(), maxZ)); + wallVertices.push_back(Point3d(p1.x(), p1.y(), minZ)); + wallVertices.push_back(Point3d(p2.x(), p2.y(), minZ)); + Point3dVector wallSegment; + wallSegment.push_back(p1); + wallSegment.push_back(p2); Surface surface(wallVertices, m_model); surface.setName("Face " + std::to_string(m_nSurfaces++)); @@ -602,15 +587,25 @@ namespace model { // Create a window subsurface for every window that is on this edge for (const auto& window : m_currentFSStory->windows()) { - if (window.edge()->id() == edgeRef.edge().id()) { - createWindowSubsurface(window, surface, edgeRef, minZ, maxZ); + // Get window's x/y position which is the alpha based on its edge + // windows can have multiple alphas but we only need one + auto edge = *window.edge(); + double alpha = window.alphas()[0]; + Point3d pp = window.centerVertex(alpha); + + if (getDistancePointToLineSegment(pp, wallSegment) < tol) { + createWindowSubsurface(window, surface, edge, minZ, maxZ); } } // Create a door subsurface for every window that is on this edge for (const auto& door : m_currentFSStory->doors()) { - if (door.edge()->id() == edgeRef.edge().id()) { - createDoorSubsurface(door, surface, edgeRef, minZ); + auto edge = *door.edge(); + double alpha = door.alphas()[0]; + Point3d pp = door.centerVertex(alpha); + + if (getDistancePointToLineSegment(pp, wallSegment) < tol) { + createDoorSubsurface(door, surface, edge, minZ); } } } @@ -618,7 +613,7 @@ namespace model { } // Creates one or more window subsurfaces along an edge - void FloorspaceReverseTranslator_Impl::createWindowSubsurface(const FSWindow& window, Surface& osSurface, const FSEdgeReference& edgeRef, + void FloorspaceReverseTranslator_Impl::createWindowSubsurface(const FSWindow& window, Surface& osSurface, const FSEdge& edge, double minZ, double maxZ) { auto windowDefinition = window.windowDefinition(); @@ -626,10 +621,9 @@ namespace model { return; } - const auto& edge = edgeRef.edge(); const auto& vertex1 = edge.firstVertex(); const auto& vertex2 = edge.secondVertex(); - Vector3d edgeVector = edgeRef.edge().edgeVector(); + Vector3d edgeVector = edge.edgeVector(); edgeVector.setLength(1.0); Vector3d upVector(0, 0, 1); @@ -642,7 +636,7 @@ namespace model { height = windowDefinition->height(); width = windowDefinition->width(); } else if (windowDefinition->windowDefinitionMode() == "Window to Wall Ratio") { - double length = edgeRef.edge().edgeVector().length(); + double length = edge.edgeVector().length(); width = length - 0.0508; // Allow for 1" either end of the window // Area of the wall * wwr gives area of the window divided by width of the window gives height of the window height = (maxZ - minZ) * length * windowDefinition->wwr() / width; @@ -738,11 +732,11 @@ namespace model { } // Creates a door subsurface along an edge - void FloorspaceReverseTranslator_Impl::createDoorSubsurface(const FSDoor& door, Surface& osSurface, const FSEdgeReference& edgeRef, double minZ) { - const auto& edge = edgeRef.edge(); - const auto& vertex1 = edge.firstVertex(); + void FloorspaceReverseTranslator_Impl::createDoorSubsurface(const FSDoor& door, Surface& osSurface, const FSEdge& edge, double minZ) { + + const auto& vertex1 = edge.firstVertex(); const auto& vertex2 = edge.secondVertex(); - Vector3d edgeVector = edgeRef.edge().edgeVector(); + Vector3d edgeVector = edge.edgeVector(); edgeVector.setLength(1.0); Vector3d upVector(0, 0, 1); diff --git a/src/model/FloorspaceReverseTranslator_Impl.hpp b/src/model/FloorspaceReverseTranslator_Impl.hpp index a5342dd9150..814e4d6d582 100644 --- a/src/model/FloorspaceReverseTranslator_Impl.hpp +++ b/src/model/FloorspaceReverseTranslator_Impl.hpp @@ -175,14 +175,13 @@ namespace model { void createRoofSurface(Space& osSpace, std::vector& faceVertices, double maxZ); // Creates a "Wall" surface and sub-surfaces - void createWallSurfaces(Space& osSpace, const FSSpace& fsSpace, const FSEdgeReference& edgeRef, double minZ, double maxZ, bool reversed, - bool createSubsurfaces); - + void createWallSurface(Space& osSpace, const FSSpace& fsSpace, const Point3d& p1, const Point3d& p2, double minX, + double maxZ, bool createSubsurfaces); // Creates one or more window subsurfaces along an edge - void createWindowSubsurface(const FSWindow& window, Surface& osSurface, const FSEdgeReference& edgeRef, double minZ, double maxZ); + void createWindowSubsurface(const FSWindow& window, Surface& osSurface, const FSEdge& edge, double minZ, double maxZ); // Creates a door subsurface along an edge - void createDoorSubsurface(const FSDoor& door, Surface& osSurface, const FSEdgeReference& edgeRef, double minZ); + void createDoorSubsurface(const FSDoor& door, Surface& osSurface, const FSEdge& edge, double minZ); void createSurface(Space& osSpace, std::vector& faceVertices, double z, const std::string& surfaceType, bool openToBelow); diff --git a/src/model/test/FloorspaceReverseTranslator_GTest.cpp b/src/model/test/FloorspaceReverseTranslator_GTest.cpp index 3a75bd28195..2856efb5e24 100644 --- a/src/model/test/FloorspaceReverseTranslator_GTest.cpp +++ b/src/model/test/FloorspaceReverseTranslator_GTest.cpp @@ -1069,13 +1069,24 @@ TEST_F(ModelFixture, FloorspaceReverseTranslator_FloorplanJS_School) { openstudio::path p = resourcesPath() / toPath("utilities/Geometry/floorplan_school.json"); ASSERT_TRUE(exists(p)); + boost::optional floorPlan = FloorplanJS::load(toString(p)); + ASSERT_TRUE(floorPlan); + + // not triangulated, for model transport/translation + ThreeScene scene = floorPlan->toThreeScene(true); + ThreeJSReverseTranslator trt; + boost::optional model1 = trt.modelFromThreeJS(scene); + ASSERT_TRUE(model1); + //openstudio::path outpath1 = resourcesPath() / toPath("model/floorplan_school-threejs.osm"); + //model1->save(outpath1, true); + FloorspaceReverseTranslator rt; boost::optional model = rt.modelFromFloorspace(toString(p)); auto handleMapping = rt.handleMapping(); EXPECT_EQ(46, handleMapping.size()); - openstudio::path outpath = resourcesPath() / toPath("model/floorplan_school.osm"); + openstudio::path outpath = resourcesPath() / toPath("model/floorplan_school-direct.osm"); model->save(outpath, true); EXPECT_EQ(0, rt.errors().size()); @@ -1451,82 +1462,3 @@ TEST_F(ModelFixture, FloorspaceReverseTranslator_Issue_4766) { CompareTwoModels(*model1, *model); } - -// It was noticed that the ThreeJS import had a missing subsurface on the external wall of Space 1-10 and -// also that the surface should have been split into an internal section and an external section which -// it was not. The direct floorspace imporrt did not have these issues. This test verifies that issue -// has been fixed (albeit inadvertently!) -TEST_F(ModelFixture, FloorspaceReverseTranslator_Issue_4222) { - - ThreeJSReverseTranslator rt; - - openstudio::path p = resourcesPath() / toPath("utilities/Geometry/issue-4222.json"); - ASSERT_TRUE(exists(p)); - - boost::optional floorPlan = FloorplanJS::load(toString(p)); - ASSERT_TRUE(floorPlan); - - // not triangulated, for model transport/translation - ThreeScene scene = floorPlan->toThreeScene(true); - boost::optional model = rt.modelFromThreeJS(scene); - ASSERT_TRUE(model); - - ShiftVertices(*model); - model->save(resourcesPath() / toPath("utilities/Geometry/issue-4222_threejs.osm"), true); - - FloorspaceReverseTranslator frt; - boost::optional model1 = frt.modelFromFloorspace(toString(p)); - ASSERT_TRUE(model1); - - ShiftVertices(*model1); - model1->save(resourcesPath() / toPath("utilities/Geometry/Issue-4222_direct.osm"), true); - - auto space = model->getConcreteModelObjectByName("Space 1-10"); - auto space1 = model1->getConcreteModelObjectByName("Space 1-10"); - EXPECT_EQ(space->surfaces().size(), 12); - EXPECT_EQ(space1->surfaces().size(), 13); - - int nRoofs = 0; - int nFloors = 0; - int nWalls = 0; - int nWindows = 0; - for (const auto& surface : space->surfaces()) { - if (surface.surfaceType() == "RoofCeiling") { - nRoofs++; - } else if (surface.surfaceType() == "Wall") { - nWalls++; - for (const auto& subSurface : surface.subSurfaces()) { - nWindows++; - } - } else if (surface.surfaceType() == "Floor") { - nFloors++; - } - } - - EXPECT_EQ(nRoofs, 3); - EXPECT_EQ(nFloors, 1); - EXPECT_EQ(nWalls, 8); - EXPECT_EQ(nWindows, 3); - - nRoofs = 0; - nFloors = 0; - nWalls = 0; - nWindows = 0; - for (const auto& surface : space1->surfaces()) { - if (surface.surfaceType() == "RoofCeiling") { - nRoofs++; - } else if (surface.surfaceType() == "Wall") { - nWalls++; - for (const auto& subSurface : surface.subSurfaces()) { - nWindows++; - } - } else if (surface.surfaceType() == "Floor") { - nFloors++; - } - } - - EXPECT_EQ(nRoofs, 3); - EXPECT_EQ(nFloors, 1); - EXPECT_EQ(nWalls, 9); - EXPECT_EQ(nWindows, 4); -} \ No newline at end of file diff --git a/src/utilities/floorspace/FSModel.cpp b/src/utilities/floorspace/FSModel.cpp index 5425a607d1d..fbfc78545bf 100644 --- a/src/utilities/floorspace/FSModel.cpp +++ b/src/utilities/floorspace/FSModel.cpp @@ -931,7 +931,7 @@ std::vector FSFiller::alphas() const { return m_alphas; } -Point3d FSFiller::centerVertex(double alpha) { +Point3d FSFiller::centerVertex(double alpha) const { return m_edge->vertex(alpha); } /////////////////////////////////////////////////////////////////////////////////// diff --git a/src/utilities/floorspace/FSModel.hpp b/src/utilities/floorspace/FSModel.hpp index 7db1dde1ae2..6422ec2e0f6 100644 --- a/src/utilities/floorspace/FSModel.hpp +++ b/src/utilities/floorspace/FSModel.hpp @@ -332,7 +332,7 @@ class UTILITIES_API FSFiller : public FSBase boost::optional space() const; std::vector alphas() const; // Calculates and returns the center vertex position of the window or door - Point3d centerVertex(double alpha); + Point3d centerVertex(double alpha) const; protected: boost::optional m_edge; From 703d5b21afb46d4906beeabe7e3b8ded3cde2dda Mon Sep 17 00:00:00 2001 From: ggartside Date: Wed, 21 Dec 2022 12:31:24 -0600 Subject: [PATCH 03/22] And here come the clang changes --- src/model/FloorspaceReverseTranslator.cpp | 6 +++--- src/model/FloorspaceReverseTranslator_Impl.hpp | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/model/FloorspaceReverseTranslator.cpp b/src/model/FloorspaceReverseTranslator.cpp index 6d8ed8e9ca4..1830c16ed1e 100644 --- a/src/model/FloorspaceReverseTranslator.cpp +++ b/src/model/FloorspaceReverseTranslator.cpp @@ -613,8 +613,8 @@ namespace model { } // Creates one or more window subsurfaces along an edge - void FloorspaceReverseTranslator_Impl::createWindowSubsurface(const FSWindow& window, Surface& osSurface, const FSEdge& edge, - double minZ, double maxZ) { + void FloorspaceReverseTranslator_Impl::createWindowSubsurface(const FSWindow& window, Surface& osSurface, const FSEdge& edge, double minZ, + double maxZ) { auto windowDefinition = window.windowDefinition(); if (!windowDefinition.has_value()) { @@ -734,7 +734,7 @@ namespace model { // Creates a door subsurface along an edge void FloorspaceReverseTranslator_Impl::createDoorSubsurface(const FSDoor& door, Surface& osSurface, const FSEdge& edge, double minZ) { - const auto& vertex1 = edge.firstVertex(); + const auto& vertex1 = edge.firstVertex(); const auto& vertex2 = edge.secondVertex(); Vector3d edgeVector = edge.edgeVector(); diff --git a/src/model/FloorspaceReverseTranslator_Impl.hpp b/src/model/FloorspaceReverseTranslator_Impl.hpp index 814e4d6d582..9c9ff9b736b 100644 --- a/src/model/FloorspaceReverseTranslator_Impl.hpp +++ b/src/model/FloorspaceReverseTranslator_Impl.hpp @@ -175,8 +175,8 @@ namespace model { void createRoofSurface(Space& osSpace, std::vector& faceVertices, double maxZ); // Creates a "Wall" surface and sub-surfaces - void createWallSurface(Space& osSpace, const FSSpace& fsSpace, const Point3d& p1, const Point3d& p2, double minX, - double maxZ, bool createSubsurfaces); + void createWallSurface(Space& osSpace, const FSSpace& fsSpace, const Point3d& p1, const Point3d& p2, double minX, double maxZ, + bool createSubsurfaces); // Creates one or more window subsurfaces along an edge void createWindowSubsurface(const FSWindow& window, Surface& osSurface, const FSEdge& edge, double minZ, double maxZ); From c5119508968a2a7f3aa2e1414e622a7776459f44 Mon Sep 17 00:00:00 2001 From: ggartside Date: Wed, 4 Jan 2023 09:26:35 -0600 Subject: [PATCH 04/22] Fixes 4776: Missing sunbsurfaces and surface nbot subdivided --- .../FloorspaceReverseTranslator_GTest.cpp | 106 ++++++++++++++++++ src/utilities/geometry/Intersection.cpp | 13 ++- 2 files changed, 114 insertions(+), 5 deletions(-) diff --git a/src/model/test/FloorspaceReverseTranslator_GTest.cpp b/src/model/test/FloorspaceReverseTranslator_GTest.cpp index 2856efb5e24..313b2999f94 100644 --- a/src/model/test/FloorspaceReverseTranslator_GTest.cpp +++ b/src/model/test/FloorspaceReverseTranslator_GTest.cpp @@ -1462,3 +1462,109 @@ TEST_F(ModelFixture, FloorspaceReverseTranslator_Issue_4766) { CompareTwoModels(*model1, *model); } + +TEST_F(ModelFixture, FloorspaceReverseTranslator_Issue_4312) { + + ThreeJSReverseTranslator rt; + + openstudio::path p = resourcesPath() / toPath("utilities/Geometry/issue_4312.json"); + ASSERT_TRUE(exists(p)); + + boost::optional floorPlan = FloorplanJS::load(toString(p)); + ASSERT_TRUE(floorPlan); + + // not triangulated, for model transport/translation + ThreeScene scene = floorPlan->toThreeScene(true); + + boost::optional model = rt.modelFromThreeJS(scene); + ASSERT_TRUE(model); + model->save(resourcesPath() / toPath("utilities/Geometry/issue_4312-threejs.osm"), true); + + FloorspaceReverseTranslator frt; + boost::optional model1 = frt.modelFromFloorspace(toString(p)); + ASSERT_TRUE(model1); + + model1->save(resourcesPath() / toPath("utilities/Geometry/issue_4312-direct.osm"), true); + + CompareTwoModels(*model1, *model); +} + +TEST_F(ModelFixture, FloorspaceReverseTranslator_Issue_4237) { + + ThreeJSReverseTranslator rt; + + openstudio::path p = resourcesPath() / toPath("utilities/Geometry/issue_4237.json"); + ASSERT_TRUE(exists(p)); + + boost::optional floorPlan = FloorplanJS::load(toString(p)); + ASSERT_TRUE(floorPlan); + + // not triangulated, for model transport/translation + ThreeScene scene = floorPlan->toThreeScene(true); + + boost::optional model = rt.modelFromThreeJS(scene); + ASSERT_TRUE(model); + model->save(resourcesPath() / toPath("utilities/Geometry/issue_4237-threejs.osm"), true); + + FloorspaceReverseTranslator frt; + boost::optional model1 = frt.modelFromFloorspace(toString(p)); + ASSERT_TRUE(model1); + + model1->save(resourcesPath() / toPath("utilities/Geometry/issue_4237-direct.osm"), true); + + CompareTwoModels(*model1, *model); +} + +TEST_F(ModelFixture, FloorspaceReverseTranslator_Issue_4776) { + + ThreeJSReverseTranslator rt; + + openstudio::path p = resourcesPath() / toPath("utilities/Geometry/issue_4203.json"); + ASSERT_TRUE(exists(p)); + + boost::optional floorPlan = FloorplanJS::load(toString(p)); + ASSERT_TRUE(floorPlan); + + // not triangulated, for model transport/translation + ThreeScene scene = floorPlan->toThreeScene(true); + + boost::optional model = rt.modelFromThreeJS(scene); + ASSERT_TRUE(model); + ShiftVertices(*model); + model->save(resourcesPath() / toPath("utilities/Geometry/issue_4203-threejs.osm"), true); + + FloorspaceReverseTranslator frt; + boost::optional model1 = frt.modelFromFloorspace(toString(p)); + ASSERT_TRUE(model1); + ShiftVertices(*model1); + model1->save(resourcesPath() / toPath("utilities/Geometry/issue_4203-direct.osm"), true); + + CompareTwoModels(*model1, *model); +} + +TEST_F(ModelFixture, FloorspaceReverseTranslator_Issue_4323) { + + ThreeJSReverseTranslator rt; + + openstudio::path p = resourcesPath() / toPath("utilities/Geometry/issue-4323.json"); + ASSERT_TRUE(exists(p)); + + boost::optional floorPlan = FloorplanJS::load(toString(p)); + ASSERT_TRUE(floorPlan); + + // not triangulated, for model transport/translation + ThreeScene scene = floorPlan->toThreeScene(true); + + boost::optional model = rt.modelFromThreeJS(scene); + ASSERT_TRUE(model); + ShiftVertices(*model); + model->save(resourcesPath() / toPath("utilities/Geometry/issue-4323-threejs.osm"), true); + + FloorspaceReverseTranslator frt; + boost::optional model1 = frt.modelFromFloorspace(toString(p)); + ASSERT_TRUE(model1); + ShiftVertices(*model1); + model1->save(resourcesPath() / toPath("utilities/Geometry/issue-4323-direct.osm"), true); + + CompareTwoModels(*model1, *model); +} \ No newline at end of file diff --git a/src/utilities/geometry/Intersection.cpp b/src/utilities/geometry/Intersection.cpp index 74d19b43dea..962038da76a 100644 --- a/src/utilities/geometry/Intersection.cpp +++ b/src/utilities/geometry/Intersection.cpp @@ -374,7 +374,7 @@ boost::optional nonIntersectingBoostRingFromVertices(const std::vecto } // convert a boost polygon to vertices -std::vector verticesFromBoostPolygon(const BoostPolygon& polygon, std::vector& allPoints, double tol) { +std::vector verticesFromBoostPolygon(const BoostPolygon& polygon, std::vector& allPoints, double tol, bool removeCollinear = true) { std::vector result; BoostRing outer = polygon.outer(); @@ -401,7 +401,8 @@ std::vector verticesFromBoostPolygon(const BoostPolygon& polygon, std:: "Converting polygon with " << polygon.inners().size() << " inner loops to OpenStudio vertices, inner loops ignored"); } - result = removeCollinearLegacy(result); + if (removeCollinear) + result = removeCollinearLegacy(result); // don't keep repeated vertices if (result.front() == result.back()) { @@ -1100,10 +1101,12 @@ std::vector simplify(const std::vector& vertices, bool removeC // this uses the Douglas-Peucker algorithm with a max difference of 0 so no non-collinear points will be removed // if we want to allow this algorithm to be called with a non-zero value I suggest naming it "approximate" or something - //boost::geometry::simplify(*bp, out, 0.0); - boost::geometry::simplify(*bp, out, tol); // points within tol would already be merged + if (!removeCollinear) + boost::geometry::simplify(*bp, out, 0.0); + else + boost::geometry::simplify(*bp, out, tol); // points within tol would already be merged - std::vector tmp = verticesFromBoostPolygon(out, allPoints, tol); + std::vector tmp = verticesFromBoostPolygon(out, allPoints, tol, removeCollinear); if (reversed) { tmp = reorderULC(reverse(tmp)); From 65d7d150231cd863cbe46b715c6d8088647d840c Mon Sep 17 00:00:00 2001 From: ggartside Date: Tue, 17 Jan 2023 09:49:35 -0600 Subject: [PATCH 05/22] << operator for Point3dVectorVector --- src/utilities/geometry/Point3d.cpp | 21 +++++++++++++++++++++ src/utilities/geometry/Point3d.hpp | 3 +++ 2 files changed, 24 insertions(+) diff --git a/src/utilities/geometry/Point3d.cpp b/src/utilities/geometry/Point3d.cpp index 45d353c364d..1ed6a74b4c9 100644 --- a/src/utilities/geometry/Point3d.cpp +++ b/src/utilities/geometry/Point3d.cpp @@ -113,4 +113,25 @@ std::ostream& operator<<(std::ostream& os, const std::vector& pointVect return os; } +// Writes a json string representing the vector of point vectors +// Will deserialize in to a simple class that defines three double properties X,Y,Z +std::ostream& operator<<(std::ostream& os, const std::vector>& pointVectorVector) { + os << "["; + for (unsigned i = 0; i < pointVectorVector.size(); i++) { + os << "["; + Point3dVector points = pointVectorVector[i]; + for (unsigned j = 0; j < points.size(); j++) { + os << "{"; + os << "\"X\":" << points[j].x() << ","; + os << "\"Y\":" << points[j].y() << ","; + os << "\"Z\":" << points[j].z(); + os << "},"; + } + os << "],"; + } + os << "]"; + + return os; +} + } // namespace openstudio diff --git a/src/utilities/geometry/Point3d.hpp b/src/utilities/geometry/Point3d.hpp index b80b0df59ac..ba4ca5a226d 100644 --- a/src/utilities/geometry/Point3d.hpp +++ b/src/utilities/geometry/Point3d.hpp @@ -89,6 +89,9 @@ UTILITIES_API std::ostream& operator<<(std::ostream& os, const Point3d& point); /// ostream operator UTILITIES_API std::ostream& operator<<(std::ostream& os, const std::vector& pointVector); +/// ostream operator +UTILITIES_API std::ostream& operator<<(std::ostream& os, const std::vector>& pointVectorVector); + // optional Point3d typedef boost::optional OptionalPoint3d; From 420a01b9a0cf10e065cb780ac8d6d6c7d76cde8f Mon Sep 17 00:00:00 2001 From: ggartside Date: Tue, 17 Jan 2023 14:30:02 -0600 Subject: [PATCH 06/22] New and updated tests and test files of course --- resources/CMakeLists.txt | 5 + resources/utilities/Geometry/issue-4203.json | 6998 ++++++ resources/utilities/Geometry/issue-4237.json | 1 + resources/utilities/Geometry/issue-4312.json | 20272 ++++++++++++++++ resources/utilities/Geometry/issue-4313.json | 1 + resources/utilities/Geometry/issue-4488.json | 1 + resources/utilities/Geometry/issue-4670.json | 1 + .../FloorspaceReverseTranslator_GTest.cpp | 333 +- src/model/test/SubSurface_GTest.cpp | 4 +- .../test/ThreeJSReverseTranslator_GTest.cpp | 6 +- .../geometry/Test/Intersection_GTest.cpp | 32 +- 11 files changed, 27629 insertions(+), 25 deletions(-) create mode 100644 resources/utilities/Geometry/issue-4203.json create mode 100644 resources/utilities/Geometry/issue-4237.json create mode 100644 resources/utilities/Geometry/issue-4312.json create mode 100644 resources/utilities/Geometry/issue-4313.json create mode 100644 resources/utilities/Geometry/issue-4488.json create mode 100644 resources/utilities/Geometry/issue-4670.json diff --git a/resources/CMakeLists.txt b/resources/CMakeLists.txt index c592c207851..55cc6fe03f1 100644 --- a/resources/CMakeLists.txt +++ b/resources/CMakeLists.txt @@ -69,6 +69,11 @@ set(utilities_resources_src utilities/Geometry/threejs.json utilities/Geometry/window_floorplan.json utilities/Geometry/issue-4222.json + utilities/Geometry/issue-4312.json + utilities/Geometry/issue-4203.json + utilities/geometry/issue-4488.json + utilities/Geometry/issue-4670.json + utilities/Geometry/issue-4313.json utilities/Geometry/floorplan_mcve.json utilities/Geometry/minimal_GLTF_File.gltf utilities/Geometry/7-7_Windows_Complete.gltf diff --git a/resources/utilities/Geometry/issue-4203.json b/resources/utilities/Geometry/issue-4203.json new file mode 100644 index 00000000000..6d83c54f088 --- /dev/null +++ b/resources/utilities/Geometry/issue-4203.json @@ -0,0 +1,6998 @@ +{ + "option_name": "Study02082021", + "project": { + "footprintID": "92cb-9705-aa6b-8724", + "config": { + "units": "ip", + "unitsEditable": true, + "language": "EN-US" + }, + "north_axis": 0, + "ground": { + "floor_offset": 0, + "azimuth_angle": 0, + "tilt_slope": 0 + }, + "grid": { + "visible": true, + "spacing": 2 + }, + "view": { + "min_x": -18997.555555555555, + "max_x": -18326.444444444445, + "min_y": -6583.424888888889, + "max_y": -5770.57511111111 + }, + "map": { + "initialized": true, + "enabled": true, + "visible": false, + "latitude": 39.51849730000001, + "longitude": -104.7591812, + "zoom": 4.5, + "rotation": 0, + "elevation": 0 + }, + "previous_story": { + "visible": true + }, + "show_import_export": true + }, + "stories": [ + { + "id": "11", + "handle": null, + "name": "Story 1", + "image_id": "68", + "below_floor_plenum_height": 0, + "floor_to_ceiling_height": 18, + "above_ceiling_plenum_height": 0, + "multiplier": 1, + "color": "#117733", + "geometry": { + "id": "12", + "vertices": [ + { + "id": "126", + "x": -18802, + "y": -6038, + "edge_ids": [ + "143", + "413", + "469" + ] + }, + { + "id": "127", + "x": -18756, + "y": -6038, + "edge_ids": [ + "143", + "144" + ] + }, + { + "id": "128", + "x": -18708, + "y": -6050, + "edge_ids": [ + "144", + "414", + "468" + ] + }, + { + "id": "132", + "x": -18604, + "y": -5994, + "edge_ids": [ + "192", + "193", + "445", + "446" + ] + }, + { + "id": "179", + "x": -18678, + "y": -6060, + "edge_ids": [ + "186", + "395", + "415", + "483" + ] + }, + { + "id": "180", + "x": -18638, + "y": -6078, + "edge_ids": [ + "186", + "192", + "196", + "485" + ] + }, + { + "id": "189", + "x": -18582, + "y": -6004, + "edge_ids": [ + "193", + "194" + ] + }, + { + "id": "190", + "x": -18546, + "y": -6026, + "edge_ids": [ + "194", + "195", + "535" + ] + }, + { + "id": "191", + "x": -18596, + "y": -6102, + "edge_ids": [ + "195", + "196", + "400" + ] + }, + { + "id": "227", + "x": -18426, + "y": -6154, + "edge_ids": [ + "312", + "319", + "549" + ] + }, + { + "id": "243", + "x": -18410, + "y": -6180, + "edge_ids": [ + "319", + "320", + "562" + ] + }, + { + "id": "252", + "x": -18380, + "y": -6246, + "edge_ids": [ + "510", + "511", + "578" + ] + }, + { + "id": "297", + "x": -18544, + "y": -6146, + "edge_ids": [ + "381", + "385", + "551" + ] + }, + { + "id": "300", + "x": -18568, + "y": -6124, + "edge_ids": [ + "401", + "404" + ] + }, + { + "id": "310", + "x": -18504, + "y": -6194, + "edge_ids": [ + "312", + "313", + "321" + ] + }, + { + "id": "311", + "x": -18504.05, + "y": -6193.93, + "edge_ids": [ + "313", + "380" + ] + }, + { + "id": "318", + "x": -18492, + "y": -6216, + "edge_ids": [ + "320", + "321", + "368" + ] + }, + { + "id": "324", + "x": -18474, + "y": -6252, + "edge_ids": [ + "365", + "366", + "559" + ] + }, + { + "id": "335", + "x": -18464, + "y": -6282, + "edge_ids": [ + "347", + "366", + "508" + ] + }, + { + "id": "336", + "x": -18454, + "y": -6312, + "edge_ids": [ + "347", + "348", + "515" + ] + }, + { + "id": "337", + "x": -18514, + "y": -6328, + "edge_ids": [ + "348", + "362", + "526" + ] + }, + { + "id": "359", + "x": -18518, + "y": -6308, + "edge_ids": [ + "362", + "363" + ] + }, + { + "id": "360", + "x": -18538, + "y": -6262, + "edge_ids": [ + "363", + "364", + "374" + ] + }, + { + "id": "361", + "x": -18478, + "y": -6244, + "edge_ids": [ + "364", + "365", + "368" + ] + }, + { + "id": "370", + "x": -18546, + "y": -6244, + "edge_ids": [ + "374", + "375" + ] + }, + { + "id": "371", + "x": -18562, + "y": -6218, + "edge_ids": [ + "375", + "376" + ] + }, + { + "id": "372", + "x": -18582, + "y": -6194, + "edge_ids": [ + "376", + "377", + "387" + ] + }, + { + "id": "373", + "x": -18534, + "y": -6158, + "edge_ids": [ + "377", + "380", + "381" + ] + }, + { + "id": "383", + "x": -18554, + "y": -6136, + "edge_ids": [ + "385", + "386", + "404" + ] + }, + { + "id": "384", + "x": -18596, + "y": -6180, + "edge_ids": [ + "386", + "387", + "393" + ] + }, + { + "id": "390", + "x": -18618, + "y": -6160, + "edge_ids": [ + "393", + "394" + ] + }, + { + "id": "391", + "x": -18700, + "y": -6116, + "edge_ids": [ + "394", + "395", + "410" + ] + }, + { + "id": "398", + "x": -18568.13, + "y": -6123.87, + "edge_ids": [ + "400", + "401", + "533" + ] + }, + { + "id": "406", + "x": -18720, + "y": -6108, + "edge_ids": [ + "410", + "411" + ] + }, + { + "id": "407", + "x": -18778, + "y": -6096, + "edge_ids": [ + "411", + "412" + ] + }, + { + "id": "408", + "x": -18802, + "y": -6096, + "edge_ids": [ + "412", + "413" + ] + }, + { + "id": "409", + "x": -18692, + "y": -6054, + "edge_ids": [ + "414", + "415" + ] + }, + { + "id": "424", + "x": -18964, + "y": -5978, + "edge_ids": [ + "438", + "452" + ] + }, + { + "id": "425", + "x": -18956, + "y": -6000, + "edge_ids": [ + "438", + "439", + "490" + ] + }, + { + "id": "426", + "x": -18888, + "y": -5978, + "edge_ids": [ + "439", + "440" + ] + }, + { + "id": "427", + "x": -18792, + "y": -5974, + "edge_ids": [ + "440", + "441" + ] + }, + { + "id": "428", + "x": -18746, + "y": -5978, + "edge_ids": [ + "441", + "442" + ] + }, + { + "id": "429", + "x": -18704, + "y": -5984, + "edge_ids": [ + "442", + "493" + ] + }, + { + "id": "430", + "x": -18650, + "y": -6004, + "edge_ids": [ + "444", + "495" + ] + }, + { + "id": "431", + "x": -18614, + "y": -6018, + "edge_ids": [ + "444", + "445", + "498", + "499" + ] + }, + { + "id": "432", + "x": -18644, + "y": -5976, + "edge_ids": [ + "446", + "447" + ] + }, + { + "id": "433", + "x": -18700, + "y": -5958, + "edge_ids": [ + "447", + "448" + ] + }, + { + "id": "434", + "x": -18748, + "y": -5950, + "edge_ids": [ + "448", + "449" + ] + }, + { + "id": "435", + "x": -18792, + "y": -5946, + "edge_ids": [ + "449", + "450" + ] + }, + { + "id": "436", + "x": -18852, + "y": -5948, + "edge_ids": [ + "450", + "451" + ] + }, + { + "id": "437", + "x": -18894, + "y": -5954, + "edge_ids": [ + "451", + "452" + ] + }, + { + "id": "455", + "x": -18932, + "y": -6060, + "edge_ids": [ + "463", + "471" + ] + }, + { + "id": "456", + "x": -18940, + "y": -6040, + "edge_ids": [ + "463", + "464", + "490" + ] + }, + { + "id": "457", + "x": -18880, + "y": -6022, + "edge_ids": [ + "464", + "465" + ] + }, + { + "id": "458", + "x": -18844, + "y": -6018, + "edge_ids": [ + "465", + "466" + ] + }, + { + "id": "459", + "x": -18760, + "y": -6016, + "edge_ids": [ + "466", + "467" + ] + }, + { + "id": "460", + "x": -18702, + "y": -6030, + "edge_ids": [ + "467", + "468", + "491" + ] + }, + { + "id": "461", + "x": -18840, + "y": -6038, + "edge_ids": [ + "469", + "470" + ] + }, + { + "id": "462", + "x": -18874, + "y": -6042, + "edge_ids": [ + "470", + "471" + ] + }, + { + "id": "481", + "x": -18662.70588235294, + "y": -6021.764705882353, + "edge_ids": [ + "483", + "484", + "497" + ] + }, + { + "id": "482", + "x": -18622, + "y": -6038, + "edge_ids": [ + "484", + "485", + "498" + ] + }, + { + "id": "488", + "x": -18696, + "y": -6010, + "edge_ids": [ + "491", + "492", + "497" + ] + }, + { + "id": "489", + "x": -18688, + "y": -5990, + "edge_ids": [ + "492", + "493", + "495", + "499" + ] + }, + { + "id": "502", + "x": -18424, + "y": -6270, + "edge_ids": [ + "508", + "509" + ] + }, + { + "id": "503", + "x": -18426, + "y": -6266, + "edge_ids": [ + "509", + "510", + "577" + ] + }, + { + "id": "504", + "x": -18374, + "y": -6260, + "edge_ids": [ + "511", + "512" + ] + }, + { + "id": "505", + "x": -18360, + "y": -6320, + "edge_ids": [ + "512", + "513" + ] + }, + { + "id": "506", + "x": -18434, + "y": -6332, + "edge_ids": [ + "513", + "514", + "522" + ] + }, + { + "id": "507", + "x": -18446, + "y": -6334, + "edge_ids": [ + "514", + "515" + ] + }, + { + "id": "518", + "x": -18430, + "y": -6376, + "edge_ids": [ + "522", + "523" + ] + }, + { + "id": "519", + "x": -18430, + "y": -6408, + "edge_ids": [ + "523", + "524" + ] + }, + { + "id": "520", + "x": -18504, + "y": -6406, + "edge_ids": [ + "524", + "525" + ] + }, + { + "id": "521", + "x": -18504, + "y": -6384, + "edge_ids": [ + "525", + "526" + ] + }, + { + "id": "530", + "x": -18542, + "y": -6094, + "edge_ids": [ + "533", + "534", + "541" + ] + }, + { + "id": "531", + "x": -18512, + "y": -6054, + "edge_ids": [ + "534", + "535", + "544" + ] + }, + { + "id": "538", + "x": -18516, + "y": -6118, + "edge_ids": [ + "541", + "542", + "551" + ] + }, + { + "id": "539", + "x": -18480, + "y": -6086, + "edge_ids": [ + "542", + "543", + "550" + ] + }, + { + "id": "540", + "x": -18500, + "y": -6064, + "edge_ids": [ + "543", + "544" + ] + }, + { + "id": "547", + "x": -18448, + "y": -6120, + "edge_ids": [ + "549", + "550" + ] + }, + { + "id": "555", + "x": -18436, + "y": -6234, + "edge_ids": [ + "559", + "560", + "577" + ] + }, + { + "id": "556", + "x": -18392, + "y": -6216, + "edge_ids": [ + "560", + "561", + "578" + ] + }, + { + "id": "557", + "x": -18400, + "y": -6196, + "edge_ids": [ + "561", + "562" + ] + } + ], + "edges": [ + { + "id": "143", + "vertex_ids": [ + "126", + "127" + ], + "face_ids": [ + "416", + "472" + ] + }, + { + "id": "144", + "vertex_ids": [ + "127", + "128" + ], + "face_ids": [ + "416", + "472" + ] + }, + { + "id": "186", + "vertex_ids": [ + "179", + "180" + ], + "face_ids": [ + "403", + "486" + ] + }, + { + "id": "192", + "vertex_ids": [ + "180", + "132" + ], + "face_ids": [ + "197" + ] + }, + { + "id": "193", + "vertex_ids": [ + "132", + "189" + ], + "face_ids": [ + "197" + ] + }, + { + "id": "194", + "vertex_ids": [ + "189", + "190" + ], + "face_ids": [ + "197" + ] + }, + { + "id": "195", + "vertex_ids": [ + "190", + "191" + ], + "face_ids": [ + "197", + "536" + ] + }, + { + "id": "196", + "vertex_ids": [ + "191", + "180" + ], + "face_ids": [ + "197", + "403" + ] + }, + { + "id": "312", + "vertex_ids": [ + "227", + "310" + ], + "face_ids": [ + "322", + "553" + ] + }, + { + "id": "313", + "vertex_ids": [ + "310", + "311" + ], + "face_ids": [ + "379", + "553" + ] + }, + { + "id": "319", + "vertex_ids": [ + "227", + "243" + ], + "face_ids": [ + "322" + ] + }, + { + "id": "320", + "vertex_ids": [ + "243", + "318" + ], + "face_ids": [ + "322", + "563" + ] + }, + { + "id": "321", + "vertex_ids": [ + "318", + "310" + ], + "face_ids": [ + "322", + "379" + ] + }, + { + "id": "347", + "vertex_ids": [ + "335", + "336" + ], + "face_ids": [ + "367", + "516" + ] + }, + { + "id": "348", + "vertex_ids": [ + "336", + "337" + ], + "face_ids": [ + "367", + "527" + ] + }, + { + "id": "362", + "vertex_ids": [ + "337", + "359" + ], + "face_ids": [ + "367" + ] + }, + { + "id": "363", + "vertex_ids": [ + "359", + "360" + ], + "face_ids": [ + "367" + ] + }, + { + "id": "364", + "vertex_ids": [ + "360", + "361" + ], + "face_ids": [ + "367", + "379" + ] + }, + { + "id": "365", + "vertex_ids": [ + "361", + "324" + ], + "face_ids": [ + "367", + "563" + ] + }, + { + "id": "366", + "vertex_ids": [ + "324", + "335" + ], + "face_ids": [ + "367" + ] + }, + { + "id": "368", + "vertex_ids": [ + "318", + "361" + ], + "face_ids": [ + "379", + "563" + ] + }, + { + "id": "374", + "vertex_ids": [ + "360", + "370" + ], + "face_ids": [ + "379" + ] + }, + { + "id": "375", + "vertex_ids": [ + "370", + "371" + ], + "face_ids": [ + "379" + ] + }, + { + "id": "376", + "vertex_ids": [ + "371", + "372" + ], + "face_ids": [ + "379" + ] + }, + { + "id": "377", + "vertex_ids": [ + "372", + "373" + ], + "face_ids": [ + "379", + "388" + ] + }, + { + "id": "380", + "vertex_ids": [ + "311", + "373" + ], + "face_ids": [ + "379", + "553" + ] + }, + { + "id": "381", + "vertex_ids": [ + "373", + "297" + ], + "face_ids": [ + "388", + "553" + ] + }, + { + "id": "385", + "vertex_ids": [ + "297", + "383" + ], + "face_ids": [ + "388" + ] + }, + { + "id": "386", + "vertex_ids": [ + "383", + "384" + ], + "face_ids": [ + "388", + "403" + ] + }, + { + "id": "387", + "vertex_ids": [ + "384", + "372" + ], + "face_ids": [ + "388" + ] + }, + { + "id": "400", + "vertex_ids": [ + "191", + "398" + ], + "face_ids": [ + "403", + "536" + ] + }, + { + "id": "401", + "vertex_ids": [ + "398", + "300" + ], + "face_ids": [ + "403" + ] + }, + { + "id": "393", + "vertex_ids": [ + "384", + "390" + ], + "face_ids": [ + "403" + ] + }, + { + "id": "394", + "vertex_ids": [ + "390", + "391" + ], + "face_ids": [ + "403" + ] + }, + { + "id": "395", + "vertex_ids": [ + "391", + "179" + ], + "face_ids": [ + "403", + "416" + ] + }, + { + "id": "404", + "vertex_ids": [ + "300", + "383" + ], + "face_ids": [ + "403" + ] + }, + { + "id": "410", + "vertex_ids": [ + "391", + "406" + ], + "face_ids": [ + "416" + ] + }, + { + "id": "411", + "vertex_ids": [ + "406", + "407" + ], + "face_ids": [ + "416" + ] + }, + { + "id": "412", + "vertex_ids": [ + "407", + "408" + ], + "face_ids": [ + "416" + ] + }, + { + "id": "413", + "vertex_ids": [ + "408", + "126" + ], + "face_ids": [ + "416" + ] + }, + { + "id": "414", + "vertex_ids": [ + "128", + "409" + ], + "face_ids": [ + "416" + ] + }, + { + "id": "415", + "vertex_ids": [ + "409", + "179" + ], + "face_ids": [ + "416" + ] + }, + { + "id": "438", + "vertex_ids": [ + "424", + "425" + ], + "face_ids": [ + "453" + ] + }, + { + "id": "439", + "vertex_ids": [ + "425", + "426" + ], + "face_ids": [ + "453", + "494" + ] + }, + { + "id": "440", + "vertex_ids": [ + "426", + "427" + ], + "face_ids": [ + "453", + "494" + ] + }, + { + "id": "441", + "vertex_ids": [ + "427", + "428" + ], + "face_ids": [ + "453", + "494" + ] + }, + { + "id": "442", + "vertex_ids": [ + "428", + "429" + ], + "face_ids": [ + "453", + "494" + ] + }, + { + "id": "444", + "vertex_ids": [ + "430", + "431" + ], + "face_ids": [ + "453" + ] + }, + { + "id": "445", + "vertex_ids": [ + "431", + "132" + ], + "face_ids": [ + "453" + ] + }, + { + "id": "446", + "vertex_ids": [ + "132", + "432" + ], + "face_ids": [ + "453" + ] + }, + { + "id": "447", + "vertex_ids": [ + "432", + "433" + ], + "face_ids": [ + "453" + ] + }, + { + "id": "448", + "vertex_ids": [ + "433", + "434" + ], + "face_ids": [ + "453" + ] + }, + { + "id": "449", + "vertex_ids": [ + "434", + "435" + ], + "face_ids": [ + "453" + ] + }, + { + "id": "450", + "vertex_ids": [ + "435", + "436" + ], + "face_ids": [ + "453" + ] + }, + { + "id": "451", + "vertex_ids": [ + "436", + "437" + ], + "face_ids": [ + "453" + ] + }, + { + "id": "452", + "vertex_ids": [ + "437", + "424" + ], + "face_ids": [ + "453" + ] + }, + { + "id": "463", + "vertex_ids": [ + "455", + "456" + ], + "face_ids": [ + "472" + ] + }, + { + "id": "464", + "vertex_ids": [ + "456", + "457" + ], + "face_ids": [ + "472", + "494" + ] + }, + { + "id": "465", + "vertex_ids": [ + "457", + "458" + ], + "face_ids": [ + "472", + "494" + ] + }, + { + "id": "466", + "vertex_ids": [ + "458", + "459" + ], + "face_ids": [ + "472", + "494" + ] + }, + { + "id": "467", + "vertex_ids": [ + "459", + "460" + ], + "face_ids": [ + "472", + "494" + ] + }, + { + "id": "468", + "vertex_ids": [ + "460", + "128" + ], + "face_ids": [ + "472" + ] + }, + { + "id": "469", + "vertex_ids": [ + "126", + "461" + ], + "face_ids": [ + "472" + ] + }, + { + "id": "470", + "vertex_ids": [ + "461", + "462" + ], + "face_ids": [ + "472" + ] + }, + { + "id": "471", + "vertex_ids": [ + "462", + "455" + ], + "face_ids": [ + "472" + ] + }, + { + "id": "483", + "vertex_ids": [ + "179", + "481" + ], + "face_ids": [ + "486" + ] + }, + { + "id": "484", + "vertex_ids": [ + "481", + "482" + ], + "face_ids": [ + "486", + "500" + ] + }, + { + "id": "485", + "vertex_ids": [ + "482", + "180" + ], + "face_ids": [ + "486" + ] + }, + { + "id": "490", + "vertex_ids": [ + "425", + "456" + ], + "face_ids": [ + "494" + ] + }, + { + "id": "491", + "vertex_ids": [ + "460", + "488" + ], + "face_ids": [ + "494" + ] + }, + { + "id": "492", + "vertex_ids": [ + "488", + "489" + ], + "face_ids": [ + "494", + "500" + ] + }, + { + "id": "493", + "vertex_ids": [ + "489", + "429" + ], + "face_ids": [ + "453", + "494" + ] + }, + { + "id": "495", + "vertex_ids": [ + "489", + "430" + ], + "face_ids": [ + "453" + ] + }, + { + "id": "497", + "vertex_ids": [ + "488", + "481" + ], + "face_ids": [ + "500" + ] + }, + { + "id": "498", + "vertex_ids": [ + "482", + "431" + ], + "face_ids": [ + "500" + ] + }, + { + "id": "499", + "vertex_ids": [ + "431", + "489" + ], + "face_ids": [ + "500" + ] + }, + { + "id": "508", + "vertex_ids": [ + "335", + "502" + ], + "face_ids": [ + "516" + ] + }, + { + "id": "509", + "vertex_ids": [ + "502", + "503" + ], + "face_ids": [ + "516" + ] + }, + { + "id": "510", + "vertex_ids": [ + "503", + "252" + ], + "face_ids": [ + "516", + "579" + ] + }, + { + "id": "511", + "vertex_ids": [ + "252", + "504" + ], + "face_ids": [ + "516" + ] + }, + { + "id": "512", + "vertex_ids": [ + "504", + "505" + ], + "face_ids": [ + "516" + ] + }, + { + "id": "513", + "vertex_ids": [ + "505", + "506" + ], + "face_ids": [ + "516" + ] + }, + { + "id": "514", + "vertex_ids": [ + "506", + "507" + ], + "face_ids": [ + "516", + "527" + ] + }, + { + "id": "515", + "vertex_ids": [ + "507", + "336" + ], + "face_ids": [ + "516", + "527" + ] + }, + { + "id": "522", + "vertex_ids": [ + "506", + "518" + ], + "face_ids": [ + "527" + ] + }, + { + "id": "523", + "vertex_ids": [ + "518", + "519" + ], + "face_ids": [ + "527" + ] + }, + { + "id": "524", + "vertex_ids": [ + "519", + "520" + ], + "face_ids": [ + "527" + ] + }, + { + "id": "525", + "vertex_ids": [ + "520", + "521" + ], + "face_ids": [ + "527" + ] + }, + { + "id": "526", + "vertex_ids": [ + "521", + "337" + ], + "face_ids": [ + "527" + ] + }, + { + "id": "533", + "vertex_ids": [ + "398", + "530" + ], + "face_ids": [ + "536" + ] + }, + { + "id": "534", + "vertex_ids": [ + "530", + "531" + ], + "face_ids": [ + "536", + "545" + ] + }, + { + "id": "535", + "vertex_ids": [ + "531", + "190" + ], + "face_ids": [ + "536" + ] + }, + { + "id": "541", + "vertex_ids": [ + "530", + "538" + ], + "face_ids": [ + "545" + ] + }, + { + "id": "542", + "vertex_ids": [ + "538", + "539" + ], + "face_ids": [ + "545", + "553" + ] + }, + { + "id": "543", + "vertex_ids": [ + "539", + "540" + ], + "face_ids": [ + "545" + ] + }, + { + "id": "544", + "vertex_ids": [ + "540", + "531" + ], + "face_ids": [ + "545" + ] + }, + { + "id": "549", + "vertex_ids": [ + "227", + "547" + ], + "face_ids": [ + "553" + ] + }, + { + "id": "550", + "vertex_ids": [ + "547", + "539" + ], + "face_ids": [ + "553" + ] + }, + { + "id": "551", + "vertex_ids": [ + "538", + "297" + ], + "face_ids": [ + "553" + ] + }, + { + "id": "559", + "vertex_ids": [ + "324", + "555" + ], + "face_ids": [ + "563" + ] + }, + { + "id": "560", + "vertex_ids": [ + "555", + "556" + ], + "face_ids": [ + "563", + "579" + ] + }, + { + "id": "561", + "vertex_ids": [ + "556", + "557" + ], + "face_ids": [ + "563" + ] + }, + { + "id": "562", + "vertex_ids": [ + "557", + "243" + ], + "face_ids": [ + "563" + ] + }, + { + "id": "577", + "vertex_ids": [ + "555", + "503" + ], + "face_ids": [ + "579" + ] + }, + { + "id": "578", + "vertex_ids": [ + "252", + "556" + ], + "face_ids": [ + "579" + ] + } + ], + "faces": [ + { + "id": "197", + "edge_ids": [ + "192", + "193", + "194", + "195", + "196" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "id": "322", + "edge_ids": [ + "312", + "319", + "320", + "321" + ], + "edge_order": [ + 0, + 1, + 1, + 1 + ] + }, + { + "id": "367", + "edge_ids": [ + "348", + "362", + "363", + "364", + "365", + "366", + "347" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "id": "379", + "edge_ids": [ + "368", + "321", + "313", + "380", + "377", + "376", + "375", + "374", + "364" + ], + "edge_order": [ + 0, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 1 + ] + }, + { + "id": "388", + "edge_ids": [ + "377", + "381", + "385", + "386", + "387" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "id": "403", + "edge_ids": [ + "386", + "393", + "394", + "395", + "186", + "196", + "400", + "401", + "404" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 1 + ] + }, + { + "id": "416", + "edge_ids": [ + "410", + "411", + "412", + "413", + "143", + "144", + "414", + "415", + "395" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0 + ] + }, + { + "id": "453", + "edge_ids": [ + "438", + "439", + "440", + "441", + "442", + "493", + "495", + "444", + "445", + "446", + "447", + "448", + "449", + "450", + "451", + "452" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "id": "472", + "edge_ids": [ + "463", + "464", + "465", + "466", + "467", + "468", + "144", + "143", + "469", + "470", + "471" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 1, + 1, + 1 + ] + }, + { + "id": "486", + "edge_ids": [ + "186", + "483", + "484", + "485" + ], + "edge_order": [ + 0, + 1, + 1, + 1 + ] + }, + { + "id": "494", + "edge_ids": [ + "490", + "464", + "465", + "466", + "467", + "491", + "492", + "493", + "442", + "441", + "440", + "439" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0 + ] + }, + { + "id": "500", + "edge_ids": [ + "497", + "484", + "498", + "499", + "492" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 0 + ] + }, + { + "id": "516", + "edge_ids": [ + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "347" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0 + ] + }, + { + "id": "527", + "edge_ids": [ + "348", + "515", + "514", + "522", + "523", + "524", + "525", + "526" + ], + "edge_order": [ + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "id": "536", + "edge_ids": [ + "400", + "533", + "534", + "535", + "195" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "id": "545", + "edge_ids": [ + "541", + "542", + "543", + "544", + "534" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 0 + ] + }, + { + "id": "553", + "edge_ids": [ + "381", + "380", + "313", + "312", + "549", + "550", + "542", + "551" + ], + "edge_order": [ + 0, + 0, + 0, + 0, + 1, + 1, + 0, + 1 + ] + }, + { + "id": "563", + "edge_ids": [ + "368", + "365", + "559", + "560", + "561", + "562", + "320" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "id": "579", + "edge_ids": [ + "577", + "510", + "578", + "560" + ], + "edge_order": [ + 1, + 1, + 1, + 0 + ] + } + ] + }, + "spaces": [ + { + "id": "188", + "handle": null, + "name": "Space 1-1", + "face_id": "197", + "building_unit_id": null, + "thermal_zone_id": "tz_1", + "space_type_id": "790", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 5238 + }, + { + "id": "317", + "handle": null, + "name": "Space 1-2", + "face_id": "322", + "building_unit_id": null, + "thermal_zone_id": "tz_2", + "space_type_id": "791", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 2452 + }, + { + "id": "358", + "handle": null, + "name": "Space 1-3", + "face_id": "367", + "building_unit_id": null, + "thermal_zone_id": "tz_3", + "space_type_id": "791", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 4360 + }, + { + "id": "369", + "handle": null, + "name": "Space 1-4", + "face_id": "379", + "building_unit_id": null, + "thermal_zone_id": "tz_4", + "space_type_id": "792", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 5612.149999999907 + }, + { + "id": "382", + "handle": null, + "name": "Space 1-5", + "face_id": "388", + "building_unit_id": null, + "thermal_zone_id": "tz_5", + "space_type_id": "791", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1500 + }, + { + "id": "389", + "handle": null, + "name": "Space 1-6", + "face_id": "403", + "building_unit_id": null, + "thermal_zone_id": "tz_6", + "space_type_id": "790", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 8232.389999999956 + }, + { + "id": "405", + "handle": null, + "name": "Space 1-7", + "face_id": "416", + "building_unit_id": null, + "thermal_zone_id": "tz_7", + "space_type_id": "790", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 6906 + }, + { + "id": "423", + "handle": null, + "name": "Space 1-8", + "face_id": "453", + "building_unit_id": null, + "thermal_zone_id": "tz_8", + "space_type_id": "791", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 9654 + }, + { + "id": "454", + "handle": null, + "name": "Space 1-9", + "face_id": "472", + "building_unit_id": null, + "thermal_zone_id": "tz_9", + "space_type_id": "791", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 4920 + }, + { + "id": "480", + "handle": null, + "name": "Space 1-10", + "face_id": "486", + "building_unit_id": null, + "thermal_zone_id": "tz_10", + "space_type_id": "790", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1846.3529411765049 + }, + { + "id": "487", + "handle": null, + "name": "Space 1-11", + "face_id": "494", + "building_unit_id": null, + "thermal_zone_id": "tz_11", + "space_type_id": "790", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 10944 + }, + { + "id": "496", + "handle": null, + "name": "Space 1-12", + "face_id": "500", + "building_unit_id": null, + "thermal_zone_id": "tz_12", + "space_type_id": "790", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1673.1764705881943 + }, + { + "id": "501", + "handle": null, + "name": "Space 1-13", + "face_id": "516", + "building_unit_id": null, + "thermal_zone_id": "tz_13", + "space_type_id": "790", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 5816 + }, + { + "id": "517", + "handle": null, + "name": "Space 1-14", + "face_id": "527", + "building_unit_id": null, + "thermal_zone_id": "tz_14", + "space_type_id": "790", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 6482 + }, + { + "id": "528", + "handle": null, + "name": "Space 1-15", + "face_id": "536", + "building_unit_id": null, + "thermal_zone_id": "tz_15", + "space_type_id": "790", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 3653.969999999972 + }, + { + "id": "537", + "handle": null, + "name": "Space 1-16", + "face_id": "545", + "building_unit_id": null, + "thermal_zone_id": "tz_16", + "space_type_id": "791", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 2000 + }, + { + "id": "546", + "handle": null, + "name": "Space 1-17", + "face_id": "553", + "building_unit_id": null, + "thermal_zone_id": "tz_17", + "space_type_id": "790", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 6693.850000000093 + }, + { + "id": "554", + "handle": null, + "name": "Space 1-18", + "face_id": "563", + "building_unit_id": null, + "thermal_zone_id": "tz_18", + "space_type_id": "790", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 3582 + }, + { + "id": "564", + "handle": null, + "name": "Space 1-19", + "face_id": "579", + "building_unit_id": null, + "thermal_zone_id": "tz_19", + "space_type_id": "791", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1604 + } + ], + "shading": [], + "windows": [ + { + "edge_id": "561", + "alpha": 0.2069473684210093, + "window_definition_id": 1, + "id": 1, + "name": "window 1" + }, + { + "edge_id": "578", + "alpha": 0.6943684210526605, + "window_definition_id": 2, + "id": 2, + "name": "window 2" + }, + { + "edge_id": "511", + "alpha": 0.5, + "window_definition_id": 3, + "id": 3, + "name": "window 3" + }, + { + "edge_id": "512", + "alpha": 0.5000000000000143, + "window_definition_id": 4, + "id": 4, + "name": "window 4" + }, + { + "edge_id": "513", + "alpha": 0.5, + "window_definition_id": 5, + "id": 5, + "name": "window 5" + }, + { + "edge_id": "522", + "alpha": 0.5, + "window_definition_id": 6, + "id": 6, + "name": "window 6" + }, + { + "edge_id": "523", + "alpha": 0.5, + "window_definition_id": 7, + "id": 7, + "name": "window 7" + }, + { + "edge_id": "524", + "alpha": 0.5, + "window_definition_id": 8, + "id": 8, + "name": "window 8" + }, + { + "edge_id": "525", + "alpha": 0.5, + "window_definition_id": 9, + "id": 9, + "name": "window 9" + }, + { + "edge_id": "526", + "alpha": 0.5, + "window_definition_id": 10, + "id": 10, + "name": "window 10" + }, + { + "edge_id": "362", + "alpha": 0.5000000000000175, + "window_definition_id": 11, + "id": 11, + "name": "window 11" + }, + { + "edge_id": "363", + "alpha": 0.5, + "window_definition_id": 12, + "id": 12, + "name": "window 12" + }, + { + "edge_id": "374", + "alpha": 0.5, + "window_definition_id": 13, + "id": 13, + "name": "window 13" + }, + { + "edge_id": "375", + "alpha": 0.5000000000000118, + "window_definition_id": 14, + "id": 14, + "name": "window 14" + }, + { + "edge_id": "376", + "alpha": 0.5000000000000447, + "window_definition_id": 15, + "id": 15, + "name": "window 15" + }, + { + "edge_id": "387", + "alpha": 0.5, + "window_definition_id": 16, + "id": 16, + "name": "window 16" + }, + { + "edge_id": "393", + "alpha": 0.5000000000000205, + "window_definition_id": 17, + "id": 17, + "name": "window 17" + }, + { + "edge_id": "394", + "alpha": 0.49999999999999536, + "window_definition_id": 18, + "id": 18, + "name": "window 18" + }, + { + "edge_id": "410", + "alpha": 0.5000000000000314, + "window_definition_id": 19, + "id": 19, + "name": "window 19" + }, + { + "edge_id": "411", + "alpha": 0.5, + "window_definition_id": 20, + "id": 20, + "name": "window 20" + }, + { + "edge_id": "412", + "alpha": 0.5, + "window_definition_id": 21, + "id": 21, + "name": "window 21" + }, + { + "edge_id": "413", + "alpha": 0.5, + "window_definition_id": 22, + "id": 22, + "name": "window 22" + }, + { + "edge_id": "469", + "alpha": 0.5, + "window_definition_id": 23, + "id": 23, + "name": "window 23" + }, + { + "edge_id": "470", + "alpha": 0.5000000000000062, + "window_definition_id": 24, + "id": 24, + "name": "window 24" + }, + { + "edge_id": "471", + "alpha": 0.4999999999999956, + "window_definition_id": 25, + "id": 25, + "name": "window 25" + }, + { + "edge_id": "463", + "alpha": 0.8522631578947261, + "window_definition_id": 26, + "id": 26, + "name": "window 26" + }, + { + "edge_id": "490", + "alpha": 0.6746315789473749, + "window_definition_id": 27, + "id": 27, + "name": "window 27" + }, + { + "edge_id": "438", + "alpha": 0.500000000000073, + "window_definition_id": 28, + "id": 28, + "name": "window 28" + }, + { + "edge_id": "192", + "alpha": 0.4999999999999814, + "window_definition_id": 29, + "id": 29, + "name": "window 29" + }, + { + "edge_id": "543", + "alpha": 0.4999999999999547, + "window_definition_id": 30, + "id": 30, + "name": "window 30" + }, + { + "edge_id": "550", + "alpha": 0.49999999999997166, + "window_definition_id": 31, + "id": 31, + "name": "window 31" + }, + { + "edge_id": "549", + "alpha": 0.5000000000000078, + "window_definition_id": 32, + "id": 32, + "name": "window 32" + }, + { + "edge_id": "319", + "alpha": 0.4999999999999629, + "window_definition_id": 33, + "id": 33, + "name": "window 33" + }, + { + "edge_id": "562", + "alpha": 0.5, + "window_definition_id": 34, + "id": 34, + "name": "window 34" + }, + { + "edge_id": "577", + "alpha": 0.5, + "window_definition_id": 35, + "id": 35, + "name": "window 35" + }, + { + "edge_id": "509", + "alpha": 0.5, + "window_definition_id": 36, + "id": 36, + "name": "window 36" + }, + { + "edge_id": "366", + "alpha": 0.4999999999999818, + "window_definition_id": 37, + "id": 37, + "name": "window 37" + }, + { + "edge_id": "559", + "alpha": 0.5000000000000092, + "window_definition_id": 38, + "id": 38, + "name": "window 38" + }, + { + "edge_id": "385", + "alpha": 0.5, + "window_definition_id": 39, + "id": 39, + "name": "window 39" + }, + { + "edge_id": "401", + "alpha": 0.49999999999125485, + "window_definition_id": 40, + "id": 40, + "name": "window 40" + }, + { + "edge_id": "533", + "alpha": 0.4999999999999784, + "window_definition_id": 41, + "id": 41, + "name": "window 41" + }, + { + "edge_id": "541", + "alpha": 0.5000000000000174, + "window_definition_id": 42, + "id": 42, + "name": "window 42" + }, + { + "edge_id": "495", + "alpha": 0.5000000000000078, + "window_definition_id": 43, + "id": 43, + "name": "window 43" + }, + { + "edge_id": "444", + "alpha": 0.5, + "window_definition_id": 44, + "id": 44, + "name": "window 44" + }, + { + "edge_id": "445", + "alpha": 0.500000000000086, + "window_definition_id": 45, + "id": 45, + "name": "window 45" + }, + { + "edge_id": "498", + "alpha": 0.14673684210528957, + "window_definition_id": 46, + "id": 46, + "name": "window 46" + }, + { + "edge_id": "485", + "alpha": 0.3253684210525664, + "window_definition_id": 47, + "id": 47, + "name": "window 47" + }, + { + "edge_id": "497", + "alpha": 0.5000000000000314, + "window_definition_id": 48, + "id": 48, + "name": "window 48" + }, + { + "edge_id": "483", + "alpha": 0.5000000000000164, + "window_definition_id": 49, + "id": 49, + "name": "window 49" + }, + { + "edge_id": "468", + "alpha": 0.2651578947368175, + "window_definition_id": 50, + "id": 50, + "name": "window 50" + }, + { + "edge_id": "491", + "alpha": 0.26615789473685927, + "window_definition_id": 51, + "id": 51, + "name": "window 51" + } + ], + "doors": [], + "construction_lines": [ + { + "id": "20", + "start": { + "x": 0, + "y": -30 + }, + "end": { + "x": 90, + "y": -15 + } + }, + { + "id": "21", + "start": { + "x": 75, + "y": 45 + }, + "end": { + "x": 90, + "y": -15 + } + }, + { + "id": "22", + "start": { + "x": 55, + "y": 95 + }, + "end": { + "x": 75, + "y": 45 + } + }, + { + "id": "23", + "start": { + "x": 25, + "y": 150 + }, + "end": { + "x": 55, + "y": 95 + } + }, + { + "id": "24", + "start": { + "x": 0, + "y": 185 + }, + "end": { + "x": 25, + "y": 150 + } + }, + { + "id": "25", + "start": { + "x": -25, + "y": 215 + }, + "end": { + "x": 0, + "y": 185 + } + }, + { + "id": "26", + "start": { + "x": -60, + "y": 250 + }, + "end": { + "x": -25, + "y": 215 + } + }, + { + "id": "27", + "start": { + "x": -95, + "y": 275 + }, + "end": { + "x": -60, + "y": 250 + } + }, + { + "id": "28", + "start": { + "x": -130, + "y": 300 + }, + "end": { + "x": -95, + "y": 275 + } + }, + { + "id": "29", + "start": { + "x": -180, + "y": 325 + }, + "end": { + "x": -130, + "y": 300 + } + }, + { + "id": "30", + "start": { + "x": -225, + "y": 340 + }, + "end": { + "x": -180, + "y": 325 + } + }, + { + "id": "31", + "start": { + "x": -265, + "y": 350 + }, + "end": { + "x": -225, + "y": 340 + } + }, + { + "id": "32", + "start": { + "x": -285, + "y": 355 + }, + "end": { + "x": -265, + "y": 350 + } + }, + { + "id": "33", + "start": { + "x": -325, + "y": 360 + }, + "end": { + "x": -285, + "y": 355 + } + }, + { + "id": "34", + "start": { + "x": -360, + "y": 360 + }, + "end": { + "x": -325, + "y": 360 + } + }, + { + "id": "35", + "start": { + "x": -405, + "y": 355 + }, + "end": { + "x": -360, + "y": 360 + } + }, + { + "id": "36", + "start": { + "x": -445, + "y": 350 + }, + "end": { + "x": -405, + "y": 355 + } + }, + { + "id": "37", + "start": { + "x": -470, + "y": 345 + }, + "end": { + "x": -445, + "y": 350 + } + }, + { + "id": "38", + "start": { + "x": -515, + "y": 330 + }, + "end": { + "x": -470, + "y": 345 + } + }, + { + "id": "39", + "start": { + "x": -515, + "y": 330 + }, + "end": { + "x": -485, + "y": 245 + } + }, + { + "id": "40", + "start": { + "x": -55, + "y": -100 + }, + "end": { + "x": 20, + "y": -100 + } + }, + { + "id": "41", + "start": { + "x": 15, + "y": -25 + }, + "end": { + "x": 20, + "y": -100 + } + }, + { + "id": "42", + "start": { + "x": -55, + "y": -100 + }, + "end": { + "x": -55, + "y": -65 + } + }, + { + "id": "43", + "start": { + "x": -60, + "y": -35 + }, + "end": { + "x": -55, + "y": -35 + } + }, + { + "id": "44", + "start": { + "x": -60, + "y": -35 + }, + "end": { + "x": -55, + "y": -65 + } + }, + { + "id": "45", + "start": { + "x": -65, + "y": -10 + }, + "end": { + "x": -60, + "y": -35 + } + }, + { + "id": "46", + "start": { + "x": -75, + "y": 15 + }, + "end": { + "x": -65, + "y": -10 + } + }, + { + "id": "47", + "start": { + "x": -5, + "y": -5 + }, + "end": { + "x": 0, + "y": -30 + } + }, + { + "id": "48", + "start": { + "x": -10, + "y": 15 + }, + "end": { + "x": -5, + "y": -5 + } + }, + { + "id": "49", + "start": { + "x": -15, + "y": 30 + }, + "end": { + "x": -10, + "y": 15 + } + }, + { + "id": "50", + "start": { + "x": -20, + "y": 45 + }, + "end": { + "x": -15, + "y": 30 + } + }, + { + "id": "51", + "start": { + "x": -485, + "y": 245 + }, + "end": { + "x": -455, + "y": 255 + } + }, + { + "id": "52", + "start": { + "x": -455, + "y": 255 + }, + "end": { + "x": -430, + "y": 260 + } + }, + { + "id": "53", + "start": { + "x": -430, + "y": 260 + }, + "end": { + "x": -405, + "y": 265 + } + }, + { + "id": "55", + "start": { + "x": -350, + "y": 195 + }, + "end": { + "x": -325, + "y": 265 + } + }, + { + "id": "69", + "start": { + "x": -18434, + "y": -6332 + }, + "end": { + "x": -18360, + "y": -6320 + } + }, + { + "id": "70", + "start": { + "x": -18434, + "y": -6332 + }, + "end": { + "x": -18430, + "y": -6376 + } + }, + { + "id": "71", + "start": { + "x": -18430, + "y": -6408 + }, + "end": { + "x": -18430, + "y": -6376 + } + }, + { + "id": "72", + "start": { + "x": -18504, + "y": -6406 + }, + "end": { + "x": -18430, + "y": -6408 + } + }, + { + "id": "73", + "start": { + "x": -18504, + "y": -6406 + }, + "end": { + "x": -18504, + "y": -6384 + } + }, + { + "id": "74", + "start": { + "x": -18518, + "y": -6308 + }, + "end": { + "x": -18504, + "y": -6384 + } + }, + { + "id": "75", + "start": { + "x": -18546, + "y": -6244 + }, + "end": { + "x": -18518, + "y": -6308 + } + }, + { + "id": "76", + "start": { + "x": -18562, + "y": -6218 + }, + "end": { + "x": -18546, + "y": -6244 + } + }, + { + "id": "77", + "start": { + "x": -18582, + "y": -6194 + }, + "end": { + "x": -18562, + "y": -6218 + } + }, + { + "id": "78", + "start": { + "x": -18602, + "y": -6174 + }, + "end": { + "x": -18582, + "y": -6194 + } + }, + { + "id": "79", + "start": { + "x": -18618, + "y": -6160 + }, + "end": { + "x": -18602, + "y": -6174 + } + }, + { + "id": "80", + "start": { + "x": -18638, + "y": -6146 + }, + "end": { + "x": -18618, + "y": -6160 + } + }, + { + "id": "81", + "start": { + "x": -18654, + "y": -6136 + }, + "end": { + "x": -18638, + "y": -6146 + } + }, + { + "id": "82", + "start": { + "x": -18684, + "y": -6122 + }, + "end": { + "x": -18654, + "y": -6136 + } + }, + { + "id": "83", + "start": { + "x": -18720, + "y": -6108 + }, + "end": { + "x": -18684, + "y": -6122 + } + }, + { + "id": "84", + "start": { + "x": -18754, + "y": -6100 + }, + "end": { + "x": -18720, + "y": -6108 + } + }, + { + "id": "85", + "start": { + "x": -18778, + "y": -6096 + }, + "end": { + "x": -18754, + "y": -6100 + } + }, + { + "id": "86", + "start": { + "x": -18802, + "y": -6096 + }, + "end": { + "x": -18778, + "y": -6096 + } + }, + { + "id": "87", + "start": { + "x": -18802, + "y": -6096 + }, + "end": { + "x": -18802, + "y": -6038 + } + }, + { + "id": "88", + "start": { + "x": -18840, + "y": -6038 + }, + "end": { + "x": -18802, + "y": -6038 + } + }, + { + "id": "89", + "start": { + "x": -18874, + "y": -6042 + }, + "end": { + "x": -18840, + "y": -6038 + } + }, + { + "id": "90", + "start": { + "x": -18932, + "y": -6060 + }, + "end": { + "x": -18874, + "y": -6042 + } + }, + { + "id": "91", + "start": { + "x": -18964, + "y": -5978 + }, + "end": { + "x": -18932, + "y": -6060 + } + }, + { + "id": "92", + "start": { + "x": -18964, + "y": -5978 + }, + "end": { + "x": -18894, + "y": -5954 + } + }, + { + "id": "93", + "start": { + "x": -18894, + "y": -5954 + }, + "end": { + "x": -18852, + "y": -5948 + } + }, + { + "id": "94", + "start": { + "x": -18852, + "y": -5948 + }, + "end": { + "x": -18792, + "y": -5946 + } + }, + { + "id": "95", + "start": { + "x": -18792, + "y": -5946 + }, + "end": { + "x": -18748, + "y": -5950 + } + }, + { + "id": "96", + "start": { + "x": -18748, + "y": -5950 + }, + "end": { + "x": -18700, + "y": -5958 + } + }, + { + "id": "97", + "start": { + "x": -18700, + "y": -5958 + }, + "end": { + "x": -18644, + "y": -5976 + } + }, + { + "id": "98", + "start": { + "x": -18644, + "y": -5976 + }, + "end": { + "x": -18582, + "y": -6004 + } + }, + { + "id": "99", + "start": { + "x": -18582, + "y": -6004 + }, + "end": { + "x": -18546, + "y": -6026 + } + }, + { + "id": "100", + "start": { + "x": -18546, + "y": -6026 + }, + "end": { + "x": -18500, + "y": -6064 + } + }, + { + "id": "101", + "start": { + "x": -18500, + "y": -6064 + }, + "end": { + "x": -18448, + "y": -6120 + } + }, + { + "id": "102", + "start": { + "x": -18448, + "y": -6120 + }, + "end": { + "x": -18418, + "y": -6166 + } + }, + { + "id": "103", + "start": { + "x": -18418, + "y": -6166 + }, + "end": { + "x": -18400, + "y": -6196 + } + }, + { + "id": "104", + "start": { + "x": -18400, + "y": -6196 + }, + "end": { + "x": -18374, + "y": -6260 + } + }, + { + "id": "105", + "start": { + "x": -18374, + "y": -6260 + }, + "end": { + "x": -18360, + "y": -6320 + } + }, + { + "id": "106", + "start": { + "x": -18708, + "y": -6050 + }, + "end": { + "x": -18696, + "y": -6010 + } + }, + { + "id": "107", + "start": { + "x": -18698, + "y": -6010 + }, + "end": { + "x": -18662, + "y": -6022 + } + }, + { + "id": "108", + "start": { + "x": -18678, + "y": -6060 + }, + "end": { + "x": -18662, + "y": -6020 + } + }, + { + "id": "109", + "start": { + "x": -18708, + "y": -6050 + }, + "end": { + "x": -18692, + "y": -6054 + } + }, + { + "id": "110", + "start": { + "x": -18692, + "y": -6054 + }, + "end": { + "x": -18678, + "y": -6060 + } + }, + { + "id": "111", + "start": { + "x": -18544, + "y": -6092 + }, + "end": { + "x": -18516, + "y": -6118 + } + }, + { + "id": "112", + "start": { + "x": -18546, + "y": -6148 + }, + "end": { + "x": -18516, + "y": -6118 + } + }, + { + "id": "113", + "start": { + "x": -18570, + "y": -6126 + }, + "end": { + "x": -18542, + "y": -6094 + } + }, + { + "id": "114", + "start": { + "x": -18570, + "y": -6122 + }, + "end": { + "x": -18556, + "y": -6136 + } + }, + { + "id": "115", + "start": { + "x": -18556, + "y": -6136 + }, + "end": { + "x": -18544, + "y": -6148 + } + }, + { + "id": "116", + "start": { + "x": -18438, + "y": -6234 + }, + "end": { + "x": -18424, + "y": -6270 + } + }, + { + "id": "117", + "start": { + "x": -18464, + "y": -6282 + }, + "end": { + "x": -18424, + "y": -6268 + } + }, + { + "id": "118", + "start": { + "x": -18476, + "y": -6252 + }, + "end": { + "x": -18436, + "y": -6234 + } + }, + { + "id": "119", + "start": { + "x": -18476, + "y": -6250 + }, + "end": { + "x": -18468, + "y": -6268 + } + }, + { + "id": "120", + "start": { + "x": -18468, + "y": -6268 + }, + "end": { + "x": -18464, + "y": -6282 + } + } + ], + "area": 93169.88941176463 + }, + { + "id": "580", + "handle": null, + "name": "Story 2", + "image_id": null, + "below_floor_plenum_height": 0, + "floor_to_ceiling_height": 18, + "above_ceiling_plenum_height": 0, + "multiplier": 1, + "color": "#332288", + "geometry": { + "id": "581", + "vertices": [ + { + "id": "669", + "x": -18514, + "y": -6328, + "edge_ids": [ + "676", + "682", + "692" + ] + }, + { + "id": "670", + "x": -18504, + "y": -6384, + "edge_ids": [ + "676", + "677" + ] + }, + { + "id": "671", + "x": -18504, + "y": -6406, + "edge_ids": [ + "677", + "678" + ] + }, + { + "id": "672", + "x": -18430, + "y": -6408, + "edge_ids": [ + "678", + "679" + ] + }, + { + "id": "673", + "x": -18430, + "y": -6376, + "edge_ids": [ + "679", + "680" + ] + }, + { + "id": "674", + "x": -18434, + "y": -6332, + "edge_ids": [ + "680", + "681" + ] + }, + { + "id": "675", + "x": -18440, + "y": -6308, + "edge_ids": [ + "681", + "682", + "699" + ] + }, + { + "id": "685", + "x": -18518, + "y": -6308, + "edge_ids": [ + "692", + "693" + ] + }, + { + "id": "686", + "x": -18538, + "y": -6262, + "edge_ids": [ + "693", + "694", + "714" + ] + }, + { + "id": "687", + "x": -18468, + "y": -6234, + "edge_ids": [ + "694", + "695", + "708" + ] + }, + { + "id": "688", + "x": -18462, + "y": -6246, + "edge_ids": [ + "695", + "696" + ] + }, + { + "id": "689", + "x": -18474, + "y": -6252, + "edge_ids": [ + "696", + "697" + ] + }, + { + "id": "690", + "x": -18464, + "y": -6282, + "edge_ids": [ + "697", + "698" + ] + }, + { + "id": "691", + "x": -18450, + "y": -6278, + "edge_ids": [ + "698", + "699" + ] + }, + { + "id": "702", + "x": -18478, + "y": -6210, + "edge_ids": [ + "708", + "709" + ] + }, + { + "id": "703", + "x": -18490, + "y": -6188, + "edge_ids": [ + "709", + "710" + ] + }, + { + "id": "704", + "x": -18522, + "y": -6150, + "edge_ids": [ + "710", + "711", + "721" + ] + }, + { + "id": "705", + "x": -18582, + "y": -6194, + "edge_ids": [ + "711", + "712", + "725" + ] + }, + { + "id": "706", + "x": -18562, + "y": -6218, + "edge_ids": [ + "712", + "713" + ] + }, + { + "id": "707", + "x": -18546, + "y": -6244, + "edge_ids": [ + "713", + "714" + ] + }, + { + "id": "717", + "x": -18534, + "y": -6136, + "edge_ids": [ + "721", + "722" + ] + }, + { + "id": "718", + "x": -18544, + "y": -6146, + "edge_ids": [ + "722", + "723" + ] + }, + { + "id": "719", + "x": -18554, + "y": -6136, + "edge_ids": [ + "723", + "724", + "740" + ] + }, + { + "id": "720", + "x": -18596, + "y": -6180, + "edge_ids": [ + "724", + "725", + "734" + ] + }, + { + "id": "728", + "x": -18618, + "y": -6160, + "edge_ids": [ + "734", + "735" + ] + }, + { + "id": "729", + "x": -18640, + "y": -6148, + "edge_ids": [ + "735", + "736", + "764" + ] + }, + { + "id": "730", + "x": -18592, + "y": -6090, + "edge_ids": [ + "736", + "737", + "759" + ] + }, + { + "id": "731", + "x": -18572, + "y": -6104, + "edge_ids": [ + "737", + "738" + ] + }, + { + "id": "732", + "x": -18560, + "y": -6114, + "edge_ids": [ + "738", + "739" + ] + }, + { + "id": "733", + "x": -18568.13, + "y": -6123.87, + "edge_ids": [ + "739", + "740" + ] + }, + { + "id": "754", + "x": -18620, + "y": -6074, + "edge_ids": [ + "759", + "760" + ] + }, + { + "id": "755", + "x": -18646, + "y": -6060, + "edge_ids": [ + "760", + "761" + ] + }, + { + "id": "756", + "x": -18672, + "y": -6050, + "edge_ids": [ + "761", + "762" + ] + }, + { + "id": "757", + "x": -18674, + "y": -6050, + "edge_ids": [ + "762", + "789" + ] + }, + { + "id": "758", + "x": -18700, + "y": -6116, + "edge_ids": [ + "764", + "777", + "787" + ] + }, + { + "id": "767", + "x": -18720, + "y": -6108, + "edge_ids": [ + "777", + "778" + ] + }, + { + "id": "768", + "x": -18778, + "y": -6096, + "edge_ids": [ + "778", + "779" + ] + }, + { + "id": "769", + "x": -18802, + "y": -6096, + "edge_ids": [ + "779", + "780" + ] + }, + { + "id": "770", + "x": -18802, + "y": -6038, + "edge_ids": [ + "780", + "781" + ] + }, + { + "id": "771", + "x": -18802, + "y": -6016, + "edge_ids": [ + "781", + "782" + ] + }, + { + "id": "772", + "x": -18760, + "y": -6016, + "edge_ids": [ + "782", + "783" + ] + }, + { + "id": "773", + "x": -18702, + "y": -6030, + "edge_ids": [ + "783", + "784" + ] + }, + { + "id": "774", + "x": -18708, + "y": -6050, + "edge_ids": [ + "784", + "785" + ] + }, + { + "id": "775", + "x": -18692, + "y": -6054, + "edge_ids": [ + "785", + "786" + ] + }, + { + "id": "776", + "x": -18678, + "y": -6060, + "edge_ids": [ + "786", + "787", + "789" + ] + } + ], + "edges": [ + { + "id": "676", + "vertex_ids": [ + "669", + "670" + ], + "face_ids": [ + "683" + ] + }, + { + "id": "677", + "vertex_ids": [ + "670", + "671" + ], + "face_ids": [ + "683" + ] + }, + { + "id": "678", + "vertex_ids": [ + "671", + "672" + ], + "face_ids": [ + "683" + ] + }, + { + "id": "679", + "vertex_ids": [ + "672", + "673" + ], + "face_ids": [ + "683" + ] + }, + { + "id": "680", + "vertex_ids": [ + "673", + "674" + ], + "face_ids": [ + "683" + ] + }, + { + "id": "681", + "vertex_ids": [ + "674", + "675" + ], + "face_ids": [ + "683" + ] + }, + { + "id": "682", + "vertex_ids": [ + "675", + "669" + ], + "face_ids": [ + "683", + "700" + ] + }, + { + "id": "692", + "vertex_ids": [ + "669", + "685" + ], + "face_ids": [ + "700" + ] + }, + { + "id": "693", + "vertex_ids": [ + "685", + "686" + ], + "face_ids": [ + "700" + ] + }, + { + "id": "694", + "vertex_ids": [ + "686", + "687" + ], + "face_ids": [ + "700", + "715" + ] + }, + { + "id": "695", + "vertex_ids": [ + "687", + "688" + ], + "face_ids": [ + "700" + ] + }, + { + "id": "696", + "vertex_ids": [ + "688", + "689" + ], + "face_ids": [ + "700" + ] + }, + { + "id": "697", + "vertex_ids": [ + "689", + "690" + ], + "face_ids": [ + "700" + ] + }, + { + "id": "698", + "vertex_ids": [ + "690", + "691" + ], + "face_ids": [ + "700" + ] + }, + { + "id": "699", + "vertex_ids": [ + "691", + "675" + ], + "face_ids": [ + "700" + ] + }, + { + "id": "708", + "vertex_ids": [ + "687", + "702" + ], + "face_ids": [ + "715" + ] + }, + { + "id": "709", + "vertex_ids": [ + "702", + "703" + ], + "face_ids": [ + "715" + ] + }, + { + "id": "710", + "vertex_ids": [ + "703", + "704" + ], + "face_ids": [ + "715" + ] + }, + { + "id": "711", + "vertex_ids": [ + "704", + "705" + ], + "face_ids": [ + "715", + "726" + ] + }, + { + "id": "712", + "vertex_ids": [ + "705", + "706" + ], + "face_ids": [ + "715" + ] + }, + { + "id": "713", + "vertex_ids": [ + "706", + "707" + ], + "face_ids": [ + "715" + ] + }, + { + "id": "714", + "vertex_ids": [ + "707", + "686" + ], + "face_ids": [ + "715" + ] + }, + { + "id": "721", + "vertex_ids": [ + "704", + "717" + ], + "face_ids": [ + "726" + ] + }, + { + "id": "722", + "vertex_ids": [ + "717", + "718" + ], + "face_ids": [ + "726" + ] + }, + { + "id": "723", + "vertex_ids": [ + "718", + "719" + ], + "face_ids": [ + "726" + ] + }, + { + "id": "724", + "vertex_ids": [ + "719", + "720" + ], + "face_ids": [ + "726", + "741" + ] + }, + { + "id": "725", + "vertex_ids": [ + "720", + "705" + ], + "face_ids": [ + "726" + ] + }, + { + "id": "734", + "vertex_ids": [ + "720", + "728" + ], + "face_ids": [ + "741" + ] + }, + { + "id": "735", + "vertex_ids": [ + "728", + "729" + ], + "face_ids": [ + "741" + ] + }, + { + "id": "736", + "vertex_ids": [ + "729", + "730" + ], + "face_ids": [ + "741", + "765" + ] + }, + { + "id": "737", + "vertex_ids": [ + "730", + "731" + ], + "face_ids": [ + "741" + ] + }, + { + "id": "738", + "vertex_ids": [ + "731", + "732" + ], + "face_ids": [ + "741" + ] + }, + { + "id": "739", + "vertex_ids": [ + "732", + "733" + ], + "face_ids": [ + "741" + ] + }, + { + "id": "740", + "vertex_ids": [ + "733", + "719" + ], + "face_ids": [ + "741" + ] + }, + { + "id": "759", + "vertex_ids": [ + "730", + "754" + ], + "face_ids": [ + "765" + ] + }, + { + "id": "760", + "vertex_ids": [ + "754", + "755" + ], + "face_ids": [ + "765" + ] + }, + { + "id": "761", + "vertex_ids": [ + "755", + "756" + ], + "face_ids": [ + "765" + ] + }, + { + "id": "762", + "vertex_ids": [ + "756", + "757" + ], + "face_ids": [ + "765" + ] + }, + { + "id": "764", + "vertex_ids": [ + "758", + "729" + ], + "face_ids": [ + "765" + ] + }, + { + "id": "777", + "vertex_ids": [ + "758", + "767" + ], + "face_ids": [ + "788" + ] + }, + { + "id": "778", + "vertex_ids": [ + "767", + "768" + ], + "face_ids": [ + "788" + ] + }, + { + "id": "779", + "vertex_ids": [ + "768", + "769" + ], + "face_ids": [ + "788" + ] + }, + { + "id": "780", + "vertex_ids": [ + "769", + "770" + ], + "face_ids": [ + "788" + ] + }, + { + "id": "781", + "vertex_ids": [ + "770", + "771" + ], + "face_ids": [ + "788" + ] + }, + { + "id": "782", + "vertex_ids": [ + "771", + "772" + ], + "face_ids": [ + "788" + ] + }, + { + "id": "783", + "vertex_ids": [ + "772", + "773" + ], + "face_ids": [ + "788" + ] + }, + { + "id": "784", + "vertex_ids": [ + "773", + "774" + ], + "face_ids": [ + "788" + ] + }, + { + "id": "785", + "vertex_ids": [ + "774", + "775" + ], + "face_ids": [ + "788" + ] + }, + { + "id": "786", + "vertex_ids": [ + "775", + "776" + ], + "face_ids": [ + "788" + ] + }, + { + "id": "787", + "vertex_ids": [ + "776", + "758" + ], + "face_ids": [ + "765", + "788" + ] + }, + { + "id": "789", + "vertex_ids": [ + "757", + "776" + ], + "face_ids": [ + "765" + ] + } + ], + "faces": [ + { + "id": "683", + "edge_ids": [ + "676", + "677", + "678", + "679", + "680", + "681", + "682" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "id": "700", + "edge_ids": [ + "682", + "692", + "693", + "694", + "695", + "696", + "697", + "698", + "699" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "id": "715", + "edge_ids": [ + "694", + "708", + "709", + "710", + "711", + "712", + "713", + "714" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "id": "726", + "edge_ids": [ + "711", + "721", + "722", + "723", + "724", + "725" + ], + "edge_order": [ + 0, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "id": "741", + "edge_ids": [ + "724", + "734", + "735", + "736", + "737", + "738", + "739", + "740" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "id": "765", + "edge_ids": [ + "736", + "759", + "760", + "761", + "762", + "789", + "787", + "764" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "id": "788", + "edge_ids": [ + "777", + "778", + "779", + "780", + "781", + "782", + "783", + "784", + "785", + "786", + "787" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + } + ] + }, + "spaces": [ + { + "id": "668", + "handle": null, + "name": "Space 2-1", + "face_id": "683", + "building_unit_id": null, + "thermal_zone_id": "tz_20", + "space_type_id": "793", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 6810 + }, + { + "id": "684", + "handle": null, + "name": "Space 2-2", + "face_id": "700", + "building_unit_id": null, + "thermal_zone_id": "tz_21", + "space_type_id": "793", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 5172 + }, + { + "id": "701", + "handle": null, + "name": "Space 2-3", + "face_id": "715", + "building_unit_id": null, + "thermal_zone_id": "tz_22", + "space_type_id": "792", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 6864 + }, + { + "id": "716", + "handle": null, + "name": "Space 2-4", + "face_id": "726", + "building_unit_id": null, + "thermal_zone_id": "tz_23", + "space_type_id": "792", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1766 + }, + { + "id": "727", + "handle": null, + "name": "Space 2-5", + "face_id": "741", + "building_unit_id": null, + "thermal_zone_id": "tz_24", + "space_type_id": "792", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 3934.9599999999629 + }, + { + "id": "753", + "handle": null, + "name": "Space 2-6", + "face_id": "765", + "building_unit_id": null, + "thermal_zone_id": "tz_25", + "space_type_id": "793", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 5908 + }, + { + "id": "766", + "handle": null, + "name": "Space 2-7", + "face_id": "788", + "building_unit_id": null, + "thermal_zone_id": "tz_26", + "space_type_id": "793", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 9000 + } + ], + "shading": [], + "windows": [ + { + "edge_id": "789", + "alpha": 0.5000000000000784, + "window_definition_id": 52, + "id": 52, + "name": "window 52" + }, + { + "edge_id": "739", + "alpha": 0.5000000000004087, + "window_definition_id": 53, + "id": 53, + "name": "window 53" + }, + { + "edge_id": "723", + "alpha": 0.5, + "window_definition_id": 54, + "id": 54, + "name": "window 54" + }, + { + "edge_id": "721", + "alpha": 0.5, + "window_definition_id": 55, + "id": 55, + "name": "window 55" + }, + { + "edge_id": "710", + "alpha": 0.49999999999998598, + "window_definition_id": 56, + "id": 56, + "name": "window 56" + }, + { + "edge_id": "709", + "alpha": 0.4999999999999682, + "window_definition_id": 57, + "id": 57, + "name": "window 57" + }, + { + "edge_id": "708", + "alpha": 0.5000000000000323, + "window_definition_id": 58, + "id": 58, + "name": "window 58" + }, + { + "edge_id": "695", + "alpha": 0.5, + "window_definition_id": 59, + "id": 59, + "name": "window 59" + }, + { + "edge_id": "696", + "alpha": 0.4999999999999697, + "window_definition_id": 60, + "id": 60, + "name": "window 60" + }, + { + "edge_id": "697", + "alpha": 0.4999999999999818, + "window_definition_id": 61, + "id": 61, + "name": "window 61" + }, + { + "edge_id": "699", + "alpha": 0.4999999999999818, + "window_definition_id": 62, + "id": 62, + "name": "window 62" + }, + { + "edge_id": "681", + "alpha": 0.5000000000000356, + "window_definition_id": 63, + "id": 63, + "name": "window 63" + }, + { + "edge_id": "680", + "alpha": 0.5, + "window_definition_id": 64, + "id": 64, + "name": "window 64" + }, + { + "edge_id": "679", + "alpha": 0.5, + "window_definition_id": 65, + "id": 65, + "name": "window 65" + }, + { + "edge_id": "678", + "alpha": 0.5, + "window_definition_id": 66, + "id": 66, + "name": "window 66" + }, + { + "edge_id": "677", + "alpha": 0.5, + "window_definition_id": 67, + "id": 67, + "name": "window 67" + }, + { + "edge_id": "676", + "alpha": 0.5, + "window_definition_id": 68, + "id": 68, + "name": "window 68" + }, + { + "edge_id": "692", + "alpha": 0.5000000000000175, + "window_definition_id": 69, + "id": 69, + "name": "window 69" + }, + { + "edge_id": "693", + "alpha": 0.5, + "window_definition_id": 70, + "id": 70, + "name": "window 70" + }, + { + "edge_id": "714", + "alpha": 0.5, + "window_definition_id": 71, + "id": 71, + "name": "window 71" + }, + { + "edge_id": "713", + "alpha": 0.4999999999999883, + "window_definition_id": 72, + "id": 72, + "name": "window 72" + }, + { + "edge_id": "712", + "alpha": 0.4999999999999553, + "window_definition_id": 73, + "id": 73, + "name": "window 73" + }, + { + "edge_id": "725", + "alpha": 0.5, + "window_definition_id": 74, + "id": 74, + "name": "window 74" + }, + { + "edge_id": "734", + "alpha": 0.5000000000000205, + "window_definition_id": 75, + "id": 75, + "name": "window 75" + }, + { + "edge_id": "735", + "alpha": 0.4999999999999826, + "window_definition_id": 76, + "id": 76, + "name": "window 76" + }, + { + "edge_id": "764", + "alpha": 0.49999999999998748, + "window_definition_id": 77, + "id": 77, + "name": "window 77" + }, + { + "edge_id": "777", + "alpha": 0.5000000000000314, + "window_definition_id": 78, + "id": 78, + "name": "window 78" + }, + { + "edge_id": "778", + "alpha": 0.5, + "window_definition_id": 79, + "id": 79, + "name": "window 79" + }, + { + "edge_id": "779", + "alpha": 0.5, + "window_definition_id": 80, + "id": 80, + "name": "window 80" + }, + { + "edge_id": "780", + "alpha": 0.6603393829401155, + "window_definition_id": 81, + "id": 81, + "name": "window 81" + }, + { + "edge_id": "781", + "alpha": 0.07237799043060461, + "window_definition_id": 82, + "id": 82, + "name": "window 82" + }, + { + "edge_id": "784", + "alpha": 0.5000000000001251, + "window_definition_id": 83, + "id": 83, + "name": "window 83" + } + ], + "doors": [], + "construction_lines": [], + "area": 39454.95999999996 + } + ], + "building_units": [], + "thermal_zones": [ + { + "id": "tz_1", + "handle": null, + "name": "Thermal Zone 1", + "color": "#999933" + }, + { + "id": "tz_2", + "handle": null, + "name": "Thermal Zone 2", + "color": "#ddcc77" + }, + { + "id": "tz_3", + "handle": null, + "name": "Thermal Zone 3", + "color": "#cc6677" + }, + { + "id": "tz_4", + "handle": null, + "name": "Thermal Zone 4", + "color": "#882255" + }, + { + "id": "tz_5", + "handle": null, + "name": "Thermal Zone 5", + "color": "#44aa99" + }, + { + "id": "tz_6", + "handle": null, + "name": "Thermal Zone 6", + "color": "#6699cc" + }, + { + "id": "tz_7", + "handle": null, + "name": "Thermal Zone 7", + "color": "#661100" + }, + { + "id": "tz_8", + "handle": null, + "name": "Thermal Zone 8", + "color": "#aa4466" + }, + { + "id": "tz_9", + "handle": null, + "name": "Thermal Zone 9", + "color": "#aa4499" + }, + { + "id": "tz_10", + "handle": null, + "name": "Thermal Zone 10", + "color": "#88ccee" + }, + { + "id": "tz_11", + "handle": null, + "name": "Thermal Zone 11", + "color": "#332288" + }, + { + "id": "tz_12", + "handle": null, + "name": "Thermal Zone 12", + "color": "#117733" + }, + { + "id": "tz_13", + "handle": null, + "name": "Thermal Zone 13", + "color": "#999933" + }, + { + "id": "tz_14", + "handle": null, + "name": "Thermal Zone 14", + "color": "#ddcc77" + }, + { + "id": "tz_15", + "handle": null, + "name": "Thermal Zone 15", + "color": "#cc6677" + }, + { + "id": "tz_16", + "handle": null, + "name": "Thermal Zone 16", + "color": "#882255" + }, + { + "id": "tz_17", + "handle": null, + "name": "Thermal Zone 17", + "color": "#44aa99" + }, + { + "id": "tz_18", + "handle": null, + "name": "Thermal Zone 18", + "color": "#6699cc" + }, + { + "id": "tz_19", + "handle": null, + "name": "Thermal Zone 19", + "color": "#661100" + }, + { + "id": "tz_20", + "handle": null, + "name": "Thermal Zone 20", + "color": "#aa4466" + }, + { + "id": "tz_21", + "handle": null, + "name": "Thermal Zone 21", + "color": "#aa4499" + }, + { + "id": "tz_22", + "handle": null, + "name": "Thermal Zone 22", + "color": "#88ccee" + }, + { + "id": "tz_23", + "handle": null, + "name": "Thermal Zone 23", + "color": "#332288" + }, + { + "id": "tz_24", + "handle": null, + "name": "Thermal Zone 24", + "color": "#117733" + }, + { + "id": "tz_25", + "handle": null, + "name": "Thermal Zone 25", + "color": "#999933" + }, + { + "id": "tz_26", + "handle": null, + "name": "Thermal Zone 26", + "color": "#ddcc77" + } + ], + "space_types": [ + { + "handle": null, + "id": "157", + "name": "Office-MechRoom", + "color": "#88ccee", + "type": "space_types" + }, + { + "handle": null, + "id": "292", + "name": "Office-DataCenter", + "color": "#332288", + "type": "space_types" + }, + { + "handle": null, + "id": "790", + "name": "Office-Conference", + "color": "#117733", + "type": "space_types" + }, + { + "handle": null, + "id": "791", + "name": "Office-BreakRoom", + "color": "#999933", + "type": "space_types" + }, + { + "handle": null, + "id": "792", + "name": "Office-OpenOffice", + "color": "#ddcc77", + "type": "space_types" + }, + { + "handle": null, + "id": "793", + "name": "Office-PrivateOffice", + "color": "#cc6677", + "type": "space_types" + } + ], + "construction_sets": [], + "window_definitions": [ + { + "id": 1, + "name": "Window 1", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 8.786321527429465, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 2, + "name": "Window 2", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 19.556651141701175, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 3, + "name": "Window 3", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 8.016603269331047, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 4, + "name": "Window 4", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 32.42720379105238, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 5, + "name": "Window 5", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 31.23610802331751, + "height": 12.96, + "sill_height": 2.519999999999999, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 6, + "name": "Window 6", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 23.253391615131365, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 7, + "name": "Window 7", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 16.842105263158375, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 8, + "name": "Window 8", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 30.84459253886836, + "height": 12.96, + "sill_height": 2.519999999999999, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 9, + "name": "Window 9", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 11.578947368421723, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 10, + "name": "Window 10", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 29.939921375427486, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 11, + "name": "Window 11", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 10.73477792335416, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 12, + "name": "Window 12", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 26.39986569259984, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 13, + "name": "Window 13", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 10.367218738733325, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 14, + "name": "Window 14", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 16.067723707867747, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 15, + "name": "Window 15", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 16.44263089664527, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 16, + "name": "Window 16", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 10.420520985905223, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 17, + "name": "Window 17", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 12.388390622765503, + "height": 12.96, + "sill_height": 2.519999999999999, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 18, + "name": "Window 18", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 38.774633747107497, + "height": 12.96, + "sill_height": 2.519999999999999, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 19, + "name": "Window 19", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 8.975274678556268, + "height": 12.96, + "sill_height": 2.519999999999999, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 20, + "name": "Window 20", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 24.678488158273014, + "height": 12.96, + "sill_height": 2.519999999999999, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 21, + "name": "Window 21", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 10, + "height": 12.96, + "sill_height": 2.519999999999999, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 22, + "name": "Window 22", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 30.5263157894733, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 23, + "name": "Window 23", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 15.833333333335759, + "height": 12.96, + "sill_height": 2.519999999999999, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 24, + "name": "Window 24", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 14.264368973854314, + "height": 12.96, + "sill_height": 2.519999999999999, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 25, + "name": "Window 25", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 25.303710751145979, + "height": 12.96, + "sill_height": 2.519999999999999, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 26, + "name": "Window 26", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 6.235453987208835, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 27, + "name": "Window 27", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 27.776113215745839, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 28, + "name": "Window 28", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 12.320736748125892, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 29, + "name": "Window 29", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 47.69478214403812, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 30, + "name": "Window 30", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 15.648493418229572, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 31, + "name": "Window 31", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 24.573931641957296, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 32, + "name": "Window 32", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 21.314164980332387, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 33, + "name": "Window 33", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 16.06772370786697, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 34, + "name": "Window 34", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 9.930506454796527, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 35, + "name": "Window 35", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 17.64532064656904, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 36, + "name": "Window 36", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 2.353755765788353, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 37, + "name": "Window 37", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 16.64356663246541, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 38, + "name": "Window 38", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 17.51983003468537, + "height": 12.96, + "sill_height": 2.519999999999999, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 39, + "name": "Window 39", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 7.443229275645026, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 40, + "name": "Window 40", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 0.09676198058651599, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 41, + "name": "Window 41", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 20.88746923854086, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 42, + "name": "Window 42", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 14.743171677460886, + "height": 12.96, + "sill_height": 2.519999999999999, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 43, + "name": "Window 43", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 16.873713942762895, + "height": 12.96, + "sill_height": 2.519999999999999, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 44, + "name": "Window 44", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 16.094339929856529, + "height": 12.96, + "sill_height": 2.519999999999999, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 45, + "name": "Window 45", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 13.684210526318705, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 46, + "name": "Window 46", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 6.235453987207484, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 47, + "name": "Window 47", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 27.776113215745505, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 48, + "name": "Window 48", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 14.71315179805125, + "height": 12.96, + "sill_height": 2.519999999999999, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 49, + "name": "Window 49", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 21.674037923450699, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 50, + "name": "Window 50", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 10.989796325167973, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 51, + "name": "Window 51", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 10.989796325170762, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 52, + "name": "Window 52", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 5.668594533826398, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 53, + "name": "Window 53", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 6.730132349404282, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 54, + "name": "Window 54", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 7.443229275645026, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 55, + "name": "Window 55", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 9.70478363925512, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 56, + "name": "Window 56", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 26.146825996576444, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 57, + "name": "Window 57", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 13.189435880149255, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 58, + "name": "Window 58", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 13.684210526315628, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 59, + "name": "Window 59", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 7.061267297365873, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 60, + "name": "Window 60", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 5.5901699437535419, + "height": 12.96, + "sill_height": 2.519999999999999, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 61, + "name": "Window 61", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 16.64356663246541, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 62, + "name": "Window 62", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 16.64356663246541, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 63, + "name": "Window 63", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 13.020333554581436, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 64, + "name": "Window 64", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 23.253391615131365, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 65, + "name": "Window 65", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 16.842105263158375, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 66, + "name": "Window 66", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 30.84459253886836, + "height": 12.96, + "sill_height": 2.519999999999999, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 67, + "name": "Window 67", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 11.578947368421723, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 68, + "name": "Window 68", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 29.939921375427486, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 69, + "name": "Window 69", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 10.73477792335416, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 70, + "name": "Window 70", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 26.39986569259984, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 71, + "name": "Window 71", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 10.367218738733325, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 72, + "name": "Window 72", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 16.067723707867747, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 73, + "name": "Window 73", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 16.44263089664527, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 74, + "name": "Window 74", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 10.420520985905223, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 75, + "name": "Window 75", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 12.388390622765503, + "height": 12.96, + "sill_height": 2.519999999999999, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 76, + "name": "Window 76", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 10.441636738452454, + "height": 12.96, + "sill_height": 2.519999999999999, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 77, + "name": "Window 77", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 28.33333333333319, + "height": 12.96, + "sill_height": 2.519999999999999, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 78, + "name": "Window 78", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 8.975274678556268, + "height": 12.96, + "sill_height": 2.519999999999999, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 79, + "name": "Window 79", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 24.678488158273014, + "height": 12.96, + "sill_height": 2.519999999999999, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 80, + "name": "Window 80", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 10, + "height": 12.96, + "sill_height": 2.519999999999999, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 81, + "name": "Window 81", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 39.05263157894751, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 82, + "name": "Window 82", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 3.052631578947512, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + }, + { + "id": 83, + "name": "Window 83", + "type": "window_definitions", + "window_type": "Fixed", + "window_definition_mode": "Single Window", + "wwr": null, + "width": 10.98979632516623, + "height": 13.68, + "sill_height": 2.16, + "texture": "circles-5", + "overhang_projection_factor": null, + "fin_projection_factor": null, + "window_spacing": null + } + ], + "daylighting_control_definitions": [], + "pitched_roofs": [], + "door_definitions": [], + "version": "0.7.0", + "area": 132624.8494117646 +} \ No newline at end of file diff --git a/resources/utilities/Geometry/issue-4237.json b/resources/utilities/Geometry/issue-4237.json new file mode 100644 index 00000000000..fe07c370345 --- /dev/null +++ b/resources/utilities/Geometry/issue-4237.json @@ -0,0 +1 @@ +{"option_name":"Option1","project":{"footprintID":"9dc0-a447-b2d3-b77c","config":{"units":"ip","unitsEditable":true,"language":"EN-US"},"north_axis":0,"ground":{"floor_offset":0,"azimuth_angle":0,"tilt_slope":0},"grid":{"visible":true,"spacing":2},"view":{"min_x":-107.89506044713954,"max_x":208.7868247406879,"min_y":-639.9852620946201,"max_y":-274.0632057342948},"map":{"initialized":true,"enabled":true,"visible":true,"latitude":30.293560900000017,"longitude":-97.73230690000001,"zoom":4.5,"rotation":0,"elevation":0},"previous_story":{"visible":true},"show_import_export":true},"stories":[{"id":"1","handle":null,"name":"Story 1","image_id":null,"below_floor_plenum_height":0,"floor_to_ceiling_height":10,"above_ceiling_plenum_height":0,"multiplier":1,"color":"#88ccee","geometry":{"id":"2","vertices":[{"id":"34","x":68,"y":-432,"edge_ids":["41","221"]},{"id":"35","x":60,"y":-428,"edge_ids":["39","220"]},{"id":"36","x":88,"y":-378,"edge_ids":["39","40"]},{"id":"37","x":96,"y":-382,"edge_ids":["40","41","56"]},{"id":"53","x":102,"y":-386,"edge_ids":["56","57"]},{"id":"54","x":106,"y":-388,"edge_ids":["57","67","72"]},{"id":"55","x":78,"y":-438,"edge_ids":["92","103"]},{"id":"62","x":102.78766232389232,"y":-393.73631727876375,"edge_ids":["67","68","82"]},{"id":"63","x":118,"y":-402,"edge_ids":["68","69"]},{"id":"64","x":120,"y":-402,"edge_ids":["69","70","79"]},{"id":"65","x":122,"y":-398,"edge_ids":["70","71"]},{"id":"66","x":122,"y":-396,"edge_ids":["71","72"]},{"id":"76","x":114,"y":-414,"edge_ids":["79","80","88"]},{"id":"77","x":112,"y":-414,"edge_ids":["80","81"]},{"id":"78","x":96,"y":-406,"edge_ids":["81","82","90"]},{"id":"86","x":104,"y":-432,"edge_ids":["88","89","95"]},{"id":"87","x":86.80038771592298,"y":-422.3548662828036,"edge_ids":["89","90","92"]},{"id":"94","x":94,"y":-448,"edge_ids":["95","105"]},{"id":"99","x":72,"y":-450,"edge_ids":["103","104","132","168"]},{"id":"100","x":88,"y":-458,"edge_ids":["104","105","127"]},{"id":"122","x":76,"y":-480,"edge_ids":["127","128","146"]},{"id":"123","x":68,"y":-476,"edge_ids":["128","129","138"]},{"id":"124","x":74,"y":-466,"edge_ids":["129","130"]},{"id":"125","x":66,"y":-462,"edge_ids":["130","131"]},{"id":"126","x":66,"y":-460,"edge_ids":["131","132","141"]},{"id":"135","x":60,"y":-472,"edge_ids":["138","139","148","162"]},{"id":"136","x":60,"y":-470,"edge_ids":["139","140"]},{"id":"137","x":64,"y":-462,"edge_ids":["140","141"]},{"id":"144","x":70,"y":-492,"edge_ids":["146","147","157"]},{"id":"145","x":54,"y":-482,"edge_ids":["147","148"]},{"id":"152","x":56,"y":-516,"edge_ids":["157","158"]},{"id":"153","x":22,"y":-496,"edge_ids":["158","159"]},{"id":"154","x":32,"y":-478,"edge_ids":["159","160","178"]},{"id":"155","x":40,"y":-482,"edge_ids":["160","161"]},{"id":"156","x":48,"y":-468,"edge_ids":["161","162","176"]},{"id":"165","x":62,"y":-444,"edge_ids":["168","169","192","221"]},{"id":"166","x":60,"y":-446,"edge_ids":["169","188"]},{"id":"167","x":54,"y":-456,"edge_ids":["180","186"]},{"id":"174","x":48.803010948698,"y":-466.393978102604,"edge_ids":["176","177","180"]},{"id":"175","x":40,"y":-462,"edge_ids":["177","178","205"]},{"id":"182","x":50,"y":-446,"edge_ids":["185","199","200"]},{"id":"183","x":57.950085966135,"y":-449.416523389775,"edge_ids":["185","186","188"]},{"id":"190","x":54,"y":-440,"edge_ids":["192","206","214"]},{"id":"195","x":50.72983633751384,"y":-444.90524549372924,"edge_ids":["199","203","206"]},{"id":"196","x":45.747001031998884,"y":-452.8047983488018,"edge_ids":["200","201","205"]},{"id":"197","x":2,"y":-428,"edge_ids":["201","202"]},{"id":"198","x":6,"y":-420,"edge_ids":["202","203","213"]},{"id":"208","x":14,"y":-406,"edge_ids":["213","218"]},{"id":"209","x":56,"y":-434,"edge_ids":["214","215","220"]},{"id":"210","x":42,"y":-428,"edge_ids":["215","216"]},{"id":"211","x":44,"y":-424,"edge_ids":["216","217"]},{"id":"212","x":44,"y":-422,"edge_ids":["217","218"]}],"edges":[{"id":"39","vertex_ids":["35","36"],"face_ids":["42"]},{"id":"40","vertex_ids":["36","37"],"face_ids":["42"]},{"id":"41","vertex_ids":["37","34"],"face_ids":["42","60"]},{"id":"56","vertex_ids":["37","53"],"face_ids":["60"]},{"id":"57","vertex_ids":["53","54"],"face_ids":["60"]},{"id":"67","vertex_ids":["54","62"],"face_ids":["60","73"]},{"id":"68","vertex_ids":["62","63"],"face_ids":["73","83"]},{"id":"69","vertex_ids":["63","64"],"face_ids":["73","83"]},{"id":"70","vertex_ids":["64","65"],"face_ids":["73"]},{"id":"71","vertex_ids":["65","66"],"face_ids":["73"]},{"id":"72","vertex_ids":["66","54"],"face_ids":["73"]},{"id":"79","vertex_ids":["64","76"],"face_ids":["83"]},{"id":"80","vertex_ids":["76","77"],"face_ids":["83","91"]},{"id":"81","vertex_ids":["77","78"],"face_ids":["83","91"]},{"id":"82","vertex_ids":["78","62"],"face_ids":["60","83"]},{"id":"88","vertex_ids":["76","86"],"face_ids":["91"]},{"id":"89","vertex_ids":["86","87"],"face_ids":["91","97"]},{"id":"90","vertex_ids":["87","78"],"face_ids":["60","91"]},{"id":"92","vertex_ids":["87","55"],"face_ids":["60","97"]},{"id":"95","vertex_ids":["86","94"],"face_ids":["97"]},{"id":"103","vertex_ids":["55","99"],"face_ids":["60","97"]},{"id":"104","vertex_ids":["99","100"],"face_ids":["97","133"]},{"id":"105","vertex_ids":["100","94"],"face_ids":["97"]},{"id":"127","vertex_ids":["100","122"],"face_ids":["133"]},{"id":"128","vertex_ids":["122","123"],"face_ids":["133","150"]},{"id":"129","vertex_ids":["123","124"],"face_ids":["133","142"]},{"id":"130","vertex_ids":["124","125"],"face_ids":["133","142"]},{"id":"131","vertex_ids":["125","126"],"face_ids":["133","142"]},{"id":"132","vertex_ids":["126","99"],"face_ids":["133","172"]},{"id":"138","vertex_ids":["123","135"],"face_ids":["142","150"]},{"id":"139","vertex_ids":["135","136"],"face_ids":["142","172"]},{"id":"140","vertex_ids":["136","137"],"face_ids":["142","172"]},{"id":"141","vertex_ids":["137","126"],"face_ids":["142","172"]},{"id":"146","vertex_ids":["122","144"],"face_ids":["150"]},{"id":"147","vertex_ids":["144","145"],"face_ids":["150","163"]},{"id":"148","vertex_ids":["145","135"],"face_ids":["150","163"]},{"id":"157","vertex_ids":["144","152"],"face_ids":["163"]},{"id":"158","vertex_ids":["152","153"],"face_ids":["163"]},{"id":"159","vertex_ids":["153","154"],"face_ids":["163"]},{"id":"160","vertex_ids":["154","155"],"face_ids":["163","179"]},{"id":"161","vertex_ids":["155","156"],"face_ids":["163","179"]},{"id":"162","vertex_ids":["156","135"],"face_ids":["163","172"]},{"id":"168","vertex_ids":["99","165"],"face_ids":["60","172"]},{"id":"169","vertex_ids":["165","166"],"face_ids":["172","193"]},{"id":"176","vertex_ids":["156","174"],"face_ids":["172","179"]},{"id":"177","vertex_ids":["174","175"],"face_ids":["179","187"]},{"id":"178","vertex_ids":["175","154"],"face_ids":["179"]},{"id":"180","vertex_ids":["167","174"],"face_ids":["172","187"]},{"id":"185","vertex_ids":["182","183"],"face_ids":["187","193"]},{"id":"186","vertex_ids":["183","167"],"face_ids":["172","187"]},{"id":"188","vertex_ids":["166","183"],"face_ids":["172","193"]},{"id":"192","vertex_ids":["190","165"],"face_ids":["42","193"]},{"id":"199","vertex_ids":["195","182"],"face_ids":["193","204"]},{"id":"200","vertex_ids":["182","196"],"face_ids":["187","204"]},{"id":"201","vertex_ids":["196","197"],"face_ids":["204"]},{"id":"202","vertex_ids":["197","198"],"face_ids":["204"]},{"id":"203","vertex_ids":["198","195"],"face_ids":["204","219"]},{"id":"205","vertex_ids":["175","196"],"face_ids":["187"]},{"id":"206","vertex_ids":["195","190"],"face_ids":["193","219"]},{"id":"213","vertex_ids":["208","198"],"face_ids":["219"]},{"id":"214","vertex_ids":["190","209"],"face_ids":["42","219"]},{"id":"215","vertex_ids":["209","210"],"face_ids":["219"]},{"id":"216","vertex_ids":["210","211"],"face_ids":["219"]},{"id":"217","vertex_ids":["211","212"],"face_ids":["219"]},{"id":"218","vertex_ids":["212","208"],"face_ids":["219"]},{"id":"220","vertex_ids":["35","209"],"face_ids":["42"]},{"id":"221","vertex_ids":["165","34"],"face_ids":["42","60"]}],"faces":[{"id":"42","edge_ids":["41","40","39","220","214","192","221"],"edge_order":[0,0,0,1,0,1,1]},{"id":"60","edge_ids":["92","90","82","67","57","56","41","221","168","103"],"edge_order":[0,1,1,0,0,0,1,0,0,0]},{"id":"73","edge_ids":["67","68","69","70","71","72"],"edge_order":[1,1,1,1,1,1]},{"id":"83","edge_ids":["68","69","79","80","81","82"],"edge_order":[1,1,1,1,1,1]},{"id":"91","edge_ids":["81","80","88","89","90"],"edge_order":[0,0,1,1,1]},{"id":"97","edge_ids":["95","89","92","103","104","105"],"edge_order":[0,1,1,1,1,1]},{"id":"133","edge_ids":["104","127","128","129","130","131","132"],"edge_order":[1,1,1,1,1,1,1]},{"id":"142","edge_ids":["129","138","139","140","141","131","130"],"edge_order":[0,1,1,1,1,0,0]},{"id":"150","edge_ids":["146","147","148","138","128"],"edge_order":[1,1,1,0,0]},{"id":"163","edge_ids":["157","158","159","160","161","162","148","147"],"edge_order":[1,1,1,1,1,1,0,0]},{"id":"172","edge_ids":["162","139","140","141","132","168","169","188","186","180","176"],"edge_order":[1,1,1,1,1,1,1,1,1,1,0]},{"id":"179","edge_ids":["160","161","176","177","178"],"edge_order":[1,1,1,1,1]},{"id":"187","edge_ids":["205","200","185","186","180","177"],"edge_order":[1,0,1,1,1,1]},{"id":"193","edge_ids":["169","188","185","199","206","192"],"edge_order":[1,1,0,0,1,1]},{"id":"204","edge_ids":["199","200","201","202","203"],"edge_order":[1,1,1,1,1]},{"id":"219","edge_ids":["213","203","206","214","215","216","217","218"],"edge_order":[1,1,1,1,1,1,1,1]}]},"spaces":[{"id":"33","handle":null,"name":"Space 1-1","face_id":"42","building_unit_id":null,"thermal_zone_id":"tz_1","space_type_id":"226","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":638},{"id":"52","handle":null,"name":"Space 1-2","face_id":"60","building_unit_id":null,"thermal_zone_id":"tz_2","space_type_id":"227","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":823.7705473088499},{"id":"61","handle":null,"name":"Space 1-3","face_id":"73","building_unit_id":null,"thermal_zone_id":"tz_3","space_type_id":"227","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":128.9042674053362},{"id":"75","handle":null,"name":"Space 1-4","face_id":"83","building_unit_id":null,"thermal_zone_id":"tz_4","space_type_id":"228","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":265.3251852858143},{"id":"85","handle":null,"name":"Space 1-5","face_id":"91","building_unit_id":null,"thermal_zone_id":"tz_5","space_type_id":"228","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":379.0144248242159},{"id":"93","handle":null,"name":"Space 1-6","face_id":"97","building_unit_id":null,"thermal_zone_id":"tz_6","space_type_id":"228","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":584.9855751757843},{"id":"121","handle":null,"name":"Space 1-7","face_id":"133","building_unit_id":null,"thermal_zone_id":"tz_7","space_type_id":"229","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":344},{"id":"134","handle":null,"name":"Space 1-8","face_id":"142","building_unit_id":null,"thermal_zone_id":"tz_8","space_type_id":"229","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":120},{"id":"143","handle":null,"name":"Space 1-9","face_id":"150","building_unit_id":null,"thermal_zone_id":"tz_9","space_type_id":"230","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":230},{"id":"151","handle":null,"name":"Space 1-10","face_id":"163","building_unit_id":null,"thermal_zone_id":"tz_10","space_type_id":"231","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1180},{"id":"164","handle":null,"name":"Space 1-11","face_id":"172","building_unit_id":null,"thermal_zone_id":"tz_11","space_type_id":"227","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":317.99999999999994},{"id":"173","handle":null,"name":"Space 1-12","face_id":"179","building_unit_id":null,"thermal_zone_id":"tz_12","space_type_id":"232","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":168.83312043567798},{"id":"181","handle":null,"name":"Space 1-13","face_id":"187","building_unit_id":null,"thermal_zone_id":"tz_13","space_type_id":"234","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":172.0842626154471},{"id":"189","handle":null,"name":"Space 1-14","face_id":"193","building_unit_id":null,"thermal_zone_id":"tz_14","space_type_id":"233","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":59.08261694887511},{"id":"194","handle":null,"name":"Space 1-15","face_id":"204","building_unit_id":null,"thermal_zone_id":"tz_15","space_type_id":"226","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":463.16462260888966},{"id":"207","handle":null,"name":"Space 1-16","face_id":"219","building_unit_id":null,"thermal_zone_id":"tz_16","space_type_id":"226","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":758.4275284743634}],"shading":[],"windows":[{"edge_id":"218","alpha":0.125,"window_definition_id":1,"id":1,"name":"window 1"},{"edge_id":"218","alpha":0.375,"window_definition_id":2,"id":2,"name":"window 2"},{"edge_id":"218","alpha":0.625,"window_definition_id":3,"id":3,"name":"window 3"},{"edge_id":"218","alpha":0.875,"window_definition_id":4,"id":4,"name":"window 4"},{"edge_id":"213","alpha":0.12500000000000044,"window_definition_id":5,"id":5,"name":"window 5"},{"edge_id":"213","alpha":0.37500000000000044,"window_definition_id":6,"id":6,"name":"window 6"},{"edge_id":"213","alpha":0.625,"window_definition_id":7,"id":7,"name":"window 7"},{"edge_id":"213","alpha":0.8750000000000004,"window_definition_id":8,"id":8,"name":"window 8"},{"edge_id":"202","alpha":0.8749999999999879,"window_definition_id":9,"id":9,"name":"window 9"},{"edge_id":"202","alpha":0.625,"window_definition_id":10,"id":10,"name":"window 10"},{"edge_id":"202","alpha":0.3749999999999936,"window_definition_id":11,"id":11,"name":"window 11"},{"edge_id":"202","alpha":0.12499999999998933,"window_definition_id":12,"id":12,"name":"window 12"},{"edge_id":"201","alpha":0.8749999999999989,"window_definition_id":13,"id":13,"name":"window 13"},{"edge_id":"201","alpha":0.6249999999999998,"window_definition_id":14,"id":14,"name":"window 14"},{"edge_id":"201","alpha":0.3750000000000005,"window_definition_id":15,"id":15,"name":"window 15"},{"edge_id":"201","alpha":0.12499999999999892,"window_definition_id":16,"id":16,"name":"window 16"},{"edge_id":"205","alpha":0.8750000000000052,"window_definition_id":17,"id":17,"name":"window 17"},{"edge_id":"205","alpha":0.6249999999999957,"window_definition_id":18,"id":18,"name":"window 18"},{"edge_id":"205","alpha":0.3749999999999981,"window_definition_id":19,"id":19,"name":"window 19"},{"edge_id":"205","alpha":0.12500000000000336,"window_definition_id":20,"id":20,"name":"window 20"},{"edge_id":"178","alpha":0.1250000000000032,"window_definition_id":21,"id":21,"name":"window 21"},{"edge_id":"178","alpha":0.37500000000000566,"window_definition_id":22,"id":22,"name":"window 22"},{"edge_id":"178","alpha":0.6250000000000057,"window_definition_id":23,"id":23,"name":"window 23"},{"edge_id":"178","alpha":0.875000000000006,"window_definition_id":24,"id":24,"name":"window 24"},{"edge_id":"159","alpha":0.8750000000000003,"window_definition_id":25,"id":25,"name":"window 25"},{"edge_id":"159","alpha":0.6250000000000002,"window_definition_id":26,"id":26,"name":"window 26"},{"edge_id":"159","alpha":0.37500000000000067,"window_definition_id":27,"id":27,"name":"window 27"},{"edge_id":"159","alpha":0.12500000000000067,"window_definition_id":28,"id":28,"name":"window 28"},{"edge_id":"158","alpha":0.8749999999999986,"window_definition_id":29,"id":29,"name":"window 29"},{"edge_id":"158","alpha":0.6249999999999991,"window_definition_id":30,"id":30,"name":"window 30"},{"edge_id":"158","alpha":0.37499999999999917,"window_definition_id":31,"id":31,"name":"window 31"},{"edge_id":"158","alpha":0.12499999999999914,"window_definition_id":32,"id":32,"name":"window 32"},{"edge_id":"157","alpha":0.5000000000000013,"window_definition_id":33,"id":33,"name":"window 33"},{"edge_id":"146","alpha":0.49999999999999617,"window_definition_id":34,"id":34,"name":"window 34"},{"edge_id":"127","alpha":0.49999999999999944,"window_definition_id":35,"id":35,"name":"window 35"},{"edge_id":"105","alpha":0.4999999999999939,"window_definition_id":36,"id":36,"name":"window 36"},{"edge_id":"95","alpha":0.5000000000000016,"window_definition_id":37,"id":37,"name":"window 37"},{"edge_id":"88","alpha":0.5000000000000052,"window_definition_id":38,"id":38,"name":"window 38"},{"edge_id":"79","alpha":0.33333333333333287,"window_definition_id":39,"id":39,"name":"window 39"},{"edge_id":"71","alpha":0.5,"window_definition_id":40,"id":40,"name":"window 40"},{"edge_id":"72","alpha":0.15624999999999645,"window_definition_id":41,"id":41,"name":"window 41"},{"edge_id":"72","alpha":0.46874999999999717,"window_definition_id":42,"id":42,"name":"window 42"},{"edge_id":"72","alpha":0.7812499999999992,"window_definition_id":43,"id":43,"name":"window 43"},{"edge_id":"57","alpha":0.6250000000000228,"window_definition_id":44,"id":44,"name":"window 44"},{"edge_id":"56","alpha":0.8750000000000066,"window_definition_id":45,"id":45,"name":"window 45"},{"edge_id":"56","alpha":0.6250000000000044,"window_definition_id":46,"id":46,"name":"window 46"},{"edge_id":"56","alpha":0.37500000000000444,"window_definition_id":47,"id":47,"name":"window 47"},{"edge_id":"56","alpha":0.12500000000000275,"window_definition_id":48,"id":48,"name":"window 48"},{"edge_id":"40","alpha":0.8750000000000099,"window_definition_id":49,"id":49,"name":"window 49"},{"edge_id":"40","alpha":0.6250000000000042,"window_definition_id":50,"id":50,"name":"window 50"},{"edge_id":"40","alpha":0.3750000000000042,"window_definition_id":51,"id":51,"name":"window 51"},{"edge_id":"40","alpha":0.12500000000000425,"window_definition_id":52,"id":52,"name":"window 52"},{"edge_id":"39","alpha":0.8749999999999991,"window_definition_id":53,"id":53,"name":"window 53"},{"edge_id":"39","alpha":0.624999999999999,"window_definition_id":54,"id":54,"name":"window 54"},{"edge_id":"39","alpha":0.374999999999998,"window_definition_id":55,"id":55,"name":"window 55"},{"edge_id":"39","alpha":0.1249999999999979,"window_definition_id":56,"id":56,"name":"window 56"},{"edge_id":"220","alpha":0.12500000000001202,"window_definition_id":57,"id":57,"name":"window 57"},{"edge_id":"220","alpha":0.37500000000001205,"window_definition_id":58,"id":58,"name":"window 58"},{"edge_id":"220","alpha":0.6249999999999967,"window_definition_id":59,"id":59,"name":"window 59"},{"edge_id":"220","alpha":0.8749999999999967,"window_definition_id":60,"id":60,"name":"window 60"},{"edge_id":"215","alpha":0.12499999999999742,"window_definition_id":61,"id":61,"name":"window 61"},{"edge_id":"215","alpha":0.3749999999999991,"window_definition_id":62,"id":62,"name":"window 62"},{"edge_id":"215","alpha":0.6249999999999992,"window_definition_id":63,"id":63,"name":"window 63"},{"edge_id":"215","alpha":0.875,"window_definition_id":64,"id":64,"name":"window 64"},{"edge_id":"216","alpha":0.49999999999997863,"window_definition_id":65,"id":65,"name":"window 65"},{"edge_id":"217","alpha":0.5,"window_definition_id":66,"id":66,"name":"window 66"}],"doors":[],"construction_lines":[],"area":6633.592151083255},{"id":"236","handle":null,"name":"Story 2","image_id":null,"below_floor_plenum_height":0,"floor_to_ceiling_height":10,"above_ceiling_plenum_height":0,"multiplier":1,"color":"#332288","geometry":{"id":"237","vertices":[{"id":"241","x":88,"y":-378,"edge_ids":["247","252"]},{"id":"242","x":112,"y":-392,"edge_ids":["247","262","269"]},{"id":"243","x":76,"y":-458,"edge_ids":["271","279"]},{"id":"244","x":56,"y":-454,"edge_ids":["250","281","665"]},{"id":"245","x":62,"y":-444,"edge_ids":["250","251"]},{"id":"246","x":54,"y":-440,"edge_ids":["251","252","595"]},{"id":"255","x":122,"y":-396,"edge_ids":["262","263","287"]},{"id":"256","x":122,"y":-398,"edge_ids":["263","291"]},{"id":"257","x":114,"y":-414,"edge_ids":["293","299"]},{"id":"258","x":104,"y":-432,"edge_ids":["266","301","305"]},{"id":"259","x":94,"y":-448,"edge_ids":["266","267"]},{"id":"260","x":92,"y":-454,"edge_ids":["267","268","312"]},{"id":"261","x":81.37867802892828,"y":-448.13909028029815,"edge_ids":["268","269","271"]},{"id":"273","x":82,"y":-470,"edge_ids":["314","566","571"]},{"id":"274","x":62,"y":-466,"edge_ids":["278","512"]},{"id":"275","x":67.0872556471827,"y":-456.21745112943654,"edge_ids":["278","279","281"]},{"id":"283","x":126,"y":-398,"edge_ids":["287","288"]},{"id":"284","x":142,"y":-408,"edge_ids":["288","289"]},{"id":"285","x":138,"y":-414,"edge_ids":["289","290","297"]},{"id":"286","x":119.06935178220601,"y":-403.861296435588,"edge_ids":["290","291","293"]},{"id":"295","x":132,"y":-426,"edge_ids":["297","298","304"]},{"id":"296","x":113.02763797919812,"y":-415.7502516374434,"edge_ids":["298","299","301"]},{"id":"303","x":122,"y":-442,"edge_ids":["304","305","310"]},{"id":"308","x":108,"y":-468,"edge_ids":["310","311","324"]},{"id":"309","x":89.61568970729832,"y":-457.81489646832273,"edge_ids":["311","312","314"]},{"id":"316","x":90,"y":-500,"edge_ids":["324","325","338"]},{"id":"317","x":88,"y":-500,"edge_ids":["325","326"]},{"id":"318","x":80,"y":-496,"edge_ids":["326","327","341"]},{"id":"319","x":80,"y":-494,"edge_ids":["327","370"]},{"id":"320","x":84,"y":-488,"edge_ids":["329","374"]},{"id":"321","x":82,"y":-486,"edge_ids":["329","330"]},{"id":"322","x":76,"y":-482,"edge_ids":["330","533","576"]},{"id":"335","x":82,"y":-514,"edge_ids":["338","339","352"]},{"id":"336","x":72,"y":-508,"edge_ids":["339","340","360"]},{"id":"337","x":78,"y":-496,"edge_ids":["340","341"]},{"id":"344","x":76,"y":-526,"edge_ids":["352","353"]},{"id":"345","x":74,"y":-526,"edge_ids":["353","354"]},{"id":"346","x":30,"y":-502,"edge_ids":["354","355","607"]},{"id":"347","x":30,"y":-500,"edge_ids":["355","356"]},{"id":"348","x":34,"y":-494,"edge_ids":["356","357","388"]},{"id":"349","x":36,"y":-494,"edge_ids":["357","382"]},{"id":"350","x":68,"y":-512,"edge_ids":["359","380"]},{"id":"351","x":70,"y":-512,"edge_ids":["359","360"]},{"id":"363","x":54,"y":-504,"edge_ids":["367","379"]},{"id":"364","x":64,"y":-488,"edge_ids":["367","421","430"]},{"id":"365","x":82,"y":-490,"edge_ids":["369","409"]},{"id":"366","x":82.68206758609846,"y":-489.9768986208523,"edge_ids":["369","370","374"]},{"id":"376","x":53.95,"y":-504.09,"edge_ids":["379","380","382"]},{"id":"384","x":42,"y":-478,"edge_ids":["388","432","580"]},{"id":"404","x":74,"y":-489.11,"edge_ids":["409","421"]},{"id":"428","x":50,"y":-488,"edge_ids":["430","434"]},{"id":"429","x":50,"y":-479,"edge_ids":["432","435"]},{"id":"433","x":54,"y":-480,"edge_ids":["434","435","443"]},{"id":"437","x":56,"y":-470,"edge_ids":["443","444"]},{"id":"438","x":52,"y":-468,"edge_ids":["444","598"]},{"id":"440","x":42,"y":-462,"edge_ids":["600","610"]},{"id":"441","x":46,"y":-454,"edge_ids":["595","675","677"]},{"id":"459","x":78.4,"y":-478,"edge_ids":["571","576"]},{"id":"505","x":66,"y":-466.8,"edge_ids":["512","513"]},{"id":"506","x":66,"y":-466,"edge_ids":["513","554"]},{"id":"518","x":66,"y":-470,"edge_ids":["544","559"]},{"id":"529","x":64,"y":-482,"edge_ids":["533","543"]},{"id":"540","x":64,"y":-474,"edge_ids":["543","544"]},{"id":"550","x":68,"y":-466,"edge_ids":["554","559","566"]},{"id":"579","x":48,"y":-468,"edge_ids":["580","599"]},{"id":"597","x":48.92,"y":-466.15,"edge_ids":["598","599","600"]},{"id":"602","x":22,"y":-498,"edge_ids":["607","608"]},{"id":"603","x":22,"y":-496,"edge_ids":["608","609"]},{"id":"604","x":40,"y":-462,"edge_ids":["609","610","685"]},{"id":"659","x":48,"y":-454,"edge_ids":["665","677"]},{"id":"661","x":44.47,"y":-456,"edge_ids":["675","685"]},{"id":"688","x":34,"y":-416,"edge_ids":["694","699"]},{"id":"689","x":36,"y":-440,"edge_ids":["694","695"]},{"id":"690","x":32,"y":-446,"edge_ids":["695","696"]},{"id":"691","x":2,"y":-428,"edge_ids":["696","710","713"]},{"id":"692","x":14,"y":-406,"edge_ids":["698","705","708"]},{"id":"693","x":16,"y":-406,"edge_ids":["698","699"]},{"id":"702","x":0,"y":-398,"edge_ids":["705","706","721"]},{"id":"703","x":-4,"y":-406,"edge_ids":["706","707","714"]},{"id":"704","x":9.69012104535835,"y":-413.9014447501764,"edge_ids":["707","708","710"]},{"id":"712","x":-12,"y":-420,"edge_ids":["713","714","719"]},{"id":"717","x":-44,"y":-402,"edge_ids":["719","720","727"]},{"id":"718","x":-32,"y":-380,"edge_ids":["720","721","730"]},{"id":"724","x":-60,"y":-394,"edge_ids":["727","741","744"]},{"id":"725","x":-48,"y":-372,"edge_ids":["729","736","739"]},{"id":"726","x":-46,"y":-372,"edge_ids":["729","730"]},{"id":"733","x":-62,"y":-364,"edge_ids":["736","737"]},{"id":"734","x":-70,"y":-378,"edge_ids":["737","738","745"]},{"id":"735","x":-55.65690291082318,"y":-386.03765533650915,"edge_ids":["738","739","741"]},{"id":"743","x":-74,"y":-386,"edge_ids":["744","745"]}],"edges":[{"id":"247","vertex_ids":["241","242"],"face_ids":["253"]},{"id":"250","vertex_ids":["244","245"],"face_ids":["253","596"]},{"id":"251","vertex_ids":["245","246"],"face_ids":["253","596"]},{"id":"252","vertex_ids":["246","241"],"face_ids":["253"]},{"id":"262","vertex_ids":["242","255"],"face_ids":["270"]},{"id":"263","vertex_ids":["255","256"],"face_ids":["270","292"]},{"id":"266","vertex_ids":["258","259"],"face_ids":["270","313"]},{"id":"267","vertex_ids":["259","260"],"face_ids":["270","313"]},{"id":"268","vertex_ids":["260","261"],"face_ids":["270","280"]},{"id":"269","vertex_ids":["261","242"],"face_ids":["253","270"]},{"id":"271","vertex_ids":["261","243"],"face_ids":["253","280"]},{"id":"278","vertex_ids":["274","275"],"face_ids":["280","449"]},{"id":"279","vertex_ids":["275","243"],"face_ids":["253","280"]},{"id":"281","vertex_ids":["275","244"],"face_ids":["253","449"]},{"id":"287","vertex_ids":["255","283"],"face_ids":["292"]},{"id":"288","vertex_ids":["283","284"],"face_ids":["292"]},{"id":"289","vertex_ids":["284","285"],"face_ids":["292"]},{"id":"290","vertex_ids":["285","286"],"face_ids":["292","300"]},{"id":"291","vertex_ids":["286","256"],"face_ids":["270","292"]},{"id":"293","vertex_ids":["286","257"],"face_ids":["270","300"]},{"id":"297","vertex_ids":["285","295"],"face_ids":["300"]},{"id":"298","vertex_ids":["295","296"],"face_ids":["300","306"]},{"id":"299","vertex_ids":["296","257"],"face_ids":["270","300"]},{"id":"301","vertex_ids":["296","258"],"face_ids":["270","306"]},{"id":"304","vertex_ids":["295","303"],"face_ids":["306"]},{"id":"305","vertex_ids":["303","258"],"face_ids":["306","313"]},{"id":"310","vertex_ids":["303","308"],"face_ids":["313"]},{"id":"311","vertex_ids":["308","309"],"face_ids":["313","333"]},{"id":"312","vertex_ids":["309","260"],"face_ids":["280","313"]},{"id":"314","vertex_ids":["309","273"],"face_ids":["280","333"]},{"id":"324","vertex_ids":["308","316"],"face_ids":["333"]},{"id":"325","vertex_ids":["316","317"],"face_ids":["333","342"]},{"id":"326","vertex_ids":["317","318"],"face_ids":["333","342"]},{"id":"327","vertex_ids":["318","319"],"face_ids":["333","373"]},{"id":"329","vertex_ids":["320","321"],"face_ids":["333","449"]},{"id":"330","vertex_ids":["321","322"],"face_ids":["333","449"]},{"id":"338","vertex_ids":["316","335"],"face_ids":["342"]},{"id":"339","vertex_ids":["335","336"],"face_ids":["342","361"]},{"id":"340","vertex_ids":["336","337"],"face_ids":["342","373"]},{"id":"341","vertex_ids":["337","318"],"face_ids":["342","373"]},{"id":"352","vertex_ids":["335","344"],"face_ids":["361"]},{"id":"353","vertex_ids":["344","345"],"face_ids":["361"]},{"id":"354","vertex_ids":["345","346"],"face_ids":["361"]},{"id":"355","vertex_ids":["346","347"],"face_ids":["361","611"]},{"id":"356","vertex_ids":["347","348"],"face_ids":["361","611"]},{"id":"357","vertex_ids":["348","349"],"face_ids":["361","393"]},{"id":"359","vertex_ids":["350","351"],"face_ids":["361","373"]},{"id":"360","vertex_ids":["351","336"],"face_ids":["361","373"]},{"id":"367","vertex_ids":["363","364"],"face_ids":["373","393"]},{"id":"369","vertex_ids":["365","366"],"face_ids":["373","449"]},{"id":"370","vertex_ids":["366","319"],"face_ids":["333","373"]},{"id":"374","vertex_ids":["366","320"],"face_ids":["333","449"]},{"id":"379","vertex_ids":["363","376"],"face_ids":["373","393"]},{"id":"380","vertex_ids":["376","350"],"face_ids":["361","373"]},{"id":"382","vertex_ids":["349","376"],"face_ids":["361","393"]},{"id":"388","vertex_ids":["348","384"],"face_ids":["393","611"]},{"id":"409","vertex_ids":["365","404"],"face_ids":["373","449"]},{"id":"421","vertex_ids":["404","364"],"face_ids":["373","449"]},{"id":"430","vertex_ids":["364","428"],"face_ids":["393","449"]},{"id":"432","vertex_ids":["429","384"],"face_ids":["393","582"]},{"id":"434","vertex_ids":["428","433"],"face_ids":["393","449"]},{"id":"435","vertex_ids":["433","429"],"face_ids":["393","582"]},{"id":"443","vertex_ids":["433","437"],"face_ids":["449","582"]},{"id":"444","vertex_ids":["437","438"],"face_ids":["449","582"]},{"id":"512","vertex_ids":["274","505"],"face_ids":["280","449"]},{"id":"513","vertex_ids":["505","506"],"face_ids":["280","449"]},{"id":"533","vertex_ids":["322","529"],"face_ids":["449","585"]},{"id":"543","vertex_ids":["529","540"],"face_ids":["449","585"]},{"id":"544","vertex_ids":["540","518"],"face_ids":["449","585"]},{"id":"554","vertex_ids":["550","506"],"face_ids":["280","449"]},{"id":"559","vertex_ids":["518","550"],"face_ids":["449","585"]},{"id":"566","vertex_ids":["550","273"],"face_ids":["280","585"]},{"id":"571","vertex_ids":["273","459"],"face_ids":["333","585"]},{"id":"576","vertex_ids":["459","322"],"face_ids":["333","585"]},{"id":"580","vertex_ids":["384","579"],"face_ids":["582","611"]},{"id":"595","vertex_ids":["246","441"],"face_ids":["596"]},{"id":"598","vertex_ids":["438","597"],"face_ids":["449","582"]},{"id":"599","vertex_ids":["597","579"],"face_ids":["582","611"]},{"id":"600","vertex_ids":["440","597"],"face_ids":["449","611"]},{"id":"607","vertex_ids":["346","602"],"face_ids":["611"]},{"id":"608","vertex_ids":["602","603"],"face_ids":["611"]},{"id":"609","vertex_ids":["603","604"],"face_ids":["611"]},{"id":"610","vertex_ids":["604","440"],"face_ids":["449","611"]},{"id":"665","vertex_ids":["244","659"],"face_ids":["449","596"]},{"id":"675","vertex_ids":["441","661"],"face_ids":["449"]},{"id":"677","vertex_ids":["441","659"],"face_ids":["449","596"]},{"id":"685","vertex_ids":["661","604"],"face_ids":["449"]},{"id":"694","vertex_ids":["688","689"],"face_ids":["700"]},{"id":"695","vertex_ids":["689","690"],"face_ids":["700"]},{"id":"696","vertex_ids":["690","691"],"face_ids":["700"]},{"id":"698","vertex_ids":["692","693"],"face_ids":["700"]},{"id":"699","vertex_ids":["693","688"],"face_ids":["700"]},{"id":"705","vertex_ids":["692","702"],"face_ids":["709"]},{"id":"706","vertex_ids":["702","703"],"face_ids":["709","722"]},{"id":"707","vertex_ids":["703","704"],"face_ids":["709","715"]},{"id":"708","vertex_ids":["704","692"],"face_ids":["700","709"]},{"id":"710","vertex_ids":["691","704"],"face_ids":["700","715"]},{"id":"713","vertex_ids":["691","712"],"face_ids":["715"]},{"id":"714","vertex_ids":["712","703"],"face_ids":["715","722"]},{"id":"719","vertex_ids":["712","717"],"face_ids":["722"]},{"id":"720","vertex_ids":["717","718"],"face_ids":["722","731"]},{"id":"721","vertex_ids":["718","702"],"face_ids":["722"]},{"id":"727","vertex_ids":["717","724"],"face_ids":["731"]},{"id":"729","vertex_ids":["725","726"],"face_ids":["731"]},{"id":"730","vertex_ids":["726","718"],"face_ids":["731"]},{"id":"736","vertex_ids":["725","733"],"face_ids":["740"]},{"id":"737","vertex_ids":["733","734"],"face_ids":["740"]},{"id":"738","vertex_ids":["734","735"],"face_ids":["740","746"]},{"id":"739","vertex_ids":["735","725"],"face_ids":["731","740"]},{"id":"741","vertex_ids":["724","735"],"face_ids":["731","746"]},{"id":"744","vertex_ids":["724","743"],"face_ids":["746"]},{"id":"745","vertex_ids":["743","734"],"face_ids":["746"]}],"faces":[{"id":"253","edge_ids":["247","269","271","279","281","250","251","252"],"edge_order":[1,0,1,0,1,1,1,1]},{"id":"270","edge_ids":["262","263","291","293","299","301","266","267","268","269"],"edge_order":[1,1,0,1,0,1,1,1,1,1]},{"id":"280","edge_ids":["268","271","279","278","512","513","554","566","314","312"],"edge_order":[1,1,0,0,1,1,0,1,0,1]},{"id":"292","edge_ids":["263","287","288","289","290","291"],"edge_order":[0,1,1,1,1,1]},{"id":"300","edge_ids":["290","297","298","299","293"],"edge_order":[0,1,1,1,0]},{"id":"306","edge_ids":["298","304","305","301"],"edge_order":[0,1,1,0]},{"id":"313","edge_ids":["305","310","311","312","267","266"],"edge_order":[0,1,1,1,0,0]},{"id":"333","edge_ids":["311","314","571","576","330","329","374","370","327","326","325","324"],"edge_order":[1,1,1,1,0,0,0,1,0,0,0,0]},{"id":"342","edge_ids":["338","339","340","341","326","325"],"edge_order":[1,1,1,1,0,0]},{"id":"361","edge_ids":["352","353","354","355","356","357","382","380","359","360","339"],"edge_order":[1,1,1,1,1,1,1,1,1,1,0]},{"id":"373","edge_ids":["341","327","370","369","409","421","367","379","380","359","360","340"],"edge_order":[1,1,0,0,1,1,0,1,1,1,1,1]},{"id":"393","edge_ids":["367","430","434","435","432","388","357","382","379"],"edge_order":[1,1,1,1,1,0,1,1,0]},{"id":"449","edge_ids":["374","329","330","533","543","544","559","554","513","512","278","281","665","677","675","685","610","600","598","444","443","434","430","421","409","369"],"edge_order":[1,1,1,1,1,1,1,1,0,0,1,1,1,0,1,1,1,1,0,0,0,0,0,0,0,1]},{"id":"582","edge_ids":["444","598","599","580","432","435","443"],"edge_order":[1,1,1,0,0,0,1]},{"id":"585","edge_ids":["559","544","543","533","576","571","566"],"edge_order":[0,0,0,0,0,0,0]},{"id":"596","edge_ids":["251","595","677","665","250"],"edge_order":[1,1,1,0,1]},{"id":"611","edge_ids":["356","388","580","599","600","610","609","608","607","355"],"edge_order":[1,1,1,0,0,0,0,0,0,1]},{"id":"700","edge_ids":["694","695","696","710","708","698","699"],"edge_order":[1,1,1,1,1,1,1]},{"id":"709","edge_ids":["705","706","707","708"],"edge_order":[1,1,1,1]},{"id":"715","edge_ids":["710","713","714","707"],"edge_order":[0,1,1,1]},{"id":"722","edge_ids":["706","714","719","720","721"],"edge_order":[1,0,1,1,1]},{"id":"731","edge_ids":["720","727","741","739","729","730"],"edge_order":[0,1,1,1,1,1]},{"id":"740","edge_ids":["736","737","738","739"],"edge_order":[1,1,1,1]},{"id":"746","edge_ids":["741","744","745","738"],"edge_order":[0,1,1,1]}]},"spaces":[{"id":"238","handle":null,"name":"Space 2-1","face_id":"253","building_unit_id":null,"thermal_zone_id":"tz_17","space_type_id":"231","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":2116},{"id":"254","handle":null,"name":"Space 2-2","face_id":"270","building_unit_id":null,"thermal_zone_id":"tz_18","space_type_id":"227","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":767.8700783002414},{"id":"272","handle":null,"name":"Space 2-3","face_id":"280","building_unit_id":null,"thermal_zone_id":"tz_19","space_type_id":"227","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":321.8587412049715},{"id":"282","handle":null,"name":"Space 2-4","face_id":"292","building_unit_id":null,"thermal_zone_id":"tz_20","space_type_id":"229","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":174.3355572270558},{"id":"294","handle":null,"name":"Space 2-5","face_id":"300","building_unit_id":null,"thermal_zone_id":"tz_21","space_type_id":"1220","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":287.25087963474607},{"id":"302","handle":null,"name":"Space 2-6","face_id":"306","building_unit_id":null,"thermal_zone_id":"tz_22","space_type_id":"1220","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":394.41356313819824},{"id":"307","handle":null,"name":"Space 2-7","face_id":"313","building_unit_id":null,"thermal_zone_id":"tz_23","space_type_id":"1220","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":625.2093437954936},{"id":"315","handle":null,"name":"Space 2-8","face_id":"333","building_unit_id":null,"thermal_zone_id":"tz_24","space_type_id":"234","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":708.3906562045063},{"id":"334","handle":null,"name":"Space 2-9","face_id":"342","building_unit_id":null,"thermal_zone_id":"tz_25","space_type_id":"1220","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":178},{"id":"343","handle":null,"name":"Space 2-10","face_id":"361","building_unit_id":null,"thermal_zone_id":"tz_26","space_type_id":"1220","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":562.1100000000004},{"id":"362","handle":null,"name":"Space 2-11","face_id":"373","building_unit_id":null,"thermal_zone_id":"tz_27","space_type_id":"230","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":384.181033793049},{"id":"383","handle":null,"name":"Space 2-12","face_id":"393","building_unit_id":null,"thermal_zone_id":"tz_28","space_type_id":"1220","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":401.0599999999998},{"id":"436","handle":null,"name":"Space 2-13","face_id":"449","building_unit_id":null,"thermal_zone_id":"tz_29","space_type_id":"227","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":609.0301467017376},{"id":"578","handle":null,"name":"Space 2-14","face_id":"582","building_unit_id":null,"thermal_zone_id":"tz_30","space_type_id":"1220","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":113.70000000000005},{"id":"583","handle":null,"name":"Space 2-15","face_id":"585","building_unit_id":null,"thermal_zone_id":"tz_31","space_type_id":"226","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":210.39999999999998},{"id":"594","handle":null,"name":"Space 2-16","face_id":"596","building_unit_id":null,"thermal_zone_id":"tz_32","space_type_id":"233","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":122},{"id":"601","handle":null,"name":"Space 2-17","face_id":"611","building_unit_id":null,"thermal_zone_id":"tz_33","space_type_id":"232","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":386.3100000000002},{"id":"687","handle":null,"name":"Space 2-18","face_id":"700","building_unit_id":null,"thermal_zone_id":"tz_34","space_type_id":"231","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":811.9999999999998},{"id":"701","handle":null,"name":"Space 2-19","face_id":"709","building_unit_id":null,"thermal_zone_id":"tz_35","space_type_id":"1220","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":143.11300275158743},{"id":"711","handle":null,"name":"Space 2-20","face_id":"715","building_unit_id":null,"thermal_zone_id":"tz_36","space_type_id":"234","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":256.8869972484127},{"id":"716","handle":null,"name":"Space 2-21","face_id":"722","building_unit_id":null,"thermal_zone_id":"tz_37","space_type_id":"1222","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":924},{"id":"723","handle":null,"name":"Space 2-22","face_id":"731","building_unit_id":null,"thermal_zone_id":"tz_38","space_type_id":"1222","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":456},{"id":"732","handle":null,"name":"Space 2-23","face_id":"740","building_unit_id":null,"thermal_zone_id":"tz_39","space_type_id":"229","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":261.44349996913115},{"id":"742","handle":null,"name":"Space 2-24","face_id":"746","building_unit_id":null,"thermal_zone_id":"tz_40","space_type_id":"232","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":146.5565000308689}],"shading":[],"windows":[{"edge_id":"745","alpha":0.8749999999999879,"window_definition_id":67,"id":67,"name":"window 67"},{"edge_id":"745","alpha":0.6249999999999872,"window_definition_id":68,"id":68,"name":"window 68"},{"edge_id":"745","alpha":0.3749999999999879,"window_definition_id":69,"id":69,"name":"window 69"},{"edge_id":"745","alpha":0.12499999999998791,"window_definition_id":70,"id":70,"name":"window 70"},{"edge_id":"737","alpha":0.12500000000000044,"window_definition_id":71,"id":71,"name":"window 71"},{"edge_id":"737","alpha":0.37499999999999695,"window_definition_id":72,"id":72,"name":"window 72"},{"edge_id":"737","alpha":0.6249999999999991,"window_definition_id":73,"id":73,"name":"window 73"},{"edge_id":"737","alpha":0.8749999999999997,"window_definition_id":74,"id":74,"name":"window 74"},{"edge_id":"736","alpha":0.1250000000000014,"window_definition_id":75,"id":75,"name":"window 75"},{"edge_id":"736","alpha":0.3750000000000004,"window_definition_id":76,"id":76,"name":"window 76"},{"edge_id":"736","alpha":0.6250000000000014,"window_definition_id":77,"id":77,"name":"window 77"},{"edge_id":"736","alpha":0.8750000000000022,"window_definition_id":78,"id":78,"name":"window 78"},{"edge_id":"729","alpha":0.875,"window_definition_id":79,"id":79,"name":"window 79"},{"edge_id":"729","alpha":0.625,"window_definition_id":80,"id":80,"name":"window 80"},{"edge_id":"729","alpha":0.375,"window_definition_id":81,"id":81,"name":"window 81"},{"edge_id":"729","alpha":0.125,"window_definition_id":82,"id":82,"name":"window 82"},{"edge_id":"730","alpha":0.8750000000000003,"window_definition_id":83,"id":83,"name":"window 83"},{"edge_id":"730","alpha":0.6250000000000023,"window_definition_id":84,"id":84,"name":"window 84"},{"edge_id":"730","alpha":0.37500000000000155,"window_definition_id":85,"id":85,"name":"window 85"},{"edge_id":"730","alpha":0.1250000000000004,"window_definition_id":86,"id":86,"name":"window 86"},{"edge_id":"721","alpha":0.8750000000000003,"window_definition_id":87,"id":87,"name":"window 87"},{"edge_id":"721","alpha":0.6250000000000003,"window_definition_id":88,"id":88,"name":"window 88"},{"edge_id":"721","alpha":0.37500000000000033,"window_definition_id":89,"id":89,"name":"window 89"},{"edge_id":"721","alpha":0.12500000000000033,"window_definition_id":90,"id":90,"name":"window 90"},{"edge_id":"705","alpha":0.125,"window_definition_id":91,"id":91,"name":"window 91"},{"edge_id":"705","alpha":0.3749999999999985,"window_definition_id":92,"id":92,"name":"window 92"},{"edge_id":"705","alpha":0.6249999999999993,"window_definition_id":93,"id":93,"name":"window 93"},{"edge_id":"705","alpha":0.8750000000000001,"window_definition_id":94,"id":94,"name":"window 94"},{"edge_id":"698","alpha":0.875,"window_definition_id":95,"id":95,"name":"window 95"},{"edge_id":"698","alpha":0.625,"window_definition_id":96,"id":96,"name":"window 96"},{"edge_id":"698","alpha":0.375,"window_definition_id":97,"id":97,"name":"window 97"},{"edge_id":"698","alpha":0.125,"window_definition_id":98,"id":98,"name":"window 98"},{"edge_id":"699","alpha":0.8750000000000019,"window_definition_id":99,"id":99,"name":"window 99"},{"edge_id":"699","alpha":0.625,"window_definition_id":100,"id":100,"name":"window 100"},{"edge_id":"699","alpha":0.37500000000000133,"window_definition_id":101,"id":101,"name":"window 101"},{"edge_id":"699","alpha":0.12500000000000194,"window_definition_id":102,"id":102,"name":"window 102"},{"edge_id":"694","alpha":0.5000000000000023,"window_definition_id":103,"id":103,"name":"window 103"},{"edge_id":"695","alpha":0.5000000000000131,"window_definition_id":104,"id":104,"name":"window 104"},{"edge_id":"696","alpha":0.875,"window_definition_id":105,"id":105,"name":"window 105"},{"edge_id":"696","alpha":0.6249999999999997,"window_definition_id":106,"id":106,"name":"window 106"},{"edge_id":"696","alpha":0.375,"window_definition_id":107,"id":107,"name":"window 107"},{"edge_id":"696","alpha":0.12499999999999967,"window_definition_id":108,"id":108,"name":"window 108"},{"edge_id":"713","alpha":0.8750000000000001,"window_definition_id":109,"id":109,"name":"window 109"},{"edge_id":"713","alpha":0.6249999999999984,"window_definition_id":110,"id":110,"name":"window 110"},{"edge_id":"713","alpha":0.3749999999999985,"window_definition_id":111,"id":111,"name":"window 111"},{"edge_id":"713","alpha":0.12499999999999849,"window_definition_id":112,"id":112,"name":"window 112"},{"edge_id":"719","alpha":0.875,"window_definition_id":113,"id":113,"name":"window 113"},{"edge_id":"719","alpha":0.625,"window_definition_id":114,"id":114,"name":"window 114"},{"edge_id":"719","alpha":0.375,"window_definition_id":115,"id":115,"name":"window 115"},{"edge_id":"719","alpha":0.12500000000000067,"window_definition_id":116,"id":116,"name":"window 116"},{"edge_id":"727","alpha":0.8749999999999992,"window_definition_id":117,"id":117,"name":"window 117"},{"edge_id":"727","alpha":0.6249999999999986,"window_definition_id":118,"id":118,"name":"window 118"},{"edge_id":"727","alpha":0.3749999999999993,"window_definition_id":119,"id":119,"name":"window 119"},{"edge_id":"727","alpha":0.12499999999999786,"window_definition_id":120,"id":120,"name":"window 120"},{"edge_id":"744","alpha":0.8749999999999986,"window_definition_id":121,"id":121,"name":"window 121"},{"edge_id":"744","alpha":0.625,"window_definition_id":122,"id":122,"name":"window 122"},{"edge_id":"744","alpha":0.375000000000001,"window_definition_id":123,"id":123,"name":"window 123"},{"edge_id":"744","alpha":0.12500000000000022,"window_definition_id":124,"id":124,"name":"window 124"},{"edge_id":"607","alpha":0.8749999999999971,"window_definition_id":125,"id":125,"name":"window 125"},{"edge_id":"607","alpha":0.6249999999999986,"window_definition_id":126,"id":126,"name":"window 126"},{"edge_id":"607","alpha":0.3749999999999971,"window_definition_id":127,"id":127,"name":"window 127"},{"edge_id":"607","alpha":0.12499999999999431,"window_definition_id":128,"id":128,"name":"window 128"},{"edge_id":"354","alpha":0.8750000000000002,"window_definition_id":129,"id":129,"name":"window 129"},{"edge_id":"354","alpha":0.6250000000000003,"window_definition_id":130,"id":130,"name":"window 130"},{"edge_id":"354","alpha":0.375,"window_definition_id":131,"id":131,"name":"window 131"},{"edge_id":"354","alpha":0.125,"window_definition_id":132,"id":132,"name":"window 132"},{"edge_id":"353","alpha":0.875,"window_definition_id":133,"id":133,"name":"window 133"},{"edge_id":"353","alpha":0.625,"window_definition_id":134,"id":134,"name":"window 134"},{"edge_id":"353","alpha":0.375,"window_definition_id":135,"id":135,"name":"window 135"},{"edge_id":"353","alpha":0.125,"window_definition_id":136,"id":136,"name":"window 136"},{"edge_id":"352","alpha":0.5000000000000019,"window_definition_id":137,"id":137,"name":"window 137"},{"edge_id":"338","alpha":0.49999999999999956,"window_definition_id":138,"id":138,"name":"window 138"},{"edge_id":"324","alpha":0.500000000000001,"window_definition_id":139,"id":139,"name":"window 139"},{"edge_id":"310","alpha":0.49999999999999833,"window_definition_id":140,"id":140,"name":"window 140"},{"edge_id":"304","alpha":0.4999999999999965,"window_definition_id":141,"id":141,"name":"window 141"},{"edge_id":"297","alpha":0.5,"window_definition_id":142,"id":142,"name":"window 142"},{"edge_id":"289","alpha":0.5000000000000066,"window_definition_id":143,"id":143,"name":"window 143"},{"edge_id":"288","alpha":0.8749999999999956,"window_definition_id":144,"id":144,"name":"window 144"},{"edge_id":"288","alpha":0.6250000000000001,"window_definition_id":145,"id":145,"name":"window 145"},{"edge_id":"288","alpha":0.3749999999999975,"window_definition_id":146,"id":146,"name":"window 146"},{"edge_id":"288","alpha":0.1249999999999997,"window_definition_id":147,"id":147,"name":"window 147"},{"edge_id":"287","alpha":0.8750000000000284,"window_definition_id":148,"id":148,"name":"window 148"},{"edge_id":"287","alpha":0.6250000000000113,"window_definition_id":149,"id":149,"name":"window 149"},{"edge_id":"287","alpha":0.37500000000001704,"window_definition_id":150,"id":150,"name":"window 150"},{"edge_id":"287","alpha":0.12500000000001704,"window_definition_id":151,"id":151,"name":"window 151"},{"edge_id":"262","alpha":0.8749999999999981,"window_definition_id":152,"id":152,"name":"window 152"},{"edge_id":"262","alpha":0.624999999999998,"window_definition_id":153,"id":153,"name":"window 153"},{"edge_id":"262","alpha":0.37499999999999806,"window_definition_id":154,"id":154,"name":"window 154"},{"edge_id":"262","alpha":0.12499999999999804,"window_definition_id":155,"id":155,"name":"window 155"},{"edge_id":"247","alpha":0.8750000000000006,"window_definition_id":156,"id":156,"name":"window 156"},{"edge_id":"247","alpha":0.6250000000000006,"window_definition_id":157,"id":157,"name":"window 157"},{"edge_id":"247","alpha":0.37500000000000044,"window_definition_id":158,"id":158,"name":"window 158"},{"edge_id":"247","alpha":0.12499999999999957,"window_definition_id":159,"id":159,"name":"window 159"},{"edge_id":"252","alpha":0.8749999999999991,"window_definition_id":160,"id":160,"name":"window 160"},{"edge_id":"252","alpha":0.6249999999999993,"window_definition_id":161,"id":161,"name":"window 161"},{"edge_id":"252","alpha":0.3749999999999992,"window_definition_id":162,"id":162,"name":"window 162"},{"edge_id":"252","alpha":0.12499999999999929,"window_definition_id":163,"id":163,"name":"window 163"},{"edge_id":"595","alpha":0.1250000000000009,"window_definition_id":164,"id":164,"name":"window 164"},{"edge_id":"595","alpha":0.3749999999999939,"window_definition_id":165,"id":165,"name":"window 165"},{"edge_id":"595","alpha":0.6250000000000004,"window_definition_id":166,"id":166,"name":"window 166"},{"edge_id":"595","alpha":0.8750000000000004,"window_definition_id":167,"id":167,"name":"window 167"},{"edge_id":"675","alpha":0.1250000000000068,"window_definition_id":168,"id":168,"name":"window 168"},{"edge_id":"675","alpha":0.37500000000002986,"window_definition_id":169,"id":169,"name":"window 169"},{"edge_id":"675","alpha":0.6250000000000281,"window_definition_id":170,"id":170,"name":"window 170"},{"edge_id":"675","alpha":0.8750000000000263,"window_definition_id":171,"id":171,"name":"window 171"},{"edge_id":"685","alpha":0.12500000000000028,"window_definition_id":172,"id":172,"name":"window 172"},{"edge_id":"685","alpha":0.37499999999999134,"window_definition_id":173,"id":173,"name":"window 173"},{"edge_id":"685","alpha":0.6249999999999919,"window_definition_id":174,"id":174,"name":"window 174"},{"edge_id":"685","alpha":0.874999999999998,"window_definition_id":175,"id":175,"name":"window 175"},{"edge_id":"609","alpha":0.8750000000000017,"window_definition_id":176,"id":176,"name":"window 176"},{"edge_id":"609","alpha":0.6250000000000002,"window_definition_id":177,"id":177,"name":"window 177"},{"edge_id":"609","alpha":0.3750000000000015,"window_definition_id":178,"id":178,"name":"window 178"},{"edge_id":"609","alpha":0.1250000000000013,"window_definition_id":179,"id":179,"name":"window 179"},{"edge_id":"608","alpha":0.875,"window_definition_id":180,"id":180,"name":"window 180"},{"edge_id":"608","alpha":0.625,"window_definition_id":181,"id":181,"name":"window 181"},{"edge_id":"608","alpha":0.375,"window_definition_id":182,"id":182,"name":"window 182"},{"edge_id":"608","alpha":0.125,"window_definition_id":183,"id":183,"name":"window 183"}],"doors":[],"construction_lines":[],"area":11362.120000000003},{"id":"776","handle":null,"name":"Story 3","image_id":null,"below_floor_plenum_height":0,"floor_to_ceiling_height":10,"above_ceiling_plenum_height":0,"multiplier":1,"color":"#ddcc77","geometry":{"id":"777","vertices":[{"id":"781","x":88,"y":-378,"edge_ids":["785","788"]},{"id":"782","x":122,"y":-396,"edge_ids":["785","795","799"]},{"id":"783","x":98,"y":-438,"edge_ids":["801","914"]},{"id":"784","x":64,"y":-420,"edge_ids":["788","909","912"]},{"id":"791","x":142,"y":-408,"edge_ids":["795","796"]},{"id":"792","x":132,"y":-426,"edge_ids":["796","797"]},{"id":"793","x":122,"y":-442,"edge_ids":["797","806","809"]},{"id":"794","x":101.99646515710893,"y":-431.00618597505934,"edge_ids":["799","801","811"]},{"id":"803","x":116,"y":-452,"edge_ids":["806","807","815"]},{"id":"804","x":104,"y":-446,"edge_ids":["807","808","1000"]},{"id":"805","x":109.6273183186001,"y":-435.20005376732496,"edge_ids":["808","809","811"]},{"id":"813","x":108,"y":-466,"edge_ids":["815","822","1002"]},{"id":"820","x":94,"y":-492,"edge_ids":["822","823","839"]},{"id":"821","x":82,"y":-486,"edge_ids":["823","1005","1006"]},{"id":"828","x":72,"y":-482,"edge_ids":["835","978"]},{"id":"829","x":68,"y":-490,"edge_ids":["835","836"]},{"id":"830","x":68,"y":-492,"edge_ids":["836","837","852"]},{"id":"831","x":86,"y":-502,"edge_ids":["837","838"]},{"id":"832","x":88,"y":-502,"edge_ids":["838","839","847"]},{"id":"842","x":76,"y":-526,"edge_ids":["847","848"]},{"id":"843","x":74,"y":-526,"edge_ids":["848","849"]},{"id":"844","x":54.022764212386114,"y":-515.1033259340288,"edge_ids":["849","867","859"]},{"id":"846","x":66,"y":-492,"edge_ids":["852","866"]},{"id":"855","x":22,"y":-498,"edge_ids":["859","860"]},{"id":"856","x":22,"y":-496,"edge_ids":["860","861"]},{"id":"857","x":26.508081861054606,"y":-487.48473426245243,"edge_ids":["861","884","888"]},{"id":"864","x":58.09,"y":-506.5,"edge_ids":["866","867","874"]},{"id":"872","x":49.34997985380511,"y":-501.2376912035475,"edge_ids":["874","875","900"]},{"id":"873","x":64,"y":-476,"edge_ids":["875","987"]},{"id":"881","x":48.92,"y":-466.15,"edge_ids":["885","886","991"]},{"id":"882","x":42,"y":-462,"edge_ids":["886","887","918"]},{"id":"883","x":40,"y":-462,"edge_ids":["887","888","929","1041"]},{"id":"889","x":34.73,"y":-492.43,"edge_ids":["894","884","885"]},{"id":"890","x":34.73,"y":-492.44,"edge_ids":["894","900"]},{"id":"906","x":59.59750397290965,"y":-429.79278687292947,"edge_ids":["909","910","926","1043"]},{"id":"907","x":86,"y":-444,"edge_ids":["910","911","919"]},{"id":"908","x":91.39079100983794,"y":-434.50100700520835,"edge_ids":["911","912","914"]},{"id":"916","x":78,"y":-460,"edge_ids":["918","919"]},{"id":"922","x":53.39,"y":-440,"edge_ids":["926","974"]},{"id":"924","x":48,"y":-448.85,"edge_ids":["929","966"]},{"id":"942","x":62,"y":-444,"edge_ids":["952","972"]},{"id":"949","x":58,"y":-452,"edge_ids":["952","964"]},{"id":"960","x":50,"y":-448,"edge_ids":["964","965","970"]},{"id":"961","x":48,"y":-448,"edge_ids":["965","966"]},{"id":"968","x":49.43478808081539,"y":-447.9891208585731,"edge_ids":["970","971"]},{"id":"969","x":53.88595450019511,"y":-440.23040859474804,"edge_ids":["971","972","974"]},{"id":"975","x":72,"y":-480,"edge_ids":["978","979","1006"]},{"id":"976","x":66,"y":-476,"edge_ids":["979","986"]},{"id":"984","x":64,"y":-475.43,"edge_ids":["986","987","991"]},{"id":"998","x":98.93,"y":-454.87,"edge_ids":["1000","1001"]},{"id":"999","x":96.11,"y":-460.06,"edge_ids":["1001","1002","1005"]},{"id":"1032","x":36,"y":-432,"edge_ids":["1037","1043","1052"]},{"id":"1033","x":36,"y":-440,"edge_ids":["1037","1038"]},{"id":"1034","x":32,"y":-446,"edge_ids":["1038","1063"]},{"id":"1035","x":-74,"y":-386,"edge_ids":["1040","1206","1217"]},{"id":"1036","x":-80,"y":-396,"edge_ids":["1040","1041"]},{"id":"1047","x":25.14091844929113,"y":-411.07828802738396,"edge_ids":["1051","1073","1077"]},{"id":"1048","x":34,"y":-416,"edge_ids":["1051","1052"]},{"id":"1056","x":12.43,"y":-434.93,"edge_ids":["1063","1064"]},{"id":"1057","x":12.43,"y":-434.92,"edge_ids":["1064","1102","1105"]},{"id":"1069","x":19.66830390803993,"y":-421.3432031985562,"edge_ids":["1073","1074","1106"]},{"id":"1070","x":8.87922928295632,"y":-415.38807964791346,"edge_ids":["1074","1075","1084"]},{"id":"1071","x":14,"y":-406,"edge_ids":["1075","1076","1113"]},{"id":"1072","x":16,"y":-406,"edge_ids":["1076","1077"]},{"id":"1081","x":1.426489186536859,"y":-428.69193394660863,"edge_ids":["1084","1103","1126"]},{"id":"1088","x":4.53,"y":-430.45,"edge_ids":["1102","1103"]},{"id":"1097","x":13.99,"y":-432,"edge_ids":["1105","1106"]},{"id":"1109","x":-1.4968048991164302,"y":-397.15804724424703,"edge_ids":["1113","1132","1138"]},{"id":"1118","x":-14,"y":-420,"edge_ids":["1126","1127","1168"]},{"id":"1119","x":-13.98,"y":-419.97,"edge_ids":["1127","1132"]},{"id":"1134","x":-28.88838500254173,"y":-411.53218196373973,"edge_ids":["1137","1145","1170"]},{"id":"1135","x":-16,"y":-388,"edge_ids":["1137","1138","1147"]},{"id":"1143","x":-44.190984998217836,"y":-402.8712469112053,"edge_ids":["1145","1146","1176"]},{"id":"1144","x":-32,"y":-380,"edge_ids":["1146","1147","1179"]},{"id":"1160","x":-28.45,"y":-411.78,"edge_ids":["1168","1170"]},{"id":"1173","x":-59.43508507377743,"y":-394.2434215268874,"edge_ids":["1176","1177","1208"]},{"id":"1174","x":-48,"y":-372,"edge_ids":["1177","1178","1218"]},{"id":"1175","x":-46,"y":-372,"edge_ids":["1178","1179"]},{"id":"1194","x":-59.97,"y":-393.94,"edge_ids":["1205","1208"]},{"id":"1195","x":-60,"y":-394,"edge_ids":["1205","1206"]},{"id":"1216","x":-62,"y":-364,"edge_ids":["1217","1218"]}],"edges":[{"id":"785","vertex_ids":["781","782"],"face_ids":["789"]},{"id":"788","vertex_ids":["784","781"],"face_ids":["789"]},{"id":"795","vertex_ids":["782","791"],"face_ids":["800"]},{"id":"796","vertex_ids":["791","792"],"face_ids":["800"]},{"id":"797","vertex_ids":["792","793"],"face_ids":["800"]},{"id":"799","vertex_ids":["794","782"],"face_ids":["789","800"]},{"id":"801","vertex_ids":["794","783"],"face_ids":["789","1019"]},{"id":"806","vertex_ids":["793","803"],"face_ids":["810"]},{"id":"807","vertex_ids":["803","804"],"face_ids":["810","818"]},{"id":"808","vertex_ids":["804","805"],"face_ids":["810","1019"]},{"id":"809","vertex_ids":["805","793"],"face_ids":["800","810"]},{"id":"811","vertex_ids":["805","794"],"face_ids":["800","1019"]},{"id":"815","vertex_ids":["803","813"],"face_ids":["818"]},{"id":"822","vertex_ids":["813","820"],"face_ids":["825"]},{"id":"823","vertex_ids":["820","821"],"face_ids":["825","840"]},{"id":"835","vertex_ids":["828","829"],"face_ids":["840","877"]},{"id":"836","vertex_ids":["829","830"],"face_ids":["840","877"]},{"id":"837","vertex_ids":["830","831"],"face_ids":["840","853"]},{"id":"838","vertex_ids":["831","832"],"face_ids":["840","853"]},{"id":"839","vertex_ids":["832","820"],"face_ids":["840"]},{"id":"847","vertex_ids":["832","842"],"face_ids":["853"]},{"id":"848","vertex_ids":["842","843"],"face_ids":["853"]},{"id":"849","vertex_ids":["843","844"],"face_ids":["853"]},{"id":"852","vertex_ids":["846","830"],"face_ids":["853","877"]},{"id":"866","vertex_ids":["846","864"],"face_ids":["853","877"]},{"id":"867","vertex_ids":["864","844"],"face_ids":["853","869"]},{"id":"859","vertex_ids":["844","855"],"face_ids":["869"]},{"id":"860","vertex_ids":["855","856"],"face_ids":["869"]},{"id":"861","vertex_ids":["856","857"],"face_ids":["869"]},{"id":"874","vertex_ids":["864","872"],"face_ids":["869","877"]},{"id":"875","vertex_ids":["872","873"],"face_ids":["877","904"]},{"id":"894","vertex_ids":["889","890"],"face_ids":["869","904"]},{"id":"884","vertex_ids":["857","889"],"face_ids":["869","899"]},{"id":"885","vertex_ids":["889","881"],"face_ids":["899","904"]},{"id":"886","vertex_ids":["881","882"],"face_ids":["899","1019"]},{"id":"887","vertex_ids":["882","883"],"face_ids":["899","920"]},{"id":"888","vertex_ids":["883","857"],"face_ids":["899"]},{"id":"900","vertex_ids":["890","872"],"face_ids":["869","904"]},{"id":"909","vertex_ids":["784","906"],"face_ids":["913"]},{"id":"910","vertex_ids":["906","907"],"face_ids":["913","920"]},{"id":"911","vertex_ids":["907","908"],"face_ids":["913","1019"]},{"id":"912","vertex_ids":["908","784"],"face_ids":["789","913"]},{"id":"914","vertex_ids":["783","908"],"face_ids":["789","1019"]},{"id":"918","vertex_ids":["882","916"],"face_ids":["920","1019"]},{"id":"919","vertex_ids":["916","907"],"face_ids":["920","1019"]},{"id":"926","vertex_ids":["906","922"],"face_ids":["920","1044"]},{"id":"929","vertex_ids":["924","883"],"face_ids":["920","1044"]},{"id":"952","vertex_ids":["942","949"],"face_ids":["920","973"]},{"id":"964","vertex_ids":["949","960"],"face_ids":["920","973"]},{"id":"965","vertex_ids":["960","961"],"face_ids":["920","1044"]},{"id":"966","vertex_ids":["961","924"],"face_ids":["920","1044"]},{"id":"970","vertex_ids":["960","968"],"face_ids":["973","1044"]},{"id":"971","vertex_ids":["968","969"],"face_ids":["973","1044"]},{"id":"972","vertex_ids":["969","942"],"face_ids":["920","973"]},{"id":"974","vertex_ids":["922","969"],"face_ids":["920","1044"]},{"id":"978","vertex_ids":["828","975"],"face_ids":["840","877"]},{"id":"979","vertex_ids":["975","976"],"face_ids":["877","1019"]},{"id":"986","vertex_ids":["976","984"],"face_ids":["877","1019"]},{"id":"987","vertex_ids":["984","873"],"face_ids":["877","904"]},{"id":"991","vertex_ids":["984","881"],"face_ids":["904","1019"]},{"id":"1000","vertex_ids":["804","998"],"face_ids":["818","1019"]},{"id":"1001","vertex_ids":["998","999"],"face_ids":["818","1019"]},{"id":"1002","vertex_ids":["999","813"],"face_ids":["818","825"]},{"id":"1005","vertex_ids":["999","821"],"face_ids":["825","1019"]},{"id":"1006","vertex_ids":["821","975"],"face_ids":["840","1019"]},{"id":"1037","vertex_ids":["1032","1033"],"face_ids":["1044","1066"]},{"id":"1038","vertex_ids":["1033","1034"],"face_ids":["1044","1066"]},{"id":"1040","vertex_ids":["1035","1036"],"face_ids":["1044"]},{"id":"1041","vertex_ids":["1036","883"],"face_ids":["1044"]},{"id":"1043","vertex_ids":["906","1032"],"face_ids":["1044"]},{"id":"1063","vertex_ids":["1034","1056"],"face_ids":["1044","1066"]},{"id":"1064","vertex_ids":["1056","1057"],"face_ids":["1044","1066","1101"]},{"id":"1051","vertex_ids":["1047","1048"],"face_ids":["1066"]},{"id":"1052","vertex_ids":["1048","1032"],"face_ids":["1066"]},{"id":"1073","vertex_ids":["1047","1069"],"face_ids":["1066","1078"]},{"id":"1074","vertex_ids":["1069","1070"],"face_ids":["1078","1101"]},{"id":"1075","vertex_ids":["1070","1071"],"face_ids":["1078","1129"]},{"id":"1076","vertex_ids":["1071","1072"],"face_ids":["1078"]},{"id":"1077","vertex_ids":["1072","1047"],"face_ids":["1078"]},{"id":"1084","vertex_ids":["1081","1070"],"face_ids":["1101","1129"]},{"id":"1102","vertex_ids":["1057","1088"],"face_ids":["1044","1101"]},{"id":"1103","vertex_ids":["1088","1081"],"face_ids":["1044","1101"]},{"id":"1105","vertex_ids":["1057","1097"],"face_ids":["1066","1101"]},{"id":"1106","vertex_ids":["1097","1069"],"face_ids":["1066","1101"]},{"id":"1126","vertex_ids":["1081","1118"],"face_ids":["1044","1129"]},{"id":"1127","vertex_ids":["1118","1119"],"face_ids":["1129","1139"]},{"id":"1113","vertex_ids":["1109","1071"],"face_ids":["1129"]},{"id":"1132","vertex_ids":["1119","1109"],"face_ids":["1129","1139"]},{"id":"1137","vertex_ids":["1134","1135"],"face_ids":["1139","1148"]},{"id":"1138","vertex_ids":["1135","1109"],"face_ids":["1139"]},{"id":"1145","vertex_ids":["1134","1143"],"face_ids":["1044","1148"]},{"id":"1146","vertex_ids":["1143","1144"],"face_ids":["1148","1180"]},{"id":"1147","vertex_ids":["1144","1135"],"face_ids":["1148"]},{"id":"1168","vertex_ids":["1118","1160"],"face_ids":["1044","1139"]},{"id":"1170","vertex_ids":["1160","1134"],"face_ids":["1044","1139"]},{"id":"1176","vertex_ids":["1143","1173"],"face_ids":["1044","1180"]},{"id":"1177","vertex_ids":["1173","1174"],"face_ids":["1180","1219"]},{"id":"1178","vertex_ids":["1174","1175"],"face_ids":["1180"]},{"id":"1179","vertex_ids":["1175","1144"],"face_ids":["1180"]},{"id":"1205","vertex_ids":["1194","1195"],"face_ids":["1044","1219"]},{"id":"1206","vertex_ids":["1195","1035"],"face_ids":["1044","1219"]},{"id":"1208","vertex_ids":["1173","1194"],"face_ids":["1044","1219"]},{"id":"1217","vertex_ids":["1035","1216"],"face_ids":["1219"]},{"id":"1218","vertex_ids":["1216","1174"],"face_ids":["1219"]}],"faces":[{"id":"789","edge_ids":["785","799","801","914","912","788"],"edge_order":[1,0,1,1,1,1]},{"id":"800","edge_ids":["795","796","797","809","811","799"],"edge_order":[1,1,1,0,1,1]},{"id":"810","edge_ids":["806","807","808","809"],"edge_order":[1,1,1,1]},{"id":"818","edge_ids":["807","1000","1001","1002","815"],"edge_order":[1,1,1,1,0]},{"id":"825","edge_ids":["1002","1005","823","822"],"edge_order":[0,1,0,0]},{"id":"840","edge_ids":["823","1006","978","835","836","837","838","839"],"edge_order":[1,1,0,1,1,1,1,1]},{"id":"853","edge_ids":["838","837","852","866","867","849","848","847"],"edge_order":[0,0,0,1,1,0,0,0]},{"id":"869","edge_ids":["874","900","894","894","894","884","861","860","859","867"],"edge_order":[1,0,0,1,0,0,0,0,0,0]},{"id":"877","edge_ids":["852","836","835","978","979","986","987","875","874","866"],"edge_order":[1,0,0,1,1,1,1,0,0,0]},{"id":"899","edge_ids":["886","887","888","884","885"],"edge_order":[1,1,1,1,1]},{"id":"904","edge_ids":["987","991","885","894","894","900","875"],"edge_order":[0,1,0,1,1,1,1]},{"id":"913","edge_ids":["909","910","911","912"],"edge_order":[1,1,1,1]},{"id":"920","edge_ids":["919","910","926","974","972","952","964","965","966","929","887","918"],"edge_order":[1,0,1,1,1,1,1,1,1,1,0,1]},{"id":"973","edge_ids":["952","964","970","971","972"],"edge_order":[1,1,1,1,1]},{"id":"1019","edge_ids":["1001","1000","808","811","801","914","911","919","918","886","991","986","979","1006","1005"],"edge_order":[0,0,1,1,1,1,0,0,0,0,0,0,0,0,0]},{"id":"1044","edge_ids":["966","965","970","971","974","926","1043","1037","1038","1063","1064","1102","1103","1126","1168","1170","1145","1176","1208","1205","1206","1040","1041","929"],"edge_order":[0,0,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0]},{"id":"1066","edge_ids":["1037","1052","1051","1073","1106","1105","1064","1063","1038"],"edge_order":[0,0,0,1,0,0,0,0,0]},{"id":"1078","edge_ids":["1073","1074","1075","1076","1077"],"edge_order":[1,1,1,1,1]},{"id":"1101","edge_ids":["1106","1105","1064","1064","1102","1103","1084","1074"],"edge_order":[0,0,0,1,1,1,1,0]},{"id":"1129","edge_ids":["1075","1084","1126","1127","1132","1113"],"edge_order":[0,0,1,1,1,1]},{"id":"1139","edge_ids":["1138","1137","1170","1168","1127","1132"],"edge_order":[0,0,0,0,1,1]},{"id":"1148","edge_ids":["1137","1145","1146","1147"],"edge_order":[0,1,1,1]},{"id":"1180","edge_ids":["1146","1176","1177","1178","1179"],"edge_order":[0,1,1,1,1]},{"id":"1219","edge_ids":["1177","1208","1205","1206","1217","1218"],"edge_order":[0,1,1,1,1,1]}]},"spaces":[{"id":"778","handle":null,"name":"Space 3-1","face_id":"789","building_unit_id":null,"thermal_zone_id":"tz_41","space_type_id":"226","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1860.000000000001},{"id":"790","handle":null,"name":"Space 3-2","face_id":"800","building_unit_id":null,"thermal_zone_id":"tz_42","space_type_id":"226","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":930.0813013864945},{"id":"802","handle":null,"name":"Space 3-3","face_id":"810","building_unit_id":null,"thermal_zone_id":"tz_43","space_type_id":"1220","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":163.94487945687513},{"id":"812","handle":null,"name":"Space 3-4","face_id":"818","building_unit_id":null,"thermal_zone_id":"tz_44","space_type_id":"226","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":215.66994999999997},{"id":"819","handle":null,"name":"Space 3-5","face_id":"825","building_unit_id":null,"thermal_zone_id":"tz_45","space_type_id":"234","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":394.1199999999999},{"id":"826","handle":null,"name":"Space 3-6","face_id":"840","building_unit_id":null,"thermal_zone_id":"tz_46","space_type_id":"1220","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":290},{"id":"841","handle":null,"name":"Space 3-7","face_id":"853","building_unit_id":null,"thermal_zone_id":"tz_47","space_type_id":"1220","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":658.5650067344345},{"id":"854","handle":null,"name":"Space 3-8","face_id":"869","building_unit_id":null,"thermal_zone_id":"tz_48","space_type_id":"226","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":385.9332839892316},{"id":"871","handle":null,"name":"Space 3-9","face_id":"877","building_unit_id":null,"thermal_zone_id":"tz_49","space_type_id":"226","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":303.18542972298906},{"id":"879","handle":null,"name":"Space 3-10","face_id":"899","building_unit_id":null,"thermal_zone_id":"tz_50","space_type_id":"226","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":288.9303097024922},{"id":"901","handle":null,"name":"Space 3-11","face_id":"904","building_unit_id":null,"thermal_zone_id":"tz_51","space_type_id":"226","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":521.411545162196},{"id":"905","handle":null,"name":"Space 3-12","face_id":"913","building_unit_id":null,"thermal_zone_id":"tz_52","space_type_id":"1220","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":329.72902298807173},{"id":"915","handle":null,"name":"Space 3-13","face_id":"920","building_unit_id":null,"thermal_zone_id":"tz_53","space_type_id":"1221","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":775.4436179827044},{"id":"967","handle":null,"name":"Space 3-14","face_id":"973","building_unit_id":null,"thermal_zone_id":"tz_54","space_type_id":"233","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":81.06251019013598},{"id":"994","handle":null,"name":"Space 3-15","face_id":"1019","building_unit_id":null,"thermal_zone_id":"tz_55","space_type_id":"227","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1183.347654095867},{"id":"1031","handle":null,"name":"Space 3-16","face_id":"1044","building_unit_id":null,"thermal_zone_id":"tz_56","space_type_id":"227","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1841.2092246727832},{"id":"1045","handle":null,"name":"Space 3-17","face_id":"1066","building_unit_id":null,"thermal_zone_id":"tz_57","space_type_id":"226","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":503.59344729498207},{"id":"1068","handle":null,"name":"Space 3-18","face_id":"1078","building_unit_id":null,"thermal_zone_id":"tz_58","space_type_id":"229","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":142.04609298554388},{"id":"1080","handle":null,"name":"Space 3-19","face_id":"1101","building_unit_id":null,"thermal_zone_id":"tz_59","space_type_id":"1220","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":191.22565712496413},{"id":"1107","handle":null,"name":"Space 3-20","face_id":"1129","building_unit_id":null,"thermal_zone_id":"tz_60","space_type_id":"234","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":462.81706588349607},{"id":"1133","handle":null,"name":"Space 3-21","face_id":"1139","building_unit_id":null,"thermal_zone_id":"tz_61","space_type_id":"1220","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":452.6690109268757},{"id":"1142","handle":null,"name":"Space 3-22","face_id":"1148","building_unit_id":null,"thermal_zone_id":"tz_62","space_type_id":"1220","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":467.59843181033636},{"id":"1172","handle":null,"name":"Space 3-23","face_id":"1180","building_unit_id":null,"thermal_zone_id":"tz_63","space_type_id":"1220","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":458.6043458075633},{"id":"1215","handle":null,"name":"Space 3-24","face_id":"1219","building_unit_id":null,"thermal_zone_id":"tz_64","space_type_id":"229","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":411.6539945790828}],"shading":[],"windows":[{"edge_id":"1218","alpha":0.8749999999999987,"window_definition_id":184,"id":184,"name":"window 184"},{"edge_id":"1218","alpha":0.6249999999999997,"window_definition_id":185,"id":185,"name":"window 185"},{"edge_id":"1218","alpha":0.3749999999999986,"window_definition_id":186,"id":186,"name":"window 186"},{"edge_id":"1218","alpha":0.12499999999999788,"window_definition_id":187,"id":187,"name":"window 187"},{"edge_id":"1178","alpha":0.875,"window_definition_id":188,"id":188,"name":"window 188"},{"edge_id":"1178","alpha":0.625,"window_definition_id":189,"id":189,"name":"window 189"},{"edge_id":"1178","alpha":0.375,"window_definition_id":190,"id":190,"name":"window 190"},{"edge_id":"1178","alpha":0.125,"window_definition_id":191,"id":191,"name":"window 191"},{"edge_id":"1179","alpha":0.8750000000000003,"window_definition_id":192,"id":192,"name":"window 192"},{"edge_id":"1179","alpha":0.6250000000000023,"window_definition_id":193,"id":193,"name":"window 193"},{"edge_id":"1179","alpha":0.37500000000000155,"window_definition_id":194,"id":194,"name":"window 194"},{"edge_id":"1179","alpha":0.1250000000000004,"window_definition_id":195,"id":195,"name":"window 195"},{"edge_id":"1147","alpha":0.8750000000000028,"window_definition_id":196,"id":196,"name":"window 196"},{"edge_id":"1147","alpha":0.6250000000000021,"window_definition_id":197,"id":197,"name":"window 197"},{"edge_id":"1147","alpha":0.37500000000000283,"window_definition_id":198,"id":198,"name":"window 198"},{"edge_id":"1147","alpha":0.125,"window_definition_id":199,"id":199,"name":"window 199"},{"edge_id":"1138","alpha":0.8750000000000026,"window_definition_id":200,"id":200,"name":"window 200"},{"edge_id":"1138","alpha":0.625000000000001,"window_definition_id":201,"id":201,"name":"window 201"},{"edge_id":"1138","alpha":0.3750000000000006,"window_definition_id":202,"id":202,"name":"window 202"},{"edge_id":"1138","alpha":0.12500000000000175,"window_definition_id":203,"id":203,"name":"window 203"},{"edge_id":"1113","alpha":0.8749999999999996,"window_definition_id":204,"id":204,"name":"window 204"},{"edge_id":"1113","alpha":0.6250000000000002,"window_definition_id":205,"id":205,"name":"window 205"},{"edge_id":"1113","alpha":0.37500000000000117,"window_definition_id":206,"id":206,"name":"window 206"},{"edge_id":"1113","alpha":0.1250000000000005,"window_definition_id":207,"id":207,"name":"window 207"},{"edge_id":"1076","alpha":0.875,"window_definition_id":208,"id":208,"name":"window 208"},{"edge_id":"1076","alpha":0.625,"window_definition_id":209,"id":209,"name":"window 209"},{"edge_id":"1076","alpha":0.375,"window_definition_id":210,"id":210,"name":"window 210"},{"edge_id":"1076","alpha":0.125,"window_definition_id":211,"id":211,"name":"window 211"},{"edge_id":"1077","alpha":0.7384378317611461,"window_definition_id":212,"id":212,"name":"window 212"},{"edge_id":"1077","alpha":0.2461459439203829,"window_definition_id":213,"id":213,"name":"window 213"},{"edge_id":"1051","alpha":0.7460233335565171,"window_definition_id":214,"id":214,"name":"window 214"},{"edge_id":"1051","alpha":0.23807000066955114,"window_definition_id":215,"id":215,"name":"window 215"},{"edge_id":"1052","alpha":0.5,"window_definition_id":216,"id":216,"name":"window 216"},{"edge_id":"1043","alpha":0.12499999999999953,"window_definition_id":217,"id":217,"name":"window 217"},{"edge_id":"1043","alpha":0.37500000000000017,"window_definition_id":218,"id":218,"name":"window 218"},{"edge_id":"1043","alpha":0.625,"window_definition_id":219,"id":219,"name":"window 219"},{"edge_id":"1043","alpha":0.8749999999999997,"window_definition_id":220,"id":220,"name":"window 220"},{"edge_id":"909","alpha":0.12499999999999405,"window_definition_id":221,"id":221,"name":"window 221"},{"edge_id":"909","alpha":0.37499999999999173,"window_definition_id":222,"id":222,"name":"window 222"},{"edge_id":"909","alpha":0.6250000000000029,"window_definition_id":223,"id":223,"name":"window 223"},{"edge_id":"909","alpha":0.8750000000000006,"window_definition_id":224,"id":224,"name":"window 224"},{"edge_id":"788","alpha":0.875,"window_definition_id":225,"id":225,"name":"window 225"},{"edge_id":"788","alpha":0.6249999999999999,"window_definition_id":226,"id":226,"name":"window 226"},{"edge_id":"788","alpha":0.37500000000000105,"window_definition_id":227,"id":227,"name":"window 227"},{"edge_id":"788","alpha":0.12500000000000103,"window_definition_id":228,"id":228,"name":"window 228"},{"edge_id":"785","alpha":0.8750000000000008,"window_definition_id":229,"id":229,"name":"window 229"},{"edge_id":"785","alpha":0.6250000000000001,"window_definition_id":230,"id":230,"name":"window 230"},{"edge_id":"785","alpha":0.375,"window_definition_id":231,"id":231,"name":"window 231"},{"edge_id":"785","alpha":0.12500000000000033,"window_definition_id":232,"id":232,"name":"window 232"},{"edge_id":"795","alpha":0.8749999999999999,"window_definition_id":233,"id":233,"name":"window 233"},{"edge_id":"795","alpha":0.6249999999999979,"window_definition_id":234,"id":234,"name":"window 234"},{"edge_id":"795","alpha":0.37499999999999994,"window_definition_id":235,"id":235,"name":"window 235"},{"edge_id":"795","alpha":0.12499999999999896,"window_definition_id":236,"id":236,"name":"window 236"},{"edge_id":"796","alpha":0.500000000000001,"window_definition_id":237,"id":237,"name":"window 237"},{"edge_id":"797","alpha":0.4999999999999965,"window_definition_id":238,"id":238,"name":"window 238"},{"edge_id":"806","alpha":0.5000000000000012,"window_definition_id":239,"id":239,"name":"window 239"},{"edge_id":"815","alpha":0.49999999999999956,"window_definition_id":240,"id":240,"name":"window 240"},{"edge_id":"822","alpha":0.49999999999999856,"window_definition_id":241,"id":241,"name":"window 241"},{"edge_id":"839","alpha":0.4999999999999952,"window_definition_id":242,"id":242,"name":"window 242"},{"edge_id":"847","alpha":0.5000000000000009,"window_definition_id":243,"id":243,"name":"window 243"},{"edge_id":"848","alpha":0.875,"window_definition_id":244,"id":244,"name":"window 244"},{"edge_id":"848","alpha":0.625,"window_definition_id":245,"id":245,"name":"window 245"},{"edge_id":"848","alpha":0.375,"window_definition_id":246,"id":246,"name":"window 246"},{"edge_id":"848","alpha":0.125,"window_definition_id":247,"id":247,"name":"window 247"},{"edge_id":"849","alpha":0.8749999999999994,"window_definition_id":248,"id":248,"name":"window 248"},{"edge_id":"849","alpha":0.6249999999999974,"window_definition_id":249,"id":249,"name":"window 249"},{"edge_id":"849","alpha":0.3749999999999981,"window_definition_id":250,"id":250,"name":"window 250"},{"edge_id":"849","alpha":0.12499999999999617,"window_definition_id":251,"id":251,"name":"window 251"},{"edge_id":"859","alpha":0.8749999999999994,"window_definition_id":252,"id":252,"name":"window 252"},{"edge_id":"859","alpha":0.6249999999999996,"window_definition_id":253,"id":253,"name":"window 253"},{"edge_id":"859","alpha":0.37499999999999956,"window_definition_id":254,"id":254,"name":"window 254"},{"edge_id":"859","alpha":0.12500000000000036,"window_definition_id":255,"id":255,"name":"window 255"},{"edge_id":"860","alpha":0.875,"window_definition_id":256,"id":256,"name":"window 256"},{"edge_id":"860","alpha":0.625,"window_definition_id":257,"id":257,"name":"window 257"},{"edge_id":"860","alpha":0.375,"window_definition_id":258,"id":258,"name":"window 258"},{"edge_id":"860","alpha":0.125,"window_definition_id":259,"id":259,"name":"window 259"},{"edge_id":"861","alpha":0.4991036252996622,"window_definition_id":260,"id":260,"name":"window 260"},{"edge_id":"888","alpha":0.16676650249642475,"window_definition_id":261,"id":261,"name":"window 261"},{"edge_id":"888","alpha":0.5002995074892764,"window_definition_id":262,"id":262,"name":"window 262"},{"edge_id":"888","alpha":0.8338325124821269,"window_definition_id":263,"id":263,"name":"window 263"},{"edge_id":"1041","alpha":0.125,"window_definition_id":264,"id":264,"name":"window 264"},{"edge_id":"1041","alpha":0.3750000000000001,"window_definition_id":265,"id":265,"name":"window 265"},{"edge_id":"1041","alpha":0.6249999999999998,"window_definition_id":266,"id":266,"name":"window 266"},{"edge_id":"1041","alpha":0.8750000000000001,"window_definition_id":267,"id":267,"name":"window 267"},{"edge_id":"1040","alpha":0.1250000000000048,"window_definition_id":268,"id":268,"name":"window 268"},{"edge_id":"1040","alpha":0.37499999999999994,"window_definition_id":269,"id":269,"name":"window 269"},{"edge_id":"1040","alpha":0.6249999999999958,"window_definition_id":270,"id":270,"name":"window 270"},{"edge_id":"1040","alpha":0.8749999999999951,"window_definition_id":271,"id":271,"name":"window 271"},{"edge_id":"1217","alpha":0.8749999999999998,"window_definition_id":272,"id":272,"name":"window 272"},{"edge_id":"1217","alpha":0.6249999999999974,"window_definition_id":273,"id":273,"name":"window 273"},{"edge_id":"1217","alpha":0.375,"window_definition_id":274,"id":274,"name":"window 274"},{"edge_id":"1217","alpha":0.12500000000000056,"window_definition_id":275,"id":275,"name":"window 275"}],"doors":[],"construction_lines":[],"area":13312.841782497122}],"building_units":[],"thermal_zones":[{"id":"tz_1","handle":null,"name":"Thermal Zone 1","color":"#6699cc"},{"id":"tz_2","handle":null,"name":"Thermal Zone 2","color":"#661100"},{"id":"tz_3","handle":null,"name":"Thermal Zone 3","color":"#aa4466"},{"id":"tz_4","handle":null,"name":"Thermal Zone 4","color":"#aa4499"},{"id":"tz_5","handle":null,"name":"Thermal Zone 5","color":"#88ccee"},{"id":"tz_6","handle":null,"name":"Thermal Zone 6","color":"#332288"},{"id":"tz_7","handle":null,"name":"Thermal Zone 7","color":"#117733"},{"id":"tz_8","handle":null,"name":"Thermal Zone 8","color":"#999933"},{"id":"tz_9","handle":null,"name":"Thermal Zone 9","color":"#ddcc77"},{"id":"tz_10","handle":null,"name":"Thermal Zone 10","color":"#cc6677"},{"id":"tz_11","handle":null,"name":"Thermal Zone 11","color":"#882255"},{"id":"tz_12","handle":null,"name":"Thermal Zone 12","color":"#44aa99"},{"id":"tz_13","handle":null,"name":"Thermal Zone 13","color":"#6699cc"},{"id":"tz_14","handle":null,"name":"Thermal Zone 14","color":"#661100"},{"id":"tz_15","handle":null,"name":"Thermal Zone 15","color":"#aa4466"},{"id":"tz_16","handle":null,"name":"Thermal Zone 16","color":"#aa4499"},{"id":"tz_17","handle":null,"name":"Thermal Zone 17","color":"#88ccee"},{"id":"tz_18","handle":null,"name":"Thermal Zone 18","color":"#332288"},{"id":"tz_19","handle":null,"name":"Thermal Zone 19","color":"#117733"},{"id":"tz_20","handle":null,"name":"Thermal Zone 20","color":"#999933"},{"id":"tz_21","handle":null,"name":"Thermal Zone 21","color":"#ddcc77"},{"id":"tz_22","handle":null,"name":"Thermal Zone 22","color":"#cc6677"},{"id":"tz_23","handle":null,"name":"Thermal Zone 23","color":"#882255"},{"id":"tz_24","handle":null,"name":"Thermal Zone 24","color":"#44aa99"},{"id":"tz_25","handle":null,"name":"Thermal Zone 25","color":"#6699cc"},{"id":"tz_26","handle":null,"name":"Thermal Zone 26","color":"#661100"},{"id":"tz_27","handle":null,"name":"Thermal Zone 27","color":"#aa4466"},{"id":"tz_28","handle":null,"name":"Thermal Zone 28","color":"#aa4499"},{"id":"tz_29","handle":null,"name":"Thermal Zone 29","color":"#88ccee"},{"id":"tz_30","handle":null,"name":"Thermal Zone 30","color":"#332288"},{"id":"tz_31","handle":null,"name":"Thermal Zone 31","color":"#117733"},{"id":"tz_32","handle":null,"name":"Thermal Zone 32","color":"#999933"},{"id":"tz_33","handle":null,"name":"Thermal Zone 33","color":"#ddcc77"},{"id":"tz_34","handle":null,"name":"Thermal Zone 34","color":"#cc6677"},{"id":"tz_35","handle":null,"name":"Thermal Zone 35","color":"#882255"},{"id":"tz_36","handle":null,"name":"Thermal Zone 36","color":"#44aa99"},{"id":"tz_37","handle":null,"name":"Thermal Zone 37","color":"#6699cc"},{"id":"tz_38","handle":null,"name":"Thermal Zone 38","color":"#661100"},{"id":"tz_39","handle":null,"name":"Thermal Zone 39","color":"#aa4466"},{"id":"tz_40","handle":null,"name":"Thermal Zone 40","color":"#aa4499"},{"id":"tz_41","handle":null,"name":"Thermal Zone 41","color":"#88ccee"},{"id":"tz_42","handle":null,"name":"Thermal Zone 42","color":"#332288"},{"id":"tz_43","handle":null,"name":"Thermal Zone 43","color":"#117733"},{"id":"tz_44","handle":null,"name":"Thermal Zone 44","color":"#999933"},{"id":"tz_45","handle":null,"name":"Thermal Zone 45","color":"#ddcc77"},{"id":"tz_46","handle":null,"name":"Thermal Zone 46","color":"#cc6677"},{"id":"tz_47","handle":null,"name":"Thermal Zone 47","color":"#882255"},{"id":"tz_48","handle":null,"name":"Thermal Zone 48","color":"#44aa99"},{"id":"tz_49","handle":null,"name":"Thermal Zone 49","color":"#6699cc"},{"id":"tz_50","handle":null,"name":"Thermal Zone 50","color":"#661100"},{"id":"tz_51","handle":null,"name":"Thermal Zone 51","color":"#aa4466"},{"id":"tz_52","handle":null,"name":"Thermal Zone 52","color":"#aa4499"},{"id":"tz_53","handle":null,"name":"Thermal Zone 53","color":"#88ccee"},{"id":"tz_54","handle":null,"name":"Thermal Zone 54","color":"#332288"},{"id":"tz_55","handle":null,"name":"Thermal Zone 55","color":"#117733"},{"id":"tz_56","handle":null,"name":"Thermal Zone 56","color":"#999933"},{"id":"tz_57","handle":null,"name":"Thermal Zone 57","color":"#ddcc77"},{"id":"tz_58","handle":null,"name":"Thermal Zone 58","color":"#cc6677"},{"id":"tz_59","handle":null,"name":"Thermal Zone 59","color":"#882255"},{"id":"tz_60","handle":null,"name":"Thermal Zone 60","color":"#44aa99"},{"id":"tz_61","handle":null,"name":"Thermal Zone 61","color":"#6699cc"},{"id":"tz_62","handle":null,"name":"Thermal Zone 62","color":"#661100"},{"id":"tz_63","handle":null,"name":"Thermal Zone 63","color":"#aa4466"},{"id":"tz_64","handle":null,"name":"Thermal Zone 64","color":"#aa4499"}],"space_types":[{"handle":null,"id":"226","name":"SecondarySchool-Library","color":"#88ccee","type":"space_types"},{"handle":null,"id":"227","name":"SecondarySchool-Corridor","color":"#332288","type":"space_types"},{"handle":null,"id":"228","name":"SecondarySchool-Mechanical","color":"#117733","type":"space_types"},{"handle":null,"id":"229","name":"Office-Storage","color":"#999933","type":"space_types"},{"handle":null,"id":"230","name":"SecondarySchool-Kitchen","color":"#ddcc77","type":"space_types"},{"handle":null,"id":"231","name":"SecondarySchool-Cafeteria","color":"#cc6677","type":"space_types"},{"handle":null,"id":"232","name":"SmallHotel-Stair","color":"#882255","type":"space_types"},{"handle":null,"id":"233","name":"SmallHotel-ElevatorCore","color":"#44aa99","type":"space_types"},{"handle":null,"id":"234","name":"SecondarySchool-Restroom","color":"#6699cc","type":"space_types"},{"id":"1220","handle":null,"name":"SecondarySchool-Office","color":"#88ccee","type":"space_types"},{"id":"1221","handle":null,"name":"SecondarySchool-Lobby","color":"#332288","type":"space_types"},{"id":"1222","handle":null,"name":"SecondarySchool-Classroom","color":"#117733","type":"space_types"}],"construction_sets":[],"window_definitions":[{"id":1,"name":"Window 1","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":1.328125,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":2,"name":"Window 2","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":1.328125,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":3,"name":"Window 3","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":1.328125,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":4,"name":"Window 4","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":1.328125,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":5,"name":"Window 5","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":2.8793777672494762,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":6,"name":"Window 6","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":2.8793777672494762,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":7,"name":"Window 7","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":2.87937776724949,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":8,"name":"Window 8","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":2.8793777672494762,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":9,"name":"Window 9","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":1.5971914124998043,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":10,"name":"Window 10","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":1.5971914124997408,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":11,"name":"Window 11","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":1.5971914124998552,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":12,"name":"Window 12","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":1.5971914124998043,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":13,"name":"Window 13","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":8.980346526600878,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":14,"name":"Window 14","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":8.98034652660093,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":15,"name":"Window 15","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":8.980346526600878,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":16,"name":"Window 16","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":8.980346526600902,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":17,"name":"Window 17","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":1.936324975063824,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":18,"name":"Window 18","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":1.936324975063824,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":19,"name":"Window 19","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":1.9363249750637759,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":20,"name":"Window 20","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":1.9363249750638722,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":21,"name":"Window 21","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":3.1943828249996216,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":22,"name":"Window 22","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":3.1943828249997357,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":23,"name":"Window 23","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":3.1943828249997357,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":24,"name":"Window 24","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":3.1943828249996726,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":25,"name":"Window 25","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":3.6770107646382315,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":26,"name":"Window 26","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":3.6770107646382315,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":27,"name":"Window 27","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":3.6770107646382177,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":28,"name":"Window 28","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":3.6770107646382177,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":29,"name":"Window 29","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":7.043958186898507,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":30,"name":"Window 30","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":7.043958186898634,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":31,"name":"Window 31","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":7.043958186898634,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":32,"name":"Window 32","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":7.043958186898663,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":33,"name":"Window 33","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":4.341388746703064,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":34,"name":"Window 34","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":2.0963137289060527,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":35,"name":"Window 35","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":3.915613776919271,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":36,"name":"Window 36","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":1.8221724671391417,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":37,"name":"Window 37","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":2.948119103767689,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":38,"name":"Window 38","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":3.2173844190585013,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":39,"name":"Window 39","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":2.7950849718747497,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":40,"name":"Window 40","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.3125,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":41,"name":"Window 41","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.8734640537109062,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":42,"name":"Window 42","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.8734640537109316,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":43,"name":"Window 43","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.8734640537108808,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":44,"name":"Window 44","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.8734640537109062,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":45,"name":"Window 45","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.28168369339562416,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":46,"name":"Window 46","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.28168369339562416,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":47,"name":"Window 47","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.28168369339562416,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":48,"name":"Window 48","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.2816836933956005,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":49,"name":"Window 49","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.3493856214842913,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":50,"name":"Window 50","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.34938562148431673,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":51,"name":"Window 51","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.34938562148431673,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":52,"name":"Window 52","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.34938562148431673,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":53,"name":"Window 53","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":10.233249129924602,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":54,"name":"Window 54","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":10.233249129924602,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":55,"name":"Window 55","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":10.233249129924637,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":56,"name":"Window 56","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":10.233249129924651,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":57,"name":"Window 57","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":1.287696884094336,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":58,"name":"Window 58","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":1.287696884094336,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":59,"name":"Window 59","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":1.287696884094336,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":60,"name":"Window 60","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":1.287696884094336,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":61,"name":"Window 61","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.5949822738955917,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":62,"name":"Window 62","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.5949822738955917,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":63,"name":"Window 63","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.5949822738955917,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":64,"name":"Window 64","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.5949822738956179,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":65,"name":"Window 65","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.6987712429686207,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":66,"name":"Window 66","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.3125,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":67,"name":"Window 67","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":1.5971914124998043,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":68,"name":"Window 68","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":1.5971914124998043,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":69,"name":"Window 69","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":1.5971914124998043,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":70,"name":"Window 70","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":1.5971914124998043,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":71,"name":"Window 71","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":2.8793777672494762,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":72,"name":"Window 72","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":2.87937776724949,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":73,"name":"Window 73","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":2.87937776724949,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":74,"name":"Window 74","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":2.8793777672494762,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":75,"name":"Window 75","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.6298638865858366,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":76,"name":"Window 76","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.6298638865858366,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":77,"name":"Window 77","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.6298638865858366,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":78,"name":"Window 78","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.6298638865858366,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":79,"name":"Window 79","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.078125,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":80,"name":"Window 80","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.078125,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":81,"name":"Window 81","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.078125,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":82,"name":"Window 82","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.078125,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":83,"name":"Window 83","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.6298638865858242,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":84,"name":"Window 84","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.6298638865858489,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":85,"name":"Window 85","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.6298638865858242,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":86,"name":"Window 86","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.6298638865858366,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":87,"name":"Window 87","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":1.4341843555223543,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":88,"name":"Window 88","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":1.4341843555223543,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":89,"name":"Window 89","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":1.4341843555223543,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":90,"name":"Window 90","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":1.4341843555223543,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":91,"name":"Window 91","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.6298638865858242,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":92,"name":"Window 92","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.6298638865858242,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":93,"name":"Window 93","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.6298638865858489,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":94,"name":"Window 94","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.6298638865858242,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":95,"name":"Window 95","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.078125,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":96,"name":"Window 96","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.078125,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":97,"name":"Window 97","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.078125,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":98,"name":"Window 98","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.078125,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":99,"name":"Window 99","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.8043461047645846,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":100,"name":"Window 100","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.8043461047645818,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":101,"name":"Window 101","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.8043461047646094,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":102,"name":"Window 102","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.8043461047645846,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":103,"name":"Window 103","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":3.7629983058725918,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":104,"name":"Window 104","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":1.1267347735824966,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":105,"name":"Window 105","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":6.247448458762855,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":106,"name":"Window 106","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":6.247448458762829,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":107,"name":"Window 107","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":6.247448458762855,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":108,"name":"Window 108","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":6.247448458762829,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":109,"name":"Window 109","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":2.87937776724949,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":110,"name":"Window 110","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":2.87937776724949,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":111,"name":"Window 111","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":2.87937776724949,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":112,"name":"Window 112","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":2.87937776724949,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":113,"name":"Window 113","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":6.556271339530661,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":114,"name":"Window 114","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":6.556271339530661,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":115,"name":"Window 115","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":6.556271339530661,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":116,"name":"Window 116","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":6.556271339530689,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":117,"name":"Window 117","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":3.1943828249997104,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":118,"name":"Window 118","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":3.1943828249997104,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":119,"name":"Window 119","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":3.1943828249997104,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":120,"name":"Window 120","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":3.1943828249997104,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":121,"name":"Window 121","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":2.8793777672494496,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":122,"name":"Window 122","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":2.879377767249462,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":123,"name":"Window 123","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":2.87937776724949,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":124,"name":"Window 124","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":2.87937776724949,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":125,"name":"Window 125","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":1.5971914124998678,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":126,"name":"Window 126","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":1.5971914124998425,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":127,"name":"Window 127","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":1.5971914124998678,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":128,"name":"Window 128","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":1.5971914124998678,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":129,"name":"Window 129","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":8.949974347244048,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":130,"name":"Window 130","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":8.949974347244074,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":131,"name":"Window 131","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":8.949974347244101,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":132,"name":"Window 132","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":8.949974347244101,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":133,"name":"Window 133","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.3571428571428612,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":134,"name":"Window 134","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.3571428571428612,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":135,"name":"Window 135","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.3571428571428612,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":136,"name":"Window 136","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.3571428571428612,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":137,"name":"Window 137","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":2.0963137289060527,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":138,"name":"Window 138","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":2.519455546343311,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":139,"name":"Window 139","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":5.736737422089305,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":140,"name":"Window 140","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":4.614007206323038,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":141,"name":"Window 141","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":2.9481191037676404,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":142,"name":"Window 142","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":2.096313728905989,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":143,"name":"Window 143","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":1.1267347735824966,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":144,"name":"Window 144","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.737029775941874,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":145,"name":"Window 145","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.737029775941874,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":146,"name":"Window 146","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.737029775941874,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":147,"name":"Window 147","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.737029775941874,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":148,"name":"Window 148","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.17469281074217108,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":149,"name":"Window 149","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.1746928107420948,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":150,"name":"Window 150","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.17469281074217108,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":151,"name":"Window 151","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.17469281074217108,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":152,"name":"Window 152","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.4207160005573831,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":153,"name":"Window 153","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.4207160005573831,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":154,"name":"Window 154","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.4207160005573831,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":155,"name":"Window 155","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.4207160005573831,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":156,"name":"Window 156","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":1.0853471866757904,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":157,"name":"Window 157","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":1.0853471866757904,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":158,"name":"Window 158","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":1.0853471866757904,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":159,"name":"Window 159","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":1.085347186675819,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":160,"name":"Window 160","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":12.626906806902626,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":161,"name":"Window 161","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":12.626906806902612,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":162,"name":"Window 162","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":12.626906806902626,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":163,"name":"Window 163","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":12.626906806902612,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":164,"name":"Window 164","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":2.87937776724949,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":165,"name":"Window 165","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":2.87937776724949,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":166,"name":"Window 166","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":2.8793777672494762,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":167,"name":"Window 167","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":2.8793777672494762,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":168,"name":"Window 168","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.4496632810520099,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":169,"name":"Window 169","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.44966328105205505,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":170,"name":"Window 170","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.44966328105205505,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":171,"name":"Window 171","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.44966328105205505,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":172,"name":"Window 172","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":1.3360783021932237,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":173,"name":"Window 173","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":1.3360783021932978,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":174,"name":"Window 174","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":1.3360783021932978,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":175,"name":"Window 175","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":1.336078302193315,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":176,"name":"Window 176","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":6.86978002202547,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":177,"name":"Window 177","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":6.869780022025457,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":178,"name":"Window 178","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":6.869780022025457,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":179,"name":"Window 179","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":6.86978002202547,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":180,"name":"Window 180","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.3571428571428896,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":181,"name":"Window 181","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.3571428571428896,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":182,"name":"Window 182","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.3571428571428896,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":183,"name":"Window 183","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.3571428571428896,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":184,"name":"Window 184","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.6298638865858366,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":185,"name":"Window 185","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.6298638865858366,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":186,"name":"Window 186","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.6298638865858366,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":187,"name":"Window 187","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.6298638865858366,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":188,"name":"Window 188","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.078125,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":189,"name":"Window 189","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.078125,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":190,"name":"Window 190","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.078125,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":191,"name":"Window 191","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.078125,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":192,"name":"Window 192","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.6298638865858242,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":193,"name":"Window 193","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.6298638865858489,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":194,"name":"Window 194","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.6298638865858242,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":195,"name":"Window 195","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.6298638865858366,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":196,"name":"Window 196","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.6987712429686843,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":197,"name":"Window 197","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.6987712429687352,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":198,"name":"Window 198","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.6987712429686843,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":199,"name":"Window 199","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.6987712429686843,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":200,"name":"Window 200","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.6700243606262921,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":201,"name":"Window 201","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.6700243606262377,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":202,"name":"Window 202","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.6700243606262618,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":203,"name":"Window 203","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.6700243606262618,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":204,"name":"Window 204","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.6969466955046766,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":205,"name":"Window 205","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.6969466955046766,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":206,"name":"Window 206","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.6969466955046484,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":207,"name":"Window 207","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.6969466955046766,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":208,"name":"Window 208","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.078125,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":209,"name":"Window 209","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.078125,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":210,"name":"Window 210","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.078125,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":211,"name":"Window 211","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.078125,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":212,"name":"Window 212","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.8043461047646094,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":213,"name":"Window 213","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.8043461047645846,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":214,"name":"Window 214","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.8043461047646094,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":215,"name":"Window 215","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.8043461047646094,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":216,"name":"Window 216","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":2.519455546343354,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":217,"name":"Window 217","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.9258010147051272,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":218,"name":"Window 218","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.9258010147051254,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":219,"name":"Window 219","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.9258010147051272,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":220,"name":"Window 220","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.9258010147051324,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":221,"name":"Window 221","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":1.917300447994861,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":222,"name":"Window 222","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":1.917300447994861,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":223,"name":"Window 223","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":1.917300447994861,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":224,"name":"Window 224","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":1.917300447994861,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":225,"name":"Window 225","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":8.638133301748441,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":226,"name":"Window 226","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":8.638133301748455,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":227,"name":"Window 227","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":8.638133301748441,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":228,"name":"Window 228","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":8.638133301748441,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":229,"name":"Window 229","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":1.5027643798180235,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":230,"name":"Window 230","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":1.5027643798180235,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":231,"name":"Window 231","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":1.5027643798180235,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":232,"name":"Window 232","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":1.5027643798180488,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":233,"name":"Window 233","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.9110862335695782,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":234,"name":"Window 234","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.9110862335695782,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":235,"name":"Window 235","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.9110862335695782,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":236,"name":"Window 236","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.9110862335695294,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":237,"name":"Window 237","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":3.217384419058537,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":238,"name":"Window 238","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":2.9481191037676404,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":239,"name":"Window 239","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":1.8221724671391564,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":240,"name":"Window 240","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":2.51945554634336,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":241,"name":"Window 241","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":4.614007206323051,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":242,"name":"Window 242","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":1.8221724671390442,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":243,"name":"Window 243","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":4.192627457812105,"height":6.4,"sill_height":1.7999999999999998,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":244,"name":"Window 244","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.3571428571428612,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":245,"name":"Window 245","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.3571428571428612,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":246,"name":"Window 246","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.3571428571428612,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":247,"name":"Window 247","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.3571428571428612,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":248,"name":"Window 248","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":4.063539723363453,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":249,"name":"Window 249","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":4.063539723363453,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":250,"name":"Window 250","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":4.063539723363453,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":251,"name":"Window 251","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":4.063539723363453,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":252,"name":"Window 252","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":6.48285903611467,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":253,"name":"Window 253","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":6.482859036114644,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":254,"name":"Window 254","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":6.48285903611467,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":255,"name":"Window 255","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":6.482859036114644,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":256,"name":"Window 256","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.3571428571428896,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":257,"name":"Window 257","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.3571428571428896,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":258,"name":"Window 258","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.3571428571428896,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":259,"name":"Window 259","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":0.3571428571428896,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":260,"name":"Window 260","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":6.869780022025406,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":261,"name":"Window 261","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":6.869780022025457,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":262,"name":"Window 262","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":6.869780022025457,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":263,"name":"Window 263","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":6.869780022025457,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":264,"name":"Window 264","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":24.455811879671412,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":265,"name":"Window 265","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":24.4558118796714,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":266,"name":"Window 266","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":24.455811879671426,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":267,"name":"Window 267","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":24.455811879671426,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":268,"name":"Window 268","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":2.0824828195876552,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":269,"name":"Window 269","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":2.0824828195875726,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":270,"name":"Window 270","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":2.08248281958767,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":271,"name":"Window 271","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":2.0824828195876552,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":272,"name":"Window 272","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":4.47498717362195,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":273,"name":"Window 273","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":4.474987173622036,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":274,"name":"Window 274","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":4.474987173621937,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null},{"id":275,"name":"Window 275","type":"window_definitions","window_type":"Fixed","window_definition_mode":"Single Window","wwr":null,"width":4.474987173622036,"height":8.4,"sill_height":0.7999999999999996,"texture":"circles-5","overhang_projection_factor":null,"fin_projection_factor":null,"window_spacing":null}],"daylighting_control_definitions":[],"pitched_roofs":[],"door_definitions":[],"version":"0.7.0","area":31308.55393358038} \ No newline at end of file diff --git a/resources/utilities/Geometry/issue-4312.json b/resources/utilities/Geometry/issue-4312.json new file mode 100644 index 00000000000..7a16c9cca2b --- /dev/null +++ b/resources/utilities/Geometry/issue-4312.json @@ -0,0 +1,20272 @@ +{ + "option_name": "Carve", + "application": { + "speedSelection": false, + "currentGridId": "grid2121102", + "currentSvgGridId": "svg-grid2220332", + "currentSelections": { + "story": null, + "story_id": "2774", + "subselection_ids": { + "1": "775", + "316": "320", + "360": "364", + "820": "825", + "877": "879", + "1527": "1531", + "1702": "1706", + "1877": "1881", + "2052": "2056", + "2227": "2231", + "2402": "2406", + "2577": "2581", + "2752": "2756", + "2774": "8215", + "2844": null, + "6977": "6981", + "7152": "7156", + "7327": "7331", + "7502": "7506", + "7677": "7681", + "7852": "7856", + "8027": "8031" + }, + "component_id": null, + "component_definition_id": null, + "component_instance_id": null, + "space_property_id": "800", + "tool": "Select", + "mode": "space_types", + "snapMode": "grid-strict", + "modeTab": "floorplan", + "subselectionType": "spaces" + }, + "modes": [ + "spaces", + "shading", + "building_units", + "thermal_zones", + "pitched_roofs", + "space_types", + "images" + ], + "tools": [ + "Pan", + "Drag", + "Rectangle", + "Polygon", + "Eraser", + "Select", + "Map", + "Fill", + "Place Component", + "Image", + "Apply Property", + "Construction Line" + ], + "scale": { + "x": { + "pixels": 934, + "rwuRange": [ + -554.5833333333334, + 387.0833333333334 + ] + }, + "y": { + "pixels": 758, + "rwuRange": [ + -328.3609921484653, + 435.8609921484655 + ] + } + } + }, + "project": { + "footprintID": "bdeb-be52-968e-8162", + "config": { + "units": "ip", + "unitsEditable": true, + "language": "EN-US" + }, + "north_axis": 45, + "ground": { + "floor_offset": 0, + "azimuth_angle": 0, + "tilt_slope": 0 + }, + "grid": { + "visible": true, + "spacing": 5 + }, + "view": { + "min_x": -394.3569320794955, + "max_x": -215.94446122983445, + "min_y": -112.11021032674918, + "max_y": 32.68277993453896 + }, + "map": { + "initialized": true, + "enabled": true, + "visible": true, + "latitude": 32.835526745825507, + "longitude": -96.77839489432069, + "zoom": 4.5, + "rotation": 0.7853981633974483, + "elevation": 0 + }, + "previous_story": { + "visible": true + }, + "show_import_export": true + }, + "stories": [ + { + "id": "1", + "handle": null, + "name": "Story 1", + "image_id": null, + "below_floor_plenum_height": 0, + "floor_to_ceiling_height": 16, + "above_ceiling_plenum_height": 0, + "multiplier": 1, + "color": "#88ccee", + "geometry": { + "id": "2", + "vertices": [ + { + "id": "776", + "x": -507.5, + "y": -32.5, + "edge_ids": [ + "787", + "797" + ] + }, + { + "id": "777", + "x": -430, + "y": -62.5, + "edge_ids": [ + "787", + "799" + ] + }, + { + "id": "780", + "x": -250, + "y": -65, + "edge_ids": [ + "791", + "799" + ] + }, + { + "id": "781", + "x": -215, + "y": -57.5, + "edge_ids": [ + "791", + "792" + ] + }, + { + "id": "782", + "x": -207.5, + "y": -35, + "edge_ids": [ + "792", + "793" + ] + }, + { + "id": "783", + "x": -207.5, + "y": -5, + "edge_ids": [ + "793", + "794" + ] + }, + { + "id": "784", + "x": -225, + "y": 47.5, + "edge_ids": [ + "794", + "795" + ] + }, + { + "id": "785", + "x": -265, + "y": 77.5, + "edge_ids": [ + "795", + "796" + ] + }, + { + "id": "786", + "x": -385, + "y": 32.5, + "edge_ids": [ + "796", + "797" + ] + }, + { + "id": "2898", + "x": 120, + "y": 130, + "edge_ids": [ + "2926", + "3032" + ] + }, + { + "id": "2909", + "x": 340, + "y": 55, + "edge_ids": [ + "2932", + "3037" + ] + }, + { + "id": "2920", + "x": 320, + "y": 80, + "edge_ids": [ + "2942", + "3031" + ] + }, + { + "id": "2921", + "x": 120, + "y": 80, + "edge_ids": [ + "2926", + "2946" + ] + }, + { + "id": "2931", + "x": 320, + "y": 55, + "edge_ids": [ + "2932", + "3031" + ] + }, + { + "id": "2937", + "x": 272.5, + "y": 80, + "edge_ids": [ + "2942", + "2943" + ] + }, + { + "id": "2938", + "x": 272.5, + "y": 165, + "edge_ids": [ + "2943", + "2954" + ] + }, + { + "id": "2939", + "x": 200, + "y": 165, + "edge_ids": [ + "2945", + "2958" + ] + }, + { + "id": "2940", + "x": 200, + "y": 80, + "edge_ids": [ + "2945", + "2946" + ] + }, + { + "id": "2949", + "x": 247.5, + "y": 165, + "edge_ids": [ + "2954", + "2955" + ] + }, + { + "id": "2950", + "x": 247.5, + "y": 185, + "edge_ids": [ + "2955", + "2956" + ] + }, + { + "id": "2951", + "x": 232.5, + "y": 185, + "edge_ids": [ + "2956", + "2957" + ] + }, + { + "id": "2952", + "x": 232.5, + "y": 165, + "edge_ids": [ + "2957", + "2958" + ] + }, + { + "id": "2961", + "x": 340, + "y": -77.5, + "edge_ids": [ + "3037", + "3060" + ] + }, + { + "id": "2967", + "x": -40, + "y": 130, + "edge_ids": [ + "2972", + "3032" + ] + }, + { + "id": "2968", + "x": -40, + "y": 92.5, + "edge_ids": [ + "2972", + "2994" + ] + }, + { + "id": "2990", + "x": -80, + "y": 92.5, + "edge_ids": [ + "2994", + "3066" + ] + }, + { + "id": "3038", + "x": -50, + "y": -42.5, + "edge_ids": [ + "3042", + "3073" + ] + }, + { + "id": "3039", + "x": -12.5, + "y": -42.5, + "edge_ids": [ + "3042", + "3043" + ] + }, + { + "id": "3040", + "x": -12.5, + "y": -77.5, + "edge_ids": [ + "3043", + "3052" + ] + }, + { + "id": "3045", + "x": 60, + "y": -42.5, + "edge_ids": [ + "3049", + "3053" + ] + }, + { + "id": "3046", + "x": 90, + "y": -42.5, + "edge_ids": [ + "3049", + "3057" + ] + }, + { + "id": "3048", + "x": 60, + "y": -77.5, + "edge_ids": [ + "3052", + "3053" + ] + }, + { + "id": "3054", + "x": 90, + "y": 5, + "edge_ids": [ + "3057", + "3058" + ] + }, + { + "id": "3055", + "x": 125, + "y": 5, + "edge_ids": [ + "3058", + "3059" + ] + }, + { + "id": "3056", + "x": 125, + "y": -77.5, + "edge_ids": [ + "3059", + "3060" + ] + }, + { + "id": "3061", + "x": -110, + "y": 92.5, + "edge_ids": [ + "3064", + "3066" + ] + }, + { + "id": "3062", + "x": -110, + "y": -12.5, + "edge_ids": [ + "3064", + "3075" + ] + }, + { + "id": "3068", + "x": -110, + "y": -30, + "edge_ids": [ + "3072", + "3075" + ] + }, + { + "id": "3069", + "x": -50, + "y": -30, + "edge_ids": [ + "3072", + "3073" + ] + } + ], + "edges": [ + { + "id": "787", + "vertex_ids": [ + "776", + "777" + ], + "face_ids": [ + "798" + ] + }, + { + "id": "791", + "vertex_ids": [ + "780", + "781" + ], + "face_ids": [ + "798" + ] + }, + { + "id": "792", + "vertex_ids": [ + "781", + "782" + ], + "face_ids": [ + "798" + ] + }, + { + "id": "793", + "vertex_ids": [ + "782", + "783" + ], + "face_ids": [ + "798" + ] + }, + { + "id": "794", + "vertex_ids": [ + "783", + "784" + ], + "face_ids": [ + "798" + ] + }, + { + "id": "795", + "vertex_ids": [ + "784", + "785" + ], + "face_ids": [ + "798" + ] + }, + { + "id": "796", + "vertex_ids": [ + "785", + "786" + ], + "face_ids": [ + "798" + ] + }, + { + "id": "797", + "vertex_ids": [ + "786", + "776" + ], + "face_ids": [ + "798" + ] + }, + { + "id": "799", + "vertex_ids": [ + "777", + "780" + ], + "face_ids": [ + "798" + ] + }, + { + "id": "2926", + "vertex_ids": [ + "2921", + "2898" + ], + "face_ids": [ + "2897" + ] + }, + { + "id": "2932", + "vertex_ids": [ + "2909", + "2931" + ], + "face_ids": [ + "2897" + ] + }, + { + "id": "2942", + "vertex_ids": [ + "2920", + "2937" + ], + "face_ids": [ + "2897" + ] + }, + { + "id": "2943", + "vertex_ids": [ + "2937", + "2938" + ], + "face_ids": [ + "2897" + ] + }, + { + "id": "2945", + "vertex_ids": [ + "2939", + "2940" + ], + "face_ids": [ + "2897" + ] + }, + { + "id": "2946", + "vertex_ids": [ + "2940", + "2921" + ], + "face_ids": [ + "2897" + ] + }, + { + "id": "2954", + "vertex_ids": [ + "2938", + "2949" + ], + "face_ids": [ + "2897" + ] + }, + { + "id": "2955", + "vertex_ids": [ + "2949", + "2950" + ], + "face_ids": [ + "2897" + ] + }, + { + "id": "2956", + "vertex_ids": [ + "2950", + "2951" + ], + "face_ids": [ + "2897" + ] + }, + { + "id": "2957", + "vertex_ids": [ + "2951", + "2952" + ], + "face_ids": [ + "2897" + ] + }, + { + "id": "2958", + "vertex_ids": [ + "2952", + "2939" + ], + "face_ids": [ + "2897" + ] + }, + { + "id": "2972", + "vertex_ids": [ + "2967", + "2968" + ], + "face_ids": [ + "2897" + ] + }, + { + "id": "2994", + "vertex_ids": [ + "2968", + "2990" + ], + "face_ids": [ + "2897" + ] + }, + { + "id": "3031", + "vertex_ids": [ + "2931", + "2920" + ], + "face_ids": [ + "2897" + ] + }, + { + "id": "3032", + "vertex_ids": [ + "2898", + "2967" + ], + "face_ids": [ + "2897" + ] + }, + { + "id": "3037", + "vertex_ids": [ + "2961", + "2909" + ], + "face_ids": [ + "2897" + ] + }, + { + "id": "3042", + "vertex_ids": [ + "3038", + "3039" + ], + "face_ids": [ + "2897" + ] + }, + { + "id": "3043", + "vertex_ids": [ + "3039", + "3040" + ], + "face_ids": [ + "2897" + ] + }, + { + "id": "3049", + "vertex_ids": [ + "3045", + "3046" + ], + "face_ids": [ + "2897" + ] + }, + { + "id": "3052", + "vertex_ids": [ + "3040", + "3048" + ], + "face_ids": [ + "2897" + ] + }, + { + "id": "3053", + "vertex_ids": [ + "3048", + "3045" + ], + "face_ids": [ + "2897" + ] + }, + { + "id": "3057", + "vertex_ids": [ + "3046", + "3054" + ], + "face_ids": [ + "2897" + ] + }, + { + "id": "3058", + "vertex_ids": [ + "3054", + "3055" + ], + "face_ids": [ + "2897" + ] + }, + { + "id": "3059", + "vertex_ids": [ + "3055", + "3056" + ], + "face_ids": [ + "2897" + ] + }, + { + "id": "3060", + "vertex_ids": [ + "3056", + "2961" + ], + "face_ids": [ + "2897" + ] + }, + { + "id": "3064", + "vertex_ids": [ + "3061", + "3062" + ], + "face_ids": [ + "2897" + ] + }, + { + "id": "3066", + "vertex_ids": [ + "2990", + "3061" + ], + "face_ids": [ + "2897" + ] + }, + { + "id": "3072", + "vertex_ids": [ + "3068", + "3069" + ], + "face_ids": [ + "2897" + ] + }, + { + "id": "3073", + "vertex_ids": [ + "3069", + "3038" + ], + "face_ids": [ + "2897" + ] + }, + { + "id": "3075", + "vertex_ids": [ + "3062", + "3068" + ], + "face_ids": [ + "2897" + ] + } + ], + "faces": [ + { + "id": "798", + "edge_ids": [ + "792", + "793", + "794", + "795", + "796", + "797", + "787", + "799", + "791" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "id": "2897", + "edge_ids": [ + "3049", + "3057", + "3058", + "3059", + "3060", + "3037", + "2932", + "3031", + "2942", + "2943", + "2954", + "2955", + "2956", + "2957", + "2958", + "2945", + "2946", + "2926", + "3032", + "2972", + "2994", + "3066", + "3064", + "3075", + "3072", + "3073", + "3042", + "3043", + "3052", + "3053" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + } + ] + }, + "spaces": [ + { + "id": "775", + "handle": null, + "name": "Space 1-1", + "face_id": "798", + "building_unit_id": null, + "thermal_zone_id": "tz_1", + "space_type_id": "800", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 27118.75 + } + ], + "shading": [ + { + "handle": null, + "id": "2888", + "name": "Shading 1-1", + "face_id": "2897", + "color": "#E8E3E5", + "floor_to_ceiling_height": 113, + "type": "shading" + } + ], + "windows": [], + "doors": [], + "construction_lines": [ + { + "id": "772", + "start": { + "x": -207.5, + "y": 75 + }, + "end": { + "x": -207.5, + "y": -72.5 + } + }, + { + "id": "773", + "start": { + "x": -507.5, + "y": -70 + }, + "end": { + "x": -207.5, + "y": -72.5 + } + }, + { + "id": "774", + "start": { + "x": -507.5, + "y": -70 + }, + "end": { + "x": -507.5, + "y": -32.5 + } + } + ], + "area": 27118.75 + }, + { + "id": "820", + "handle": null, + "name": "Story 2", + "image_id": null, + "below_floor_plenum_height": 0, + "floor_to_ceiling_height": 11, + "above_ceiling_plenum_height": 0, + "multiplier": 1, + "color": "#999933", + "geometry": { + "id": "821", + "vertices": [ + { + "id": "801", + "x": -507.5, + "y": -32.5, + "edge_ids": [ + "817", + "876" + ] + }, + { + "id": "802", + "x": -430, + "y": -62.5, + "edge_ids": [ + "818", + "876" + ] + }, + { + "id": "803", + "x": -250, + "y": -65, + "edge_ids": [ + "811", + "818" + ] + }, + { + "id": "804", + "x": -215, + "y": -57.5, + "edge_ids": [ + "812", + "811" + ] + }, + { + "id": "805", + "x": -207.5, + "y": -35, + "edge_ids": [ + "813", + "812" + ] + }, + { + "id": "806", + "x": -207.5, + "y": -5, + "edge_ids": [ + "814", + "813" + ] + }, + { + "id": "807", + "x": -225, + "y": 47.5, + "edge_ids": [ + "815", + "814" + ] + }, + { + "id": "808", + "x": -265, + "y": 77.5, + "edge_ids": [ + "816", + "815" + ] + }, + { + "id": "809", + "x": -385, + "y": 32.5, + "edge_ids": [ + "817", + "816" + ] + } + ], + "edges": [ + { + "id": "817", + "vertex_ids": [ + "809", + "801" + ], + "face_ids": [ + "826" + ] + }, + { + "id": "816", + "vertex_ids": [ + "808", + "809" + ], + "face_ids": [ + "826" + ] + }, + { + "id": "815", + "vertex_ids": [ + "807", + "808" + ], + "face_ids": [ + "826" + ] + }, + { + "id": "814", + "vertex_ids": [ + "806", + "807" + ], + "face_ids": [ + "826" + ] + }, + { + "id": "813", + "vertex_ids": [ + "805", + "806" + ], + "face_ids": [ + "826" + ] + }, + { + "id": "812", + "vertex_ids": [ + "804", + "805" + ], + "face_ids": [ + "826" + ] + }, + { + "id": "811", + "vertex_ids": [ + "803", + "804" + ], + "face_ids": [ + "826" + ] + }, + { + "id": "818", + "vertex_ids": [ + "802", + "803" + ], + "face_ids": [ + "826" + ] + }, + { + "id": "876", + "vertex_ids": [ + "801", + "802" + ], + "face_ids": [ + "826" + ] + } + ], + "faces": [ + { + "id": "826", + "edge_ids": [ + "812", + "813", + "814", + "815", + "816", + "817", + "876", + "818", + "811" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + } + ] + }, + "spaces": [ + { + "id": "825", + "handle": null, + "name": "Space 2-1", + "face_id": "826", + "building_unit_id": null, + "thermal_zone_id": "tz_2", + "space_type_id": "800", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 27118.75 + } + ], + "shading": [], + "windows": [], + "doors": [], + "construction_lines": [], + "area": 27118.75 + }, + { + "id": "877", + "handle": null, + "name": "Story 3", + "image_id": null, + "below_floor_plenum_height": 0, + "floor_to_ceiling_height": 10.5, + "above_ceiling_plenum_height": 0, + "multiplier": 1, + "color": "#ddcc77", + "geometry": { + "id": "878", + "vertices": [ + { + "id": "881", + "x": -507.5, + "y": -32.5, + "edge_ids": [ + "886", + "890" + ] + }, + { + "id": "882", + "x": -450, + "y": -2.5, + "edge_ids": [ + "886", + "887", + "998" + ] + }, + { + "id": "883", + "x": -440, + "y": -27.5, + "edge_ids": [ + "887", + "893", + "964", + "1003" + ] + }, + { + "id": "885", + "x": -430, + "y": -62.5, + "edge_ids": [ + "890", + "950", + "1122" + ] + }, + { + "id": "892", + "x": -447.19, + "y": -30.58, + "edge_ids": [ + "893", + "947" + ] + }, + { + "id": "899", + "x": -257.5, + "y": -37.5, + "edge_ids": [ + "1031", + "1049" + ] + }, + { + "id": "900", + "x": -250, + "y": -65, + "edge_ids": [ + "909", + "1042" + ] + }, + { + "id": "901", + "x": -207.5, + "y": -35, + "edge_ids": [ + "909", + "910" + ] + }, + { + "id": "902", + "x": -207.5, + "y": -5, + "edge_ids": [ + "910", + "1064", + "1089" + ] + }, + { + "id": "903", + "x": -225, + "y": 47.5, + "edge_ids": [ + "1080", + "1071", + "1194" + ] + }, + { + "id": "904", + "x": -265, + "y": 77.5, + "edge_ids": [ + "928", + "1192", + "1205" + ] + }, + { + "id": "925", + "x": -385, + "y": 32.5, + "edge_ids": [ + "928", + "1001", + "1013" + ] + }, + { + "id": "943", + "x": -442.19, + "y": -39.86, + "edge_ids": [ + "946", + "950", + "1120" + ] + }, + { + "id": "944", + "x": -442.5, + "y": -40, + "edge_ids": [ + "946", + "947" + ] + }, + { + "id": "951", + "x": -307.06, + "y": 31.4, + "edge_ids": [ + "956", + "964" + ] + }, + { + "id": "952", + "x": -265, + "y": 50, + "edge_ids": [ + "956", + "1204", + "1219", + "1231" + ] + }, + { + "id": "999", + "x": -417.5, + "y": 15, + "edge_ids": [ + "1001", + "1002", + "998" + ] + }, + { + "id": "1000", + "x": -407.5, + "y": -12.5, + "edge_ids": [ + "1002", + "1003", + "1014" + ] + }, + { + "id": "1012", + "x": -367.5, + "y": 5, + "edge_ids": [ + "1013", + "1014" + ] + }, + { + "id": "1027", + "x": -316.7, + "y": -27.55, + "edge_ids": [ + "1030", + "1142", + "1153" + ] + }, + { + "id": "1028", + "x": -279.5, + "y": -29.74, + "edge_ids": [ + "1030", + "1031", + "6818" + ] + }, + { + "id": "1046", + "x": -254.81, + "y": -47.38, + "edge_ids": [ + "1049", + "1050", + "1042" + ] + }, + { + "id": "1047", + "x": -227.5, + "y": -30, + "edge_ids": [ + "1050", + "1090" + ] + }, + { + "id": "1061", + "x": -215, + "y": 15, + "edge_ids": [ + "1064", + "1350", + "1346" + ] + }, + { + "id": "1068", + "x": -215, + "y": 20, + "edge_ids": [ + "1071", + "1083" + ] + }, + { + "id": "1074", + "x": -215.68, + "y": 19.55, + "edge_ids": [ + "1078", + "1083", + "1346" + ] + }, + { + "id": "1075", + "x": -245, + "y": 0, + "edge_ids": [ + "1078", + "1079", + "1344" + ] + }, + { + "id": "1076", + "x": -260, + "y": 32.5, + "edge_ids": [ + "1079", + "1080", + "1225" + ] + }, + { + "id": "1088", + "x": -232.14, + "y": -19.79, + "edge_ids": [ + "1089", + "1090", + "1351" + ] + }, + { + "id": "1119", + "x": -380, + "y": -47.5, + "edge_ids": [ + "1122", + "1130", + "1136" + ] + }, + { + "id": "1123", + "x": -382.5, + "y": -12.5, + "edge_ids": [ + "1126", + "1120", + "1300" + ] + }, + { + "id": "1124", + "x": -380.06, + "y": -46.7, + "edge_ids": [ + "1126", + "1130" + ] + }, + { + "id": "1133", + "x": -340, + "y": -35, + "edge_ids": [ + "1136", + "1146" + ] + }, + { + "id": "1138", + "x": -342.5, + "y": 5, + "edge_ids": [ + "1141", + "1305" + ] + }, + { + "id": "1139", + "x": -340.03, + "y": -34.6, + "edge_ids": [ + "1141", + "1142", + "1146" + ] + }, + { + "id": "1151", + "x": -315, + "y": 17.5, + "edge_ids": [ + "1153", + "1287", + "6784" + ] + }, + { + "id": "1164", + "x": -271.62, + "y": 38.32, + "edge_ids": [ + "1180", + "1226" + ] + }, + { + "id": "1175", + "x": -272.5, + "y": 40, + "edge_ids": [ + "1180", + "1329" + ] + }, + { + "id": "1190", + "x": -242.5, + "y": 65, + "edge_ids": [ + "1192", + "1198" + ] + }, + { + "id": "1193", + "x": -242.5, + "y": 60.63, + "edge_ids": [ + "1194", + "1198", + "1231" + ] + }, + { + "id": "1203", + "x": -277.5, + "y": 72.5, + "edge_ids": [ + "1204", + "1205" + ] + }, + { + "id": "1216", + "x": -265, + "y": 42.5, + "edge_ids": [ + "1219", + "1230" + ] + }, + { + "id": "1224", + "x": -264.53, + "y": 41.57, + "edge_ids": [ + "1225", + "1226", + "1230" + ] + }, + { + "id": "1262", + "x": -292.5, + "y": 17.5, + "edge_ids": [ + "1277", + "1291" + ] + }, + { + "id": "1273", + "x": -285, + "y": 17.5, + "edge_ids": [ + "1277", + "6816" + ] + }, + { + "id": "1284", + "x": -310, + "y": 17.5, + "edge_ids": [ + "1287", + "1288", + "1291" + ] + }, + { + "id": "1285", + "x": -310, + "y": 22.22, + "edge_ids": [ + "1288", + "1361" + ] + }, + { + "id": "1297", + "x": -382.5, + "y": -10, + "edge_ids": [ + "1300", + "1301" + ] + }, + { + "id": "1298", + "x": -342.5, + "y": 7.5, + "edge_ids": [ + "1301", + "1302", + "6784" + ] + }, + { + "id": "1299", + "x": -342.5, + "y": 5.28, + "edge_ids": [ + "1302", + "1305" + ] + }, + { + "id": "1325", + "x": -279.4, + "y": 36.55, + "edge_ids": [ + "1328", + "1343", + "1361" + ] + }, + { + "id": "1326", + "x": -280, + "y": 37.5, + "edge_ids": [ + "1328", + "1329" + ] + }, + { + "id": "1330", + "x": -242.81, + "y": -4.38, + "edge_ids": [ + "1335", + "1344" + ] + }, + { + "id": "1331", + "x": -242.5, + "y": -5, + "edge_ids": [ + "1335", + "1336", + "1354" + ] + }, + { + "id": "1332", + "x": -250, + "y": -10, + "edge_ids": [ + "1336", + "1337" + ] + }, + { + "id": "1333", + "x": -250.33, + "y": -9.47, + "edge_ids": [ + "1337", + "1343", + "6822" + ] + }, + { + "id": "1349", + "x": -239.77, + "y": -3.01, + "edge_ids": [ + "1350", + "1351", + "1354" + ] + }, + { + "id": "6813", + "x": -270, + "y": -20, + "edge_ids": [ + "6815", + "6818" + ] + }, + { + "id": "6814", + "x": -263.22, + "y": -16.37, + "edge_ids": [ + "6815", + "6816", + "6822" + ] + } + ], + "edges": [ + { + "id": "886", + "vertex_ids": [ + "881", + "882" + ], + "face_ids": [ + "891" + ] + }, + { + "id": "887", + "vertex_ids": [ + "882", + "883" + ], + "face_ids": [ + "891", + "1004" + ] + }, + { + "id": "890", + "vertex_ids": [ + "885", + "881" + ], + "face_ids": [ + "891" + ] + }, + { + "id": "893", + "vertex_ids": [ + "892", + "883" + ], + "face_ids": [ + "891", + "965" + ] + }, + { + "id": "909", + "vertex_ids": [ + "900", + "901" + ], + "face_ids": [ + "1053" + ] + }, + { + "id": "910", + "vertex_ids": [ + "901", + "902" + ], + "face_ids": [ + "1053" + ] + }, + { + "id": "928", + "vertex_ids": [ + "904", + "925" + ], + "face_ids": [ + "933" + ] + }, + { + "id": "946", + "vertex_ids": [ + "943", + "944" + ], + "face_ids": [ + "891", + "965" + ] + }, + { + "id": "947", + "vertex_ids": [ + "944", + "892" + ], + "face_ids": [ + "891", + "965" + ] + }, + { + "id": "950", + "vertex_ids": [ + "885", + "943" + ], + "face_ids": [ + "891", + "1128" + ] + }, + { + "id": "956", + "vertex_ids": [ + "951", + "952" + ], + "face_ids": [ + "933", + "965" + ] + }, + { + "id": "964", + "vertex_ids": [ + "883", + "951" + ], + "face_ids": [ + "933", + "965" + ] + }, + { + "id": "1001", + "vertex_ids": [ + "925", + "999" + ], + "face_ids": [ + "1015" + ] + }, + { + "id": "1002", + "vertex_ids": [ + "999", + "1000" + ], + "face_ids": [ + "1004", + "1015" + ] + }, + { + "id": "1003", + "vertex_ids": [ + "1000", + "883" + ], + "face_ids": [ + "933", + "1004" + ] + }, + { + "id": "998", + "vertex_ids": [ + "999", + "882" + ], + "face_ids": [ + "1004" + ] + }, + { + "id": "1013", + "vertex_ids": [ + "925", + "1012" + ], + "face_ids": [ + "933", + "1015" + ] + }, + { + "id": "1014", + "vertex_ids": [ + "1012", + "1000" + ], + "face_ids": [ + "933", + "1015" + ] + }, + { + "id": "1030", + "vertex_ids": [ + "1027", + "1028" + ], + "face_ids": [ + "1265" + ] + }, + { + "id": "1031", + "vertex_ids": [ + "1028", + "899" + ], + "face_ids": [ + "1094" + ] + }, + { + "id": "1049", + "vertex_ids": [ + "899", + "1046" + ], + "face_ids": [ + "1094" + ] + }, + { + "id": "1050", + "vertex_ids": [ + "1046", + "1047" + ], + "face_ids": [ + "1053", + "1094" + ] + }, + { + "id": "1042", + "vertex_ids": [ + "1046", + "900" + ], + "face_ids": [ + "1053" + ] + }, + { + "id": "1064", + "vertex_ids": [ + "1061", + "902" + ], + "face_ids": [ + "1065" + ] + }, + { + "id": "1078", + "vertex_ids": [ + "1074", + "1075" + ], + "face_ids": [ + "1081", + "1355" + ] + }, + { + "id": "1079", + "vertex_ids": [ + "1075", + "1076" + ], + "face_ids": [ + "1081", + "1339" + ] + }, + { + "id": "1080", + "vertex_ids": [ + "1076", + "903" + ], + "face_ids": [ + "1081", + "1232" + ] + }, + { + "id": "1071", + "vertex_ids": [ + "1068", + "903" + ], + "face_ids": [ + "1081" + ] + }, + { + "id": "1083", + "vertex_ids": [ + "1074", + "1068" + ], + "face_ids": [ + "1081" + ] + }, + { + "id": "1089", + "vertex_ids": [ + "902", + "1088" + ], + "face_ids": [ + "1053", + "1065" + ] + }, + { + "id": "1090", + "vertex_ids": [ + "1088", + "1047" + ], + "face_ids": [ + "1053", + "1094" + ] + }, + { + "id": "1126", + "vertex_ids": [ + "1123", + "1124" + ], + "face_ids": [ + "1128", + "1144" + ] + }, + { + "id": "1120", + "vertex_ids": [ + "943", + "1123" + ], + "face_ids": [ + "965", + "1128" + ] + }, + { + "id": "1122", + "vertex_ids": [ + "1119", + "885" + ], + "face_ids": [ + "1128" + ] + }, + { + "id": "1130", + "vertex_ids": [ + "1124", + "1119" + ], + "face_ids": [ + "1128", + "1144" + ] + }, + { + "id": "1141", + "vertex_ids": [ + "1138", + "1139" + ], + "face_ids": [ + "1144", + "1154" + ] + }, + { + "id": "1142", + "vertex_ids": [ + "1139", + "1027" + ], + "face_ids": [ + "1154" + ] + }, + { + "id": "1136", + "vertex_ids": [ + "1133", + "1119" + ], + "face_ids": [ + "1144" + ] + }, + { + "id": "1146", + "vertex_ids": [ + "1139", + "1133" + ], + "face_ids": [ + "1144" + ] + }, + { + "id": "1153", + "vertex_ids": [ + "1151", + "1027" + ], + "face_ids": [ + "1154", + "1265" + ] + }, + { + "id": "1180", + "vertex_ids": [ + "1175", + "1164" + ], + "face_ids": [ + "965", + "1339" + ] + }, + { + "id": "1194", + "vertex_ids": [ + "903", + "1193" + ], + "face_ids": [ + "1232" + ] + }, + { + "id": "1192", + "vertex_ids": [ + "1190", + "904" + ], + "face_ids": [ + "1196" + ] + }, + { + "id": "1198", + "vertex_ids": [ + "1193", + "1190" + ], + "face_ids": [ + "1196" + ] + }, + { + "id": "1204", + "vertex_ids": [ + "952", + "1203" + ], + "face_ids": [ + "933", + "1196" + ] + }, + { + "id": "1205", + "vertex_ids": [ + "1203", + "904" + ], + "face_ids": [ + "933", + "1196" + ] + }, + { + "id": "1219", + "vertex_ids": [ + "1216", + "952" + ], + "face_ids": [ + "965", + "1232" + ] + }, + { + "id": "1225", + "vertex_ids": [ + "1076", + "1224" + ], + "face_ids": [ + "1232", + "1339" + ] + }, + { + "id": "1226", + "vertex_ids": [ + "1224", + "1164" + ], + "face_ids": [ + "965", + "1339" + ] + }, + { + "id": "1230", + "vertex_ids": [ + "1224", + "1216" + ], + "face_ids": [ + "965", + "1232" + ] + }, + { + "id": "1231", + "vertex_ids": [ + "952", + "1193" + ], + "face_ids": [ + "1196", + "1232" + ] + }, + { + "id": "1277", + "vertex_ids": [ + "1262", + "1273" + ], + "face_ids": [ + "1265", + "1362" + ] + }, + { + "id": "1287", + "vertex_ids": [ + "1151", + "1284" + ], + "face_ids": [ + "965", + "1265" + ] + }, + { + "id": "1288", + "vertex_ids": [ + "1284", + "1285" + ], + "face_ids": [ + "965", + "1362" + ] + }, + { + "id": "1291", + "vertex_ids": [ + "1284", + "1262" + ], + "face_ids": [ + "1265", + "1362" + ] + }, + { + "id": "1300", + "vertex_ids": [ + "1123", + "1297" + ], + "face_ids": [ + "965", + "1144" + ] + }, + { + "id": "1301", + "vertex_ids": [ + "1297", + "1298" + ], + "face_ids": [ + "965", + "1144" + ] + }, + { + "id": "1302", + "vertex_ids": [ + "1298", + "1299" + ], + "face_ids": [ + "1144", + "1154" + ] + }, + { + "id": "1305", + "vertex_ids": [ + "1138", + "1299" + ], + "face_ids": [ + "1144", + "1154" + ] + }, + { + "id": "1328", + "vertex_ids": [ + "1325", + "1326" + ], + "face_ids": [ + "965", + "1339" + ] + }, + { + "id": "1329", + "vertex_ids": [ + "1326", + "1175" + ], + "face_ids": [ + "965", + "1339" + ] + }, + { + "id": "1335", + "vertex_ids": [ + "1330", + "1331" + ], + "face_ids": [ + "1339", + "1355" + ] + }, + { + "id": "1336", + "vertex_ids": [ + "1331", + "1332" + ], + "face_ids": [ + "1094", + "1339" + ] + }, + { + "id": "1337", + "vertex_ids": [ + "1332", + "1333" + ], + "face_ids": [ + "1094", + "1339" + ] + }, + { + "id": "1343", + "vertex_ids": [ + "1325", + "1333" + ], + "face_ids": [ + "1339", + "1362" + ] + }, + { + "id": "1344", + "vertex_ids": [ + "1330", + "1075" + ], + "face_ids": [ + "1339", + "1355" + ] + }, + { + "id": "1350", + "vertex_ids": [ + "1061", + "1349" + ], + "face_ids": [ + "1065", + "1355" + ] + }, + { + "id": "1351", + "vertex_ids": [ + "1349", + "1088" + ], + "face_ids": [ + "1065", + "1094" + ] + }, + { + "id": "1354", + "vertex_ids": [ + "1349", + "1331" + ], + "face_ids": [ + "1094", + "1355" + ] + }, + { + "id": "1346", + "vertex_ids": [ + "1074", + "1061" + ], + "face_ids": [ + "1355" + ] + }, + { + "id": "1361", + "vertex_ids": [ + "1285", + "1325" + ], + "face_ids": [ + "965", + "1362" + ] + }, + { + "id": "6784", + "vertex_ids": [ + "1298", + "1151" + ], + "face_ids": [ + "965", + "1154" + ] + }, + { + "id": "6815", + "vertex_ids": [ + "6813", + "6814" + ], + "face_ids": [ + "1094", + "1265" + ] + }, + { + "id": "6816", + "vertex_ids": [ + "6814", + "1273" + ], + "face_ids": [ + "1265", + "1362" + ] + }, + { + "id": "6818", + "vertex_ids": [ + "1028", + "6813" + ], + "face_ids": [ + "1094", + "1265" + ] + }, + { + "id": "6822", + "vertex_ids": [ + "6814", + "1333" + ], + "face_ids": [ + "1094", + "1362" + ] + } + ], + "faces": [ + { + "id": "891", + "edge_ids": [ + "946", + "947", + "893", + "887", + "886", + "890", + "950" + ], + "edge_order": [ + 1, + 1, + 1, + 0, + 0, + 0, + 1 + ] + }, + { + "id": "933", + "edge_ids": [ + "956", + "1204", + "1205", + "928", + "1013", + "1014", + "1003", + "964" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "id": "965", + "edge_ids": [ + "1120", + "1300", + "1301", + "6784", + "1287", + "1288", + "1361", + "1328", + "1329", + "1180", + "1226", + "1230", + "1219", + "956", + "964", + "893", + "947", + "946" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "id": "1004", + "edge_ids": [ + "887", + "1003", + "1002", + "998" + ], + "edge_order": [ + 1, + 0, + 0, + 1 + ] + }, + { + "id": "1015", + "edge_ids": [ + "1002", + "1014", + "1013", + "1001" + ], + "edge_order": [ + 1, + 0, + 0, + 1 + ] + }, + { + "id": "1053", + "edge_ids": [ + "910", + "1089", + "1090", + "1050", + "1042", + "909" + ], + "edge_order": [ + 1, + 1, + 1, + 0, + 1, + 1 + ] + }, + { + "id": "1065", + "edge_ids": [ + "1064", + "1350", + "1351", + "1089" + ], + "edge_order": [ + 0, + 1, + 1, + 0 + ] + }, + { + "id": "1081", + "edge_ids": [ + "1078", + "1083", + "1071", + "1080", + "1079" + ], + "edge_order": [ + 0, + 1, + 1, + 0, + 0 + ] + }, + { + "id": "1094", + "edge_ids": [ + "1090", + "1351", + "1354", + "1336", + "1337", + "6822", + "6815", + "6818", + "1031", + "1049", + "1050" + ], + "edge_order": [ + 0, + 0, + 1, + 1, + 1, + 0, + 0, + 0, + 1, + 1, + 1 + ] + }, + { + "id": "1128", + "edge_ids": [ + "1130", + "1126", + "1120", + "950", + "1122" + ], + "edge_order": [ + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "id": "1144", + "edge_ids": [ + "1146", + "1141", + "1305", + "1302", + "1301", + "1300", + "1126", + "1130", + "1136" + ], + "edge_order": [ + 0, + 0, + 1, + 0, + 0, + 0, + 1, + 1, + 0 + ] + }, + { + "id": "1154", + "edge_ids": [ + "1153", + "6784", + "1302", + "1305", + "1141", + "1142" + ], + "edge_order": [ + 0, + 0, + 1, + 0, + 1, + 1 + ] + }, + { + "id": "1196", + "edge_ids": [ + "1198", + "1192", + "1205", + "1204", + "1231" + ], + "edge_order": [ + 1, + 1, + 0, + 0, + 1 + ] + }, + { + "id": "1232", + "edge_ids": [ + "1219", + "1230", + "1225", + "1080", + "1194", + "1231" + ], + "edge_order": [ + 0, + 0, + 0, + 1, + 1, + 0 + ] + }, + { + "id": "1265", + "edge_ids": [ + "6815", + "6816", + "1277", + "1291", + "1287", + "1153", + "1030", + "6818" + ], + "edge_order": [ + 1, + 1, + 0, + 0, + 0, + 1, + 1, + 1 + ] + }, + { + "id": "1339", + "edge_ids": [ + "1328", + "1343", + "1337", + "1336", + "1335", + "1344", + "1079", + "1225", + "1226", + "1180", + "1329" + ], + "edge_order": [ + 0, + 1, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 0, + 0 + ] + }, + { + "id": "1355", + "edge_ids": [ + "1078", + "1346", + "1350", + "1354", + "1335", + "1344" + ], + "edge_order": [ + 0, + 1, + 1, + 1, + 0, + 1 + ] + }, + { + "id": "1362", + "edge_ids": [ + "1343", + "1361", + "1288", + "1291", + "1277", + "6816", + "6822" + ], + "edge_order": [ + 0, + 0, + 0, + 1, + 1, + 0, + 1 + ] + } + ] + }, + "spaces": [ + { + "id": "879", + "handle": null, + "name": "Space 3-1", + "face_id": "891", + "building_unit_id": null, + "thermal_zone_id": "tz_3", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1932.0249999999979 + }, + { + "id": "915", + "handle": null, + "name": "Space 3-2", + "face_id": "933", + "building_unit_id": null, + "thermal_zone_id": "tz_4", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 3328.925000000003 + }, + { + "id": "935", + "handle": null, + "name": "Space 3-3", + "face_id": "965", + "building_unit_id": null, + "thermal_zone_id": "tz_5", + "space_type_id": "1234", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1656.0945999999952 + }, + { + "id": "993", + "handle": null, + "name": "Space 3-4", + "face_id": "1004", + "building_unit_id": null, + "thermal_zone_id": "tz_6", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1015.625 + }, + { + "id": "1005", + "handle": null, + "name": "Space 3-5", + "face_id": "1015", + "building_unit_id": null, + "thermal_zone_id": "tz_7", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1237.5 + }, + { + "id": "1038", + "handle": null, + "name": "Space 3-6", + "face_id": "1053", + "building_unit_id": null, + "thermal_zone_id": "tz_8", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1148.75 + }, + { + "id": "1054", + "handle": null, + "name": "Space 3-7", + "face_id": "1065", + "building_unit_id": null, + "thermal_zone_id": "tz_9", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 578.39095 + }, + { + "id": "1066", + "handle": null, + "name": "Space 3-8", + "face_id": "1081", + "building_unit_id": null, + "thermal_zone_id": "tz_10", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1193.7000000000008 + }, + { + "id": "1084", + "handle": null, + "name": "Space 3-9", + "face_id": "1094", + "building_unit_id": null, + "thermal_zone_id": "tz_11", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1111.4384 + }, + { + "id": "1097", + "handle": null, + "name": "Space 3-10", + "face_id": "1128", + "building_unit_id": null, + "thermal_zone_id": "tz_12", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1736.1500000000015 + }, + { + "id": "1131", + "handle": null, + "name": "Space 3-11", + "face_id": "1144", + "building_unit_id": null, + "thermal_zone_id": "tz_13", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1637.4499999999999 + }, + { + "id": "1147", + "handle": null, + "name": "Space 3-12", + "face_id": "1154", + "building_unit_id": null, + "thermal_zone_id": "tz_14", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1113.8282499999992 + }, + { + "id": "1189", + "handle": null, + "name": "Space 3-13", + "face_id": "1196", + "building_unit_id": null, + "thermal_zone_id": "tz_15", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 530.4124999999999 + }, + { + "id": "1221", + "handle": null, + "name": "Space 3-14", + "face_id": "1232", + "building_unit_id": null, + "thermal_zone_id": "tz_16", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 603.2000000000003 + }, + { + "id": "1252", + "handle": null, + "name": "Space 3-15", + "face_id": "1265", + "building_unit_id": null, + "thermal_zone_id": "tz_17", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1953.9164999999976 + }, + { + "id": "1317", + "handle": null, + "name": "Space 3-16", + "face_id": "1339", + "building_unit_id": null, + "thermal_zone_id": "tz_18", + "space_type_id": "1234", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 657.2041499999984 + }, + { + "id": "1345", + "handle": null, + "name": "Space 3-17", + "face_id": "1355", + "building_unit_id": null, + "thermal_zone_id": "tz_19", + "space_type_id": "1234", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 167.03750000000026 + }, + { + "id": "1357", + "handle": null, + "name": "Space 3-18", + "face_id": "1362", + "building_unit_id": null, + "thermal_zone_id": "tz_20", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1009.5219000000016 + } + ], + "shading": [], + "windows": [], + "doors": [], + "construction_lines": [ + { + "id": "916", + "start": { + "x": -440, + "y": -27.5 + }, + "end": { + "x": -230, + "y": 65 + } + }, + { + "id": "917", + "start": { + "x": -442.5, + "y": -40 + }, + "end": { + "x": -222.5, + "y": 60 + } + }, + { + "id": "919", + "start": { + "x": -247.5, + "y": -7.5 + }, + "end": { + "x": -215, + "y": 15 + } + }, + { + "id": "920", + "start": { + "x": -267.5, + "y": 47.5 + }, + "end": { + "x": -247.5, + "y": 5 + } + }, + { + "id": "921", + "start": { + "x": -247.5, + "y": 5 + }, + "end": { + "x": -245, + "y": 0 + } + }, + { + "id": "922", + "start": { + "x": -245, + "y": 0 + }, + "end": { + "x": -215, + "y": 20 + } + }, + { + "id": "923", + "start": { + "x": -215, + "y": 15 + }, + "end": { + "x": -212.5, + "y": 17.5 + } + }, + { + "id": "934", + "start": { + "x": -275, + "y": 45 + }, + "end": { + "x": -247.5, + "y": -7.5 + } + }, + { + "id": "1034", + "start": { + "x": -255, + "y": -47.5 + }, + "end": { + "x": -230, + "y": -32.5 + } + }, + { + "id": "1035", + "start": { + "x": -255, + "y": -47.5 + }, + "end": { + "x": -227.5, + "y": -30 + } + }, + { + "id": "1036", + "start": { + "x": -232.5, + "y": -20 + }, + "end": { + "x": -227.5, + "y": -30 + } + }, + { + "id": "1037", + "start": { + "x": -232.5, + "y": -20 + }, + "end": { + "x": -207.5, + "y": -5 + } + } + ], + "area": 22611.169749999986 + }, + { + "id": "6977", + "handle": null, + "name": "Story 4", + "image_id": null, + "below_floor_plenum_height": 0, + "floor_to_ceiling_height": 10.5, + "above_ceiling_plenum_height": 0, + "multiplier": 1, + "color": "#117733", + "geometry": { + "id": "6978", + "vertices": [ + { + "id": "6824", + "x": -507.5, + "y": -32.5, + "edge_ids": [ + "6883", + "6885" + ] + }, + { + "id": "6825", + "x": -450, + "y": -2.5, + "edge_ids": [ + "6883", + "6884", + "6898" + ] + }, + { + "id": "6826", + "x": -440, + "y": -27.5, + "edge_ids": [ + "6884", + "6886", + "6894", + "6897" + ] + }, + { + "id": "6827", + "x": -430, + "y": -62.5, + "edge_ids": [ + "6885", + "6892", + "6916" + ] + }, + { + "id": "6828", + "x": -447.19, + "y": -30.58, + "edge_ids": [ + "6886", + "6891" + ] + }, + { + "id": "6829", + "x": -257.5, + "y": -37.5, + "edge_ids": [ + "6902", + "6903" + ] + }, + { + "id": "6830", + "x": -250, + "y": -65, + "edge_ids": [ + "6887", + "6905" + ] + }, + { + "id": "6831", + "x": -207.5, + "y": -35, + "edge_ids": [ + "6887", + "6888" + ] + }, + { + "id": "6832", + "x": -207.5, + "y": -5, + "edge_ids": [ + "6888", + "6906", + "6912" + ] + }, + { + "id": "6833", + "x": -225, + "y": 47.5, + "edge_ids": [ + "6909", + "6910", + "6924" + ] + }, + { + "id": "6834", + "x": -265, + "y": 77.5, + "edge_ids": [ + "6889", + "6925", + "6928" + ] + }, + { + "id": "6835", + "x": -385, + "y": 32.5, + "edge_ids": [ + "6889", + "6895", + "6899" + ] + }, + { + "id": "6836", + "x": -442.19, + "y": -39.86, + "edge_ids": [ + "6890", + "6892", + "6915" + ] + }, + { + "id": "6837", + "x": -442.5, + "y": -40, + "edge_ids": [ + "6890", + "6891" + ] + }, + { + "id": "6838", + "x": -307.06, + "y": 31.4, + "edge_ids": [ + "6893", + "6894" + ] + }, + { + "id": "6839", + "x": -265, + "y": 50, + "edge_ids": [ + "6893", + "6927", + "6929", + "6933" + ] + }, + { + "id": "6840", + "x": -417.5, + "y": 15, + "edge_ids": [ + "6895", + "6896", + "6898" + ] + }, + { + "id": "6841", + "x": -407.5, + "y": -12.5, + "edge_ids": [ + "6896", + "6897", + "6900" + ] + }, + { + "id": "6842", + "x": -367.5, + "y": 5, + "edge_ids": [ + "6899", + "6900" + ] + }, + { + "id": "6843", + "x": -316.7, + "y": -27.55, + "edge_ids": [ + "6901", + "6919", + "6922" + ] + }, + { + "id": "6844", + "x": -279.5, + "y": -29.74, + "edge_ids": [ + "6901", + "6902", + "6957" + ] + }, + { + "id": "6845", + "x": -254.81, + "y": -47.38, + "edge_ids": [ + "6903", + "6904", + "6905" + ] + }, + { + "id": "6846", + "x": -227.5, + "y": -30, + "edge_ids": [ + "6904", + "6913" + ] + }, + { + "id": "6847", + "x": -215, + "y": 15, + "edge_ids": [ + "6906", + "6949", + "6952" + ] + }, + { + "id": "6848", + "x": -215, + "y": 20, + "edge_ids": [ + "6910", + "6911" + ] + }, + { + "id": "6849", + "x": -215.68, + "y": 19.55, + "edge_ids": [ + "6907", + "6911", + "6952" + ] + }, + { + "id": "6850", + "x": -245, + "y": 0, + "edge_ids": [ + "6907", + "6908", + "6948" + ] + }, + { + "id": "6851", + "x": -260, + "y": 32.5, + "edge_ids": [ + "6908", + "6909", + "6930" + ] + }, + { + "id": "6852", + "x": -232.14, + "y": -19.79, + "edge_ids": [ + "6912", + "6913", + "6950" + ] + }, + { + "id": "6853", + "x": -380, + "y": -47.5, + "edge_ids": [ + "6916", + "6917", + "6920" + ] + }, + { + "id": "6854", + "x": -382.5, + "y": -12.5, + "edge_ids": [ + "6914", + "6915", + "6938" + ] + }, + { + "id": "6855", + "x": -380.06, + "y": -46.7, + "edge_ids": [ + "6914", + "6917" + ] + }, + { + "id": "6856", + "x": -340, + "y": -35, + "edge_ids": [ + "6920", + "6921" + ] + }, + { + "id": "6857", + "x": -342.5, + "y": 5, + "edge_ids": [ + "6918", + "6941" + ] + }, + { + "id": "6858", + "x": -340.03, + "y": -34.6, + "edge_ids": [ + "6918", + "6919", + "6921" + ] + }, + { + "id": "6859", + "x": -315, + "y": 17.5, + "edge_ids": [ + "6922", + "6935", + "6954" + ] + }, + { + "id": "6860", + "x": -271.62, + "y": 38.32, + "edge_ids": [ + "6923", + "6931" + ] + }, + { + "id": "6861", + "x": -272.5, + "y": 40, + "edge_ids": [ + "6923", + "6943" + ] + }, + { + "id": "6862", + "x": -242.5, + "y": 65, + "edge_ids": [ + "6925", + "6926" + ] + }, + { + "id": "6863", + "x": -242.5, + "y": 60.63, + "edge_ids": [ + "6924", + "6926", + "6933" + ] + }, + { + "id": "6864", + "x": -277.5, + "y": 72.5, + "edge_ids": [ + "6927", + "6928" + ] + }, + { + "id": "6865", + "x": -265, + "y": 42.5, + "edge_ids": [ + "6929", + "6932" + ] + }, + { + "id": "6866", + "x": -264.53, + "y": 41.57, + "edge_ids": [ + "6930", + "6931", + "6932" + ] + }, + { + "id": "6867", + "x": -292.5, + "y": 17.5, + "edge_ids": [ + "6934", + "6937" + ] + }, + { + "id": "6868", + "x": -285, + "y": 17.5, + "edge_ids": [ + "6934", + "6956" + ] + }, + { + "id": "6869", + "x": -310, + "y": 17.5, + "edge_ids": [ + "6935", + "6936", + "6937" + ] + }, + { + "id": "6870", + "x": -310, + "y": 22.22, + "edge_ids": [ + "6936", + "6953" + ] + }, + { + "id": "6871", + "x": -382.5, + "y": -10, + "edge_ids": [ + "6938", + "6939" + ] + }, + { + "id": "6872", + "x": -342.5, + "y": 7.5, + "edge_ids": [ + "6939", + "6940", + "6954" + ] + }, + { + "id": "6873", + "x": -342.5, + "y": 5.28, + "edge_ids": [ + "6940", + "6941" + ] + }, + { + "id": "6874", + "x": -279.4, + "y": 36.55, + "edge_ids": [ + "6942", + "6947", + "6953" + ] + }, + { + "id": "6875", + "x": -280, + "y": 37.5, + "edge_ids": [ + "6942", + "6943" + ] + }, + { + "id": "6876", + "x": -242.81, + "y": -4.38, + "edge_ids": [ + "6944", + "6948" + ] + }, + { + "id": "6877", + "x": -242.5, + "y": -5, + "edge_ids": [ + "6944", + "6945", + "6951" + ] + }, + { + "id": "6878", + "x": -250, + "y": -10, + "edge_ids": [ + "6945", + "6946" + ] + }, + { + "id": "6879", + "x": -250.33, + "y": -9.47, + "edge_ids": [ + "6946", + "6947", + "6958" + ] + }, + { + "id": "6880", + "x": -239.77, + "y": -3.01, + "edge_ids": [ + "6949", + "6950", + "6951" + ] + }, + { + "id": "6881", + "x": -270, + "y": -20, + "edge_ids": [ + "6955", + "6957" + ] + }, + { + "id": "6882", + "x": -263.22, + "y": -16.37, + "edge_ids": [ + "6955", + "6956", + "6958" + ] + } + ], + "edges": [ + { + "id": "6883", + "vertex_ids": [ + "6824", + "6825" + ], + "face_ids": [ + "6959" + ] + }, + { + "id": "6884", + "vertex_ids": [ + "6825", + "6826" + ], + "face_ids": [ + "6959", + "6962" + ] + }, + { + "id": "6885", + "vertex_ids": [ + "6827", + "6824" + ], + "face_ids": [ + "6959" + ] + }, + { + "id": "6886", + "vertex_ids": [ + "6828", + "6826" + ], + "face_ids": [ + "6959", + "6961" + ] + }, + { + "id": "6887", + "vertex_ids": [ + "6830", + "6831" + ], + "face_ids": [ + "6964" + ] + }, + { + "id": "6888", + "vertex_ids": [ + "6831", + "6832" + ], + "face_ids": [ + "6964" + ] + }, + { + "id": "6889", + "vertex_ids": [ + "6834", + "6835" + ], + "face_ids": [ + "6960" + ] + }, + { + "id": "6890", + "vertex_ids": [ + "6836", + "6837" + ], + "face_ids": [ + "6959", + "6961" + ] + }, + { + "id": "6891", + "vertex_ids": [ + "6837", + "6828" + ], + "face_ids": [ + "6959", + "6961" + ] + }, + { + "id": "6892", + "vertex_ids": [ + "6827", + "6836" + ], + "face_ids": [ + "6959", + "6968" + ] + }, + { + "id": "6893", + "vertex_ids": [ + "6838", + "6839" + ], + "face_ids": [ + "6960", + "6961" + ] + }, + { + "id": "6894", + "vertex_ids": [ + "6826", + "6838" + ], + "face_ids": [ + "6960", + "6961" + ] + }, + { + "id": "6895", + "vertex_ids": [ + "6835", + "6840" + ], + "face_ids": [ + "6963" + ] + }, + { + "id": "6896", + "vertex_ids": [ + "6840", + "6841" + ], + "face_ids": [ + "6962", + "6963" + ] + }, + { + "id": "6897", + "vertex_ids": [ + "6841", + "6826" + ], + "face_ids": [ + "6960", + "6962" + ] + }, + { + "id": "6898", + "vertex_ids": [ + "6840", + "6825" + ], + "face_ids": [ + "6962" + ] + }, + { + "id": "6899", + "vertex_ids": [ + "6835", + "6842" + ], + "face_ids": [ + "6960", + "6963" + ] + }, + { + "id": "6900", + "vertex_ids": [ + "6842", + "6841" + ], + "face_ids": [ + "6960", + "6963" + ] + }, + { + "id": "6901", + "vertex_ids": [ + "6843", + "6844" + ], + "face_ids": [ + "6973" + ] + }, + { + "id": "6902", + "vertex_ids": [ + "6844", + "6829" + ], + "face_ids": [ + "6967" + ] + }, + { + "id": "6903", + "vertex_ids": [ + "6829", + "6845" + ], + "face_ids": [ + "6967" + ] + }, + { + "id": "6904", + "vertex_ids": [ + "6845", + "6846" + ], + "face_ids": [ + "6964", + "6967" + ] + }, + { + "id": "6905", + "vertex_ids": [ + "6845", + "6830" + ], + "face_ids": [ + "6964" + ] + }, + { + "id": "6906", + "vertex_ids": [ + "6847", + "6832" + ], + "face_ids": [ + "6965" + ] + }, + { + "id": "6907", + "vertex_ids": [ + "6849", + "6850" + ], + "face_ids": [ + "6966", + "6975" + ] + }, + { + "id": "6908", + "vertex_ids": [ + "6850", + "6851" + ], + "face_ids": [ + "6966", + "6974" + ] + }, + { + "id": "6909", + "vertex_ids": [ + "6851", + "6833" + ], + "face_ids": [ + "6966", + "6972" + ] + }, + { + "id": "6910", + "vertex_ids": [ + "6848", + "6833" + ], + "face_ids": [ + "6966" + ] + }, + { + "id": "6911", + "vertex_ids": [ + "6849", + "6848" + ], + "face_ids": [ + "6966" + ] + }, + { + "id": "6912", + "vertex_ids": [ + "6832", + "6852" + ], + "face_ids": [ + "6964", + "6965" + ] + }, + { + "id": "6913", + "vertex_ids": [ + "6852", + "6846" + ], + "face_ids": [ + "6964", + "6967" + ] + }, + { + "id": "6914", + "vertex_ids": [ + "6854", + "6855" + ], + "face_ids": [ + "6968", + "6969" + ] + }, + { + "id": "6915", + "vertex_ids": [ + "6836", + "6854" + ], + "face_ids": [ + "6961", + "6968" + ] + }, + { + "id": "6916", + "vertex_ids": [ + "6853", + "6827" + ], + "face_ids": [ + "6968" + ] + }, + { + "id": "6917", + "vertex_ids": [ + "6855", + "6853" + ], + "face_ids": [ + "6968", + "6969" + ] + }, + { + "id": "6918", + "vertex_ids": [ + "6857", + "6858" + ], + "face_ids": [ + "6969", + "6970" + ] + }, + { + "id": "6919", + "vertex_ids": [ + "6858", + "6843" + ], + "face_ids": [ + "6970" + ] + }, + { + "id": "6920", + "vertex_ids": [ + "6856", + "6853" + ], + "face_ids": [ + "6969" + ] + }, + { + "id": "6921", + "vertex_ids": [ + "6858", + "6856" + ], + "face_ids": [ + "6969" + ] + }, + { + "id": "6922", + "vertex_ids": [ + "6859", + "6843" + ], + "face_ids": [ + "6970", + "6973" + ] + }, + { + "id": "6923", + "vertex_ids": [ + "6861", + "6860" + ], + "face_ids": [ + "6961", + "6974" + ] + }, + { + "id": "6924", + "vertex_ids": [ + "6833", + "6863" + ], + "face_ids": [ + "6972" + ] + }, + { + "id": "6925", + "vertex_ids": [ + "6862", + "6834" + ], + "face_ids": [ + "6971" + ] + }, + { + "id": "6926", + "vertex_ids": [ + "6863", + "6862" + ], + "face_ids": [ + "6971" + ] + }, + { + "id": "6927", + "vertex_ids": [ + "6839", + "6864" + ], + "face_ids": [ + "6960", + "6971" + ] + }, + { + "id": "6928", + "vertex_ids": [ + "6864", + "6834" + ], + "face_ids": [ + "6960", + "6971" + ] + }, + { + "id": "6929", + "vertex_ids": [ + "6865", + "6839" + ], + "face_ids": [ + "6961", + "6972" + ] + }, + { + "id": "6930", + "vertex_ids": [ + "6851", + "6866" + ], + "face_ids": [ + "6972", + "6974" + ] + }, + { + "id": "6931", + "vertex_ids": [ + "6866", + "6860" + ], + "face_ids": [ + "6961", + "6974" + ] + }, + { + "id": "6932", + "vertex_ids": [ + "6866", + "6865" + ], + "face_ids": [ + "6961", + "6972" + ] + }, + { + "id": "6933", + "vertex_ids": [ + "6839", + "6863" + ], + "face_ids": [ + "6971", + "6972" + ] + }, + { + "id": "6934", + "vertex_ids": [ + "6867", + "6868" + ], + "face_ids": [ + "6973", + "6976" + ] + }, + { + "id": "6935", + "vertex_ids": [ + "6859", + "6869" + ], + "face_ids": [ + "6961", + "6973" + ] + }, + { + "id": "6936", + "vertex_ids": [ + "6869", + "6870" + ], + "face_ids": [ + "6961", + "6976" + ] + }, + { + "id": "6937", + "vertex_ids": [ + "6869", + "6867" + ], + "face_ids": [ + "6973", + "6976" + ] + }, + { + "id": "6938", + "vertex_ids": [ + "6854", + "6871" + ], + "face_ids": [ + "6961", + "6969" + ] + }, + { + "id": "6939", + "vertex_ids": [ + "6871", + "6872" + ], + "face_ids": [ + "6961", + "6969" + ] + }, + { + "id": "6940", + "vertex_ids": [ + "6872", + "6873" + ], + "face_ids": [ + "6969", + "6970" + ] + }, + { + "id": "6941", + "vertex_ids": [ + "6857", + "6873" + ], + "face_ids": [ + "6969", + "6970" + ] + }, + { + "id": "6942", + "vertex_ids": [ + "6874", + "6875" + ], + "face_ids": [ + "6961", + "6974" + ] + }, + { + "id": "6943", + "vertex_ids": [ + "6875", + "6861" + ], + "face_ids": [ + "6961", + "6974" + ] + }, + { + "id": "6944", + "vertex_ids": [ + "6876", + "6877" + ], + "face_ids": [ + "6974", + "6975" + ] + }, + { + "id": "6945", + "vertex_ids": [ + "6877", + "6878" + ], + "face_ids": [ + "6967", + "6974" + ] + }, + { + "id": "6946", + "vertex_ids": [ + "6878", + "6879" + ], + "face_ids": [ + "6967", + "6974" + ] + }, + { + "id": "6947", + "vertex_ids": [ + "6874", + "6879" + ], + "face_ids": [ + "6974", + "6976" + ] + }, + { + "id": "6948", + "vertex_ids": [ + "6876", + "6850" + ], + "face_ids": [ + "6974", + "6975" + ] + }, + { + "id": "6949", + "vertex_ids": [ + "6847", + "6880" + ], + "face_ids": [ + "6965", + "6975" + ] + }, + { + "id": "6950", + "vertex_ids": [ + "6880", + "6852" + ], + "face_ids": [ + "6965", + "6967" + ] + }, + { + "id": "6951", + "vertex_ids": [ + "6880", + "6877" + ], + "face_ids": [ + "6967", + "6975" + ] + }, + { + "id": "6952", + "vertex_ids": [ + "6849", + "6847" + ], + "face_ids": [ + "6975" + ] + }, + { + "id": "6953", + "vertex_ids": [ + "6870", + "6874" + ], + "face_ids": [ + "6961", + "6976" + ] + }, + { + "id": "6954", + "vertex_ids": [ + "6872", + "6859" + ], + "face_ids": [ + "6961", + "6970" + ] + }, + { + "id": "6955", + "vertex_ids": [ + "6881", + "6882" + ], + "face_ids": [ + "6967", + "6973" + ] + }, + { + "id": "6956", + "vertex_ids": [ + "6882", + "6868" + ], + "face_ids": [ + "6973", + "6976" + ] + }, + { + "id": "6957", + "vertex_ids": [ + "6844", + "6881" + ], + "face_ids": [ + "6967", + "6973" + ] + }, + { + "id": "6958", + "vertex_ids": [ + "6882", + "6879" + ], + "face_ids": [ + "6967", + "6976" + ] + } + ], + "faces": [ + { + "id": "6959", + "edge_ids": [ + "6890", + "6891", + "6886", + "6884", + "6883", + "6885", + "6892" + ], + "edge_order": [ + 1, + 1, + 1, + 0, + 0, + 0, + 1 + ] + }, + { + "id": "6960", + "edge_ids": [ + "6893", + "6927", + "6928", + "6889", + "6899", + "6900", + "6897", + "6894" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "id": "6961", + "edge_ids": [ + "6915", + "6938", + "6939", + "6954", + "6935", + "6936", + "6953", + "6942", + "6943", + "6923", + "6931", + "6932", + "6929", + "6893", + "6894", + "6886", + "6891", + "6890" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "id": "6962", + "edge_ids": [ + "6884", + "6897", + "6896", + "6898" + ], + "edge_order": [ + 1, + 0, + 0, + 1 + ] + }, + { + "id": "6963", + "edge_ids": [ + "6896", + "6900", + "6899", + "6895" + ], + "edge_order": [ + 1, + 0, + 0, + 1 + ] + }, + { + "id": "6964", + "edge_ids": [ + "6888", + "6912", + "6913", + "6904", + "6905", + "6887" + ], + "edge_order": [ + 1, + 1, + 1, + 0, + 1, + 1 + ] + }, + { + "id": "6965", + "edge_ids": [ + "6906", + "6949", + "6950", + "6912" + ], + "edge_order": [ + 0, + 1, + 1, + 0 + ] + }, + { + "id": "6966", + "edge_ids": [ + "6907", + "6911", + "6910", + "6909", + "6908" + ], + "edge_order": [ + 0, + 1, + 1, + 0, + 0 + ] + }, + { + "id": "6967", + "edge_ids": [ + "6913", + "6950", + "6951", + "6945", + "6946", + "6958", + "6955", + "6957", + "6902", + "6903", + "6904" + ], + "edge_order": [ + 0, + 0, + 1, + 1, + 1, + 0, + 0, + 0, + 1, + 1, + 1 + ] + }, + { + "id": "6968", + "edge_ids": [ + "6917", + "6914", + "6915", + "6892", + "6916" + ], + "edge_order": [ + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "id": "6969", + "edge_ids": [ + "6921", + "6918", + "6941", + "6940", + "6939", + "6938", + "6914", + "6917", + "6920" + ], + "edge_order": [ + 0, + 0, + 1, + 0, + 0, + 0, + 1, + 1, + 0 + ] + }, + { + "id": "6970", + "edge_ids": [ + "6922", + "6954", + "6940", + "6941", + "6918", + "6919" + ], + "edge_order": [ + 0, + 0, + 1, + 0, + 1, + 1 + ] + }, + { + "id": "6971", + "edge_ids": [ + "6926", + "6925", + "6928", + "6927", + "6933" + ], + "edge_order": [ + 1, + 1, + 0, + 0, + 1 + ] + }, + { + "id": "6972", + "edge_ids": [ + "6929", + "6932", + "6930", + "6909", + "6924", + "6933" + ], + "edge_order": [ + 0, + 0, + 0, + 1, + 1, + 0 + ] + }, + { + "id": "6973", + "edge_ids": [ + "6955", + "6956", + "6934", + "6937", + "6935", + "6922", + "6901", + "6957" + ], + "edge_order": [ + 1, + 1, + 0, + 0, + 0, + 1, + 1, + 1 + ] + }, + { + "id": "6974", + "edge_ids": [ + "6942", + "6947", + "6946", + "6945", + "6944", + "6948", + "6908", + "6930", + "6931", + "6923", + "6943" + ], + "edge_order": [ + 0, + 1, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 0, + 0 + ] + }, + { + "id": "6975", + "edge_ids": [ + "6907", + "6952", + "6949", + "6951", + "6944", + "6948" + ], + "edge_order": [ + 0, + 1, + 1, + 1, + 0, + 1 + ] + }, + { + "id": "6976", + "edge_ids": [ + "6947", + "6953", + "6936", + "6937", + "6934", + "6956", + "6958" + ], + "edge_order": [ + 0, + 0, + 0, + 1, + 1, + 0, + 1 + ] + } + ] + }, + "spaces": [ + { + "id": "6981", + "handle": null, + "name": "Space 4-1", + "face_id": "6959", + "building_unit_id": null, + "thermal_zone_id": "tz_21", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1932.0249999999979 + }, + { + "id": "6982", + "handle": null, + "name": "Space 4-2", + "face_id": "6960", + "building_unit_id": null, + "thermal_zone_id": "tz_22", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 3328.925000000003 + }, + { + "id": "6983", + "handle": null, + "name": "Space 4-3", + "face_id": "6961", + "building_unit_id": null, + "thermal_zone_id": "tz_23", + "space_type_id": "1234", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1656.0945999999952 + }, + { + "id": "6984", + "handle": null, + "name": "Space 4-4", + "face_id": "6962", + "building_unit_id": null, + "thermal_zone_id": "tz_24", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1015.625 + }, + { + "id": "6985", + "handle": null, + "name": "Space 4-5", + "face_id": "6963", + "building_unit_id": null, + "thermal_zone_id": "tz_25", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1237.5 + }, + { + "id": "6986", + "handle": null, + "name": "Space 4-6", + "face_id": "6964", + "building_unit_id": null, + "thermal_zone_id": "tz_26", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1148.75 + }, + { + "id": "6987", + "handle": null, + "name": "Space 4-7", + "face_id": "6965", + "building_unit_id": null, + "thermal_zone_id": "tz_27", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 578.39095 + }, + { + "id": "6988", + "handle": null, + "name": "Space 4-8", + "face_id": "6966", + "building_unit_id": null, + "thermal_zone_id": "tz_28", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1193.7000000000008 + }, + { + "id": "6989", + "handle": null, + "name": "Space 4-9", + "face_id": "6967", + "building_unit_id": null, + "thermal_zone_id": "tz_29", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1111.4384 + }, + { + "id": "6990", + "handle": null, + "name": "Space 4-10", + "face_id": "6968", + "building_unit_id": null, + "thermal_zone_id": "tz_30", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1736.1500000000015 + }, + { + "id": "6991", + "handle": null, + "name": "Space 4-11", + "face_id": "6969", + "building_unit_id": null, + "thermal_zone_id": "tz_31", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1637.4499999999999 + }, + { + "id": "6992", + "handle": null, + "name": "Space 4-12", + "face_id": "6970", + "building_unit_id": null, + "thermal_zone_id": "tz_32", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1113.8282499999992 + }, + { + "id": "6993", + "handle": null, + "name": "Space 4-13", + "face_id": "6971", + "building_unit_id": null, + "thermal_zone_id": "tz_33", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 530.4124999999999 + }, + { + "id": "6994", + "handle": null, + "name": "Space 4-14", + "face_id": "6972", + "building_unit_id": null, + "thermal_zone_id": "tz_34", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 603.2000000000003 + }, + { + "id": "6995", + "handle": null, + "name": "Space 4-15", + "face_id": "6973", + "building_unit_id": null, + "thermal_zone_id": "tz_35", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1953.9164999999976 + }, + { + "id": "6996", + "handle": null, + "name": "Space 4-16", + "face_id": "6974", + "building_unit_id": null, + "thermal_zone_id": "tz_36", + "space_type_id": "1234", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 657.2041499999984 + }, + { + "id": "6997", + "handle": null, + "name": "Space 4-17", + "face_id": "6975", + "building_unit_id": null, + "thermal_zone_id": "tz_37", + "space_type_id": "1234", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 167.03750000000026 + }, + { + "id": "6998", + "handle": null, + "name": "Space 4-18", + "face_id": "6976", + "building_unit_id": null, + "thermal_zone_id": "tz_38", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1009.5219000000016 + } + ], + "shading": [], + "windows": [], + "doors": [], + "construction_lines": [], + "area": 22611.169749999986 + }, + { + "id": "7152", + "handle": null, + "name": "Story 5", + "image_id": null, + "below_floor_plenum_height": 0, + "floor_to_ceiling_height": 10.5, + "above_ceiling_plenum_height": 0, + "multiplier": 1, + "color": "#999933", + "geometry": { + "id": "7153", + "vertices": [ + { + "id": "6999", + "x": -507.5, + "y": -32.5, + "edge_ids": [ + "7058", + "7060" + ] + }, + { + "id": "7000", + "x": -450, + "y": -2.5, + "edge_ids": [ + "7058", + "7059", + "7073" + ] + }, + { + "id": "7001", + "x": -440, + "y": -27.5, + "edge_ids": [ + "7059", + "7061", + "7069", + "7072" + ] + }, + { + "id": "7002", + "x": -430, + "y": -62.5, + "edge_ids": [ + "7060", + "7067", + "7091" + ] + }, + { + "id": "7003", + "x": -447.19, + "y": -30.58, + "edge_ids": [ + "7061", + "7066" + ] + }, + { + "id": "7004", + "x": -257.5, + "y": -37.5, + "edge_ids": [ + "7077", + "7078" + ] + }, + { + "id": "7005", + "x": -250, + "y": -65, + "edge_ids": [ + "7062", + "7080" + ] + }, + { + "id": "7006", + "x": -207.5, + "y": -35, + "edge_ids": [ + "7062", + "7063" + ] + }, + { + "id": "7007", + "x": -207.5, + "y": -5, + "edge_ids": [ + "7063", + "7081", + "7087" + ] + }, + { + "id": "7008", + "x": -225, + "y": 47.5, + "edge_ids": [ + "7084", + "7085", + "7099" + ] + }, + { + "id": "7009", + "x": -265, + "y": 77.5, + "edge_ids": [ + "7064", + "7100", + "7103" + ] + }, + { + "id": "7010", + "x": -385, + "y": 32.5, + "edge_ids": [ + "7064", + "7070", + "7074" + ] + }, + { + "id": "7011", + "x": -442.19, + "y": -39.86, + "edge_ids": [ + "7065", + "7067", + "7090" + ] + }, + { + "id": "7012", + "x": -442.5, + "y": -40, + "edge_ids": [ + "7065", + "7066" + ] + }, + { + "id": "7013", + "x": -307.06, + "y": 31.4, + "edge_ids": [ + "7068", + "7069" + ] + }, + { + "id": "7014", + "x": -265, + "y": 50, + "edge_ids": [ + "7068", + "7102", + "7104", + "7108" + ] + }, + { + "id": "7015", + "x": -417.5, + "y": 15, + "edge_ids": [ + "7070", + "7071", + "7073" + ] + }, + { + "id": "7016", + "x": -407.5, + "y": -12.5, + "edge_ids": [ + "7071", + "7072", + "7075" + ] + }, + { + "id": "7017", + "x": -367.5, + "y": 5, + "edge_ids": [ + "7074", + "7075" + ] + }, + { + "id": "7018", + "x": -316.7, + "y": -27.55, + "edge_ids": [ + "7076", + "7094", + "7097" + ] + }, + { + "id": "7019", + "x": -279.5, + "y": -29.74, + "edge_ids": [ + "7076", + "7077", + "7132" + ] + }, + { + "id": "7020", + "x": -254.81, + "y": -47.38, + "edge_ids": [ + "7078", + "7079", + "7080" + ] + }, + { + "id": "7021", + "x": -227.5, + "y": -30, + "edge_ids": [ + "7079", + "7088" + ] + }, + { + "id": "7022", + "x": -215, + "y": 15, + "edge_ids": [ + "7081", + "7124", + "7127" + ] + }, + { + "id": "7023", + "x": -215, + "y": 20, + "edge_ids": [ + "7085", + "7086" + ] + }, + { + "id": "7024", + "x": -215.68, + "y": 19.55, + "edge_ids": [ + "7082", + "7086", + "7127" + ] + }, + { + "id": "7025", + "x": -245, + "y": 0, + "edge_ids": [ + "7082", + "7083", + "7123" + ] + }, + { + "id": "7026", + "x": -260, + "y": 32.5, + "edge_ids": [ + "7083", + "7084", + "7105" + ] + }, + { + "id": "7027", + "x": -232.14, + "y": -19.79, + "edge_ids": [ + "7087", + "7088", + "7125" + ] + }, + { + "id": "7028", + "x": -380, + "y": -47.5, + "edge_ids": [ + "7091", + "7092", + "7095" + ] + }, + { + "id": "7029", + "x": -382.5, + "y": -12.5, + "edge_ids": [ + "7089", + "7090", + "7113" + ] + }, + { + "id": "7030", + "x": -380.06, + "y": -46.7, + "edge_ids": [ + "7089", + "7092" + ] + }, + { + "id": "7031", + "x": -340, + "y": -35, + "edge_ids": [ + "7095", + "7096" + ] + }, + { + "id": "7032", + "x": -342.5, + "y": 5, + "edge_ids": [ + "7093", + "7116" + ] + }, + { + "id": "7033", + "x": -340.03, + "y": -34.6, + "edge_ids": [ + "7093", + "7094", + "7096" + ] + }, + { + "id": "7034", + "x": -315, + "y": 17.5, + "edge_ids": [ + "7097", + "7110", + "7129" + ] + }, + { + "id": "7035", + "x": -271.62, + "y": 38.32, + "edge_ids": [ + "7098", + "7106" + ] + }, + { + "id": "7036", + "x": -272.5, + "y": 40, + "edge_ids": [ + "7098", + "7118" + ] + }, + { + "id": "7037", + "x": -242.5, + "y": 65, + "edge_ids": [ + "7100", + "7101" + ] + }, + { + "id": "7038", + "x": -242.5, + "y": 60.63, + "edge_ids": [ + "7099", + "7101", + "7108" + ] + }, + { + "id": "7039", + "x": -277.5, + "y": 72.5, + "edge_ids": [ + "7102", + "7103" + ] + }, + { + "id": "7040", + "x": -265, + "y": 42.5, + "edge_ids": [ + "7104", + "7107" + ] + }, + { + "id": "7041", + "x": -264.53, + "y": 41.57, + "edge_ids": [ + "7105", + "7106", + "7107" + ] + }, + { + "id": "7042", + "x": -292.5, + "y": 17.5, + "edge_ids": [ + "7109", + "7112" + ] + }, + { + "id": "7043", + "x": -285, + "y": 17.5, + "edge_ids": [ + "7109", + "7131" + ] + }, + { + "id": "7044", + "x": -310, + "y": 17.5, + "edge_ids": [ + "7110", + "7111", + "7112" + ] + }, + { + "id": "7045", + "x": -310, + "y": 22.22, + "edge_ids": [ + "7111", + "7128" + ] + }, + { + "id": "7046", + "x": -382.5, + "y": -10, + "edge_ids": [ + "7113", + "7114" + ] + }, + { + "id": "7047", + "x": -342.5, + "y": 7.5, + "edge_ids": [ + "7114", + "7115", + "7129" + ] + }, + { + "id": "7048", + "x": -342.5, + "y": 5.28, + "edge_ids": [ + "7115", + "7116" + ] + }, + { + "id": "7049", + "x": -279.4, + "y": 36.55, + "edge_ids": [ + "7117", + "7122", + "7128" + ] + }, + { + "id": "7050", + "x": -280, + "y": 37.5, + "edge_ids": [ + "7117", + "7118" + ] + }, + { + "id": "7051", + "x": -242.81, + "y": -4.38, + "edge_ids": [ + "7119", + "7123" + ] + }, + { + "id": "7052", + "x": -242.5, + "y": -5, + "edge_ids": [ + "7119", + "7120", + "7126" + ] + }, + { + "id": "7053", + "x": -250, + "y": -10, + "edge_ids": [ + "7120", + "7121" + ] + }, + { + "id": "7054", + "x": -250.33, + "y": -9.47, + "edge_ids": [ + "7121", + "7122", + "7133" + ] + }, + { + "id": "7055", + "x": -239.77, + "y": -3.01, + "edge_ids": [ + "7124", + "7125", + "7126" + ] + }, + { + "id": "7056", + "x": -270, + "y": -20, + "edge_ids": [ + "7130", + "7132" + ] + }, + { + "id": "7057", + "x": -263.22, + "y": -16.37, + "edge_ids": [ + "7130", + "7131", + "7133" + ] + } + ], + "edges": [ + { + "id": "7058", + "vertex_ids": [ + "6999", + "7000" + ], + "face_ids": [ + "7134" + ] + }, + { + "id": "7059", + "vertex_ids": [ + "7000", + "7001" + ], + "face_ids": [ + "7134", + "7137" + ] + }, + { + "id": "7060", + "vertex_ids": [ + "7002", + "6999" + ], + "face_ids": [ + "7134" + ] + }, + { + "id": "7061", + "vertex_ids": [ + "7003", + "7001" + ], + "face_ids": [ + "7134", + "7136" + ] + }, + { + "id": "7062", + "vertex_ids": [ + "7005", + "7006" + ], + "face_ids": [ + "7139" + ] + }, + { + "id": "7063", + "vertex_ids": [ + "7006", + "7007" + ], + "face_ids": [ + "7139" + ] + }, + { + "id": "7064", + "vertex_ids": [ + "7009", + "7010" + ], + "face_ids": [ + "7135" + ] + }, + { + "id": "7065", + "vertex_ids": [ + "7011", + "7012" + ], + "face_ids": [ + "7134", + "7136" + ] + }, + { + "id": "7066", + "vertex_ids": [ + "7012", + "7003" + ], + "face_ids": [ + "7134", + "7136" + ] + }, + { + "id": "7067", + "vertex_ids": [ + "7002", + "7011" + ], + "face_ids": [ + "7134", + "7143" + ] + }, + { + "id": "7068", + "vertex_ids": [ + "7013", + "7014" + ], + "face_ids": [ + "7135", + "7136" + ] + }, + { + "id": "7069", + "vertex_ids": [ + "7001", + "7013" + ], + "face_ids": [ + "7135", + "7136" + ] + }, + { + "id": "7070", + "vertex_ids": [ + "7010", + "7015" + ], + "face_ids": [ + "7138" + ] + }, + { + "id": "7071", + "vertex_ids": [ + "7015", + "7016" + ], + "face_ids": [ + "7137", + "7138" + ] + }, + { + "id": "7072", + "vertex_ids": [ + "7016", + "7001" + ], + "face_ids": [ + "7135", + "7137" + ] + }, + { + "id": "7073", + "vertex_ids": [ + "7015", + "7000" + ], + "face_ids": [ + "7137" + ] + }, + { + "id": "7074", + "vertex_ids": [ + "7010", + "7017" + ], + "face_ids": [ + "7135", + "7138" + ] + }, + { + "id": "7075", + "vertex_ids": [ + "7017", + "7016" + ], + "face_ids": [ + "7135", + "7138" + ] + }, + { + "id": "7076", + "vertex_ids": [ + "7018", + "7019" + ], + "face_ids": [ + "7148" + ] + }, + { + "id": "7077", + "vertex_ids": [ + "7019", + "7004" + ], + "face_ids": [ + "7142" + ] + }, + { + "id": "7078", + "vertex_ids": [ + "7004", + "7020" + ], + "face_ids": [ + "7142" + ] + }, + { + "id": "7079", + "vertex_ids": [ + "7020", + "7021" + ], + "face_ids": [ + "7139", + "7142" + ] + }, + { + "id": "7080", + "vertex_ids": [ + "7020", + "7005" + ], + "face_ids": [ + "7139" + ] + }, + { + "id": "7081", + "vertex_ids": [ + "7022", + "7007" + ], + "face_ids": [ + "7140" + ] + }, + { + "id": "7082", + "vertex_ids": [ + "7024", + "7025" + ], + "face_ids": [ + "7141", + "7150" + ] + }, + { + "id": "7083", + "vertex_ids": [ + "7025", + "7026" + ], + "face_ids": [ + "7141", + "7149" + ] + }, + { + "id": "7084", + "vertex_ids": [ + "7026", + "7008" + ], + "face_ids": [ + "7141", + "7147" + ] + }, + { + "id": "7085", + "vertex_ids": [ + "7023", + "7008" + ], + "face_ids": [ + "7141" + ] + }, + { + "id": "7086", + "vertex_ids": [ + "7024", + "7023" + ], + "face_ids": [ + "7141" + ] + }, + { + "id": "7087", + "vertex_ids": [ + "7007", + "7027" + ], + "face_ids": [ + "7139", + "7140" + ] + }, + { + "id": "7088", + "vertex_ids": [ + "7027", + "7021" + ], + "face_ids": [ + "7139", + "7142" + ] + }, + { + "id": "7089", + "vertex_ids": [ + "7029", + "7030" + ], + "face_ids": [ + "7143", + "7144" + ] + }, + { + "id": "7090", + "vertex_ids": [ + "7011", + "7029" + ], + "face_ids": [ + "7136", + "7143" + ] + }, + { + "id": "7091", + "vertex_ids": [ + "7028", + "7002" + ], + "face_ids": [ + "7143" + ] + }, + { + "id": "7092", + "vertex_ids": [ + "7030", + "7028" + ], + "face_ids": [ + "7143", + "7144" + ] + }, + { + "id": "7093", + "vertex_ids": [ + "7032", + "7033" + ], + "face_ids": [ + "7144", + "7145" + ] + }, + { + "id": "7094", + "vertex_ids": [ + "7033", + "7018" + ], + "face_ids": [ + "7145" + ] + }, + { + "id": "7095", + "vertex_ids": [ + "7031", + "7028" + ], + "face_ids": [ + "7144" + ] + }, + { + "id": "7096", + "vertex_ids": [ + "7033", + "7031" + ], + "face_ids": [ + "7144" + ] + }, + { + "id": "7097", + "vertex_ids": [ + "7034", + "7018" + ], + "face_ids": [ + "7145", + "7148" + ] + }, + { + "id": "7098", + "vertex_ids": [ + "7036", + "7035" + ], + "face_ids": [ + "7136", + "7149" + ] + }, + { + "id": "7099", + "vertex_ids": [ + "7008", + "7038" + ], + "face_ids": [ + "7147" + ] + }, + { + "id": "7100", + "vertex_ids": [ + "7037", + "7009" + ], + "face_ids": [ + "7146" + ] + }, + { + "id": "7101", + "vertex_ids": [ + "7038", + "7037" + ], + "face_ids": [ + "7146" + ] + }, + { + "id": "7102", + "vertex_ids": [ + "7014", + "7039" + ], + "face_ids": [ + "7135", + "7146" + ] + }, + { + "id": "7103", + "vertex_ids": [ + "7039", + "7009" + ], + "face_ids": [ + "7135", + "7146" + ] + }, + { + "id": "7104", + "vertex_ids": [ + "7040", + "7014" + ], + "face_ids": [ + "7136", + "7147" + ] + }, + { + "id": "7105", + "vertex_ids": [ + "7026", + "7041" + ], + "face_ids": [ + "7147", + "7149" + ] + }, + { + "id": "7106", + "vertex_ids": [ + "7041", + "7035" + ], + "face_ids": [ + "7136", + "7149" + ] + }, + { + "id": "7107", + "vertex_ids": [ + "7041", + "7040" + ], + "face_ids": [ + "7136", + "7147" + ] + }, + { + "id": "7108", + "vertex_ids": [ + "7014", + "7038" + ], + "face_ids": [ + "7146", + "7147" + ] + }, + { + "id": "7109", + "vertex_ids": [ + "7042", + "7043" + ], + "face_ids": [ + "7148", + "7151" + ] + }, + { + "id": "7110", + "vertex_ids": [ + "7034", + "7044" + ], + "face_ids": [ + "7136", + "7148" + ] + }, + { + "id": "7111", + "vertex_ids": [ + "7044", + "7045" + ], + "face_ids": [ + "7136", + "7151" + ] + }, + { + "id": "7112", + "vertex_ids": [ + "7044", + "7042" + ], + "face_ids": [ + "7148", + "7151" + ] + }, + { + "id": "7113", + "vertex_ids": [ + "7029", + "7046" + ], + "face_ids": [ + "7136", + "7144" + ] + }, + { + "id": "7114", + "vertex_ids": [ + "7046", + "7047" + ], + "face_ids": [ + "7136", + "7144" + ] + }, + { + "id": "7115", + "vertex_ids": [ + "7047", + "7048" + ], + "face_ids": [ + "7144", + "7145" + ] + }, + { + "id": "7116", + "vertex_ids": [ + "7032", + "7048" + ], + "face_ids": [ + "7144", + "7145" + ] + }, + { + "id": "7117", + "vertex_ids": [ + "7049", + "7050" + ], + "face_ids": [ + "7136", + "7149" + ] + }, + { + "id": "7118", + "vertex_ids": [ + "7050", + "7036" + ], + "face_ids": [ + "7136", + "7149" + ] + }, + { + "id": "7119", + "vertex_ids": [ + "7051", + "7052" + ], + "face_ids": [ + "7149", + "7150" + ] + }, + { + "id": "7120", + "vertex_ids": [ + "7052", + "7053" + ], + "face_ids": [ + "7142", + "7149" + ] + }, + { + "id": "7121", + "vertex_ids": [ + "7053", + "7054" + ], + "face_ids": [ + "7142", + "7149" + ] + }, + { + "id": "7122", + "vertex_ids": [ + "7049", + "7054" + ], + "face_ids": [ + "7149", + "7151" + ] + }, + { + "id": "7123", + "vertex_ids": [ + "7051", + "7025" + ], + "face_ids": [ + "7149", + "7150" + ] + }, + { + "id": "7124", + "vertex_ids": [ + "7022", + "7055" + ], + "face_ids": [ + "7140", + "7150" + ] + }, + { + "id": "7125", + "vertex_ids": [ + "7055", + "7027" + ], + "face_ids": [ + "7140", + "7142" + ] + }, + { + "id": "7126", + "vertex_ids": [ + "7055", + "7052" + ], + "face_ids": [ + "7142", + "7150" + ] + }, + { + "id": "7127", + "vertex_ids": [ + "7024", + "7022" + ], + "face_ids": [ + "7150" + ] + }, + { + "id": "7128", + "vertex_ids": [ + "7045", + "7049" + ], + "face_ids": [ + "7136", + "7151" + ] + }, + { + "id": "7129", + "vertex_ids": [ + "7047", + "7034" + ], + "face_ids": [ + "7136", + "7145" + ] + }, + { + "id": "7130", + "vertex_ids": [ + "7056", + "7057" + ], + "face_ids": [ + "7142", + "7148" + ] + }, + { + "id": "7131", + "vertex_ids": [ + "7057", + "7043" + ], + "face_ids": [ + "7148", + "7151" + ] + }, + { + "id": "7132", + "vertex_ids": [ + "7019", + "7056" + ], + "face_ids": [ + "7142", + "7148" + ] + }, + { + "id": "7133", + "vertex_ids": [ + "7057", + "7054" + ], + "face_ids": [ + "7142", + "7151" + ] + } + ], + "faces": [ + { + "id": "7134", + "edge_ids": [ + "7065", + "7066", + "7061", + "7059", + "7058", + "7060", + "7067" + ], + "edge_order": [ + 1, + 1, + 1, + 0, + 0, + 0, + 1 + ] + }, + { + "id": "7135", + "edge_ids": [ + "7068", + "7102", + "7103", + "7064", + "7074", + "7075", + "7072", + "7069" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "id": "7136", + "edge_ids": [ + "7090", + "7113", + "7114", + "7129", + "7110", + "7111", + "7128", + "7117", + "7118", + "7098", + "7106", + "7107", + "7104", + "7068", + "7069", + "7061", + "7066", + "7065" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "id": "7137", + "edge_ids": [ + "7059", + "7072", + "7071", + "7073" + ], + "edge_order": [ + 1, + 0, + 0, + 1 + ] + }, + { + "id": "7138", + "edge_ids": [ + "7071", + "7075", + "7074", + "7070" + ], + "edge_order": [ + 1, + 0, + 0, + 1 + ] + }, + { + "id": "7139", + "edge_ids": [ + "7063", + "7087", + "7088", + "7079", + "7080", + "7062" + ], + "edge_order": [ + 1, + 1, + 1, + 0, + 1, + 1 + ] + }, + { + "id": "7140", + "edge_ids": [ + "7081", + "7124", + "7125", + "7087" + ], + "edge_order": [ + 0, + 1, + 1, + 0 + ] + }, + { + "id": "7141", + "edge_ids": [ + "7082", + "7086", + "7085", + "7084", + "7083" + ], + "edge_order": [ + 0, + 1, + 1, + 0, + 0 + ] + }, + { + "id": "7142", + "edge_ids": [ + "7088", + "7125", + "7126", + "7120", + "7121", + "7133", + "7130", + "7132", + "7077", + "7078", + "7079" + ], + "edge_order": [ + 0, + 0, + 1, + 1, + 1, + 0, + 0, + 0, + 1, + 1, + 1 + ] + }, + { + "id": "7143", + "edge_ids": [ + "7092", + "7089", + "7090", + "7067", + "7091" + ], + "edge_order": [ + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "id": "7144", + "edge_ids": [ + "7096", + "7093", + "7116", + "7115", + "7114", + "7113", + "7089", + "7092", + "7095" + ], + "edge_order": [ + 0, + 0, + 1, + 0, + 0, + 0, + 1, + 1, + 0 + ] + }, + { + "id": "7145", + "edge_ids": [ + "7097", + "7129", + "7115", + "7116", + "7093", + "7094" + ], + "edge_order": [ + 0, + 0, + 1, + 0, + 1, + 1 + ] + }, + { + "id": "7146", + "edge_ids": [ + "7101", + "7100", + "7103", + "7102", + "7108" + ], + "edge_order": [ + 1, + 1, + 0, + 0, + 1 + ] + }, + { + "id": "7147", + "edge_ids": [ + "7104", + "7107", + "7105", + "7084", + "7099", + "7108" + ], + "edge_order": [ + 0, + 0, + 0, + 1, + 1, + 0 + ] + }, + { + "id": "7148", + "edge_ids": [ + "7130", + "7131", + "7109", + "7112", + "7110", + "7097", + "7076", + "7132" + ], + "edge_order": [ + 1, + 1, + 0, + 0, + 0, + 1, + 1, + 1 + ] + }, + { + "id": "7149", + "edge_ids": [ + "7117", + "7122", + "7121", + "7120", + "7119", + "7123", + "7083", + "7105", + "7106", + "7098", + "7118" + ], + "edge_order": [ + 0, + 1, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 0, + 0 + ] + }, + { + "id": "7150", + "edge_ids": [ + "7082", + "7127", + "7124", + "7126", + "7119", + "7123" + ], + "edge_order": [ + 0, + 1, + 1, + 1, + 0, + 1 + ] + }, + { + "id": "7151", + "edge_ids": [ + "7122", + "7128", + "7111", + "7112", + "7109", + "7131", + "7133" + ], + "edge_order": [ + 0, + 0, + 0, + 1, + 1, + 0, + 1 + ] + } + ] + }, + "spaces": [ + { + "id": "7156", + "handle": null, + "name": "Space 5-1", + "face_id": "7134", + "building_unit_id": null, + "thermal_zone_id": "tz_39", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1932.0249999999979 + }, + { + "id": "7157", + "handle": null, + "name": "Space 5-2", + "face_id": "7135", + "building_unit_id": null, + "thermal_zone_id": "tz_40", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 3328.925000000003 + }, + { + "id": "7158", + "handle": null, + "name": "Space 5-3", + "face_id": "7136", + "building_unit_id": null, + "thermal_zone_id": "tz_41", + "space_type_id": "1234", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1656.0945999999952 + }, + { + "id": "7159", + "handle": null, + "name": "Space 5-4", + "face_id": "7137", + "building_unit_id": null, + "thermal_zone_id": "tz_42", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1015.625 + }, + { + "id": "7160", + "handle": null, + "name": "Space 5-5", + "face_id": "7138", + "building_unit_id": null, + "thermal_zone_id": "tz_43", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1237.5 + }, + { + "id": "7161", + "handle": null, + "name": "Space 5-6", + "face_id": "7139", + "building_unit_id": null, + "thermal_zone_id": "tz_44", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1148.75 + }, + { + "id": "7162", + "handle": null, + "name": "Space 5-7", + "face_id": "7140", + "building_unit_id": null, + "thermal_zone_id": "tz_45", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 578.39095 + }, + { + "id": "7163", + "handle": null, + "name": "Space 5-8", + "face_id": "7141", + "building_unit_id": null, + "thermal_zone_id": "tz_46", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1193.7000000000008 + }, + { + "id": "7164", + "handle": null, + "name": "Space 5-9", + "face_id": "7142", + "building_unit_id": null, + "thermal_zone_id": "tz_47", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1111.4384 + }, + { + "id": "7165", + "handle": null, + "name": "Space 5-10", + "face_id": "7143", + "building_unit_id": null, + "thermal_zone_id": "tz_48", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1736.1500000000015 + }, + { + "id": "7166", + "handle": null, + "name": "Space 5-11", + "face_id": "7144", + "building_unit_id": null, + "thermal_zone_id": "tz_49", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1637.4499999999999 + }, + { + "id": "7167", + "handle": null, + "name": "Space 5-12", + "face_id": "7145", + "building_unit_id": null, + "thermal_zone_id": "tz_50", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1113.8282499999992 + }, + { + "id": "7168", + "handle": null, + "name": "Space 5-13", + "face_id": "7146", + "building_unit_id": null, + "thermal_zone_id": "tz_51", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 530.4124999999999 + }, + { + "id": "7169", + "handle": null, + "name": "Space 5-14", + "face_id": "7147", + "building_unit_id": null, + "thermal_zone_id": "tz_52", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 603.2000000000003 + }, + { + "id": "7170", + "handle": null, + "name": "Space 5-15", + "face_id": "7148", + "building_unit_id": null, + "thermal_zone_id": "tz_53", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1953.9164999999976 + }, + { + "id": "7171", + "handle": null, + "name": "Space 5-16", + "face_id": "7149", + "building_unit_id": null, + "thermal_zone_id": "tz_54", + "space_type_id": "1234", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 657.2041499999984 + }, + { + "id": "7172", + "handle": null, + "name": "Space 5-17", + "face_id": "7150", + "building_unit_id": null, + "thermal_zone_id": "tz_55", + "space_type_id": "1234", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 167.03750000000026 + }, + { + "id": "7173", + "handle": null, + "name": "Space 5-18", + "face_id": "7151", + "building_unit_id": null, + "thermal_zone_id": "tz_56", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1009.5219000000016 + } + ], + "shading": [], + "windows": [], + "doors": [], + "construction_lines": [], + "area": 22611.169749999986 + }, + { + "id": "7327", + "handle": null, + "name": "Story 6", + "image_id": null, + "below_floor_plenum_height": 0, + "floor_to_ceiling_height": 10.5, + "above_ceiling_plenum_height": 0, + "multiplier": 1, + "color": "#ddcc77", + "geometry": { + "id": "7328", + "vertices": [ + { + "id": "7174", + "x": -507.5, + "y": -32.5, + "edge_ids": [ + "7233", + "7235" + ] + }, + { + "id": "7175", + "x": -450, + "y": -2.5, + "edge_ids": [ + "7233", + "7234", + "7248" + ] + }, + { + "id": "7176", + "x": -440, + "y": -27.5, + "edge_ids": [ + "7234", + "7236", + "7244", + "7247" + ] + }, + { + "id": "7177", + "x": -430, + "y": -62.5, + "edge_ids": [ + "7235", + "7242", + "7266" + ] + }, + { + "id": "7178", + "x": -447.19, + "y": -30.58, + "edge_ids": [ + "7236", + "7241" + ] + }, + { + "id": "7179", + "x": -257.5, + "y": -37.5, + "edge_ids": [ + "7252", + "7253" + ] + }, + { + "id": "7180", + "x": -250, + "y": -65, + "edge_ids": [ + "7237", + "7255" + ] + }, + { + "id": "7181", + "x": -207.5, + "y": -35, + "edge_ids": [ + "7237", + "7238" + ] + }, + { + "id": "7182", + "x": -207.5, + "y": -5, + "edge_ids": [ + "7238", + "7256", + "7262" + ] + }, + { + "id": "7183", + "x": -225, + "y": 47.5, + "edge_ids": [ + "7259", + "7260", + "7274" + ] + }, + { + "id": "7184", + "x": -265, + "y": 77.5, + "edge_ids": [ + "7239", + "7275", + "7278" + ] + }, + { + "id": "7185", + "x": -385, + "y": 32.5, + "edge_ids": [ + "7239", + "7245", + "7249" + ] + }, + { + "id": "7186", + "x": -442.19, + "y": -39.86, + "edge_ids": [ + "7240", + "7242", + "7265" + ] + }, + { + "id": "7187", + "x": -442.5, + "y": -40, + "edge_ids": [ + "7240", + "7241" + ] + }, + { + "id": "7188", + "x": -307.06, + "y": 31.4, + "edge_ids": [ + "7243", + "7244" + ] + }, + { + "id": "7189", + "x": -265, + "y": 50, + "edge_ids": [ + "7243", + "7277", + "7279", + "7283" + ] + }, + { + "id": "7190", + "x": -417.5, + "y": 15, + "edge_ids": [ + "7245", + "7246", + "7248" + ] + }, + { + "id": "7191", + "x": -407.5, + "y": -12.5, + "edge_ids": [ + "7246", + "7247", + "7250" + ] + }, + { + "id": "7192", + "x": -367.5, + "y": 5, + "edge_ids": [ + "7249", + "7250" + ] + }, + { + "id": "7193", + "x": -316.7, + "y": -27.55, + "edge_ids": [ + "7251", + "7269", + "7272" + ] + }, + { + "id": "7194", + "x": -279.5, + "y": -29.74, + "edge_ids": [ + "7251", + "7252", + "7307" + ] + }, + { + "id": "7195", + "x": -254.81, + "y": -47.38, + "edge_ids": [ + "7253", + "7254", + "7255" + ] + }, + { + "id": "7196", + "x": -227.5, + "y": -30, + "edge_ids": [ + "7254", + "7263" + ] + }, + { + "id": "7197", + "x": -215, + "y": 15, + "edge_ids": [ + "7256", + "7299", + "7302" + ] + }, + { + "id": "7198", + "x": -215, + "y": 20, + "edge_ids": [ + "7260", + "7261" + ] + }, + { + "id": "7199", + "x": -215.68, + "y": 19.55, + "edge_ids": [ + "7257", + "7261", + "7302" + ] + }, + { + "id": "7200", + "x": -245, + "y": 0, + "edge_ids": [ + "7257", + "7258", + "7298" + ] + }, + { + "id": "7201", + "x": -260, + "y": 32.5, + "edge_ids": [ + "7258", + "7259", + "7280" + ] + }, + { + "id": "7202", + "x": -232.14, + "y": -19.79, + "edge_ids": [ + "7262", + "7263", + "7300" + ] + }, + { + "id": "7203", + "x": -380, + "y": -47.5, + "edge_ids": [ + "7266", + "7267", + "7270" + ] + }, + { + "id": "7204", + "x": -382.5, + "y": -12.5, + "edge_ids": [ + "7264", + "7265", + "7288" + ] + }, + { + "id": "7205", + "x": -380.06, + "y": -46.7, + "edge_ids": [ + "7264", + "7267" + ] + }, + { + "id": "7206", + "x": -340, + "y": -35, + "edge_ids": [ + "7270", + "7271" + ] + }, + { + "id": "7207", + "x": -342.5, + "y": 5, + "edge_ids": [ + "7268", + "7291" + ] + }, + { + "id": "7208", + "x": -340.03, + "y": -34.6, + "edge_ids": [ + "7268", + "7269", + "7271" + ] + }, + { + "id": "7209", + "x": -315, + "y": 17.5, + "edge_ids": [ + "7272", + "7285", + "7304" + ] + }, + { + "id": "7210", + "x": -271.62, + "y": 38.32, + "edge_ids": [ + "7273", + "7281" + ] + }, + { + "id": "7211", + "x": -272.5, + "y": 40, + "edge_ids": [ + "7273", + "7293" + ] + }, + { + "id": "7212", + "x": -242.5, + "y": 65, + "edge_ids": [ + "7275", + "7276" + ] + }, + { + "id": "7213", + "x": -242.5, + "y": 60.63, + "edge_ids": [ + "7274", + "7276", + "7283" + ] + }, + { + "id": "7214", + "x": -277.5, + "y": 72.5, + "edge_ids": [ + "7277", + "7278" + ] + }, + { + "id": "7215", + "x": -265, + "y": 42.5, + "edge_ids": [ + "7279", + "7282" + ] + }, + { + "id": "7216", + "x": -264.53, + "y": 41.57, + "edge_ids": [ + "7280", + "7281", + "7282" + ] + }, + { + "id": "7217", + "x": -292.5, + "y": 17.5, + "edge_ids": [ + "7284", + "7287" + ] + }, + { + "id": "7218", + "x": -285, + "y": 17.5, + "edge_ids": [ + "7284", + "7306" + ] + }, + { + "id": "7219", + "x": -310, + "y": 17.5, + "edge_ids": [ + "7285", + "7286", + "7287" + ] + }, + { + "id": "7220", + "x": -310, + "y": 22.22, + "edge_ids": [ + "7286", + "7303" + ] + }, + { + "id": "7221", + "x": -382.5, + "y": -10, + "edge_ids": [ + "7288", + "7289" + ] + }, + { + "id": "7222", + "x": -342.5, + "y": 7.5, + "edge_ids": [ + "7289", + "7290", + "7304" + ] + }, + { + "id": "7223", + "x": -342.5, + "y": 5.28, + "edge_ids": [ + "7290", + "7291" + ] + }, + { + "id": "7224", + "x": -279.4, + "y": 36.55, + "edge_ids": [ + "7292", + "7297", + "7303" + ] + }, + { + "id": "7225", + "x": -280, + "y": 37.5, + "edge_ids": [ + "7292", + "7293" + ] + }, + { + "id": "7226", + "x": -242.81, + "y": -4.38, + "edge_ids": [ + "7294", + "7298" + ] + }, + { + "id": "7227", + "x": -242.5, + "y": -5, + "edge_ids": [ + "7294", + "7295", + "7301" + ] + }, + { + "id": "7228", + "x": -250, + "y": -10, + "edge_ids": [ + "7295", + "7296" + ] + }, + { + "id": "7229", + "x": -250.33, + "y": -9.47, + "edge_ids": [ + "7296", + "7297", + "7308" + ] + }, + { + "id": "7230", + "x": -239.77, + "y": -3.01, + "edge_ids": [ + "7299", + "7300", + "7301" + ] + }, + { + "id": "7231", + "x": -270, + "y": -20, + "edge_ids": [ + "7305", + "7307" + ] + }, + { + "id": "7232", + "x": -263.22, + "y": -16.37, + "edge_ids": [ + "7305", + "7306", + "7308" + ] + } + ], + "edges": [ + { + "id": "7233", + "vertex_ids": [ + "7174", + "7175" + ], + "face_ids": [ + "7309" + ] + }, + { + "id": "7234", + "vertex_ids": [ + "7175", + "7176" + ], + "face_ids": [ + "7309", + "7312" + ] + }, + { + "id": "7235", + "vertex_ids": [ + "7177", + "7174" + ], + "face_ids": [ + "7309" + ] + }, + { + "id": "7236", + "vertex_ids": [ + "7178", + "7176" + ], + "face_ids": [ + "7309", + "7311" + ] + }, + { + "id": "7237", + "vertex_ids": [ + "7180", + "7181" + ], + "face_ids": [ + "7314" + ] + }, + { + "id": "7238", + "vertex_ids": [ + "7181", + "7182" + ], + "face_ids": [ + "7314" + ] + }, + { + "id": "7239", + "vertex_ids": [ + "7184", + "7185" + ], + "face_ids": [ + "7310" + ] + }, + { + "id": "7240", + "vertex_ids": [ + "7186", + "7187" + ], + "face_ids": [ + "7309", + "7311" + ] + }, + { + "id": "7241", + "vertex_ids": [ + "7187", + "7178" + ], + "face_ids": [ + "7309", + "7311" + ] + }, + { + "id": "7242", + "vertex_ids": [ + "7177", + "7186" + ], + "face_ids": [ + "7309", + "7318" + ] + }, + { + "id": "7243", + "vertex_ids": [ + "7188", + "7189" + ], + "face_ids": [ + "7310", + "7311" + ] + }, + { + "id": "7244", + "vertex_ids": [ + "7176", + "7188" + ], + "face_ids": [ + "7310", + "7311" + ] + }, + { + "id": "7245", + "vertex_ids": [ + "7185", + "7190" + ], + "face_ids": [ + "7313" + ] + }, + { + "id": "7246", + "vertex_ids": [ + "7190", + "7191" + ], + "face_ids": [ + "7312", + "7313" + ] + }, + { + "id": "7247", + "vertex_ids": [ + "7191", + "7176" + ], + "face_ids": [ + "7310", + "7312" + ] + }, + { + "id": "7248", + "vertex_ids": [ + "7190", + "7175" + ], + "face_ids": [ + "7312" + ] + }, + { + "id": "7249", + "vertex_ids": [ + "7185", + "7192" + ], + "face_ids": [ + "7310", + "7313" + ] + }, + { + "id": "7250", + "vertex_ids": [ + "7192", + "7191" + ], + "face_ids": [ + "7310", + "7313" + ] + }, + { + "id": "7251", + "vertex_ids": [ + "7193", + "7194" + ], + "face_ids": [ + "7323" + ] + }, + { + "id": "7252", + "vertex_ids": [ + "7194", + "7179" + ], + "face_ids": [ + "7317" + ] + }, + { + "id": "7253", + "vertex_ids": [ + "7179", + "7195" + ], + "face_ids": [ + "7317" + ] + }, + { + "id": "7254", + "vertex_ids": [ + "7195", + "7196" + ], + "face_ids": [ + "7314", + "7317" + ] + }, + { + "id": "7255", + "vertex_ids": [ + "7195", + "7180" + ], + "face_ids": [ + "7314" + ] + }, + { + "id": "7256", + "vertex_ids": [ + "7197", + "7182" + ], + "face_ids": [ + "7315" + ] + }, + { + "id": "7257", + "vertex_ids": [ + "7199", + "7200" + ], + "face_ids": [ + "7316", + "7325" + ] + }, + { + "id": "7258", + "vertex_ids": [ + "7200", + "7201" + ], + "face_ids": [ + "7316", + "7324" + ] + }, + { + "id": "7259", + "vertex_ids": [ + "7201", + "7183" + ], + "face_ids": [ + "7316", + "7322" + ] + }, + { + "id": "7260", + "vertex_ids": [ + "7198", + "7183" + ], + "face_ids": [ + "7316" + ] + }, + { + "id": "7261", + "vertex_ids": [ + "7199", + "7198" + ], + "face_ids": [ + "7316" + ] + }, + { + "id": "7262", + "vertex_ids": [ + "7182", + "7202" + ], + "face_ids": [ + "7314", + "7315" + ] + }, + { + "id": "7263", + "vertex_ids": [ + "7202", + "7196" + ], + "face_ids": [ + "7314", + "7317" + ] + }, + { + "id": "7264", + "vertex_ids": [ + "7204", + "7205" + ], + "face_ids": [ + "7318", + "7319" + ] + }, + { + "id": "7265", + "vertex_ids": [ + "7186", + "7204" + ], + "face_ids": [ + "7311", + "7318" + ] + }, + { + "id": "7266", + "vertex_ids": [ + "7203", + "7177" + ], + "face_ids": [ + "7318" + ] + }, + { + "id": "7267", + "vertex_ids": [ + "7205", + "7203" + ], + "face_ids": [ + "7318", + "7319" + ] + }, + { + "id": "7268", + "vertex_ids": [ + "7207", + "7208" + ], + "face_ids": [ + "7319", + "7320" + ] + }, + { + "id": "7269", + "vertex_ids": [ + "7208", + "7193" + ], + "face_ids": [ + "7320" + ] + }, + { + "id": "7270", + "vertex_ids": [ + "7206", + "7203" + ], + "face_ids": [ + "7319" + ] + }, + { + "id": "7271", + "vertex_ids": [ + "7208", + "7206" + ], + "face_ids": [ + "7319" + ] + }, + { + "id": "7272", + "vertex_ids": [ + "7209", + "7193" + ], + "face_ids": [ + "7320", + "7323" + ] + }, + { + "id": "7273", + "vertex_ids": [ + "7211", + "7210" + ], + "face_ids": [ + "7311", + "7324" + ] + }, + { + "id": "7274", + "vertex_ids": [ + "7183", + "7213" + ], + "face_ids": [ + "7322" + ] + }, + { + "id": "7275", + "vertex_ids": [ + "7212", + "7184" + ], + "face_ids": [ + "7321" + ] + }, + { + "id": "7276", + "vertex_ids": [ + "7213", + "7212" + ], + "face_ids": [ + "7321" + ] + }, + { + "id": "7277", + "vertex_ids": [ + "7189", + "7214" + ], + "face_ids": [ + "7310", + "7321" + ] + }, + { + "id": "7278", + "vertex_ids": [ + "7214", + "7184" + ], + "face_ids": [ + "7310", + "7321" + ] + }, + { + "id": "7279", + "vertex_ids": [ + "7215", + "7189" + ], + "face_ids": [ + "7311", + "7322" + ] + }, + { + "id": "7280", + "vertex_ids": [ + "7201", + "7216" + ], + "face_ids": [ + "7322", + "7324" + ] + }, + { + "id": "7281", + "vertex_ids": [ + "7216", + "7210" + ], + "face_ids": [ + "7311", + "7324" + ] + }, + { + "id": "7282", + "vertex_ids": [ + "7216", + "7215" + ], + "face_ids": [ + "7311", + "7322" + ] + }, + { + "id": "7283", + "vertex_ids": [ + "7189", + "7213" + ], + "face_ids": [ + "7321", + "7322" + ] + }, + { + "id": "7284", + "vertex_ids": [ + "7217", + "7218" + ], + "face_ids": [ + "7323", + "7326" + ] + }, + { + "id": "7285", + "vertex_ids": [ + "7209", + "7219" + ], + "face_ids": [ + "7311", + "7323" + ] + }, + { + "id": "7286", + "vertex_ids": [ + "7219", + "7220" + ], + "face_ids": [ + "7311", + "7326" + ] + }, + { + "id": "7287", + "vertex_ids": [ + "7219", + "7217" + ], + "face_ids": [ + "7323", + "7326" + ] + }, + { + "id": "7288", + "vertex_ids": [ + "7204", + "7221" + ], + "face_ids": [ + "7311", + "7319" + ] + }, + { + "id": "7289", + "vertex_ids": [ + "7221", + "7222" + ], + "face_ids": [ + "7311", + "7319" + ] + }, + { + "id": "7290", + "vertex_ids": [ + "7222", + "7223" + ], + "face_ids": [ + "7319", + "7320" + ] + }, + { + "id": "7291", + "vertex_ids": [ + "7207", + "7223" + ], + "face_ids": [ + "7319", + "7320" + ] + }, + { + "id": "7292", + "vertex_ids": [ + "7224", + "7225" + ], + "face_ids": [ + "7311", + "7324" + ] + }, + { + "id": "7293", + "vertex_ids": [ + "7225", + "7211" + ], + "face_ids": [ + "7311", + "7324" + ] + }, + { + "id": "7294", + "vertex_ids": [ + "7226", + "7227" + ], + "face_ids": [ + "7324", + "7325" + ] + }, + { + "id": "7295", + "vertex_ids": [ + "7227", + "7228" + ], + "face_ids": [ + "7317", + "7324" + ] + }, + { + "id": "7296", + "vertex_ids": [ + "7228", + "7229" + ], + "face_ids": [ + "7317", + "7324" + ] + }, + { + "id": "7297", + "vertex_ids": [ + "7224", + "7229" + ], + "face_ids": [ + "7324", + "7326" + ] + }, + { + "id": "7298", + "vertex_ids": [ + "7226", + "7200" + ], + "face_ids": [ + "7324", + "7325" + ] + }, + { + "id": "7299", + "vertex_ids": [ + "7197", + "7230" + ], + "face_ids": [ + "7315", + "7325" + ] + }, + { + "id": "7300", + "vertex_ids": [ + "7230", + "7202" + ], + "face_ids": [ + "7315", + "7317" + ] + }, + { + "id": "7301", + "vertex_ids": [ + "7230", + "7227" + ], + "face_ids": [ + "7317", + "7325" + ] + }, + { + "id": "7302", + "vertex_ids": [ + "7199", + "7197" + ], + "face_ids": [ + "7325" + ] + }, + { + "id": "7303", + "vertex_ids": [ + "7220", + "7224" + ], + "face_ids": [ + "7311", + "7326" + ] + }, + { + "id": "7304", + "vertex_ids": [ + "7222", + "7209" + ], + "face_ids": [ + "7311", + "7320" + ] + }, + { + "id": "7305", + "vertex_ids": [ + "7231", + "7232" + ], + "face_ids": [ + "7317", + "7323" + ] + }, + { + "id": "7306", + "vertex_ids": [ + "7232", + "7218" + ], + "face_ids": [ + "7323", + "7326" + ] + }, + { + "id": "7307", + "vertex_ids": [ + "7194", + "7231" + ], + "face_ids": [ + "7317", + "7323" + ] + }, + { + "id": "7308", + "vertex_ids": [ + "7232", + "7229" + ], + "face_ids": [ + "7317", + "7326" + ] + } + ], + "faces": [ + { + "id": "7309", + "edge_ids": [ + "7240", + "7241", + "7236", + "7234", + "7233", + "7235", + "7242" + ], + "edge_order": [ + 1, + 1, + 1, + 0, + 0, + 0, + 1 + ] + }, + { + "id": "7310", + "edge_ids": [ + "7243", + "7277", + "7278", + "7239", + "7249", + "7250", + "7247", + "7244" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "id": "7311", + "edge_ids": [ + "7265", + "7288", + "7289", + "7304", + "7285", + "7286", + "7303", + "7292", + "7293", + "7273", + "7281", + "7282", + "7279", + "7243", + "7244", + "7236", + "7241", + "7240" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "id": "7312", + "edge_ids": [ + "7234", + "7247", + "7246", + "7248" + ], + "edge_order": [ + 1, + 0, + 0, + 1 + ] + }, + { + "id": "7313", + "edge_ids": [ + "7246", + "7250", + "7249", + "7245" + ], + "edge_order": [ + 1, + 0, + 0, + 1 + ] + }, + { + "id": "7314", + "edge_ids": [ + "7238", + "7262", + "7263", + "7254", + "7255", + "7237" + ], + "edge_order": [ + 1, + 1, + 1, + 0, + 1, + 1 + ] + }, + { + "id": "7315", + "edge_ids": [ + "7256", + "7299", + "7300", + "7262" + ], + "edge_order": [ + 0, + 1, + 1, + 0 + ] + }, + { + "id": "7316", + "edge_ids": [ + "7257", + "7261", + "7260", + "7259", + "7258" + ], + "edge_order": [ + 0, + 1, + 1, + 0, + 0 + ] + }, + { + "id": "7317", + "edge_ids": [ + "7263", + "7300", + "7301", + "7295", + "7296", + "7308", + "7305", + "7307", + "7252", + "7253", + "7254" + ], + "edge_order": [ + 0, + 0, + 1, + 1, + 1, + 0, + 0, + 0, + 1, + 1, + 1 + ] + }, + { + "id": "7318", + "edge_ids": [ + "7267", + "7264", + "7265", + "7242", + "7266" + ], + "edge_order": [ + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "id": "7319", + "edge_ids": [ + "7271", + "7268", + "7291", + "7290", + "7289", + "7288", + "7264", + "7267", + "7270" + ], + "edge_order": [ + 0, + 0, + 1, + 0, + 0, + 0, + 1, + 1, + 0 + ] + }, + { + "id": "7320", + "edge_ids": [ + "7272", + "7304", + "7290", + "7291", + "7268", + "7269" + ], + "edge_order": [ + 0, + 0, + 1, + 0, + 1, + 1 + ] + }, + { + "id": "7321", + "edge_ids": [ + "7276", + "7275", + "7278", + "7277", + "7283" + ], + "edge_order": [ + 1, + 1, + 0, + 0, + 1 + ] + }, + { + "id": "7322", + "edge_ids": [ + "7279", + "7282", + "7280", + "7259", + "7274", + "7283" + ], + "edge_order": [ + 0, + 0, + 0, + 1, + 1, + 0 + ] + }, + { + "id": "7323", + "edge_ids": [ + "7305", + "7306", + "7284", + "7287", + "7285", + "7272", + "7251", + "7307" + ], + "edge_order": [ + 1, + 1, + 0, + 0, + 0, + 1, + 1, + 1 + ] + }, + { + "id": "7324", + "edge_ids": [ + "7292", + "7297", + "7296", + "7295", + "7294", + "7298", + "7258", + "7280", + "7281", + "7273", + "7293" + ], + "edge_order": [ + 0, + 1, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 0, + 0 + ] + }, + { + "id": "7325", + "edge_ids": [ + "7257", + "7302", + "7299", + "7301", + "7294", + "7298" + ], + "edge_order": [ + 0, + 1, + 1, + 1, + 0, + 1 + ] + }, + { + "id": "7326", + "edge_ids": [ + "7297", + "7303", + "7286", + "7287", + "7284", + "7306", + "7308" + ], + "edge_order": [ + 0, + 0, + 0, + 1, + 1, + 0, + 1 + ] + } + ] + }, + "spaces": [ + { + "id": "7331", + "handle": null, + "name": "Space 6-1", + "face_id": "7309", + "building_unit_id": null, + "thermal_zone_id": "tz_57", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1932.0249999999979 + }, + { + "id": "7332", + "handle": null, + "name": "Space 6-2", + "face_id": "7310", + "building_unit_id": null, + "thermal_zone_id": "tz_58", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 3328.925000000003 + }, + { + "id": "7333", + "handle": null, + "name": "Space 6-3", + "face_id": "7311", + "building_unit_id": null, + "thermal_zone_id": "tz_59", + "space_type_id": "1234", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1656.0945999999952 + }, + { + "id": "7334", + "handle": null, + "name": "Space 6-4", + "face_id": "7312", + "building_unit_id": null, + "thermal_zone_id": "tz_60", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1015.625 + }, + { + "id": "7335", + "handle": null, + "name": "Space 6-5", + "face_id": "7313", + "building_unit_id": null, + "thermal_zone_id": "tz_61", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1237.5 + }, + { + "id": "7336", + "handle": null, + "name": "Space 6-6", + "face_id": "7314", + "building_unit_id": null, + "thermal_zone_id": "tz_62", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1148.75 + }, + { + "id": "7337", + "handle": null, + "name": "Space 6-7", + "face_id": "7315", + "building_unit_id": null, + "thermal_zone_id": "tz_63", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 578.39095 + }, + { + "id": "7338", + "handle": null, + "name": "Space 6-8", + "face_id": "7316", + "building_unit_id": null, + "thermal_zone_id": "tz_64", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1193.7000000000008 + }, + { + "id": "7339", + "handle": null, + "name": "Space 6-9", + "face_id": "7317", + "building_unit_id": null, + "thermal_zone_id": "tz_65", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1111.4384 + }, + { + "id": "7340", + "handle": null, + "name": "Space 6-10", + "face_id": "7318", + "building_unit_id": null, + "thermal_zone_id": "tz_66", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1736.1500000000015 + }, + { + "id": "7341", + "handle": null, + "name": "Space 6-11", + "face_id": "7319", + "building_unit_id": null, + "thermal_zone_id": "tz_67", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1637.4499999999999 + }, + { + "id": "7342", + "handle": null, + "name": "Space 6-12", + "face_id": "7320", + "building_unit_id": null, + "thermal_zone_id": "tz_68", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1113.8282499999992 + }, + { + "id": "7343", + "handle": null, + "name": "Space 6-13", + "face_id": "7321", + "building_unit_id": null, + "thermal_zone_id": "tz_69", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 530.4124999999999 + }, + { + "id": "7344", + "handle": null, + "name": "Space 6-14", + "face_id": "7322", + "building_unit_id": null, + "thermal_zone_id": "tz_70", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 603.2000000000003 + }, + { + "id": "7345", + "handle": null, + "name": "Space 6-15", + "face_id": "7323", + "building_unit_id": null, + "thermal_zone_id": "tz_71", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1953.9164999999976 + }, + { + "id": "7346", + "handle": null, + "name": "Space 6-16", + "face_id": "7324", + "building_unit_id": null, + "thermal_zone_id": "tz_72", + "space_type_id": "1234", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 657.2041499999984 + }, + { + "id": "7347", + "handle": null, + "name": "Space 6-17", + "face_id": "7325", + "building_unit_id": null, + "thermal_zone_id": "tz_73", + "space_type_id": "1234", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 167.03750000000026 + }, + { + "id": "7348", + "handle": null, + "name": "Space 6-18", + "face_id": "7326", + "building_unit_id": null, + "thermal_zone_id": "tz_74", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1009.5219000000016 + } + ], + "shading": [], + "windows": [], + "doors": [], + "construction_lines": [], + "area": 22611.169749999986 + }, + { + "id": "7502", + "handle": null, + "name": "Story 7", + "image_id": null, + "below_floor_plenum_height": 0, + "floor_to_ceiling_height": 10.5, + "above_ceiling_plenum_height": 0, + "multiplier": 1, + "color": "#cc6677", + "geometry": { + "id": "7503", + "vertices": [ + { + "id": "7349", + "x": -507.5, + "y": -32.5, + "edge_ids": [ + "7408", + "7410" + ] + }, + { + "id": "7350", + "x": -450, + "y": -2.5, + "edge_ids": [ + "7408", + "7409", + "7423" + ] + }, + { + "id": "7351", + "x": -440, + "y": -27.5, + "edge_ids": [ + "7409", + "7411", + "7419", + "7422" + ] + }, + { + "id": "7352", + "x": -430, + "y": -62.5, + "edge_ids": [ + "7410", + "7417", + "7441" + ] + }, + { + "id": "7353", + "x": -447.19, + "y": -30.58, + "edge_ids": [ + "7411", + "7416" + ] + }, + { + "id": "7354", + "x": -257.5, + "y": -37.5, + "edge_ids": [ + "7427", + "7428" + ] + }, + { + "id": "7355", + "x": -250, + "y": -65, + "edge_ids": [ + "7412", + "7430" + ] + }, + { + "id": "7356", + "x": -207.5, + "y": -35, + "edge_ids": [ + "7412", + "7413" + ] + }, + { + "id": "7357", + "x": -207.5, + "y": -5, + "edge_ids": [ + "7413", + "7431", + "7437" + ] + }, + { + "id": "7358", + "x": -225, + "y": 47.5, + "edge_ids": [ + "7434", + "7435", + "7449" + ] + }, + { + "id": "7359", + "x": -265, + "y": 77.5, + "edge_ids": [ + "7414", + "7450", + "7453" + ] + }, + { + "id": "7360", + "x": -385, + "y": 32.5, + "edge_ids": [ + "7414", + "7420", + "7424" + ] + }, + { + "id": "7361", + "x": -442.19, + "y": -39.86, + "edge_ids": [ + "7415", + "7417", + "7440" + ] + }, + { + "id": "7362", + "x": -442.5, + "y": -40, + "edge_ids": [ + "7415", + "7416" + ] + }, + { + "id": "7363", + "x": -307.06, + "y": 31.4, + "edge_ids": [ + "7418", + "7419" + ] + }, + { + "id": "7364", + "x": -265, + "y": 50, + "edge_ids": [ + "7418", + "7452", + "7454", + "7458" + ] + }, + { + "id": "7365", + "x": -417.5, + "y": 15, + "edge_ids": [ + "7420", + "7421", + "7423" + ] + }, + { + "id": "7366", + "x": -407.5, + "y": -12.5, + "edge_ids": [ + "7421", + "7422", + "7425" + ] + }, + { + "id": "7367", + "x": -367.5, + "y": 5, + "edge_ids": [ + "7424", + "7425" + ] + }, + { + "id": "7368", + "x": -316.7, + "y": -27.55, + "edge_ids": [ + "7426", + "7444", + "7447" + ] + }, + { + "id": "7369", + "x": -279.5, + "y": -29.74, + "edge_ids": [ + "7426", + "7427", + "7482" + ] + }, + { + "id": "7370", + "x": -254.81, + "y": -47.38, + "edge_ids": [ + "7428", + "7429", + "7430" + ] + }, + { + "id": "7371", + "x": -227.5, + "y": -30, + "edge_ids": [ + "7429", + "7438" + ] + }, + { + "id": "7372", + "x": -215, + "y": 15, + "edge_ids": [ + "7431", + "7474", + "7477" + ] + }, + { + "id": "7373", + "x": -215, + "y": 20, + "edge_ids": [ + "7435", + "7436" + ] + }, + { + "id": "7374", + "x": -215.68, + "y": 19.55, + "edge_ids": [ + "7432", + "7436", + "7477" + ] + }, + { + "id": "7375", + "x": -245, + "y": 0, + "edge_ids": [ + "7432", + "7433", + "7473" + ] + }, + { + "id": "7376", + "x": -260, + "y": 32.5, + "edge_ids": [ + "7433", + "7434", + "7455" + ] + }, + { + "id": "7377", + "x": -232.14, + "y": -19.79, + "edge_ids": [ + "7437", + "7438", + "7475" + ] + }, + { + "id": "7378", + "x": -380, + "y": -47.5, + "edge_ids": [ + "7441", + "7442", + "7445" + ] + }, + { + "id": "7379", + "x": -382.5, + "y": -12.5, + "edge_ids": [ + "7439", + "7440", + "7463" + ] + }, + { + "id": "7380", + "x": -380.06, + "y": -46.7, + "edge_ids": [ + "7439", + "7442" + ] + }, + { + "id": "7381", + "x": -340, + "y": -35, + "edge_ids": [ + "7445", + "7446" + ] + }, + { + "id": "7382", + "x": -342.5, + "y": 5, + "edge_ids": [ + "7443", + "7466" + ] + }, + { + "id": "7383", + "x": -340.03, + "y": -34.6, + "edge_ids": [ + "7443", + "7444", + "7446" + ] + }, + { + "id": "7384", + "x": -315, + "y": 17.5, + "edge_ids": [ + "7447", + "7460", + "7479" + ] + }, + { + "id": "7385", + "x": -271.62, + "y": 38.32, + "edge_ids": [ + "7448", + "7456" + ] + }, + { + "id": "7386", + "x": -272.5, + "y": 40, + "edge_ids": [ + "7448", + "7468" + ] + }, + { + "id": "7387", + "x": -242.5, + "y": 65, + "edge_ids": [ + "7450", + "7451" + ] + }, + { + "id": "7388", + "x": -242.5, + "y": 60.63, + "edge_ids": [ + "7449", + "7451", + "7458" + ] + }, + { + "id": "7389", + "x": -277.5, + "y": 72.5, + "edge_ids": [ + "7452", + "7453" + ] + }, + { + "id": "7390", + "x": -265, + "y": 42.5, + "edge_ids": [ + "7454", + "7457" + ] + }, + { + "id": "7391", + "x": -264.53, + "y": 41.57, + "edge_ids": [ + "7455", + "7456", + "7457" + ] + }, + { + "id": "7392", + "x": -292.5, + "y": 17.5, + "edge_ids": [ + "7459", + "7462" + ] + }, + { + "id": "7393", + "x": -285, + "y": 17.5, + "edge_ids": [ + "7459", + "7481" + ] + }, + { + "id": "7394", + "x": -310, + "y": 17.5, + "edge_ids": [ + "7460", + "7461", + "7462" + ] + }, + { + "id": "7395", + "x": -310, + "y": 22.22, + "edge_ids": [ + "7461", + "7478" + ] + }, + { + "id": "7396", + "x": -382.5, + "y": -10, + "edge_ids": [ + "7463", + "7464" + ] + }, + { + "id": "7397", + "x": -342.5, + "y": 7.5, + "edge_ids": [ + "7464", + "7465", + "7479" + ] + }, + { + "id": "7398", + "x": -342.5, + "y": 5.28, + "edge_ids": [ + "7465", + "7466" + ] + }, + { + "id": "7399", + "x": -279.4, + "y": 36.55, + "edge_ids": [ + "7467", + "7472", + "7478" + ] + }, + { + "id": "7400", + "x": -280, + "y": 37.5, + "edge_ids": [ + "7467", + "7468" + ] + }, + { + "id": "7401", + "x": -242.81, + "y": -4.38, + "edge_ids": [ + "7469", + "7473" + ] + }, + { + "id": "7402", + "x": -242.5, + "y": -5, + "edge_ids": [ + "7469", + "7470", + "7476" + ] + }, + { + "id": "7403", + "x": -250, + "y": -10, + "edge_ids": [ + "7470", + "7471" + ] + }, + { + "id": "7404", + "x": -250.33, + "y": -9.47, + "edge_ids": [ + "7471", + "7472", + "7483" + ] + }, + { + "id": "7405", + "x": -239.77, + "y": -3.01, + "edge_ids": [ + "7474", + "7475", + "7476" + ] + }, + { + "id": "7406", + "x": -270, + "y": -20, + "edge_ids": [ + "7480", + "7482" + ] + }, + { + "id": "7407", + "x": -263.22, + "y": -16.37, + "edge_ids": [ + "7480", + "7481", + "7483" + ] + } + ], + "edges": [ + { + "id": "7408", + "vertex_ids": [ + "7349", + "7350" + ], + "face_ids": [ + "7484" + ] + }, + { + "id": "7409", + "vertex_ids": [ + "7350", + "7351" + ], + "face_ids": [ + "7484", + "7487" + ] + }, + { + "id": "7410", + "vertex_ids": [ + "7352", + "7349" + ], + "face_ids": [ + "7484" + ] + }, + { + "id": "7411", + "vertex_ids": [ + "7353", + "7351" + ], + "face_ids": [ + "7484", + "7486" + ] + }, + { + "id": "7412", + "vertex_ids": [ + "7355", + "7356" + ], + "face_ids": [ + "7489" + ] + }, + { + "id": "7413", + "vertex_ids": [ + "7356", + "7357" + ], + "face_ids": [ + "7489" + ] + }, + { + "id": "7414", + "vertex_ids": [ + "7359", + "7360" + ], + "face_ids": [ + "7485" + ] + }, + { + "id": "7415", + "vertex_ids": [ + "7361", + "7362" + ], + "face_ids": [ + "7484", + "7486" + ] + }, + { + "id": "7416", + "vertex_ids": [ + "7362", + "7353" + ], + "face_ids": [ + "7484", + "7486" + ] + }, + { + "id": "7417", + "vertex_ids": [ + "7352", + "7361" + ], + "face_ids": [ + "7484", + "7493" + ] + }, + { + "id": "7418", + "vertex_ids": [ + "7363", + "7364" + ], + "face_ids": [ + "7485", + "7486" + ] + }, + { + "id": "7419", + "vertex_ids": [ + "7351", + "7363" + ], + "face_ids": [ + "7485", + "7486" + ] + }, + { + "id": "7420", + "vertex_ids": [ + "7360", + "7365" + ], + "face_ids": [ + "7488" + ] + }, + { + "id": "7421", + "vertex_ids": [ + "7365", + "7366" + ], + "face_ids": [ + "7487", + "7488" + ] + }, + { + "id": "7422", + "vertex_ids": [ + "7366", + "7351" + ], + "face_ids": [ + "7485", + "7487" + ] + }, + { + "id": "7423", + "vertex_ids": [ + "7365", + "7350" + ], + "face_ids": [ + "7487" + ] + }, + { + "id": "7424", + "vertex_ids": [ + "7360", + "7367" + ], + "face_ids": [ + "7485", + "7488" + ] + }, + { + "id": "7425", + "vertex_ids": [ + "7367", + "7366" + ], + "face_ids": [ + "7485", + "7488" + ] + }, + { + "id": "7426", + "vertex_ids": [ + "7368", + "7369" + ], + "face_ids": [ + "7498" + ] + }, + { + "id": "7427", + "vertex_ids": [ + "7369", + "7354" + ], + "face_ids": [ + "7492" + ] + }, + { + "id": "7428", + "vertex_ids": [ + "7354", + "7370" + ], + "face_ids": [ + "7492" + ] + }, + { + "id": "7429", + "vertex_ids": [ + "7370", + "7371" + ], + "face_ids": [ + "7489", + "7492" + ] + }, + { + "id": "7430", + "vertex_ids": [ + "7370", + "7355" + ], + "face_ids": [ + "7489" + ] + }, + { + "id": "7431", + "vertex_ids": [ + "7372", + "7357" + ], + "face_ids": [ + "7490" + ] + }, + { + "id": "7432", + "vertex_ids": [ + "7374", + "7375" + ], + "face_ids": [ + "7491", + "7500" + ] + }, + { + "id": "7433", + "vertex_ids": [ + "7375", + "7376" + ], + "face_ids": [ + "7491", + "7499" + ] + }, + { + "id": "7434", + "vertex_ids": [ + "7376", + "7358" + ], + "face_ids": [ + "7491", + "7497" + ] + }, + { + "id": "7435", + "vertex_ids": [ + "7373", + "7358" + ], + "face_ids": [ + "7491" + ] + }, + { + "id": "7436", + "vertex_ids": [ + "7374", + "7373" + ], + "face_ids": [ + "7491" + ] + }, + { + "id": "7437", + "vertex_ids": [ + "7357", + "7377" + ], + "face_ids": [ + "7489", + "7490" + ] + }, + { + "id": "7438", + "vertex_ids": [ + "7377", + "7371" + ], + "face_ids": [ + "7489", + "7492" + ] + }, + { + "id": "7439", + "vertex_ids": [ + "7379", + "7380" + ], + "face_ids": [ + "7493", + "7494" + ] + }, + { + "id": "7440", + "vertex_ids": [ + "7361", + "7379" + ], + "face_ids": [ + "7486", + "7493" + ] + }, + { + "id": "7441", + "vertex_ids": [ + "7378", + "7352" + ], + "face_ids": [ + "7493" + ] + }, + { + "id": "7442", + "vertex_ids": [ + "7380", + "7378" + ], + "face_ids": [ + "7493", + "7494" + ] + }, + { + "id": "7443", + "vertex_ids": [ + "7382", + "7383" + ], + "face_ids": [ + "7494", + "7495" + ] + }, + { + "id": "7444", + "vertex_ids": [ + "7383", + "7368" + ], + "face_ids": [ + "7495" + ] + }, + { + "id": "7445", + "vertex_ids": [ + "7381", + "7378" + ], + "face_ids": [ + "7494" + ] + }, + { + "id": "7446", + "vertex_ids": [ + "7383", + "7381" + ], + "face_ids": [ + "7494" + ] + }, + { + "id": "7447", + "vertex_ids": [ + "7384", + "7368" + ], + "face_ids": [ + "7495", + "7498" + ] + }, + { + "id": "7448", + "vertex_ids": [ + "7386", + "7385" + ], + "face_ids": [ + "7486", + "7499" + ] + }, + { + "id": "7449", + "vertex_ids": [ + "7358", + "7388" + ], + "face_ids": [ + "7497" + ] + }, + { + "id": "7450", + "vertex_ids": [ + "7387", + "7359" + ], + "face_ids": [ + "7496" + ] + }, + { + "id": "7451", + "vertex_ids": [ + "7388", + "7387" + ], + "face_ids": [ + "7496" + ] + }, + { + "id": "7452", + "vertex_ids": [ + "7364", + "7389" + ], + "face_ids": [ + "7485", + "7496" + ] + }, + { + "id": "7453", + "vertex_ids": [ + "7389", + "7359" + ], + "face_ids": [ + "7485", + "7496" + ] + }, + { + "id": "7454", + "vertex_ids": [ + "7390", + "7364" + ], + "face_ids": [ + "7486", + "7497" + ] + }, + { + "id": "7455", + "vertex_ids": [ + "7376", + "7391" + ], + "face_ids": [ + "7497", + "7499" + ] + }, + { + "id": "7456", + "vertex_ids": [ + "7391", + "7385" + ], + "face_ids": [ + "7486", + "7499" + ] + }, + { + "id": "7457", + "vertex_ids": [ + "7391", + "7390" + ], + "face_ids": [ + "7486", + "7497" + ] + }, + { + "id": "7458", + "vertex_ids": [ + "7364", + "7388" + ], + "face_ids": [ + "7496", + "7497" + ] + }, + { + "id": "7459", + "vertex_ids": [ + "7392", + "7393" + ], + "face_ids": [ + "7498", + "7501" + ] + }, + { + "id": "7460", + "vertex_ids": [ + "7384", + "7394" + ], + "face_ids": [ + "7486", + "7498" + ] + }, + { + "id": "7461", + "vertex_ids": [ + "7394", + "7395" + ], + "face_ids": [ + "7486", + "7501" + ] + }, + { + "id": "7462", + "vertex_ids": [ + "7394", + "7392" + ], + "face_ids": [ + "7498", + "7501" + ] + }, + { + "id": "7463", + "vertex_ids": [ + "7379", + "7396" + ], + "face_ids": [ + "7486", + "7494" + ] + }, + { + "id": "7464", + "vertex_ids": [ + "7396", + "7397" + ], + "face_ids": [ + "7486", + "7494" + ] + }, + { + "id": "7465", + "vertex_ids": [ + "7397", + "7398" + ], + "face_ids": [ + "7494", + "7495" + ] + }, + { + "id": "7466", + "vertex_ids": [ + "7382", + "7398" + ], + "face_ids": [ + "7494", + "7495" + ] + }, + { + "id": "7467", + "vertex_ids": [ + "7399", + "7400" + ], + "face_ids": [ + "7486", + "7499" + ] + }, + { + "id": "7468", + "vertex_ids": [ + "7400", + "7386" + ], + "face_ids": [ + "7486", + "7499" + ] + }, + { + "id": "7469", + "vertex_ids": [ + "7401", + "7402" + ], + "face_ids": [ + "7499", + "7500" + ] + }, + { + "id": "7470", + "vertex_ids": [ + "7402", + "7403" + ], + "face_ids": [ + "7492", + "7499" + ] + }, + { + "id": "7471", + "vertex_ids": [ + "7403", + "7404" + ], + "face_ids": [ + "7492", + "7499" + ] + }, + { + "id": "7472", + "vertex_ids": [ + "7399", + "7404" + ], + "face_ids": [ + "7499", + "7501" + ] + }, + { + "id": "7473", + "vertex_ids": [ + "7401", + "7375" + ], + "face_ids": [ + "7499", + "7500" + ] + }, + { + "id": "7474", + "vertex_ids": [ + "7372", + "7405" + ], + "face_ids": [ + "7490", + "7500" + ] + }, + { + "id": "7475", + "vertex_ids": [ + "7405", + "7377" + ], + "face_ids": [ + "7490", + "7492" + ] + }, + { + "id": "7476", + "vertex_ids": [ + "7405", + "7402" + ], + "face_ids": [ + "7492", + "7500" + ] + }, + { + "id": "7477", + "vertex_ids": [ + "7374", + "7372" + ], + "face_ids": [ + "7500" + ] + }, + { + "id": "7478", + "vertex_ids": [ + "7395", + "7399" + ], + "face_ids": [ + "7486", + "7501" + ] + }, + { + "id": "7479", + "vertex_ids": [ + "7397", + "7384" + ], + "face_ids": [ + "7486", + "7495" + ] + }, + { + "id": "7480", + "vertex_ids": [ + "7406", + "7407" + ], + "face_ids": [ + "7492", + "7498" + ] + }, + { + "id": "7481", + "vertex_ids": [ + "7407", + "7393" + ], + "face_ids": [ + "7498", + "7501" + ] + }, + { + "id": "7482", + "vertex_ids": [ + "7369", + "7406" + ], + "face_ids": [ + "7492", + "7498" + ] + }, + { + "id": "7483", + "vertex_ids": [ + "7407", + "7404" + ], + "face_ids": [ + "7492", + "7501" + ] + } + ], + "faces": [ + { + "id": "7484", + "edge_ids": [ + "7415", + "7416", + "7411", + "7409", + "7408", + "7410", + "7417" + ], + "edge_order": [ + 1, + 1, + 1, + 0, + 0, + 0, + 1 + ] + }, + { + "id": "7485", + "edge_ids": [ + "7418", + "7452", + "7453", + "7414", + "7424", + "7425", + "7422", + "7419" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "id": "7486", + "edge_ids": [ + "7440", + "7463", + "7464", + "7479", + "7460", + "7461", + "7478", + "7467", + "7468", + "7448", + "7456", + "7457", + "7454", + "7418", + "7419", + "7411", + "7416", + "7415" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "id": "7487", + "edge_ids": [ + "7409", + "7422", + "7421", + "7423" + ], + "edge_order": [ + 1, + 0, + 0, + 1 + ] + }, + { + "id": "7488", + "edge_ids": [ + "7421", + "7425", + "7424", + "7420" + ], + "edge_order": [ + 1, + 0, + 0, + 1 + ] + }, + { + "id": "7489", + "edge_ids": [ + "7413", + "7437", + "7438", + "7429", + "7430", + "7412" + ], + "edge_order": [ + 1, + 1, + 1, + 0, + 1, + 1 + ] + }, + { + "id": "7490", + "edge_ids": [ + "7431", + "7474", + "7475", + "7437" + ], + "edge_order": [ + 0, + 1, + 1, + 0 + ] + }, + { + "id": "7491", + "edge_ids": [ + "7432", + "7436", + "7435", + "7434", + "7433" + ], + "edge_order": [ + 0, + 1, + 1, + 0, + 0 + ] + }, + { + "id": "7492", + "edge_ids": [ + "7438", + "7475", + "7476", + "7470", + "7471", + "7483", + "7480", + "7482", + "7427", + "7428", + "7429" + ], + "edge_order": [ + 0, + 0, + 1, + 1, + 1, + 0, + 0, + 0, + 1, + 1, + 1 + ] + }, + { + "id": "7493", + "edge_ids": [ + "7442", + "7439", + "7440", + "7417", + "7441" + ], + "edge_order": [ + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "id": "7494", + "edge_ids": [ + "7446", + "7443", + "7466", + "7465", + "7464", + "7463", + "7439", + "7442", + "7445" + ], + "edge_order": [ + 0, + 0, + 1, + 0, + 0, + 0, + 1, + 1, + 0 + ] + }, + { + "id": "7495", + "edge_ids": [ + "7447", + "7479", + "7465", + "7466", + "7443", + "7444" + ], + "edge_order": [ + 0, + 0, + 1, + 0, + 1, + 1 + ] + }, + { + "id": "7496", + "edge_ids": [ + "7451", + "7450", + "7453", + "7452", + "7458" + ], + "edge_order": [ + 1, + 1, + 0, + 0, + 1 + ] + }, + { + "id": "7497", + "edge_ids": [ + "7454", + "7457", + "7455", + "7434", + "7449", + "7458" + ], + "edge_order": [ + 0, + 0, + 0, + 1, + 1, + 0 + ] + }, + { + "id": "7498", + "edge_ids": [ + "7480", + "7481", + "7459", + "7462", + "7460", + "7447", + "7426", + "7482" + ], + "edge_order": [ + 1, + 1, + 0, + 0, + 0, + 1, + 1, + 1 + ] + }, + { + "id": "7499", + "edge_ids": [ + "7467", + "7472", + "7471", + "7470", + "7469", + "7473", + "7433", + "7455", + "7456", + "7448", + "7468" + ], + "edge_order": [ + 0, + 1, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 0, + 0 + ] + }, + { + "id": "7500", + "edge_ids": [ + "7432", + "7477", + "7474", + "7476", + "7469", + "7473" + ], + "edge_order": [ + 0, + 1, + 1, + 1, + 0, + 1 + ] + }, + { + "id": "7501", + "edge_ids": [ + "7472", + "7478", + "7461", + "7462", + "7459", + "7481", + "7483" + ], + "edge_order": [ + 0, + 0, + 0, + 1, + 1, + 0, + 1 + ] + } + ] + }, + "spaces": [ + { + "id": "7506", + "handle": null, + "name": "Space 7-1", + "face_id": "7484", + "building_unit_id": null, + "thermal_zone_id": "tz_75", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1932.0249999999979 + }, + { + "id": "7507", + "handle": null, + "name": "Space 7-2", + "face_id": "7485", + "building_unit_id": null, + "thermal_zone_id": "tz_76", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 3328.925000000003 + }, + { + "id": "7508", + "handle": null, + "name": "Space 7-3", + "face_id": "7486", + "building_unit_id": null, + "thermal_zone_id": "tz_77", + "space_type_id": "1234", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1656.0945999999952 + }, + { + "id": "7509", + "handle": null, + "name": "Space 7-4", + "face_id": "7487", + "building_unit_id": null, + "thermal_zone_id": "tz_78", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1015.625 + }, + { + "id": "7510", + "handle": null, + "name": "Space 7-5", + "face_id": "7488", + "building_unit_id": null, + "thermal_zone_id": "tz_79", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1237.5 + }, + { + "id": "7511", + "handle": null, + "name": "Space 7-6", + "face_id": "7489", + "building_unit_id": null, + "thermal_zone_id": "tz_80", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1148.75 + }, + { + "id": "7512", + "handle": null, + "name": "Space 7-7", + "face_id": "7490", + "building_unit_id": null, + "thermal_zone_id": "tz_81", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 578.39095 + }, + { + "id": "7513", + "handle": null, + "name": "Space 7-8", + "face_id": "7491", + "building_unit_id": null, + "thermal_zone_id": "tz_82", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1193.7000000000008 + }, + { + "id": "7514", + "handle": null, + "name": "Space 7-9", + "face_id": "7492", + "building_unit_id": null, + "thermal_zone_id": "tz_83", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1111.4384 + }, + { + "id": "7515", + "handle": null, + "name": "Space 7-10", + "face_id": "7493", + "building_unit_id": null, + "thermal_zone_id": "tz_84", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1736.1500000000015 + }, + { + "id": "7516", + "handle": null, + "name": "Space 7-11", + "face_id": "7494", + "building_unit_id": null, + "thermal_zone_id": "tz_85", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1637.4499999999999 + }, + { + "id": "7517", + "handle": null, + "name": "Space 7-12", + "face_id": "7495", + "building_unit_id": null, + "thermal_zone_id": "tz_86", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1113.8282499999992 + }, + { + "id": "7518", + "handle": null, + "name": "Space 7-13", + "face_id": "7496", + "building_unit_id": null, + "thermal_zone_id": "tz_87", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 530.4124999999999 + }, + { + "id": "7519", + "handle": null, + "name": "Space 7-14", + "face_id": "7497", + "building_unit_id": null, + "thermal_zone_id": "tz_88", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 603.2000000000003 + }, + { + "id": "7520", + "handle": null, + "name": "Space 7-15", + "face_id": "7498", + "building_unit_id": null, + "thermal_zone_id": "tz_89", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1953.9164999999976 + }, + { + "id": "7521", + "handle": null, + "name": "Space 7-16", + "face_id": "7499", + "building_unit_id": null, + "thermal_zone_id": "tz_90", + "space_type_id": "1234", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 657.2041499999984 + }, + { + "id": "7522", + "handle": null, + "name": "Space 7-17", + "face_id": "7500", + "building_unit_id": null, + "thermal_zone_id": "tz_91", + "space_type_id": "1234", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 167.03750000000026 + }, + { + "id": "7523", + "handle": null, + "name": "Space 7-18", + "face_id": "7501", + "building_unit_id": null, + "thermal_zone_id": "tz_92", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1009.5219000000016 + } + ], + "shading": [], + "windows": [], + "doors": [], + "construction_lines": [], + "area": 22611.169749999986 + }, + { + "id": "7677", + "handle": null, + "name": "Story 8", + "image_id": null, + "below_floor_plenum_height": 0, + "floor_to_ceiling_height": 10.5, + "above_ceiling_plenum_height": 0, + "multiplier": 1, + "color": "#882255", + "geometry": { + "id": "7678", + "vertices": [ + { + "id": "7524", + "x": -507.5, + "y": -32.5, + "edge_ids": [ + "7583", + "7585" + ] + }, + { + "id": "7525", + "x": -450, + "y": -2.5, + "edge_ids": [ + "7583", + "7584", + "7598" + ] + }, + { + "id": "7526", + "x": -440, + "y": -27.5, + "edge_ids": [ + "7584", + "7586", + "7594", + "7597" + ] + }, + { + "id": "7527", + "x": -430, + "y": -62.5, + "edge_ids": [ + "7585", + "7592", + "7616" + ] + }, + { + "id": "7528", + "x": -447.19, + "y": -30.58, + "edge_ids": [ + "7586", + "7591" + ] + }, + { + "id": "7529", + "x": -257.5, + "y": -37.5, + "edge_ids": [ + "7602", + "7603" + ] + }, + { + "id": "7530", + "x": -250, + "y": -65, + "edge_ids": [ + "7587", + "7605" + ] + }, + { + "id": "7531", + "x": -207.5, + "y": -35, + "edge_ids": [ + "7587", + "7588" + ] + }, + { + "id": "7532", + "x": -207.5, + "y": -5, + "edge_ids": [ + "7588", + "7606", + "7612" + ] + }, + { + "id": "7533", + "x": -225, + "y": 47.5, + "edge_ids": [ + "7609", + "7610", + "7624" + ] + }, + { + "id": "7534", + "x": -265, + "y": 77.5, + "edge_ids": [ + "7589", + "7625", + "7628" + ] + }, + { + "id": "7535", + "x": -385, + "y": 32.5, + "edge_ids": [ + "7589", + "7595", + "7599" + ] + }, + { + "id": "7536", + "x": -442.19, + "y": -39.86, + "edge_ids": [ + "7590", + "7592", + "7615" + ] + }, + { + "id": "7537", + "x": -442.5, + "y": -40, + "edge_ids": [ + "7590", + "7591" + ] + }, + { + "id": "7538", + "x": -307.06, + "y": 31.4, + "edge_ids": [ + "7593", + "7594" + ] + }, + { + "id": "7539", + "x": -265, + "y": 50, + "edge_ids": [ + "7593", + "7627", + "7629", + "7633" + ] + }, + { + "id": "7540", + "x": -417.5, + "y": 15, + "edge_ids": [ + "7595", + "7596", + "7598" + ] + }, + { + "id": "7541", + "x": -407.5, + "y": -12.5, + "edge_ids": [ + "7596", + "7597", + "7600" + ] + }, + { + "id": "7542", + "x": -367.5, + "y": 5, + "edge_ids": [ + "7599", + "7600" + ] + }, + { + "id": "7543", + "x": -316.7, + "y": -27.55, + "edge_ids": [ + "7601", + "7619", + "7622" + ] + }, + { + "id": "7544", + "x": -279.5, + "y": -29.74, + "edge_ids": [ + "7601", + "7602", + "7657" + ] + }, + { + "id": "7545", + "x": -254.81, + "y": -47.38, + "edge_ids": [ + "7603", + "7604", + "7605" + ] + }, + { + "id": "7546", + "x": -227.5, + "y": -30, + "edge_ids": [ + "7604", + "7613" + ] + }, + { + "id": "7547", + "x": -215, + "y": 15, + "edge_ids": [ + "7606", + "7649", + "7652" + ] + }, + { + "id": "7548", + "x": -215, + "y": 20, + "edge_ids": [ + "7610", + "7611" + ] + }, + { + "id": "7549", + "x": -215.68, + "y": 19.55, + "edge_ids": [ + "7607", + "7611", + "7652" + ] + }, + { + "id": "7550", + "x": -245, + "y": 0, + "edge_ids": [ + "7607", + "7608", + "7648" + ] + }, + { + "id": "7551", + "x": -260, + "y": 32.5, + "edge_ids": [ + "7608", + "7609", + "7630" + ] + }, + { + "id": "7552", + "x": -232.14, + "y": -19.79, + "edge_ids": [ + "7612", + "7613", + "7650" + ] + }, + { + "id": "7553", + "x": -380, + "y": -47.5, + "edge_ids": [ + "7616", + "7617", + "7620" + ] + }, + { + "id": "7554", + "x": -382.5, + "y": -12.5, + "edge_ids": [ + "7614", + "7615", + "7638" + ] + }, + { + "id": "7555", + "x": -380.06, + "y": -46.7, + "edge_ids": [ + "7614", + "7617" + ] + }, + { + "id": "7556", + "x": -340, + "y": -35, + "edge_ids": [ + "7620", + "7621" + ] + }, + { + "id": "7557", + "x": -342.5, + "y": 5, + "edge_ids": [ + "7618", + "7641" + ] + }, + { + "id": "7558", + "x": -340.03, + "y": -34.6, + "edge_ids": [ + "7618", + "7619", + "7621" + ] + }, + { + "id": "7559", + "x": -315, + "y": 17.5, + "edge_ids": [ + "7622", + "7635", + "7654" + ] + }, + { + "id": "7560", + "x": -271.62, + "y": 38.32, + "edge_ids": [ + "7623", + "7631" + ] + }, + { + "id": "7561", + "x": -272.5, + "y": 40, + "edge_ids": [ + "7623", + "7643" + ] + }, + { + "id": "7562", + "x": -242.5, + "y": 65, + "edge_ids": [ + "7625", + "7626" + ] + }, + { + "id": "7563", + "x": -242.5, + "y": 60.63, + "edge_ids": [ + "7624", + "7626", + "7633" + ] + }, + { + "id": "7564", + "x": -277.5, + "y": 72.5, + "edge_ids": [ + "7627", + "7628" + ] + }, + { + "id": "7565", + "x": -265, + "y": 42.5, + "edge_ids": [ + "7629", + "7632" + ] + }, + { + "id": "7566", + "x": -264.53, + "y": 41.57, + "edge_ids": [ + "7630", + "7631", + "7632" + ] + }, + { + "id": "7567", + "x": -292.5, + "y": 17.5, + "edge_ids": [ + "7634", + "7637" + ] + }, + { + "id": "7568", + "x": -285, + "y": 17.5, + "edge_ids": [ + "7634", + "7656" + ] + }, + { + "id": "7569", + "x": -310, + "y": 17.5, + "edge_ids": [ + "7635", + "7636", + "7637" + ] + }, + { + "id": "7570", + "x": -310, + "y": 22.22, + "edge_ids": [ + "7636", + "7653" + ] + }, + { + "id": "7571", + "x": -382.5, + "y": -10, + "edge_ids": [ + "7638", + "7639" + ] + }, + { + "id": "7572", + "x": -342.5, + "y": 7.5, + "edge_ids": [ + "7639", + "7640", + "7654" + ] + }, + { + "id": "7573", + "x": -342.5, + "y": 5.28, + "edge_ids": [ + "7640", + "7641" + ] + }, + { + "id": "7574", + "x": -279.4, + "y": 36.55, + "edge_ids": [ + "7642", + "7647", + "7653" + ] + }, + { + "id": "7575", + "x": -280, + "y": 37.5, + "edge_ids": [ + "7642", + "7643" + ] + }, + { + "id": "7576", + "x": -242.81, + "y": -4.38, + "edge_ids": [ + "7644", + "7648" + ] + }, + { + "id": "7577", + "x": -242.5, + "y": -5, + "edge_ids": [ + "7644", + "7645", + "7651" + ] + }, + { + "id": "7578", + "x": -250, + "y": -10, + "edge_ids": [ + "7645", + "7646" + ] + }, + { + "id": "7579", + "x": -250.33, + "y": -9.47, + "edge_ids": [ + "7646", + "7647", + "7658" + ] + }, + { + "id": "7580", + "x": -239.77, + "y": -3.01, + "edge_ids": [ + "7649", + "7650", + "7651" + ] + }, + { + "id": "7581", + "x": -270, + "y": -20, + "edge_ids": [ + "7655", + "7657" + ] + }, + { + "id": "7582", + "x": -263.22, + "y": -16.37, + "edge_ids": [ + "7655", + "7656", + "7658" + ] + } + ], + "edges": [ + { + "id": "7583", + "vertex_ids": [ + "7524", + "7525" + ], + "face_ids": [ + "7659" + ] + }, + { + "id": "7584", + "vertex_ids": [ + "7525", + "7526" + ], + "face_ids": [ + "7659", + "7662" + ] + }, + { + "id": "7585", + "vertex_ids": [ + "7527", + "7524" + ], + "face_ids": [ + "7659" + ] + }, + { + "id": "7586", + "vertex_ids": [ + "7528", + "7526" + ], + "face_ids": [ + "7659", + "7661" + ] + }, + { + "id": "7587", + "vertex_ids": [ + "7530", + "7531" + ], + "face_ids": [ + "7664" + ] + }, + { + "id": "7588", + "vertex_ids": [ + "7531", + "7532" + ], + "face_ids": [ + "7664" + ] + }, + { + "id": "7589", + "vertex_ids": [ + "7534", + "7535" + ], + "face_ids": [ + "7660" + ] + }, + { + "id": "7590", + "vertex_ids": [ + "7536", + "7537" + ], + "face_ids": [ + "7659", + "7661" + ] + }, + { + "id": "7591", + "vertex_ids": [ + "7537", + "7528" + ], + "face_ids": [ + "7659", + "7661" + ] + }, + { + "id": "7592", + "vertex_ids": [ + "7527", + "7536" + ], + "face_ids": [ + "7659", + "7668" + ] + }, + { + "id": "7593", + "vertex_ids": [ + "7538", + "7539" + ], + "face_ids": [ + "7660", + "7661" + ] + }, + { + "id": "7594", + "vertex_ids": [ + "7526", + "7538" + ], + "face_ids": [ + "7660", + "7661" + ] + }, + { + "id": "7595", + "vertex_ids": [ + "7535", + "7540" + ], + "face_ids": [ + "7663" + ] + }, + { + "id": "7596", + "vertex_ids": [ + "7540", + "7541" + ], + "face_ids": [ + "7662", + "7663" + ] + }, + { + "id": "7597", + "vertex_ids": [ + "7541", + "7526" + ], + "face_ids": [ + "7660", + "7662" + ] + }, + { + "id": "7598", + "vertex_ids": [ + "7540", + "7525" + ], + "face_ids": [ + "7662" + ] + }, + { + "id": "7599", + "vertex_ids": [ + "7535", + "7542" + ], + "face_ids": [ + "7660", + "7663" + ] + }, + { + "id": "7600", + "vertex_ids": [ + "7542", + "7541" + ], + "face_ids": [ + "7660", + "7663" + ] + }, + { + "id": "7601", + "vertex_ids": [ + "7543", + "7544" + ], + "face_ids": [ + "7673" + ] + }, + { + "id": "7602", + "vertex_ids": [ + "7544", + "7529" + ], + "face_ids": [ + "7667" + ] + }, + { + "id": "7603", + "vertex_ids": [ + "7529", + "7545" + ], + "face_ids": [ + "7667" + ] + }, + { + "id": "7604", + "vertex_ids": [ + "7545", + "7546" + ], + "face_ids": [ + "7664", + "7667" + ] + }, + { + "id": "7605", + "vertex_ids": [ + "7545", + "7530" + ], + "face_ids": [ + "7664" + ] + }, + { + "id": "7606", + "vertex_ids": [ + "7547", + "7532" + ], + "face_ids": [ + "7665" + ] + }, + { + "id": "7607", + "vertex_ids": [ + "7549", + "7550" + ], + "face_ids": [ + "7666", + "7675" + ] + }, + { + "id": "7608", + "vertex_ids": [ + "7550", + "7551" + ], + "face_ids": [ + "7666", + "7674" + ] + }, + { + "id": "7609", + "vertex_ids": [ + "7551", + "7533" + ], + "face_ids": [ + "7666", + "7672" + ] + }, + { + "id": "7610", + "vertex_ids": [ + "7548", + "7533" + ], + "face_ids": [ + "7666" + ] + }, + { + "id": "7611", + "vertex_ids": [ + "7549", + "7548" + ], + "face_ids": [ + "7666" + ] + }, + { + "id": "7612", + "vertex_ids": [ + "7532", + "7552" + ], + "face_ids": [ + "7664", + "7665" + ] + }, + { + "id": "7613", + "vertex_ids": [ + "7552", + "7546" + ], + "face_ids": [ + "7664", + "7667" + ] + }, + { + "id": "7614", + "vertex_ids": [ + "7554", + "7555" + ], + "face_ids": [ + "7668", + "7669" + ] + }, + { + "id": "7615", + "vertex_ids": [ + "7536", + "7554" + ], + "face_ids": [ + "7661", + "7668" + ] + }, + { + "id": "7616", + "vertex_ids": [ + "7553", + "7527" + ], + "face_ids": [ + "7668" + ] + }, + { + "id": "7617", + "vertex_ids": [ + "7555", + "7553" + ], + "face_ids": [ + "7668", + "7669" + ] + }, + { + "id": "7618", + "vertex_ids": [ + "7557", + "7558" + ], + "face_ids": [ + "7669", + "7670" + ] + }, + { + "id": "7619", + "vertex_ids": [ + "7558", + "7543" + ], + "face_ids": [ + "7670" + ] + }, + { + "id": "7620", + "vertex_ids": [ + "7556", + "7553" + ], + "face_ids": [ + "7669" + ] + }, + { + "id": "7621", + "vertex_ids": [ + "7558", + "7556" + ], + "face_ids": [ + "7669" + ] + }, + { + "id": "7622", + "vertex_ids": [ + "7559", + "7543" + ], + "face_ids": [ + "7670", + "7673" + ] + }, + { + "id": "7623", + "vertex_ids": [ + "7561", + "7560" + ], + "face_ids": [ + "7661", + "7674" + ] + }, + { + "id": "7624", + "vertex_ids": [ + "7533", + "7563" + ], + "face_ids": [ + "7672" + ] + }, + { + "id": "7625", + "vertex_ids": [ + "7562", + "7534" + ], + "face_ids": [ + "7671" + ] + }, + { + "id": "7626", + "vertex_ids": [ + "7563", + "7562" + ], + "face_ids": [ + "7671" + ] + }, + { + "id": "7627", + "vertex_ids": [ + "7539", + "7564" + ], + "face_ids": [ + "7660", + "7671" + ] + }, + { + "id": "7628", + "vertex_ids": [ + "7564", + "7534" + ], + "face_ids": [ + "7660", + "7671" + ] + }, + { + "id": "7629", + "vertex_ids": [ + "7565", + "7539" + ], + "face_ids": [ + "7661", + "7672" + ] + }, + { + "id": "7630", + "vertex_ids": [ + "7551", + "7566" + ], + "face_ids": [ + "7672", + "7674" + ] + }, + { + "id": "7631", + "vertex_ids": [ + "7566", + "7560" + ], + "face_ids": [ + "7661", + "7674" + ] + }, + { + "id": "7632", + "vertex_ids": [ + "7566", + "7565" + ], + "face_ids": [ + "7661", + "7672" + ] + }, + { + "id": "7633", + "vertex_ids": [ + "7539", + "7563" + ], + "face_ids": [ + "7671", + "7672" + ] + }, + { + "id": "7634", + "vertex_ids": [ + "7567", + "7568" + ], + "face_ids": [ + "7673", + "7676" + ] + }, + { + "id": "7635", + "vertex_ids": [ + "7559", + "7569" + ], + "face_ids": [ + "7661", + "7673" + ] + }, + { + "id": "7636", + "vertex_ids": [ + "7569", + "7570" + ], + "face_ids": [ + "7661", + "7676" + ] + }, + { + "id": "7637", + "vertex_ids": [ + "7569", + "7567" + ], + "face_ids": [ + "7673", + "7676" + ] + }, + { + "id": "7638", + "vertex_ids": [ + "7554", + "7571" + ], + "face_ids": [ + "7661", + "7669" + ] + }, + { + "id": "7639", + "vertex_ids": [ + "7571", + "7572" + ], + "face_ids": [ + "7661", + "7669" + ] + }, + { + "id": "7640", + "vertex_ids": [ + "7572", + "7573" + ], + "face_ids": [ + "7669", + "7670" + ] + }, + { + "id": "7641", + "vertex_ids": [ + "7557", + "7573" + ], + "face_ids": [ + "7669", + "7670" + ] + }, + { + "id": "7642", + "vertex_ids": [ + "7574", + "7575" + ], + "face_ids": [ + "7661", + "7674" + ] + }, + { + "id": "7643", + "vertex_ids": [ + "7575", + "7561" + ], + "face_ids": [ + "7661", + "7674" + ] + }, + { + "id": "7644", + "vertex_ids": [ + "7576", + "7577" + ], + "face_ids": [ + "7674", + "7675" + ] + }, + { + "id": "7645", + "vertex_ids": [ + "7577", + "7578" + ], + "face_ids": [ + "7667", + "7674" + ] + }, + { + "id": "7646", + "vertex_ids": [ + "7578", + "7579" + ], + "face_ids": [ + "7667", + "7674" + ] + }, + { + "id": "7647", + "vertex_ids": [ + "7574", + "7579" + ], + "face_ids": [ + "7674", + "7676" + ] + }, + { + "id": "7648", + "vertex_ids": [ + "7576", + "7550" + ], + "face_ids": [ + "7674", + "7675" + ] + }, + { + "id": "7649", + "vertex_ids": [ + "7547", + "7580" + ], + "face_ids": [ + "7665", + "7675" + ] + }, + { + "id": "7650", + "vertex_ids": [ + "7580", + "7552" + ], + "face_ids": [ + "7665", + "7667" + ] + }, + { + "id": "7651", + "vertex_ids": [ + "7580", + "7577" + ], + "face_ids": [ + "7667", + "7675" + ] + }, + { + "id": "7652", + "vertex_ids": [ + "7549", + "7547" + ], + "face_ids": [ + "7675" + ] + }, + { + "id": "7653", + "vertex_ids": [ + "7570", + "7574" + ], + "face_ids": [ + "7661", + "7676" + ] + }, + { + "id": "7654", + "vertex_ids": [ + "7572", + "7559" + ], + "face_ids": [ + "7661", + "7670" + ] + }, + { + "id": "7655", + "vertex_ids": [ + "7581", + "7582" + ], + "face_ids": [ + "7667", + "7673" + ] + }, + { + "id": "7656", + "vertex_ids": [ + "7582", + "7568" + ], + "face_ids": [ + "7673", + "7676" + ] + }, + { + "id": "7657", + "vertex_ids": [ + "7544", + "7581" + ], + "face_ids": [ + "7667", + "7673" + ] + }, + { + "id": "7658", + "vertex_ids": [ + "7582", + "7579" + ], + "face_ids": [ + "7667", + "7676" + ] + } + ], + "faces": [ + { + "id": "7659", + "edge_ids": [ + "7590", + "7591", + "7586", + "7584", + "7583", + "7585", + "7592" + ], + "edge_order": [ + 1, + 1, + 1, + 0, + 0, + 0, + 1 + ] + }, + { + "id": "7660", + "edge_ids": [ + "7593", + "7627", + "7628", + "7589", + "7599", + "7600", + "7597", + "7594" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "id": "7661", + "edge_ids": [ + "7615", + "7638", + "7639", + "7654", + "7635", + "7636", + "7653", + "7642", + "7643", + "7623", + "7631", + "7632", + "7629", + "7593", + "7594", + "7586", + "7591", + "7590" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "id": "7662", + "edge_ids": [ + "7584", + "7597", + "7596", + "7598" + ], + "edge_order": [ + 1, + 0, + 0, + 1 + ] + }, + { + "id": "7663", + "edge_ids": [ + "7596", + "7600", + "7599", + "7595" + ], + "edge_order": [ + 1, + 0, + 0, + 1 + ] + }, + { + "id": "7664", + "edge_ids": [ + "7588", + "7612", + "7613", + "7604", + "7605", + "7587" + ], + "edge_order": [ + 1, + 1, + 1, + 0, + 1, + 1 + ] + }, + { + "id": "7665", + "edge_ids": [ + "7606", + "7649", + "7650", + "7612" + ], + "edge_order": [ + 0, + 1, + 1, + 0 + ] + }, + { + "id": "7666", + "edge_ids": [ + "7607", + "7611", + "7610", + "7609", + "7608" + ], + "edge_order": [ + 0, + 1, + 1, + 0, + 0 + ] + }, + { + "id": "7667", + "edge_ids": [ + "7613", + "7650", + "7651", + "7645", + "7646", + "7658", + "7655", + "7657", + "7602", + "7603", + "7604" + ], + "edge_order": [ + 0, + 0, + 1, + 1, + 1, + 0, + 0, + 0, + 1, + 1, + 1 + ] + }, + { + "id": "7668", + "edge_ids": [ + "7617", + "7614", + "7615", + "7592", + "7616" + ], + "edge_order": [ + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "id": "7669", + "edge_ids": [ + "7621", + "7618", + "7641", + "7640", + "7639", + "7638", + "7614", + "7617", + "7620" + ], + "edge_order": [ + 0, + 0, + 1, + 0, + 0, + 0, + 1, + 1, + 0 + ] + }, + { + "id": "7670", + "edge_ids": [ + "7622", + "7654", + "7640", + "7641", + "7618", + "7619" + ], + "edge_order": [ + 0, + 0, + 1, + 0, + 1, + 1 + ] + }, + { + "id": "7671", + "edge_ids": [ + "7626", + "7625", + "7628", + "7627", + "7633" + ], + "edge_order": [ + 1, + 1, + 0, + 0, + 1 + ] + }, + { + "id": "7672", + "edge_ids": [ + "7629", + "7632", + "7630", + "7609", + "7624", + "7633" + ], + "edge_order": [ + 0, + 0, + 0, + 1, + 1, + 0 + ] + }, + { + "id": "7673", + "edge_ids": [ + "7655", + "7656", + "7634", + "7637", + "7635", + "7622", + "7601", + "7657" + ], + "edge_order": [ + 1, + 1, + 0, + 0, + 0, + 1, + 1, + 1 + ] + }, + { + "id": "7674", + "edge_ids": [ + "7642", + "7647", + "7646", + "7645", + "7644", + "7648", + "7608", + "7630", + "7631", + "7623", + "7643" + ], + "edge_order": [ + 0, + 1, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 0, + 0 + ] + }, + { + "id": "7675", + "edge_ids": [ + "7607", + "7652", + "7649", + "7651", + "7644", + "7648" + ], + "edge_order": [ + 0, + 1, + 1, + 1, + 0, + 1 + ] + }, + { + "id": "7676", + "edge_ids": [ + "7647", + "7653", + "7636", + "7637", + "7634", + "7656", + "7658" + ], + "edge_order": [ + 0, + 0, + 0, + 1, + 1, + 0, + 1 + ] + } + ] + }, + "spaces": [ + { + "id": "7681", + "handle": null, + "name": "Space 8-1", + "face_id": "7659", + "building_unit_id": null, + "thermal_zone_id": "tz_93", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1932.0249999999979 + }, + { + "id": "7682", + "handle": null, + "name": "Space 8-2", + "face_id": "7660", + "building_unit_id": null, + "thermal_zone_id": "tz_94", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 3328.925000000003 + }, + { + "id": "7683", + "handle": null, + "name": "Space 8-3", + "face_id": "7661", + "building_unit_id": null, + "thermal_zone_id": "tz_95", + "space_type_id": "1234", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1656.0945999999952 + }, + { + "id": "7684", + "handle": null, + "name": "Space 8-4", + "face_id": "7662", + "building_unit_id": null, + "thermal_zone_id": "tz_96", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1015.625 + }, + { + "id": "7685", + "handle": null, + "name": "Space 8-5", + "face_id": "7663", + "building_unit_id": null, + "thermal_zone_id": "tz_97", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1237.5 + }, + { + "id": "7686", + "handle": null, + "name": "Space 8-6", + "face_id": "7664", + "building_unit_id": null, + "thermal_zone_id": "tz_98", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1148.75 + }, + { + "id": "7687", + "handle": null, + "name": "Space 8-7", + "face_id": "7665", + "building_unit_id": null, + "thermal_zone_id": "tz_99", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 578.39095 + }, + { + "id": "7688", + "handle": null, + "name": "Space 8-8", + "face_id": "7666", + "building_unit_id": null, + "thermal_zone_id": "tz_100", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1193.7000000000008 + }, + { + "id": "7689", + "handle": null, + "name": "Space 8-9", + "face_id": "7667", + "building_unit_id": null, + "thermal_zone_id": "tz_101", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1111.4384 + }, + { + "id": "7690", + "handle": null, + "name": "Space 8-10", + "face_id": "7668", + "building_unit_id": null, + "thermal_zone_id": "tz_102", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1736.1500000000015 + }, + { + "id": "7691", + "handle": null, + "name": "Space 8-11", + "face_id": "7669", + "building_unit_id": null, + "thermal_zone_id": "tz_103", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1637.4499999999999 + }, + { + "id": "7692", + "handle": null, + "name": "Space 8-12", + "face_id": "7670", + "building_unit_id": null, + "thermal_zone_id": "tz_104", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1113.8282499999992 + }, + { + "id": "7693", + "handle": null, + "name": "Space 8-13", + "face_id": "7671", + "building_unit_id": null, + "thermal_zone_id": "tz_105", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 530.4124999999999 + }, + { + "id": "7694", + "handle": null, + "name": "Space 8-14", + "face_id": "7672", + "building_unit_id": null, + "thermal_zone_id": "tz_106", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 603.2000000000003 + }, + { + "id": "7695", + "handle": null, + "name": "Space 8-15", + "face_id": "7673", + "building_unit_id": null, + "thermal_zone_id": "tz_107", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1953.9164999999976 + }, + { + "id": "7696", + "handle": null, + "name": "Space 8-16", + "face_id": "7674", + "building_unit_id": null, + "thermal_zone_id": "tz_108", + "space_type_id": "1234", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 657.2041499999984 + }, + { + "id": "7697", + "handle": null, + "name": "Space 8-17", + "face_id": "7675", + "building_unit_id": null, + "thermal_zone_id": "tz_109", + "space_type_id": "1234", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 167.03750000000026 + }, + { + "id": "7698", + "handle": null, + "name": "Space 8-18", + "face_id": "7676", + "building_unit_id": null, + "thermal_zone_id": "tz_110", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1009.5219000000016 + } + ], + "shading": [], + "windows": [], + "doors": [], + "construction_lines": [], + "area": 22611.169749999986 + }, + { + "id": "7852", + "handle": null, + "name": "Story 9", + "image_id": null, + "below_floor_plenum_height": 0, + "floor_to_ceiling_height": 10.5, + "above_ceiling_plenum_height": 0, + "multiplier": 1, + "color": "#44aa99", + "geometry": { + "id": "7853", + "vertices": [ + { + "id": "7699", + "x": -507.5, + "y": -32.5, + "edge_ids": [ + "7758", + "7760" + ] + }, + { + "id": "7700", + "x": -450, + "y": -2.5, + "edge_ids": [ + "7758", + "7759", + "7773" + ] + }, + { + "id": "7701", + "x": -440, + "y": -27.5, + "edge_ids": [ + "7759", + "7761", + "7769", + "7772" + ] + }, + { + "id": "7702", + "x": -430, + "y": -62.5, + "edge_ids": [ + "7760", + "7767", + "7791" + ] + }, + { + "id": "7703", + "x": -447.19, + "y": -30.58, + "edge_ids": [ + "7761", + "7766" + ] + }, + { + "id": "7704", + "x": -257.5, + "y": -37.5, + "edge_ids": [ + "7777", + "7778" + ] + }, + { + "id": "7705", + "x": -250, + "y": -65, + "edge_ids": [ + "7762", + "7780" + ] + }, + { + "id": "7706", + "x": -207.5, + "y": -35, + "edge_ids": [ + "7762", + "7763" + ] + }, + { + "id": "7707", + "x": -207.5, + "y": -5, + "edge_ids": [ + "7763", + "7781", + "7787" + ] + }, + { + "id": "7708", + "x": -225, + "y": 47.5, + "edge_ids": [ + "7784", + "7785", + "7799" + ] + }, + { + "id": "7709", + "x": -265, + "y": 77.5, + "edge_ids": [ + "7764", + "7800", + "7803" + ] + }, + { + "id": "7710", + "x": -385, + "y": 32.5, + "edge_ids": [ + "7764", + "7770", + "7774" + ] + }, + { + "id": "7711", + "x": -442.19, + "y": -39.86, + "edge_ids": [ + "7765", + "7767", + "7790" + ] + }, + { + "id": "7712", + "x": -442.5, + "y": -40, + "edge_ids": [ + "7765", + "7766" + ] + }, + { + "id": "7713", + "x": -307.06, + "y": 31.4, + "edge_ids": [ + "7768", + "7769" + ] + }, + { + "id": "7714", + "x": -265, + "y": 50, + "edge_ids": [ + "7768", + "7802", + "7804", + "7808" + ] + }, + { + "id": "7715", + "x": -417.5, + "y": 15, + "edge_ids": [ + "7770", + "7771", + "7773" + ] + }, + { + "id": "7716", + "x": -407.5, + "y": -12.5, + "edge_ids": [ + "7771", + "7772", + "7775" + ] + }, + { + "id": "7717", + "x": -367.5, + "y": 5, + "edge_ids": [ + "7774", + "7775" + ] + }, + { + "id": "7718", + "x": -316.7, + "y": -27.55, + "edge_ids": [ + "7776", + "7794", + "7797" + ] + }, + { + "id": "7719", + "x": -279.5, + "y": -29.74, + "edge_ids": [ + "7776", + "7777", + "7832" + ] + }, + { + "id": "7720", + "x": -254.81, + "y": -47.38, + "edge_ids": [ + "7778", + "7779", + "7780" + ] + }, + { + "id": "7721", + "x": -227.5, + "y": -30, + "edge_ids": [ + "7779", + "7788" + ] + }, + { + "id": "7722", + "x": -215, + "y": 15, + "edge_ids": [ + "7781", + "7824", + "7827" + ] + }, + { + "id": "7723", + "x": -215, + "y": 20, + "edge_ids": [ + "7785", + "7786" + ] + }, + { + "id": "7724", + "x": -215.68, + "y": 19.55, + "edge_ids": [ + "7782", + "7786", + "7827" + ] + }, + { + "id": "7725", + "x": -245, + "y": 0, + "edge_ids": [ + "7782", + "7783", + "7823" + ] + }, + { + "id": "7726", + "x": -260, + "y": 32.5, + "edge_ids": [ + "7783", + "7784", + "7805" + ] + }, + { + "id": "7727", + "x": -232.14, + "y": -19.79, + "edge_ids": [ + "7787", + "7788", + "7825" + ] + }, + { + "id": "7728", + "x": -380, + "y": -47.5, + "edge_ids": [ + "7791", + "7792", + "7795" + ] + }, + { + "id": "7729", + "x": -382.5, + "y": -12.5, + "edge_ids": [ + "7789", + "7790", + "7813" + ] + }, + { + "id": "7730", + "x": -380.06, + "y": -46.7, + "edge_ids": [ + "7789", + "7792" + ] + }, + { + "id": "7731", + "x": -340, + "y": -35, + "edge_ids": [ + "7795", + "7796" + ] + }, + { + "id": "7732", + "x": -342.5, + "y": 5, + "edge_ids": [ + "7793", + "7816" + ] + }, + { + "id": "7733", + "x": -340.03, + "y": -34.6, + "edge_ids": [ + "7793", + "7794", + "7796" + ] + }, + { + "id": "7734", + "x": -315, + "y": 17.5, + "edge_ids": [ + "7797", + "7810", + "7829" + ] + }, + { + "id": "7735", + "x": -271.62, + "y": 38.32, + "edge_ids": [ + "7798", + "7806" + ] + }, + { + "id": "7736", + "x": -272.5, + "y": 40, + "edge_ids": [ + "7798", + "7818" + ] + }, + { + "id": "7737", + "x": -242.5, + "y": 65, + "edge_ids": [ + "7800", + "7801" + ] + }, + { + "id": "7738", + "x": -242.5, + "y": 60.63, + "edge_ids": [ + "7799", + "7801", + "7808" + ] + }, + { + "id": "7739", + "x": -277.5, + "y": 72.5, + "edge_ids": [ + "7802", + "7803" + ] + }, + { + "id": "7740", + "x": -265, + "y": 42.5, + "edge_ids": [ + "7804", + "7807" + ] + }, + { + "id": "7741", + "x": -264.53, + "y": 41.57, + "edge_ids": [ + "7805", + "7806", + "7807" + ] + }, + { + "id": "7742", + "x": -292.5, + "y": 17.5, + "edge_ids": [ + "7809", + "7812" + ] + }, + { + "id": "7743", + "x": -285, + "y": 17.5, + "edge_ids": [ + "7809", + "7831" + ] + }, + { + "id": "7744", + "x": -310, + "y": 17.5, + "edge_ids": [ + "7810", + "7811", + "7812" + ] + }, + { + "id": "7745", + "x": -310, + "y": 22.22, + "edge_ids": [ + "7811", + "7828" + ] + }, + { + "id": "7746", + "x": -382.5, + "y": -10, + "edge_ids": [ + "7813", + "7814" + ] + }, + { + "id": "7747", + "x": -342.5, + "y": 7.5, + "edge_ids": [ + "7814", + "7815", + "7829" + ] + }, + { + "id": "7748", + "x": -342.5, + "y": 5.28, + "edge_ids": [ + "7815", + "7816" + ] + }, + { + "id": "7749", + "x": -279.4, + "y": 36.55, + "edge_ids": [ + "7817", + "7822", + "7828" + ] + }, + { + "id": "7750", + "x": -280, + "y": 37.5, + "edge_ids": [ + "7817", + "7818" + ] + }, + { + "id": "7751", + "x": -242.81, + "y": -4.38, + "edge_ids": [ + "7819", + "7823" + ] + }, + { + "id": "7752", + "x": -242.5, + "y": -5, + "edge_ids": [ + "7819", + "7820", + "7826" + ] + }, + { + "id": "7753", + "x": -250, + "y": -10, + "edge_ids": [ + "7820", + "7821" + ] + }, + { + "id": "7754", + "x": -250.33, + "y": -9.47, + "edge_ids": [ + "7821", + "7822", + "7833" + ] + }, + { + "id": "7755", + "x": -239.77, + "y": -3.01, + "edge_ids": [ + "7824", + "7825", + "7826" + ] + }, + { + "id": "7756", + "x": -270, + "y": -20, + "edge_ids": [ + "7830", + "7832" + ] + }, + { + "id": "7757", + "x": -263.22, + "y": -16.37, + "edge_ids": [ + "7830", + "7831", + "7833" + ] + } + ], + "edges": [ + { + "id": "7758", + "vertex_ids": [ + "7699", + "7700" + ], + "face_ids": [ + "7834" + ] + }, + { + "id": "7759", + "vertex_ids": [ + "7700", + "7701" + ], + "face_ids": [ + "7834", + "7837" + ] + }, + { + "id": "7760", + "vertex_ids": [ + "7702", + "7699" + ], + "face_ids": [ + "7834" + ] + }, + { + "id": "7761", + "vertex_ids": [ + "7703", + "7701" + ], + "face_ids": [ + "7834", + "7836" + ] + }, + { + "id": "7762", + "vertex_ids": [ + "7705", + "7706" + ], + "face_ids": [ + "7839" + ] + }, + { + "id": "7763", + "vertex_ids": [ + "7706", + "7707" + ], + "face_ids": [ + "7839" + ] + }, + { + "id": "7764", + "vertex_ids": [ + "7709", + "7710" + ], + "face_ids": [ + "7835" + ] + }, + { + "id": "7765", + "vertex_ids": [ + "7711", + "7712" + ], + "face_ids": [ + "7834", + "7836" + ] + }, + { + "id": "7766", + "vertex_ids": [ + "7712", + "7703" + ], + "face_ids": [ + "7834", + "7836" + ] + }, + { + "id": "7767", + "vertex_ids": [ + "7702", + "7711" + ], + "face_ids": [ + "7834", + "7843" + ] + }, + { + "id": "7768", + "vertex_ids": [ + "7713", + "7714" + ], + "face_ids": [ + "7835", + "7836" + ] + }, + { + "id": "7769", + "vertex_ids": [ + "7701", + "7713" + ], + "face_ids": [ + "7835", + "7836" + ] + }, + { + "id": "7770", + "vertex_ids": [ + "7710", + "7715" + ], + "face_ids": [ + "7838" + ] + }, + { + "id": "7771", + "vertex_ids": [ + "7715", + "7716" + ], + "face_ids": [ + "7837", + "7838" + ] + }, + { + "id": "7772", + "vertex_ids": [ + "7716", + "7701" + ], + "face_ids": [ + "7835", + "7837" + ] + }, + { + "id": "7773", + "vertex_ids": [ + "7715", + "7700" + ], + "face_ids": [ + "7837" + ] + }, + { + "id": "7774", + "vertex_ids": [ + "7710", + "7717" + ], + "face_ids": [ + "7835", + "7838" + ] + }, + { + "id": "7775", + "vertex_ids": [ + "7717", + "7716" + ], + "face_ids": [ + "7835", + "7838" + ] + }, + { + "id": "7776", + "vertex_ids": [ + "7718", + "7719" + ], + "face_ids": [ + "7848" + ] + }, + { + "id": "7777", + "vertex_ids": [ + "7719", + "7704" + ], + "face_ids": [ + "7842" + ] + }, + { + "id": "7778", + "vertex_ids": [ + "7704", + "7720" + ], + "face_ids": [ + "7842" + ] + }, + { + "id": "7779", + "vertex_ids": [ + "7720", + "7721" + ], + "face_ids": [ + "7839", + "7842" + ] + }, + { + "id": "7780", + "vertex_ids": [ + "7720", + "7705" + ], + "face_ids": [ + "7839" + ] + }, + { + "id": "7781", + "vertex_ids": [ + "7722", + "7707" + ], + "face_ids": [ + "7840" + ] + }, + { + "id": "7782", + "vertex_ids": [ + "7724", + "7725" + ], + "face_ids": [ + "7841", + "7850" + ] + }, + { + "id": "7783", + "vertex_ids": [ + "7725", + "7726" + ], + "face_ids": [ + "7841", + "7849" + ] + }, + { + "id": "7784", + "vertex_ids": [ + "7726", + "7708" + ], + "face_ids": [ + "7841", + "7847" + ] + }, + { + "id": "7785", + "vertex_ids": [ + "7723", + "7708" + ], + "face_ids": [ + "7841" + ] + }, + { + "id": "7786", + "vertex_ids": [ + "7724", + "7723" + ], + "face_ids": [ + "7841" + ] + }, + { + "id": "7787", + "vertex_ids": [ + "7707", + "7727" + ], + "face_ids": [ + "7839", + "7840" + ] + }, + { + "id": "7788", + "vertex_ids": [ + "7727", + "7721" + ], + "face_ids": [ + "7839", + "7842" + ] + }, + { + "id": "7789", + "vertex_ids": [ + "7729", + "7730" + ], + "face_ids": [ + "7843", + "7844" + ] + }, + { + "id": "7790", + "vertex_ids": [ + "7711", + "7729" + ], + "face_ids": [ + "7836", + "7843" + ] + }, + { + "id": "7791", + "vertex_ids": [ + "7728", + "7702" + ], + "face_ids": [ + "7843" + ] + }, + { + "id": "7792", + "vertex_ids": [ + "7730", + "7728" + ], + "face_ids": [ + "7843", + "7844" + ] + }, + { + "id": "7793", + "vertex_ids": [ + "7732", + "7733" + ], + "face_ids": [ + "7844", + "7845" + ] + }, + { + "id": "7794", + "vertex_ids": [ + "7733", + "7718" + ], + "face_ids": [ + "7845" + ] + }, + { + "id": "7795", + "vertex_ids": [ + "7731", + "7728" + ], + "face_ids": [ + "7844" + ] + }, + { + "id": "7796", + "vertex_ids": [ + "7733", + "7731" + ], + "face_ids": [ + "7844" + ] + }, + { + "id": "7797", + "vertex_ids": [ + "7734", + "7718" + ], + "face_ids": [ + "7845", + "7848" + ] + }, + { + "id": "7798", + "vertex_ids": [ + "7736", + "7735" + ], + "face_ids": [ + "7836", + "7849" + ] + }, + { + "id": "7799", + "vertex_ids": [ + "7708", + "7738" + ], + "face_ids": [ + "7847" + ] + }, + { + "id": "7800", + "vertex_ids": [ + "7737", + "7709" + ], + "face_ids": [ + "7846" + ] + }, + { + "id": "7801", + "vertex_ids": [ + "7738", + "7737" + ], + "face_ids": [ + "7846" + ] + }, + { + "id": "7802", + "vertex_ids": [ + "7714", + "7739" + ], + "face_ids": [ + "7835", + "7846" + ] + }, + { + "id": "7803", + "vertex_ids": [ + "7739", + "7709" + ], + "face_ids": [ + "7835", + "7846" + ] + }, + { + "id": "7804", + "vertex_ids": [ + "7740", + "7714" + ], + "face_ids": [ + "7836", + "7847" + ] + }, + { + "id": "7805", + "vertex_ids": [ + "7726", + "7741" + ], + "face_ids": [ + "7847", + "7849" + ] + }, + { + "id": "7806", + "vertex_ids": [ + "7741", + "7735" + ], + "face_ids": [ + "7836", + "7849" + ] + }, + { + "id": "7807", + "vertex_ids": [ + "7741", + "7740" + ], + "face_ids": [ + "7836", + "7847" + ] + }, + { + "id": "7808", + "vertex_ids": [ + "7714", + "7738" + ], + "face_ids": [ + "7846", + "7847" + ] + }, + { + "id": "7809", + "vertex_ids": [ + "7742", + "7743" + ], + "face_ids": [ + "7848", + "7851" + ] + }, + { + "id": "7810", + "vertex_ids": [ + "7734", + "7744" + ], + "face_ids": [ + "7836", + "7848" + ] + }, + { + "id": "7811", + "vertex_ids": [ + "7744", + "7745" + ], + "face_ids": [ + "7836", + "7851" + ] + }, + { + "id": "7812", + "vertex_ids": [ + "7744", + "7742" + ], + "face_ids": [ + "7848", + "7851" + ] + }, + { + "id": "7813", + "vertex_ids": [ + "7729", + "7746" + ], + "face_ids": [ + "7836", + "7844" + ] + }, + { + "id": "7814", + "vertex_ids": [ + "7746", + "7747" + ], + "face_ids": [ + "7836", + "7844" + ] + }, + { + "id": "7815", + "vertex_ids": [ + "7747", + "7748" + ], + "face_ids": [ + "7844", + "7845" + ] + }, + { + "id": "7816", + "vertex_ids": [ + "7732", + "7748" + ], + "face_ids": [ + "7844", + "7845" + ] + }, + { + "id": "7817", + "vertex_ids": [ + "7749", + "7750" + ], + "face_ids": [ + "7836", + "7849" + ] + }, + { + "id": "7818", + "vertex_ids": [ + "7750", + "7736" + ], + "face_ids": [ + "7836", + "7849" + ] + }, + { + "id": "7819", + "vertex_ids": [ + "7751", + "7752" + ], + "face_ids": [ + "7849", + "7850" + ] + }, + { + "id": "7820", + "vertex_ids": [ + "7752", + "7753" + ], + "face_ids": [ + "7842", + "7849" + ] + }, + { + "id": "7821", + "vertex_ids": [ + "7753", + "7754" + ], + "face_ids": [ + "7842", + "7849" + ] + }, + { + "id": "7822", + "vertex_ids": [ + "7749", + "7754" + ], + "face_ids": [ + "7849", + "7851" + ] + }, + { + "id": "7823", + "vertex_ids": [ + "7751", + "7725" + ], + "face_ids": [ + "7849", + "7850" + ] + }, + { + "id": "7824", + "vertex_ids": [ + "7722", + "7755" + ], + "face_ids": [ + "7840", + "7850" + ] + }, + { + "id": "7825", + "vertex_ids": [ + "7755", + "7727" + ], + "face_ids": [ + "7840", + "7842" + ] + }, + { + "id": "7826", + "vertex_ids": [ + "7755", + "7752" + ], + "face_ids": [ + "7842", + "7850" + ] + }, + { + "id": "7827", + "vertex_ids": [ + "7724", + "7722" + ], + "face_ids": [ + "7850" + ] + }, + { + "id": "7828", + "vertex_ids": [ + "7745", + "7749" + ], + "face_ids": [ + "7836", + "7851" + ] + }, + { + "id": "7829", + "vertex_ids": [ + "7747", + "7734" + ], + "face_ids": [ + "7836", + "7845" + ] + }, + { + "id": "7830", + "vertex_ids": [ + "7756", + "7757" + ], + "face_ids": [ + "7842", + "7848" + ] + }, + { + "id": "7831", + "vertex_ids": [ + "7757", + "7743" + ], + "face_ids": [ + "7848", + "7851" + ] + }, + { + "id": "7832", + "vertex_ids": [ + "7719", + "7756" + ], + "face_ids": [ + "7842", + "7848" + ] + }, + { + "id": "7833", + "vertex_ids": [ + "7757", + "7754" + ], + "face_ids": [ + "7842", + "7851" + ] + } + ], + "faces": [ + { + "id": "7834", + "edge_ids": [ + "7765", + "7766", + "7761", + "7759", + "7758", + "7760", + "7767" + ], + "edge_order": [ + 1, + 1, + 1, + 0, + 0, + 0, + 1 + ] + }, + { + "id": "7835", + "edge_ids": [ + "7768", + "7802", + "7803", + "7764", + "7774", + "7775", + "7772", + "7769" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "id": "7836", + "edge_ids": [ + "7790", + "7813", + "7814", + "7829", + "7810", + "7811", + "7828", + "7817", + "7818", + "7798", + "7806", + "7807", + "7804", + "7768", + "7769", + "7761", + "7766", + "7765" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "id": "7837", + "edge_ids": [ + "7759", + "7772", + "7771", + "7773" + ], + "edge_order": [ + 1, + 0, + 0, + 1 + ] + }, + { + "id": "7838", + "edge_ids": [ + "7771", + "7775", + "7774", + "7770" + ], + "edge_order": [ + 1, + 0, + 0, + 1 + ] + }, + { + "id": "7839", + "edge_ids": [ + "7763", + "7787", + "7788", + "7779", + "7780", + "7762" + ], + "edge_order": [ + 1, + 1, + 1, + 0, + 1, + 1 + ] + }, + { + "id": "7840", + "edge_ids": [ + "7781", + "7824", + "7825", + "7787" + ], + "edge_order": [ + 0, + 1, + 1, + 0 + ] + }, + { + "id": "7841", + "edge_ids": [ + "7782", + "7786", + "7785", + "7784", + "7783" + ], + "edge_order": [ + 0, + 1, + 1, + 0, + 0 + ] + }, + { + "id": "7842", + "edge_ids": [ + "7788", + "7825", + "7826", + "7820", + "7821", + "7833", + "7830", + "7832", + "7777", + "7778", + "7779" + ], + "edge_order": [ + 0, + 0, + 1, + 1, + 1, + 0, + 0, + 0, + 1, + 1, + 1 + ] + }, + { + "id": "7843", + "edge_ids": [ + "7792", + "7789", + "7790", + "7767", + "7791" + ], + "edge_order": [ + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "id": "7844", + "edge_ids": [ + "7796", + "7793", + "7816", + "7815", + "7814", + "7813", + "7789", + "7792", + "7795" + ], + "edge_order": [ + 0, + 0, + 1, + 0, + 0, + 0, + 1, + 1, + 0 + ] + }, + { + "id": "7845", + "edge_ids": [ + "7797", + "7829", + "7815", + "7816", + "7793", + "7794" + ], + "edge_order": [ + 0, + 0, + 1, + 0, + 1, + 1 + ] + }, + { + "id": "7846", + "edge_ids": [ + "7801", + "7800", + "7803", + "7802", + "7808" + ], + "edge_order": [ + 1, + 1, + 0, + 0, + 1 + ] + }, + { + "id": "7847", + "edge_ids": [ + "7804", + "7807", + "7805", + "7784", + "7799", + "7808" + ], + "edge_order": [ + 0, + 0, + 0, + 1, + 1, + 0 + ] + }, + { + "id": "7848", + "edge_ids": [ + "7830", + "7831", + "7809", + "7812", + "7810", + "7797", + "7776", + "7832" + ], + "edge_order": [ + 1, + 1, + 0, + 0, + 0, + 1, + 1, + 1 + ] + }, + { + "id": "7849", + "edge_ids": [ + "7817", + "7822", + "7821", + "7820", + "7819", + "7823", + "7783", + "7805", + "7806", + "7798", + "7818" + ], + "edge_order": [ + 0, + 1, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 0, + 0 + ] + }, + { + "id": "7850", + "edge_ids": [ + "7782", + "7827", + "7824", + "7826", + "7819", + "7823" + ], + "edge_order": [ + 0, + 1, + 1, + 1, + 0, + 1 + ] + }, + { + "id": "7851", + "edge_ids": [ + "7822", + "7828", + "7811", + "7812", + "7809", + "7831", + "7833" + ], + "edge_order": [ + 0, + 0, + 0, + 1, + 1, + 0, + 1 + ] + } + ] + }, + "spaces": [ + { + "id": "7856", + "handle": null, + "name": "Space 9-1", + "face_id": "7834", + "building_unit_id": null, + "thermal_zone_id": "tz_111", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1932.0249999999979 + }, + { + "id": "7857", + "handle": null, + "name": "Space 9-2", + "face_id": "7835", + "building_unit_id": null, + "thermal_zone_id": "tz_112", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 3328.925000000003 + }, + { + "id": "7858", + "handle": null, + "name": "Space 9-3", + "face_id": "7836", + "building_unit_id": null, + "thermal_zone_id": "tz_113", + "space_type_id": "1234", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1656.0945999999952 + }, + { + "id": "7859", + "handle": null, + "name": "Space 9-4", + "face_id": "7837", + "building_unit_id": null, + "thermal_zone_id": "tz_114", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1015.625 + }, + { + "id": "7860", + "handle": null, + "name": "Space 9-5", + "face_id": "7838", + "building_unit_id": null, + "thermal_zone_id": "tz_115", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1237.5 + }, + { + "id": "7861", + "handle": null, + "name": "Space 9-6", + "face_id": "7839", + "building_unit_id": null, + "thermal_zone_id": "tz_116", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1148.75 + }, + { + "id": "7862", + "handle": null, + "name": "Space 9-7", + "face_id": "7840", + "building_unit_id": null, + "thermal_zone_id": "tz_117", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 578.39095 + }, + { + "id": "7863", + "handle": null, + "name": "Space 9-8", + "face_id": "7841", + "building_unit_id": null, + "thermal_zone_id": "tz_118", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1193.7000000000008 + }, + { + "id": "7864", + "handle": null, + "name": "Space 9-9", + "face_id": "7842", + "building_unit_id": null, + "thermal_zone_id": "tz_119", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1111.4384 + }, + { + "id": "7865", + "handle": null, + "name": "Space 9-10", + "face_id": "7843", + "building_unit_id": null, + "thermal_zone_id": "tz_120", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1736.1500000000015 + }, + { + "id": "7866", + "handle": null, + "name": "Space 9-11", + "face_id": "7844", + "building_unit_id": null, + "thermal_zone_id": "tz_121", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1637.4499999999999 + }, + { + "id": "7867", + "handle": null, + "name": "Space 9-12", + "face_id": "7845", + "building_unit_id": null, + "thermal_zone_id": "tz_122", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1113.8282499999992 + }, + { + "id": "7868", + "handle": null, + "name": "Space 9-13", + "face_id": "7846", + "building_unit_id": null, + "thermal_zone_id": "tz_123", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 530.4124999999999 + }, + { + "id": "7869", + "handle": null, + "name": "Space 9-14", + "face_id": "7847", + "building_unit_id": null, + "thermal_zone_id": "tz_124", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 603.2000000000003 + }, + { + "id": "7870", + "handle": null, + "name": "Space 9-15", + "face_id": "7848", + "building_unit_id": null, + "thermal_zone_id": "tz_125", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1953.9164999999976 + }, + { + "id": "7871", + "handle": null, + "name": "Space 9-16", + "face_id": "7849", + "building_unit_id": null, + "thermal_zone_id": "tz_126", + "space_type_id": "1234", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 657.2041499999984 + }, + { + "id": "7872", + "handle": null, + "name": "Space 9-17", + "face_id": "7850", + "building_unit_id": null, + "thermal_zone_id": "tz_127", + "space_type_id": "1234", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 167.03750000000026 + }, + { + "id": "7873", + "handle": null, + "name": "Space 9-18", + "face_id": "7851", + "building_unit_id": null, + "thermal_zone_id": "tz_128", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1009.5219000000016 + } + ], + "shading": [], + "windows": [], + "doors": [], + "construction_lines": [], + "area": 22611.169749999986 + }, + { + "id": "8027", + "handle": null, + "name": "Story 10", + "image_id": null, + "below_floor_plenum_height": 0, + "floor_to_ceiling_height": 10.5, + "above_ceiling_plenum_height": 0, + "multiplier": 1, + "color": "#6699cc", + "geometry": { + "id": "8028", + "vertices": [ + { + "id": "7874", + "x": -507.5, + "y": -32.5, + "edge_ids": [ + "7933", + "7935" + ] + }, + { + "id": "7875", + "x": -450, + "y": -2.5, + "edge_ids": [ + "7933", + "7934", + "7948" + ] + }, + { + "id": "7876", + "x": -440, + "y": -27.5, + "edge_ids": [ + "7934", + "7936", + "7944", + "7947" + ] + }, + { + "id": "7877", + "x": -430, + "y": -62.5, + "edge_ids": [ + "7935", + "7942", + "7966" + ] + }, + { + "id": "7878", + "x": -447.19, + "y": -30.58, + "edge_ids": [ + "7936", + "7941" + ] + }, + { + "id": "7879", + "x": -257.5, + "y": -37.5, + "edge_ids": [ + "7952", + "7953" + ] + }, + { + "id": "7880", + "x": -250, + "y": -65, + "edge_ids": [ + "7937", + "7955" + ] + }, + { + "id": "7881", + "x": -207.5, + "y": -35, + "edge_ids": [ + "7937", + "7938" + ] + }, + { + "id": "7882", + "x": -207.5, + "y": -5, + "edge_ids": [ + "7938", + "7956", + "7962" + ] + }, + { + "id": "7883", + "x": -225, + "y": 47.5, + "edge_ids": [ + "7959", + "7960", + "7974" + ] + }, + { + "id": "7884", + "x": -265, + "y": 77.5, + "edge_ids": [ + "7939", + "7975", + "7978" + ] + }, + { + "id": "7885", + "x": -385, + "y": 32.5, + "edge_ids": [ + "7939", + "7945", + "7949" + ] + }, + { + "id": "7886", + "x": -442.19, + "y": -39.86, + "edge_ids": [ + "7940", + "7942", + "7965" + ] + }, + { + "id": "7887", + "x": -442.5, + "y": -40, + "edge_ids": [ + "7940", + "7941" + ] + }, + { + "id": "7888", + "x": -307.06, + "y": 31.4, + "edge_ids": [ + "7943", + "7944" + ] + }, + { + "id": "7889", + "x": -265, + "y": 50, + "edge_ids": [ + "7943", + "7977", + "7979", + "7983" + ] + }, + { + "id": "7890", + "x": -417.5, + "y": 15, + "edge_ids": [ + "7945", + "7946", + "7948" + ] + }, + { + "id": "7891", + "x": -407.5, + "y": -12.5, + "edge_ids": [ + "7946", + "7947", + "7950" + ] + }, + { + "id": "7892", + "x": -367.5, + "y": 5, + "edge_ids": [ + "7949", + "7950" + ] + }, + { + "id": "7893", + "x": -316.7, + "y": -27.55, + "edge_ids": [ + "7951", + "7969", + "7972" + ] + }, + { + "id": "7894", + "x": -279.5, + "y": -29.74, + "edge_ids": [ + "7951", + "7952", + "8007" + ] + }, + { + "id": "7895", + "x": -254.81, + "y": -47.38, + "edge_ids": [ + "7953", + "7954", + "7955" + ] + }, + { + "id": "7896", + "x": -227.5, + "y": -30, + "edge_ids": [ + "7954", + "7963" + ] + }, + { + "id": "7897", + "x": -215, + "y": 15, + "edge_ids": [ + "7956", + "7999", + "8002" + ] + }, + { + "id": "7898", + "x": -215, + "y": 20, + "edge_ids": [ + "7960", + "7961" + ] + }, + { + "id": "7899", + "x": -215.68, + "y": 19.55, + "edge_ids": [ + "7957", + "7961", + "8002" + ] + }, + { + "id": "7900", + "x": -245, + "y": 0, + "edge_ids": [ + "7957", + "7958", + "7998" + ] + }, + { + "id": "7901", + "x": -260, + "y": 32.5, + "edge_ids": [ + "7958", + "7959", + "7980" + ] + }, + { + "id": "7902", + "x": -232.14, + "y": -19.79, + "edge_ids": [ + "7962", + "7963", + "8000" + ] + }, + { + "id": "7903", + "x": -380, + "y": -47.5, + "edge_ids": [ + "7966", + "7967", + "7970" + ] + }, + { + "id": "7904", + "x": -382.5, + "y": -12.5, + "edge_ids": [ + "7964", + "7965", + "7988" + ] + }, + { + "id": "7905", + "x": -380.06, + "y": -46.7, + "edge_ids": [ + "7964", + "7967" + ] + }, + { + "id": "7906", + "x": -340, + "y": -35, + "edge_ids": [ + "7970", + "7971" + ] + }, + { + "id": "7907", + "x": -342.5, + "y": 5, + "edge_ids": [ + "7968", + "7991" + ] + }, + { + "id": "7908", + "x": -340.03, + "y": -34.6, + "edge_ids": [ + "7968", + "7969", + "7971" + ] + }, + { + "id": "7909", + "x": -315, + "y": 17.5, + "edge_ids": [ + "7972", + "7985", + "8004" + ] + }, + { + "id": "7910", + "x": -271.62, + "y": 38.32, + "edge_ids": [ + "7973", + "7981" + ] + }, + { + "id": "7911", + "x": -272.5, + "y": 40, + "edge_ids": [ + "7973", + "7993" + ] + }, + { + "id": "7912", + "x": -242.5, + "y": 65, + "edge_ids": [ + "7975", + "7976" + ] + }, + { + "id": "7913", + "x": -242.5, + "y": 60.63, + "edge_ids": [ + "7974", + "7976", + "7983" + ] + }, + { + "id": "7914", + "x": -277.5, + "y": 72.5, + "edge_ids": [ + "7977", + "7978" + ] + }, + { + "id": "7915", + "x": -265, + "y": 42.5, + "edge_ids": [ + "7979", + "7982" + ] + }, + { + "id": "7916", + "x": -264.53, + "y": 41.57, + "edge_ids": [ + "7980", + "7981", + "7982" + ] + }, + { + "id": "7917", + "x": -292.5, + "y": 17.5, + "edge_ids": [ + "7984", + "7987" + ] + }, + { + "id": "7918", + "x": -285, + "y": 17.5, + "edge_ids": [ + "7984", + "8006" + ] + }, + { + "id": "7919", + "x": -310, + "y": 17.5, + "edge_ids": [ + "7985", + "7986", + "7987" + ] + }, + { + "id": "7920", + "x": -310, + "y": 22.22, + "edge_ids": [ + "7986", + "8003" + ] + }, + { + "id": "7921", + "x": -382.5, + "y": -10, + "edge_ids": [ + "7988", + "7989" + ] + }, + { + "id": "7922", + "x": -342.5, + "y": 7.5, + "edge_ids": [ + "7989", + "7990", + "8004" + ] + }, + { + "id": "7923", + "x": -342.5, + "y": 5.28, + "edge_ids": [ + "7990", + "7991" + ] + }, + { + "id": "7924", + "x": -279.4, + "y": 36.55, + "edge_ids": [ + "7992", + "7997", + "8003" + ] + }, + { + "id": "7925", + "x": -280, + "y": 37.5, + "edge_ids": [ + "7992", + "7993" + ] + }, + { + "id": "7926", + "x": -242.81, + "y": -4.38, + "edge_ids": [ + "7994", + "7998" + ] + }, + { + "id": "7927", + "x": -242.5, + "y": -5, + "edge_ids": [ + "7994", + "7995", + "8001" + ] + }, + { + "id": "7928", + "x": -250, + "y": -10, + "edge_ids": [ + "7995", + "7996" + ] + }, + { + "id": "7929", + "x": -250.33, + "y": -9.47, + "edge_ids": [ + "7996", + "7997", + "8008" + ] + }, + { + "id": "7930", + "x": -239.77, + "y": -3.01, + "edge_ids": [ + "7999", + "8000", + "8001" + ] + }, + { + "id": "7931", + "x": -270, + "y": -20, + "edge_ids": [ + "8005", + "8007" + ] + }, + { + "id": "7932", + "x": -263.22, + "y": -16.37, + "edge_ids": [ + "8005", + "8006", + "8008" + ] + } + ], + "edges": [ + { + "id": "7933", + "vertex_ids": [ + "7874", + "7875" + ], + "face_ids": [ + "8009" + ] + }, + { + "id": "7934", + "vertex_ids": [ + "7875", + "7876" + ], + "face_ids": [ + "8009", + "8012" + ] + }, + { + "id": "7935", + "vertex_ids": [ + "7877", + "7874" + ], + "face_ids": [ + "8009" + ] + }, + { + "id": "7936", + "vertex_ids": [ + "7878", + "7876" + ], + "face_ids": [ + "8009", + "8011" + ] + }, + { + "id": "7937", + "vertex_ids": [ + "7880", + "7881" + ], + "face_ids": [ + "8014" + ] + }, + { + "id": "7938", + "vertex_ids": [ + "7881", + "7882" + ], + "face_ids": [ + "8014" + ] + }, + { + "id": "7939", + "vertex_ids": [ + "7884", + "7885" + ], + "face_ids": [ + "8010" + ] + }, + { + "id": "7940", + "vertex_ids": [ + "7886", + "7887" + ], + "face_ids": [ + "8009", + "8011" + ] + }, + { + "id": "7941", + "vertex_ids": [ + "7887", + "7878" + ], + "face_ids": [ + "8009", + "8011" + ] + }, + { + "id": "7942", + "vertex_ids": [ + "7877", + "7886" + ], + "face_ids": [ + "8009", + "8018" + ] + }, + { + "id": "7943", + "vertex_ids": [ + "7888", + "7889" + ], + "face_ids": [ + "8010", + "8011" + ] + }, + { + "id": "7944", + "vertex_ids": [ + "7876", + "7888" + ], + "face_ids": [ + "8010", + "8011" + ] + }, + { + "id": "7945", + "vertex_ids": [ + "7885", + "7890" + ], + "face_ids": [ + "8013" + ] + }, + { + "id": "7946", + "vertex_ids": [ + "7890", + "7891" + ], + "face_ids": [ + "8012", + "8013" + ] + }, + { + "id": "7947", + "vertex_ids": [ + "7891", + "7876" + ], + "face_ids": [ + "8010", + "8012" + ] + }, + { + "id": "7948", + "vertex_ids": [ + "7890", + "7875" + ], + "face_ids": [ + "8012" + ] + }, + { + "id": "7949", + "vertex_ids": [ + "7885", + "7892" + ], + "face_ids": [ + "8010", + "8013" + ] + }, + { + "id": "7950", + "vertex_ids": [ + "7892", + "7891" + ], + "face_ids": [ + "8010", + "8013" + ] + }, + { + "id": "7951", + "vertex_ids": [ + "7893", + "7894" + ], + "face_ids": [ + "8023" + ] + }, + { + "id": "7952", + "vertex_ids": [ + "7894", + "7879" + ], + "face_ids": [ + "8017" + ] + }, + { + "id": "7953", + "vertex_ids": [ + "7879", + "7895" + ], + "face_ids": [ + "8017" + ] + }, + { + "id": "7954", + "vertex_ids": [ + "7895", + "7896" + ], + "face_ids": [ + "8014", + "8017" + ] + }, + { + "id": "7955", + "vertex_ids": [ + "7895", + "7880" + ], + "face_ids": [ + "8014" + ] + }, + { + "id": "7956", + "vertex_ids": [ + "7897", + "7882" + ], + "face_ids": [ + "8015" + ] + }, + { + "id": "7957", + "vertex_ids": [ + "7899", + "7900" + ], + "face_ids": [ + "8016", + "8025" + ] + }, + { + "id": "7958", + "vertex_ids": [ + "7900", + "7901" + ], + "face_ids": [ + "8016", + "8024" + ] + }, + { + "id": "7959", + "vertex_ids": [ + "7901", + "7883" + ], + "face_ids": [ + "8016", + "8022" + ] + }, + { + "id": "7960", + "vertex_ids": [ + "7898", + "7883" + ], + "face_ids": [ + "8016" + ] + }, + { + "id": "7961", + "vertex_ids": [ + "7899", + "7898" + ], + "face_ids": [ + "8016" + ] + }, + { + "id": "7962", + "vertex_ids": [ + "7882", + "7902" + ], + "face_ids": [ + "8014", + "8015" + ] + }, + { + "id": "7963", + "vertex_ids": [ + "7902", + "7896" + ], + "face_ids": [ + "8014", + "8017" + ] + }, + { + "id": "7964", + "vertex_ids": [ + "7904", + "7905" + ], + "face_ids": [ + "8018", + "8019" + ] + }, + { + "id": "7965", + "vertex_ids": [ + "7886", + "7904" + ], + "face_ids": [ + "8011", + "8018" + ] + }, + { + "id": "7966", + "vertex_ids": [ + "7903", + "7877" + ], + "face_ids": [ + "8018" + ] + }, + { + "id": "7967", + "vertex_ids": [ + "7905", + "7903" + ], + "face_ids": [ + "8018", + "8019" + ] + }, + { + "id": "7968", + "vertex_ids": [ + "7907", + "7908" + ], + "face_ids": [ + "8019", + "8020" + ] + }, + { + "id": "7969", + "vertex_ids": [ + "7908", + "7893" + ], + "face_ids": [ + "8020" + ] + }, + { + "id": "7970", + "vertex_ids": [ + "7906", + "7903" + ], + "face_ids": [ + "8019" + ] + }, + { + "id": "7971", + "vertex_ids": [ + "7908", + "7906" + ], + "face_ids": [ + "8019" + ] + }, + { + "id": "7972", + "vertex_ids": [ + "7909", + "7893" + ], + "face_ids": [ + "8020", + "8023" + ] + }, + { + "id": "7973", + "vertex_ids": [ + "7911", + "7910" + ], + "face_ids": [ + "8011", + "8024" + ] + }, + { + "id": "7974", + "vertex_ids": [ + "7883", + "7913" + ], + "face_ids": [ + "8022" + ] + }, + { + "id": "7975", + "vertex_ids": [ + "7912", + "7884" + ], + "face_ids": [ + "8021" + ] + }, + { + "id": "7976", + "vertex_ids": [ + "7913", + "7912" + ], + "face_ids": [ + "8021" + ] + }, + { + "id": "7977", + "vertex_ids": [ + "7889", + "7914" + ], + "face_ids": [ + "8010", + "8021" + ] + }, + { + "id": "7978", + "vertex_ids": [ + "7914", + "7884" + ], + "face_ids": [ + "8010", + "8021" + ] + }, + { + "id": "7979", + "vertex_ids": [ + "7915", + "7889" + ], + "face_ids": [ + "8011", + "8022" + ] + }, + { + "id": "7980", + "vertex_ids": [ + "7901", + "7916" + ], + "face_ids": [ + "8022", + "8024" + ] + }, + { + "id": "7981", + "vertex_ids": [ + "7916", + "7910" + ], + "face_ids": [ + "8011", + "8024" + ] + }, + { + "id": "7982", + "vertex_ids": [ + "7916", + "7915" + ], + "face_ids": [ + "8011", + "8022" + ] + }, + { + "id": "7983", + "vertex_ids": [ + "7889", + "7913" + ], + "face_ids": [ + "8021", + "8022" + ] + }, + { + "id": "7984", + "vertex_ids": [ + "7917", + "7918" + ], + "face_ids": [ + "8023", + "8026" + ] + }, + { + "id": "7985", + "vertex_ids": [ + "7909", + "7919" + ], + "face_ids": [ + "8011", + "8023" + ] + }, + { + "id": "7986", + "vertex_ids": [ + "7919", + "7920" + ], + "face_ids": [ + "8011", + "8026" + ] + }, + { + "id": "7987", + "vertex_ids": [ + "7919", + "7917" + ], + "face_ids": [ + "8023", + "8026" + ] + }, + { + "id": "7988", + "vertex_ids": [ + "7904", + "7921" + ], + "face_ids": [ + "8011", + "8019" + ] + }, + { + "id": "7989", + "vertex_ids": [ + "7921", + "7922" + ], + "face_ids": [ + "8011", + "8019" + ] + }, + { + "id": "7990", + "vertex_ids": [ + "7922", + "7923" + ], + "face_ids": [ + "8019", + "8020" + ] + }, + { + "id": "7991", + "vertex_ids": [ + "7907", + "7923" + ], + "face_ids": [ + "8019", + "8020" + ] + }, + { + "id": "7992", + "vertex_ids": [ + "7924", + "7925" + ], + "face_ids": [ + "8011", + "8024" + ] + }, + { + "id": "7993", + "vertex_ids": [ + "7925", + "7911" + ], + "face_ids": [ + "8011", + "8024" + ] + }, + { + "id": "7994", + "vertex_ids": [ + "7926", + "7927" + ], + "face_ids": [ + "8024", + "8025" + ] + }, + { + "id": "7995", + "vertex_ids": [ + "7927", + "7928" + ], + "face_ids": [ + "8017", + "8024" + ] + }, + { + "id": "7996", + "vertex_ids": [ + "7928", + "7929" + ], + "face_ids": [ + "8017", + "8024" + ] + }, + { + "id": "7997", + "vertex_ids": [ + "7924", + "7929" + ], + "face_ids": [ + "8024", + "8026" + ] + }, + { + "id": "7998", + "vertex_ids": [ + "7926", + "7900" + ], + "face_ids": [ + "8024", + "8025" + ] + }, + { + "id": "7999", + "vertex_ids": [ + "7897", + "7930" + ], + "face_ids": [ + "8015", + "8025" + ] + }, + { + "id": "8000", + "vertex_ids": [ + "7930", + "7902" + ], + "face_ids": [ + "8015", + "8017" + ] + }, + { + "id": "8001", + "vertex_ids": [ + "7930", + "7927" + ], + "face_ids": [ + "8017", + "8025" + ] + }, + { + "id": "8002", + "vertex_ids": [ + "7899", + "7897" + ], + "face_ids": [ + "8025" + ] + }, + { + "id": "8003", + "vertex_ids": [ + "7920", + "7924" + ], + "face_ids": [ + "8011", + "8026" + ] + }, + { + "id": "8004", + "vertex_ids": [ + "7922", + "7909" + ], + "face_ids": [ + "8011", + "8020" + ] + }, + { + "id": "8005", + "vertex_ids": [ + "7931", + "7932" + ], + "face_ids": [ + "8017", + "8023" + ] + }, + { + "id": "8006", + "vertex_ids": [ + "7932", + "7918" + ], + "face_ids": [ + "8023", + "8026" + ] + }, + { + "id": "8007", + "vertex_ids": [ + "7894", + "7931" + ], + "face_ids": [ + "8017", + "8023" + ] + }, + { + "id": "8008", + "vertex_ids": [ + "7932", + "7929" + ], + "face_ids": [ + "8017", + "8026" + ] + } + ], + "faces": [ + { + "id": "8009", + "edge_ids": [ + "7940", + "7941", + "7936", + "7934", + "7933", + "7935", + "7942" + ], + "edge_order": [ + 1, + 1, + 1, + 0, + 0, + 0, + 1 + ] + }, + { + "id": "8010", + "edge_ids": [ + "7943", + "7977", + "7978", + "7939", + "7949", + "7950", + "7947", + "7944" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "id": "8011", + "edge_ids": [ + "7965", + "7988", + "7989", + "8004", + "7985", + "7986", + "8003", + "7992", + "7993", + "7973", + "7981", + "7982", + "7979", + "7943", + "7944", + "7936", + "7941", + "7940" + ], + "edge_order": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "id": "8012", + "edge_ids": [ + "7934", + "7947", + "7946", + "7948" + ], + "edge_order": [ + 1, + 0, + 0, + 1 + ] + }, + { + "id": "8013", + "edge_ids": [ + "7946", + "7950", + "7949", + "7945" + ], + "edge_order": [ + 1, + 0, + 0, + 1 + ] + }, + { + "id": "8014", + "edge_ids": [ + "7938", + "7962", + "7963", + "7954", + "7955", + "7937" + ], + "edge_order": [ + 1, + 1, + 1, + 0, + 1, + 1 + ] + }, + { + "id": "8015", + "edge_ids": [ + "7956", + "7999", + "8000", + "7962" + ], + "edge_order": [ + 0, + 1, + 1, + 0 + ] + }, + { + "id": "8016", + "edge_ids": [ + "7957", + "7961", + "7960", + "7959", + "7958" + ], + "edge_order": [ + 0, + 1, + 1, + 0, + 0 + ] + }, + { + "id": "8017", + "edge_ids": [ + "7963", + "8000", + "8001", + "7995", + "7996", + "8008", + "8005", + "8007", + "7952", + "7953", + "7954" + ], + "edge_order": [ + 0, + 0, + 1, + 1, + 1, + 0, + 0, + 0, + 1, + 1, + 1 + ] + }, + { + "id": "8018", + "edge_ids": [ + "7967", + "7964", + "7965", + "7942", + "7966" + ], + "edge_order": [ + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "id": "8019", + "edge_ids": [ + "7971", + "7968", + "7991", + "7990", + "7989", + "7988", + "7964", + "7967", + "7970" + ], + "edge_order": [ + 0, + 0, + 1, + 0, + 0, + 0, + 1, + 1, + 0 + ] + }, + { + "id": "8020", + "edge_ids": [ + "7972", + "8004", + "7990", + "7991", + "7968", + "7969" + ], + "edge_order": [ + 0, + 0, + 1, + 0, + 1, + 1 + ] + }, + { + "id": "8021", + "edge_ids": [ + "7976", + "7975", + "7978", + "7977", + "7983" + ], + "edge_order": [ + 1, + 1, + 0, + 0, + 1 + ] + }, + { + "id": "8022", + "edge_ids": [ + "7979", + "7982", + "7980", + "7959", + "7974", + "7983" + ], + "edge_order": [ + 0, + 0, + 0, + 1, + 1, + 0 + ] + }, + { + "id": "8023", + "edge_ids": [ + "8005", + "8006", + "7984", + "7987", + "7985", + "7972", + "7951", + "8007" + ], + "edge_order": [ + 1, + 1, + 0, + 0, + 0, + 1, + 1, + 1 + ] + }, + { + "id": "8024", + "edge_ids": [ + "7992", + "7997", + "7996", + "7995", + "7994", + "7998", + "7958", + "7980", + "7981", + "7973", + "7993" + ], + "edge_order": [ + 0, + 1, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 0, + 0 + ] + }, + { + "id": "8025", + "edge_ids": [ + "7957", + "8002", + "7999", + "8001", + "7994", + "7998" + ], + "edge_order": [ + 0, + 1, + 1, + 1, + 0, + 1 + ] + }, + { + "id": "8026", + "edge_ids": [ + "7997", + "8003", + "7986", + "7987", + "7984", + "8006", + "8008" + ], + "edge_order": [ + 0, + 0, + 0, + 1, + 1, + 0, + 1 + ] + } + ] + }, + "spaces": [ + { + "id": "8031", + "handle": null, + "name": "Space 10-1", + "face_id": "8009", + "building_unit_id": null, + "thermal_zone_id": "tz_129", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1932.0249999999979 + }, + { + "id": "8032", + "handle": null, + "name": "Space 10-2", + "face_id": "8010", + "building_unit_id": null, + "thermal_zone_id": "tz_130", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 3328.925000000003 + }, + { + "id": "8033", + "handle": null, + "name": "Space 10-3", + "face_id": "8011", + "building_unit_id": null, + "thermal_zone_id": "tz_131", + "space_type_id": "1234", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1656.0945999999952 + }, + { + "id": "8034", + "handle": null, + "name": "Space 10-4", + "face_id": "8012", + "building_unit_id": null, + "thermal_zone_id": "tz_132", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1015.625 + }, + { + "id": "8035", + "handle": null, + "name": "Space 10-5", + "face_id": "8013", + "building_unit_id": null, + "thermal_zone_id": "tz_133", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1237.5 + }, + { + "id": "8036", + "handle": null, + "name": "Space 10-6", + "face_id": "8014", + "building_unit_id": null, + "thermal_zone_id": "tz_134", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1148.75 + }, + { + "id": "8037", + "handle": null, + "name": "Space 10-7", + "face_id": "8015", + "building_unit_id": null, + "thermal_zone_id": "tz_135", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 578.39095 + }, + { + "id": "8038", + "handle": null, + "name": "Space 10-8", + "face_id": "8016", + "building_unit_id": null, + "thermal_zone_id": "tz_136", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1193.7000000000008 + }, + { + "id": "8039", + "handle": null, + "name": "Space 10-9", + "face_id": "8017", + "building_unit_id": null, + "thermal_zone_id": "tz_137", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1111.4384 + }, + { + "id": "8040", + "handle": null, + "name": "Space 10-10", + "face_id": "8018", + "building_unit_id": null, + "thermal_zone_id": "tz_138", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1736.1500000000015 + }, + { + "id": "8041", + "handle": null, + "name": "Space 10-11", + "face_id": "8019", + "building_unit_id": null, + "thermal_zone_id": "tz_139", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1637.4499999999999 + }, + { + "id": "8042", + "handle": null, + "name": "Space 10-12", + "face_id": "8020", + "building_unit_id": null, + "thermal_zone_id": "tz_140", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1113.8282499999992 + }, + { + "id": "8043", + "handle": null, + "name": "Space 10-13", + "face_id": "8021", + "building_unit_id": null, + "thermal_zone_id": "tz_141", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 530.4124999999999 + }, + { + "id": "8044", + "handle": null, + "name": "Space 10-14", + "face_id": "8022", + "building_unit_id": null, + "thermal_zone_id": "tz_142", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 603.2000000000003 + }, + { + "id": "8045", + "handle": null, + "name": "Space 10-15", + "face_id": "8023", + "building_unit_id": null, + "thermal_zone_id": "tz_143", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1953.9164999999976 + }, + { + "id": "8046", + "handle": null, + "name": "Space 10-16", + "face_id": "8024", + "building_unit_id": null, + "thermal_zone_id": "tz_144", + "space_type_id": "1234", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 657.2041499999984 + }, + { + "id": "8047", + "handle": null, + "name": "Space 10-17", + "face_id": "8025", + "building_unit_id": null, + "thermal_zone_id": "tz_145", + "space_type_id": "1234", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 167.03750000000026 + }, + { + "id": "8048", + "handle": null, + "name": "Space 10-18", + "face_id": "8026", + "building_unit_id": null, + "thermal_zone_id": "tz_146", + "space_type_id": "1240", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 1009.5219000000016 + } + ], + "shading": [], + "windows": [], + "doors": [], + "construction_lines": [], + "area": 22611.169749999986 + }, + { + "id": "2774", + "handle": null, + "name": "Story 11", + "image_id": null, + "below_floor_plenum_height": 0, + "floor_to_ceiling_height": 1, + "above_ceiling_plenum_height": 0, + "multiplier": 1, + "color": "#332288", + "geometry": { + "id": "2775", + "vertices": [ + { + "id": "2778", + "x": -507.5, + "y": -32.5, + "edge_ids": [ + "2791", + "2803" + ] + }, + { + "id": "2779", + "x": -385, + "y": 32.5, + "edge_ids": [ + "2791", + "2792" + ] + }, + { + "id": "2780", + "x": -265, + "y": 77.5, + "edge_ids": [ + "2792", + "2793" + ] + }, + { + "id": "2781", + "x": -242.5, + "y": 65, + "edge_ids": [ + "2793", + "2794" + ] + }, + { + "id": "2782", + "x": -242.5, + "y": 60.63, + "edge_ids": [ + "2794", + "2795" + ] + }, + { + "id": "2783", + "x": -225, + "y": 47.5, + "edge_ids": [ + "2795", + "2796" + ] + }, + { + "id": "2784", + "x": -215, + "y": 20, + "edge_ids": [ + "2796", + "2797" + ] + }, + { + "id": "2785", + "x": -215.68, + "y": 19.55, + "edge_ids": [ + "2797", + "2798" + ] + }, + { + "id": "2786", + "x": -215, + "y": 15, + "edge_ids": [ + "2798", + "2799" + ] + }, + { + "id": "2787", + "x": -207.5, + "y": -5, + "edge_ids": [ + "2799", + "2800" + ] + }, + { + "id": "2788", + "x": -207.5, + "y": -35, + "edge_ids": [ + "2800", + "2801" + ] + }, + { + "id": "2789", + "x": -250, + "y": -65, + "edge_ids": [ + "2801", + "2839" + ] + }, + { + "id": "2790", + "x": -430, + "y": -62.5, + "edge_ids": [ + "2803", + "2833" + ] + }, + { + "id": "2827", + "x": -352.5, + "y": -63.58, + "edge_ids": [ + "2833", + "8219", + "8222" + ] + }, + { + "id": "2828", + "x": -352.5, + "y": -50, + "edge_ids": [ + "2883", + "8224" + ] + }, + { + "id": "2832", + "x": -265, + "y": -64.79, + "edge_ids": [ + "2839", + "8226" + ] + }, + { + "id": "2880", + "x": -317.5, + "y": -37.5, + "edge_ids": [ + "2883", + "2884" + ] + }, + { + "id": "2881", + "x": -290, + "y": -40, + "edge_ids": [ + "2884", + "2885" + ] + }, + { + "id": "2882", + "x": -267.5, + "y": -47.5, + "edge_ids": [ + "2885", + "8213" + ] + }, + { + "id": "8212", + "x": -265, + "y": -47.5, + "edge_ids": [ + "8213", + "8225" + ] + }, + { + "id": "8216", + "x": -265, + "y": -63.58, + "edge_ids": [ + "8219", + "8220", + "8226" + ] + }, + { + "id": "8217", + "x": -265, + "y": -55, + "edge_ids": [ + "8220", + "8221", + "8225" + ] + }, + { + "id": "8218", + "x": -352.5, + "y": -55, + "edge_ids": [ + "8221", + "8222", + "8224" + ] + } + ], + "edges": [ + { + "id": "2791", + "vertex_ids": [ + "2778", + "2779" + ], + "face_ids": [ + "2804" + ] + }, + { + "id": "2792", + "vertex_ids": [ + "2779", + "2780" + ], + "face_ids": [ + "2804" + ] + }, + { + "id": "2793", + "vertex_ids": [ + "2780", + "2781" + ], + "face_ids": [ + "2804" + ] + }, + { + "id": "2794", + "vertex_ids": [ + "2781", + "2782" + ], + "face_ids": [ + "2804" + ] + }, + { + "id": "2795", + "vertex_ids": [ + "2782", + "2783" + ], + "face_ids": [ + "2804" + ] + }, + { + "id": "2796", + "vertex_ids": [ + "2783", + "2784" + ], + "face_ids": [ + "2804" + ] + }, + { + "id": "2797", + "vertex_ids": [ + "2784", + "2785" + ], + "face_ids": [ + "2804" + ] + }, + { + "id": "2798", + "vertex_ids": [ + "2785", + "2786" + ], + "face_ids": [ + "2804" + ] + }, + { + "id": "2799", + "vertex_ids": [ + "2786", + "2787" + ], + "face_ids": [ + "2804" + ] + }, + { + "id": "2800", + "vertex_ids": [ + "2787", + "2788" + ], + "face_ids": [ + "2804" + ] + }, + { + "id": "2801", + "vertex_ids": [ + "2788", + "2789" + ], + "face_ids": [ + "2804" + ] + }, + { + "id": "2803", + "vertex_ids": [ + "2790", + "2778" + ], + "face_ids": [ + "2804" + ] + }, + { + "id": "2833", + "vertex_ids": [ + "2790", + "2827" + ], + "face_ids": [ + "2804" + ] + }, + { + "id": "2839", + "vertex_ids": [ + "2832", + "2789" + ], + "face_ids": [ + "2804" + ] + }, + { + "id": "2883", + "vertex_ids": [ + "2828", + "2880" + ], + "face_ids": [ + "2804" + ] + }, + { + "id": "2884", + "vertex_ids": [ + "2880", + "2881" + ], + "face_ids": [ + "2804" + ] + }, + { + "id": "2885", + "vertex_ids": [ + "2881", + "2882" + ], + "face_ids": [ + "2804" + ] + }, + { + "id": "8213", + "vertex_ids": [ + "2882", + "8212" + ], + "face_ids": [ + "2804" + ] + }, + { + "id": "8219", + "vertex_ids": [ + "2827", + "8216" + ], + "face_ids": [ + "8223" + ] + }, + { + "id": "8220", + "vertex_ids": [ + "8216", + "8217" + ], + "face_ids": [ + "2804", + "8223" + ] + }, + { + "id": "8221", + "vertex_ids": [ + "8217", + "8218" + ], + "face_ids": [ + "8223" + ] + }, + { + "id": "8222", + "vertex_ids": [ + "8218", + "2827" + ], + "face_ids": [ + "2804", + "8223" + ] + }, + { + "id": "8224", + "vertex_ids": [ + "8218", + "2828" + ], + "face_ids": [ + "2804" + ] + }, + { + "id": "8225", + "vertex_ids": [ + "8212", + "8217" + ], + "face_ids": [ + "2804" + ] + }, + { + "id": "8226", + "vertex_ids": [ + "8216", + "2832" + ], + "face_ids": [ + "2804" + ] + } + ], + "faces": [ + { + "id": "2804", + "edge_ids": [ + "2800", + "2799", + "2798", + "2797", + "2796", + "2795", + "2794", + "2793", + "2792", + "2791", + "2803", + "2833", + "8222", + "8224", + "2883", + "2884", + "2885", + "8213", + "8225", + "8220", + "8226", + "2839", + "2801" + ], + "edge_order": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 0 + ] + }, + { + "id": "8223", + "edge_ids": [ + "8219", + "8220", + "8221", + "8222" + ], + "edge_order": [ + 1, + 1, + 1, + 1 + ] + } + ] + }, + "spaces": [ + { + "id": "2776", + "handle": null, + "name": "Space 11-1", + "face_id": "2804", + "building_unit_id": null, + "thermal_zone_id": "tz_147", + "space_type_id": "800", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 24887.8375 + }, + { + "id": "8215", + "handle": null, + "name": "Space 11-2", + "face_id": "8223", + "building_unit_id": null, + "thermal_zone_id": "tz_148", + "space_type_id": "800", + "construction_set_id": null, + "pitched_roof_id": null, + "daylighting_controls": [], + "below_floor_plenum_height": null, + "floor_to_ceiling_height": null, + "above_ceiling_plenum_height": null, + "floor_offset": null, + "open_to_below": null, + "color": "#bbc3c7", + "type": "space", + "area": 750.75 + } + ], + "shading": [], + "windows": [], + "doors": [], + "construction_lines": [ + { + "id": "2805", + "start": { + "x": -352.5, + "y": -50 + }, + "end": { + "x": -317.5, + "y": -37.5 + } + }, + { + "id": "2806", + "start": { + "x": -317.5, + "y": -37.5 + }, + "end": { + "x": -290, + "y": -40 + } + }, + { + "id": "2807", + "start": { + "x": -290, + "y": -40 + }, + "end": { + "x": -267.5, + "y": -47.5 + } + }, + { + "id": "2808", + "start": { + "x": -267.5, + "y": -47.5 + }, + "end": { + "x": -265, + "y": -57.5 + } + }, + { + "id": "2809", + "start": { + "x": -302.5, + "y": -60 + }, + "end": { + "x": -265, + "y": -57.5 + } + }, + { + "id": "2810", + "start": { + "x": -335, + "y": -57.5 + }, + "end": { + "x": -302.5, + "y": -60 + } + }, + { + "id": "2811", + "start": { + "x": -352.5, + "y": -50 + }, + "end": { + "x": -335, + "y": -57.5 + } + }, + { + "id": "2812", + "start": { + "x": -352.5, + "y": -50 + }, + "end": { + "x": -352.5, + "y": -70 + } + }, + { + "id": "2813", + "start": { + "x": -265, + "y": -57.5 + }, + "end": { + "x": -265, + "y": -72.5 + } + } + ], + "area": 25638.5875 + } + ], + "imported_images": { + "visible": false, + "midX": 0, + "midY": 0, + "x": -91.07680379661554, + "y": 6.78040544268822, + "r": 0, + "opacity": 0.6, + "images": [] + }, + "construction_lines": { + "visible": false + }, + "building_units": [], + "thermal_zones": [ + { + "id": "tz_1", + "handle": null, + "name": "Thermal Zone 1", + "color": "#332288" + }, + { + "id": "tz_2", + "handle": null, + "name": "Thermal Zone 2", + "color": "#117733" + }, + { + "id": "tz_3", + "handle": null, + "name": "Thermal Zone 3", + "color": "#999933" + }, + { + "id": "tz_4", + "handle": null, + "name": "Thermal Zone 4", + "color": "#ddcc77" + }, + { + "id": "tz_5", + "handle": null, + "name": "Thermal Zone 5", + "color": "#cc6677" + }, + { + "id": "tz_6", + "handle": null, + "name": "Thermal Zone 6", + "color": "#882255" + }, + { + "id": "tz_7", + "handle": null, + "name": "Thermal Zone 7", + "color": "#44aa99" + }, + { + "id": "tz_8", + "handle": null, + "name": "Thermal Zone 8", + "color": "#6699cc" + }, + { + "id": "tz_9", + "handle": null, + "name": "Thermal Zone 9", + "color": "#661100" + }, + { + "id": "tz_10", + "handle": null, + "name": "Thermal Zone 10", + "color": "#aa4466" + }, + { + "id": "tz_11", + "handle": null, + "name": "Thermal Zone 11", + "color": "#aa4499" + }, + { + "id": "tz_12", + "handle": null, + "name": "Thermal Zone 12", + "color": "#88ccee" + }, + { + "id": "tz_13", + "handle": null, + "name": "Thermal Zone 13", + "color": "#332288" + }, + { + "id": "tz_14", + "handle": null, + "name": "Thermal Zone 14", + "color": "#117733" + }, + { + "id": "tz_15", + "handle": null, + "name": "Thermal Zone 15", + "color": "#999933" + }, + { + "id": "tz_16", + "handle": null, + "name": "Thermal Zone 16", + "color": "#ddcc77" + }, + { + "id": "tz_17", + "handle": null, + "name": "Thermal Zone 17", + "color": "#cc6677" + }, + { + "id": "tz_18", + "handle": null, + "name": "Thermal Zone 18", + "color": "#882255" + }, + { + "id": "tz_19", + "handle": null, + "name": "Thermal Zone 19", + "color": "#44aa99" + }, + { + "id": "tz_20", + "handle": null, + "name": "Thermal Zone 20", + "color": "#6699cc" + }, + { + "id": "tz_21", + "handle": null, + "name": "Thermal Zone 21", + "color": "#661100" + }, + { + "id": "tz_22", + "handle": null, + "name": "Thermal Zone 22", + "color": "#aa4466" + }, + { + "id": "tz_23", + "handle": null, + "name": "Thermal Zone 23", + "color": "#aa4499" + }, + { + "id": "tz_24", + "handle": null, + "name": "Thermal Zone 24", + "color": "#88ccee" + }, + { + "id": "tz_25", + "handle": null, + "name": "Thermal Zone 25", + "color": "#332288" + }, + { + "id": "tz_26", + "handle": null, + "name": "Thermal Zone 26", + "color": "#117733" + }, + { + "id": "tz_27", + "handle": null, + "name": "Thermal Zone 27", + "color": "#999933" + }, + { + "id": "tz_28", + "handle": null, + "name": "Thermal Zone 28", + "color": "#ddcc77" + }, + { + "id": "tz_29", + "handle": null, + "name": "Thermal Zone 29", + "color": "#cc6677" + }, + { + "id": "tz_30", + "handle": null, + "name": "Thermal Zone 30", + "color": "#882255" + }, + { + "id": "tz_31", + "handle": null, + "name": "Thermal Zone 31", + "color": "#44aa99" + }, + { + "id": "tz_32", + "handle": null, + "name": "Thermal Zone 32", + "color": "#6699cc" + }, + { + "id": "tz_33", + "handle": null, + "name": "Thermal Zone 33", + "color": "#661100" + }, + { + "id": "tz_34", + "handle": null, + "name": "Thermal Zone 34", + "color": "#aa4466" + }, + { + "id": "tz_35", + "handle": null, + "name": "Thermal Zone 35", + "color": "#aa4499" + }, + { + "id": "tz_36", + "handle": null, + "name": "Thermal Zone 36", + "color": "#88ccee" + }, + { + "id": "tz_37", + "handle": null, + "name": "Thermal Zone 37", + "color": "#332288" + }, + { + "id": "tz_38", + "handle": null, + "name": "Thermal Zone 38", + "color": "#117733" + }, + { + "id": "tz_39", + "handle": null, + "name": "Thermal Zone 39", + "color": "#999933" + }, + { + "id": "tz_40", + "handle": null, + "name": "Thermal Zone 40", + "color": "#ddcc77" + }, + { + "id": "tz_41", + "handle": null, + "name": "Thermal Zone 41", + "color": "#cc6677" + }, + { + "id": "tz_42", + "handle": null, + "name": "Thermal Zone 42", + "color": "#882255" + }, + { + "id": "tz_43", + "handle": null, + "name": "Thermal Zone 43", + "color": "#44aa99" + }, + { + "id": "tz_44", + "handle": null, + "name": "Thermal Zone 44", + "color": "#6699cc" + }, + { + "id": "tz_45", + "handle": null, + "name": "Thermal Zone 45", + "color": "#661100" + }, + { + "id": "tz_46", + "handle": null, + "name": "Thermal Zone 46", + "color": "#aa4466" + }, + { + "id": "tz_47", + "handle": null, + "name": "Thermal Zone 47", + "color": "#aa4499" + }, + { + "id": "tz_48", + "handle": null, + "name": "Thermal Zone 48", + "color": "#88ccee" + }, + { + "id": "tz_49", + "handle": null, + "name": "Thermal Zone 49", + "color": "#332288" + }, + { + "id": "tz_50", + "handle": null, + "name": "Thermal Zone 50", + "color": "#117733" + }, + { + "id": "tz_51", + "handle": null, + "name": "Thermal Zone 51", + "color": "#999933" + }, + { + "id": "tz_52", + "handle": null, + "name": "Thermal Zone 52", + "color": "#ddcc77" + }, + { + "id": "tz_53", + "handle": null, + "name": "Thermal Zone 53", + "color": "#cc6677" + }, + { + "id": "tz_54", + "handle": null, + "name": "Thermal Zone 54", + "color": "#882255" + }, + { + "id": "tz_55", + "handle": null, + "name": "Thermal Zone 55", + "color": "#44aa99" + }, + { + "id": "tz_56", + "handle": null, + "name": "Thermal Zone 56", + "color": "#6699cc" + }, + { + "id": "tz_57", + "handle": null, + "name": "Thermal Zone 57", + "color": "#661100" + }, + { + "id": "tz_58", + "handle": null, + "name": "Thermal Zone 58", + "color": "#aa4466" + }, + { + "id": "tz_59", + "handle": null, + "name": "Thermal Zone 59", + "color": "#aa4499" + }, + { + "id": "tz_60", + "handle": null, + "name": "Thermal Zone 60", + "color": "#88ccee" + }, + { + "id": "tz_61", + "handle": null, + "name": "Thermal Zone 61", + "color": "#332288" + }, + { + "id": "tz_62", + "handle": null, + "name": "Thermal Zone 62", + "color": "#117733" + }, + { + "id": "tz_63", + "handle": null, + "name": "Thermal Zone 63", + "color": "#999933" + }, + { + "id": "tz_64", + "handle": null, + "name": "Thermal Zone 64", + "color": "#ddcc77" + }, + { + "id": "tz_65", + "handle": null, + "name": "Thermal Zone 65", + "color": "#cc6677" + }, + { + "id": "tz_66", + "handle": null, + "name": "Thermal Zone 66", + "color": "#882255" + }, + { + "id": "tz_67", + "handle": null, + "name": "Thermal Zone 67", + "color": "#44aa99" + }, + { + "id": "tz_68", + "handle": null, + "name": "Thermal Zone 68", + "color": "#6699cc" + }, + { + "id": "tz_69", + "handle": null, + "name": "Thermal Zone 69", + "color": "#661100" + }, + { + "id": "tz_70", + "handle": null, + "name": "Thermal Zone 70", + "color": "#aa4466" + }, + { + "id": "tz_71", + "handle": null, + "name": "Thermal Zone 71", + "color": "#aa4499" + }, + { + "id": "tz_72", + "handle": null, + "name": "Thermal Zone 72", + "color": "#88ccee" + }, + { + "id": "tz_73", + "handle": null, + "name": "Thermal Zone 73", + "color": "#332288" + }, + { + "id": "tz_74", + "handle": null, + "name": "Thermal Zone 74", + "color": "#117733" + }, + { + "id": "tz_75", + "handle": null, + "name": "Thermal Zone 75", + "color": "#999933" + }, + { + "id": "tz_76", + "handle": null, + "name": "Thermal Zone 76", + "color": "#ddcc77" + }, + { + "id": "tz_77", + "handle": null, + "name": "Thermal Zone 77", + "color": "#cc6677" + }, + { + "id": "tz_78", + "handle": null, + "name": "Thermal Zone 78", + "color": "#882255" + }, + { + "id": "tz_79", + "handle": null, + "name": "Thermal Zone 79", + "color": "#44aa99" + }, + { + "id": "tz_80", + "handle": null, + "name": "Thermal Zone 80", + "color": "#6699cc" + }, + { + "id": "tz_81", + "handle": null, + "name": "Thermal Zone 81", + "color": "#661100" + }, + { + "id": "tz_82", + "handle": null, + "name": "Thermal Zone 82", + "color": "#aa4466" + }, + { + "id": "tz_83", + "handle": null, + "name": "Thermal Zone 83", + "color": "#aa4499" + }, + { + "id": "tz_84", + "handle": null, + "name": "Thermal Zone 84", + "color": "#88ccee" + }, + { + "id": "tz_85", + "handle": null, + "name": "Thermal Zone 85", + "color": "#332288" + }, + { + "id": "tz_86", + "handle": null, + "name": "Thermal Zone 86", + "color": "#117733" + }, + { + "id": "tz_87", + "handle": null, + "name": "Thermal Zone 87", + "color": "#999933" + }, + { + "id": "tz_88", + "handle": null, + "name": "Thermal Zone 88", + "color": "#ddcc77" + }, + { + "id": "tz_89", + "handle": null, + "name": "Thermal Zone 89", + "color": "#cc6677" + }, + { + "id": "tz_90", + "handle": null, + "name": "Thermal Zone 90", + "color": "#882255" + }, + { + "id": "tz_91", + "handle": null, + "name": "Thermal Zone 91", + "color": "#44aa99" + }, + { + "id": "tz_92", + "handle": null, + "name": "Thermal Zone 92", + "color": "#6699cc" + }, + { + "id": "tz_93", + "handle": null, + "name": "Thermal Zone 93", + "color": "#661100" + }, + { + "id": "tz_94", + "handle": null, + "name": "Thermal Zone 94", + "color": "#aa4466" + }, + { + "id": "tz_95", + "handle": null, + "name": "Thermal Zone 95", + "color": "#aa4499" + }, + { + "id": "tz_96", + "handle": null, + "name": "Thermal Zone 96", + "color": "#88ccee" + }, + { + "id": "tz_97", + "handle": null, + "name": "Thermal Zone 97", + "color": "#332288" + }, + { + "id": "tz_98", + "handle": null, + "name": "Thermal Zone 98", + "color": "#117733" + }, + { + "id": "tz_99", + "handle": null, + "name": "Thermal Zone 99", + "color": "#999933" + }, + { + "id": "tz_100", + "handle": null, + "name": "Thermal Zone 100", + "color": "#ddcc77" + }, + { + "id": "tz_101", + "handle": null, + "name": "Thermal Zone 101", + "color": "#cc6677" + }, + { + "id": "tz_102", + "handle": null, + "name": "Thermal Zone 102", + "color": "#882255" + }, + { + "id": "tz_103", + "handle": null, + "name": "Thermal Zone 103", + "color": "#44aa99" + }, + { + "id": "tz_104", + "handle": null, + "name": "Thermal Zone 104", + "color": "#6699cc" + }, + { + "id": "tz_105", + "handle": null, + "name": "Thermal Zone 105", + "color": "#661100" + }, + { + "id": "tz_106", + "handle": null, + "name": "Thermal Zone 106", + "color": "#aa4466" + }, + { + "id": "tz_107", + "handle": null, + "name": "Thermal Zone 107", + "color": "#aa4499" + }, + { + "id": "tz_108", + "handle": null, + "name": "Thermal Zone 108", + "color": "#88ccee" + }, + { + "id": "tz_109", + "handle": null, + "name": "Thermal Zone 109", + "color": "#332288" + }, + { + "id": "tz_110", + "handle": null, + "name": "Thermal Zone 110", + "color": "#117733" + }, + { + "id": "tz_111", + "handle": null, + "name": "Thermal Zone 111", + "color": "#999933" + }, + { + "id": "tz_112", + "handle": null, + "name": "Thermal Zone 112", + "color": "#ddcc77" + }, + { + "id": "tz_113", + "handle": null, + "name": "Thermal Zone 113", + "color": "#cc6677" + }, + { + "id": "tz_114", + "handle": null, + "name": "Thermal Zone 114", + "color": "#882255" + }, + { + "id": "tz_115", + "handle": null, + "name": "Thermal Zone 115", + "color": "#44aa99" + }, + { + "id": "tz_116", + "handle": null, + "name": "Thermal Zone 116", + "color": "#6699cc" + }, + { + "id": "tz_117", + "handle": null, + "name": "Thermal Zone 117", + "color": "#661100" + }, + { + "id": "tz_118", + "handle": null, + "name": "Thermal Zone 118", + "color": "#aa4466" + }, + { + "id": "tz_119", + "handle": null, + "name": "Thermal Zone 119", + "color": "#aa4499" + }, + { + "id": "tz_120", + "handle": null, + "name": "Thermal Zone 120", + "color": "#88ccee" + }, + { + "id": "tz_121", + "handle": null, + "name": "Thermal Zone 121", + "color": "#332288" + }, + { + "id": "tz_122", + "handle": null, + "name": "Thermal Zone 122", + "color": "#117733" + }, + { + "id": "tz_123", + "handle": null, + "name": "Thermal Zone 123", + "color": "#999933" + }, + { + "id": "tz_124", + "handle": null, + "name": "Thermal Zone 124", + "color": "#ddcc77" + }, + { + "id": "tz_125", + "handle": null, + "name": "Thermal Zone 125", + "color": "#cc6677" + }, + { + "id": "tz_126", + "handle": null, + "name": "Thermal Zone 126", + "color": "#882255" + }, + { + "id": "tz_127", + "handle": null, + "name": "Thermal Zone 127", + "color": "#44aa99" + }, + { + "id": "tz_128", + "handle": null, + "name": "Thermal Zone 128", + "color": "#6699cc" + }, + { + "id": "tz_129", + "handle": null, + "name": "Thermal Zone 129", + "color": "#661100" + }, + { + "id": "tz_130", + "handle": null, + "name": "Thermal Zone 130", + "color": "#aa4466" + }, + { + "id": "tz_131", + "handle": null, + "name": "Thermal Zone 131", + "color": "#aa4499" + }, + { + "id": "tz_132", + "handle": null, + "name": "Thermal Zone 132", + "color": "#88ccee" + }, + { + "id": "tz_133", + "handle": null, + "name": "Thermal Zone 133", + "color": "#332288" + }, + { + "id": "tz_134", + "handle": null, + "name": "Thermal Zone 134", + "color": "#117733" + }, + { + "id": "tz_135", + "handle": null, + "name": "Thermal Zone 135", + "color": "#999933" + }, + { + "id": "tz_136", + "handle": null, + "name": "Thermal Zone 136", + "color": "#ddcc77" + }, + { + "id": "tz_137", + "handle": null, + "name": "Thermal Zone 137", + "color": "#cc6677" + }, + { + "id": "tz_138", + "handle": null, + "name": "Thermal Zone 138", + "color": "#882255" + }, + { + "id": "tz_139", + "handle": null, + "name": "Thermal Zone 139", + "color": "#44aa99" + }, + { + "id": "tz_140", + "handle": null, + "name": "Thermal Zone 140", + "color": "#6699cc" + }, + { + "id": "tz_141", + "handle": null, + "name": "Thermal Zone 141", + "color": "#661100" + }, + { + "id": "tz_142", + "handle": null, + "name": "Thermal Zone 142", + "color": "#aa4466" + }, + { + "id": "tz_143", + "handle": null, + "name": "Thermal Zone 143", + "color": "#aa4499" + }, + { + "id": "tz_144", + "handle": null, + "name": "Thermal Zone 144", + "color": "#88ccee" + }, + { + "id": "tz_145", + "handle": null, + "name": "Thermal Zone 145", + "color": "#332288" + }, + { + "id": "tz_146", + "handle": null, + "name": "Thermal Zone 146", + "color": "#117733" + }, + { + "id": "tz_147", + "handle": null, + "name": "Thermal Zone 147", + "color": "#999933" + }, + { + "id": "tz_148", + "handle": null, + "name": "Thermal Zone 148", + "color": "#ddcc77" + } + ], + "space_types": [ + { + "handle": null, + "id": "800", + "name": "Warehouse-Storage", + "color": "#88ccee", + "type": "space_types" + }, + { + "handle": null, + "id": "1234", + "name": "HighriseApt-Corridor", + "color": "#332288", + "type": "space_types" + }, + { + "handle": null, + "id": "1240", + "name": "HighriseApt-Apartment", + "color": "#117733", + "type": "space_types" + } + ], + "construction_sets": [], + "window_definitions": [], + "daylighting_control_definitions": [], + "pitched_roofs": [], + "door_definitions": [], + "version": "0.7.0", + "area": 260765.44549999995 + } \ No newline at end of file diff --git a/resources/utilities/Geometry/issue-4313.json b/resources/utilities/Geometry/issue-4313.json new file mode 100644 index 00000000000..d6d2540f8e3 --- /dev/null +++ b/resources/utilities/Geometry/issue-4313.json @@ -0,0 +1 @@ +{"option_name":"Carve","application":{"speedSelection":false,"currentGridId":"grid22201021","currentSvgGridId":"svg-grid2220332","currentSelections":{"story":null,"story_id":"9016","subselection_ids":{"1":"775","316":"320","360":"364","820":"825","877":null,"1527":"1531","1702":"1706","1877":"1881","2052":"2056","2227":"2231","2402":"2406","2577":"2581","2752":"2756","2774":"2776","2844":null,"6977":"6981","7152":"7156","7327":"7331","7502":"7506","7677":"7681","7852":"7856","8027":"8031","8391":"8395","8493":null,"8595":null,"8697":null,"8799":null,"8901":null,"9003":"9007","9016":"9018"},"component_id":null,"component_definition_id":null,"component_instance_id":null,"space_property_id":"800","tool":"Select","mode":"space_types","snapMode":"grid-strict","modeTab":"floorplan","subselectionType":"spaces"},"modes":["spaces","shading","building_units","thermal_zones","pitched_roofs","space_types","images"],"tools":["Pan","Drag","Rectangle","Polygon","Eraser","Select","Map","Fill","Place Component","Image","Apply Property","Construction Line"],"scale":{"x":{"pixels":1312,"rwuRange":[-710.3092873219869,248.90396319561117]},"y":{"pixels":757,"rwuRange":[-283.65618530020686,269.7923136645963]}}},"project":{"footprintID":"bdeb-be52-968e-8162","config":{"units":"ip","unitsEditable":true,"language":"EN-US"},"north_axis":45,"ground":{"floor_offset":0,"azimuth_angle":0,"tilt_slope":0},"grid":{"visible":true,"spacing":5},"view":{"min_x":-533.8966331508636,"max_x":16.599304651180375,"min_y":-155.37898503425203,"max_y":162.24710102988465},"map":{"initialized":true,"enabled":true,"visible":true,"latitude":32.835526745825504,"longitude":-96.77839489432068,"zoom":4.5,"rotation":0.7853981633974483,"elevation":0},"previous_story":{"visible":true},"show_import_export":true},"stories":[{"id":"1","handle":null,"name":"Story 1","image_id":null,"below_floor_plenum_height":0,"floor_to_ceiling_height":16,"above_ceiling_plenum_height":0,"multiplier":1,"color":"#88ccee","geometry":{"id":"2","vertices":[{"id":"776","x":-507.5,"y":-32.5,"edge_ids":["787","797"]},{"id":"777","x":-430,"y":-62.5,"edge_ids":["787","799"]},{"id":"780","x":-250,"y":-65,"edge_ids":["791","799"]},{"id":"781","x":-215,"y":-57.5,"edge_ids":["791","792"]},{"id":"782","x":-207.5,"y":-35,"edge_ids":["792","793"]},{"id":"783","x":-207.5,"y":-5,"edge_ids":["793","794"]},{"id":"784","x":-225,"y":47.5,"edge_ids":["794","795"]},{"id":"785","x":-265,"y":77.5,"edge_ids":["795","796"]},{"id":"786","x":-385,"y":32.5,"edge_ids":["796","797"]},{"id":"2898","x":120,"y":130,"edge_ids":["2926","3032"]},{"id":"2909","x":340,"y":55,"edge_ids":["2932","3037"]},{"id":"2920","x":320,"y":80,"edge_ids":["2942","3031"]},{"id":"2921","x":120,"y":80,"edge_ids":["2926","2946"]},{"id":"2931","x":320,"y":55,"edge_ids":["2932","3031"]},{"id":"2937","x":272.5,"y":80,"edge_ids":["2942","2943"]},{"id":"2938","x":272.5,"y":165,"edge_ids":["2943","2954"]},{"id":"2939","x":200,"y":165,"edge_ids":["2945","2958"]},{"id":"2940","x":200,"y":80,"edge_ids":["2945","2946"]},{"id":"2949","x":247.5,"y":165,"edge_ids":["2954","2955"]},{"id":"2950","x":247.5,"y":185,"edge_ids":["2955","2956"]},{"id":"2951","x":232.5,"y":185,"edge_ids":["2956","2957"]},{"id":"2952","x":232.5,"y":165,"edge_ids":["2957","2958"]},{"id":"2961","x":340,"y":-77.5,"edge_ids":["3037","3060"]},{"id":"2967","x":-40,"y":130,"edge_ids":["2972","3032"]},{"id":"2968","x":-40,"y":92.5,"edge_ids":["2972","2994"]},{"id":"2990","x":-80,"y":92.5,"edge_ids":["2994","3066"]},{"id":"3038","x":-50,"y":-42.5,"edge_ids":["3042","3073"]},{"id":"3039","x":-12.5,"y":-42.5,"edge_ids":["3042","3043"]},{"id":"3040","x":-12.5,"y":-77.5,"edge_ids":["3043","3052"]},{"id":"3045","x":60,"y":-42.5,"edge_ids":["3049","3053"]},{"id":"3046","x":90,"y":-42.5,"edge_ids":["3049","3057"]},{"id":"3048","x":60,"y":-77.5,"edge_ids":["3052","3053"]},{"id":"3054","x":90,"y":5,"edge_ids":["3057","3058"]},{"id":"3055","x":125,"y":5,"edge_ids":["3058","3059"]},{"id":"3056","x":125,"y":-77.5,"edge_ids":["3059","3060"]},{"id":"3061","x":-110,"y":92.5,"edge_ids":["3064","3066"]},{"id":"3062","x":-110,"y":-12.5,"edge_ids":["3064","3075"]},{"id":"3068","x":-110,"y":-30,"edge_ids":["3072","3075"]},{"id":"3069","x":-50,"y":-30,"edge_ids":["3072","3073"]}],"edges":[{"id":"787","vertex_ids":["776","777"],"face_ids":["798"]},{"id":"791","vertex_ids":["780","781"],"face_ids":["798"]},{"id":"792","vertex_ids":["781","782"],"face_ids":["798"]},{"id":"793","vertex_ids":["782","783"],"face_ids":["798"]},{"id":"794","vertex_ids":["783","784"],"face_ids":["798"]},{"id":"795","vertex_ids":["784","785"],"face_ids":["798"]},{"id":"796","vertex_ids":["785","786"],"face_ids":["798"]},{"id":"797","vertex_ids":["786","776"],"face_ids":["798"]},{"id":"799","vertex_ids":["777","780"],"face_ids":["798"]},{"id":"2926","vertex_ids":["2921","2898"],"face_ids":["2897"]},{"id":"2932","vertex_ids":["2909","2931"],"face_ids":["2897"]},{"id":"2942","vertex_ids":["2920","2937"],"face_ids":["2897"]},{"id":"2943","vertex_ids":["2937","2938"],"face_ids":["2897"]},{"id":"2945","vertex_ids":["2939","2940"],"face_ids":["2897"]},{"id":"2946","vertex_ids":["2940","2921"],"face_ids":["2897"]},{"id":"2954","vertex_ids":["2938","2949"],"face_ids":["2897"]},{"id":"2955","vertex_ids":["2949","2950"],"face_ids":["2897"]},{"id":"2956","vertex_ids":["2950","2951"],"face_ids":["2897"]},{"id":"2957","vertex_ids":["2951","2952"],"face_ids":["2897"]},{"id":"2958","vertex_ids":["2952","2939"],"face_ids":["2897"]},{"id":"2972","vertex_ids":["2967","2968"],"face_ids":["2897"]},{"id":"2994","vertex_ids":["2968","2990"],"face_ids":["2897"]},{"id":"3031","vertex_ids":["2931","2920"],"face_ids":["2897"]},{"id":"3032","vertex_ids":["2898","2967"],"face_ids":["2897"]},{"id":"3037","vertex_ids":["2961","2909"],"face_ids":["2897"]},{"id":"3042","vertex_ids":["3038","3039"],"face_ids":["2897"]},{"id":"3043","vertex_ids":["3039","3040"],"face_ids":["2897"]},{"id":"3049","vertex_ids":["3045","3046"],"face_ids":["2897"]},{"id":"3052","vertex_ids":["3040","3048"],"face_ids":["2897"]},{"id":"3053","vertex_ids":["3048","3045"],"face_ids":["2897"]},{"id":"3057","vertex_ids":["3046","3054"],"face_ids":["2897"]},{"id":"3058","vertex_ids":["3054","3055"],"face_ids":["2897"]},{"id":"3059","vertex_ids":["3055","3056"],"face_ids":["2897"]},{"id":"3060","vertex_ids":["3056","2961"],"face_ids":["2897"]},{"id":"3064","vertex_ids":["3061","3062"],"face_ids":["2897"]},{"id":"3066","vertex_ids":["2990","3061"],"face_ids":["2897"]},{"id":"3072","vertex_ids":["3068","3069"],"face_ids":["2897"]},{"id":"3073","vertex_ids":["3069","3038"],"face_ids":["2897"]},{"id":"3075","vertex_ids":["3062","3068"],"face_ids":["2897"]}],"faces":[{"id":"798","edge_ids":["792","793","794","795","796","797","787","799","791"],"edge_order":[1,1,1,1,1,1,1,1,1]},{"id":"2897","edge_ids":["3049","3057","3058","3059","3060","3037","2932","3031","2942","2943","2954","2955","2956","2957","2958","2945","2946","2926","3032","2972","2994","3066","3064","3075","3072","3073","3042","3043","3052","3053"],"edge_order":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]}]},"spaces":[{"id":"775","handle":null,"name":"Space 1-1","face_id":"798","building_unit_id":null,"thermal_zone_id":"tz_1","space_type_id":"800","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":27118.75}],"shading":[{"handle":null,"id":"2888","name":"Shading 1-1","face_id":"2897","color":"#E8E3E5","floor_to_ceiling_height":113,"type":"shading"}],"windows":[],"doors":[],"construction_lines":[{"id":"772","start":{"x":-207.5,"y":75},"end":{"x":-207.5,"y":-72.5}},{"id":"773","start":{"x":-507.5,"y":-70},"end":{"x":-207.5,"y":-72.5}},{"id":"774","start":{"x":-507.5,"y":-70},"end":{"x":-507.5,"y":-32.5}}],"area":27118.75},{"id":"820","handle":null,"name":"Story 2","image_id":null,"below_floor_plenum_height":0,"floor_to_ceiling_height":11,"above_ceiling_plenum_height":0,"multiplier":1,"color":"#999933","geometry":{"id":"821","vertices":[{"id":"801","x":-507.5,"y":-32.5,"edge_ids":["817","876"]},{"id":"802","x":-430,"y":-62.5,"edge_ids":["818","876"]},{"id":"803","x":-250,"y":-65,"edge_ids":["811","818"]},{"id":"804","x":-215,"y":-57.5,"edge_ids":["812","811"]},{"id":"805","x":-207.5,"y":-35,"edge_ids":["813","812"]},{"id":"806","x":-207.5,"y":-5,"edge_ids":["814","813"]},{"id":"807","x":-225,"y":47.5,"edge_ids":["815","814"]},{"id":"808","x":-265,"y":77.5,"edge_ids":["816","815"]},{"id":"809","x":-385,"y":32.5,"edge_ids":["817","816"]}],"edges":[{"id":"817","vertex_ids":["809","801"],"face_ids":["826"]},{"id":"816","vertex_ids":["808","809"],"face_ids":["826"]},{"id":"815","vertex_ids":["807","808"],"face_ids":["826"]},{"id":"814","vertex_ids":["806","807"],"face_ids":["826"]},{"id":"813","vertex_ids":["805","806"],"face_ids":["826"]},{"id":"812","vertex_ids":["804","805"],"face_ids":["826"]},{"id":"811","vertex_ids":["803","804"],"face_ids":["826"]},{"id":"818","vertex_ids":["802","803"],"face_ids":["826"]},{"id":"876","vertex_ids":["801","802"],"face_ids":["826"]}],"faces":[{"id":"826","edge_ids":["812","813","814","815","816","817","876","818","811"],"edge_order":[1,1,1,1,1,1,1,1,1]}]},"spaces":[{"id":"825","handle":null,"name":"Space 2-1","face_id":"826","building_unit_id":null,"thermal_zone_id":"tz_2","space_type_id":"800","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":27118.75}],"shading":[],"windows":[],"doors":[],"construction_lines":[],"area":27118.75},{"id":"877","handle":null,"name":"Story 3","image_id":null,"below_floor_plenum_height":0,"floor_to_ceiling_height":10.5,"above_ceiling_plenum_height":0,"multiplier":1,"color":"#ddcc77","geometry":{"id":"878","vertices":[{"id":"881","x":-507.5,"y":-32.5,"edge_ids":["886","890"]},{"id":"882","x":-450,"y":-2.5,"edge_ids":["886","887","8224"]},{"id":"883","x":-440,"y":-27.5,"edge_ids":["887","893","8280"]},{"id":"885","x":-430,"y":-62.5,"edge_ids":["890","950","1122"]},{"id":"892","x":-447.19,"y":-30.58,"edge_ids":["893","947"]},{"id":"900","x":-250,"y":-65,"edge_ids":["1042","909"]},{"id":"901","x":-207.5,"y":-35,"edge_ids":["909","910"]},{"id":"902","x":-207.5,"y":-5,"edge_ids":["910","1064"]},{"id":"904","x":-265,"y":77.5,"edge_ids":["1192","1205"]},{"id":"943","x":-442.19,"y":-39.86,"edge_ids":["946","950","1120"]},{"id":"944","x":-442.5,"y":-40,"edge_ids":["946","947"]},{"id":"951","x":-307.06,"y":31.4,"edge_ids":["956","8278"]},{"id":"952","x":-265,"y":50,"edge_ids":["956","1204","1231","8289"]},{"id":"1028","x":-279.5,"y":-29.74,"edge_ids":["6818","8233","8227"]},{"id":"1046","x":-254.81,"y":-47.38,"edge_ids":["8233","1042"]},{"id":"1061","x":-215,"y":15,"edge_ids":["1064","8255","8301"]},{"id":"1074","x":-215.68,"y":19.55,"edge_ids":["1078","8247","8255"]},{"id":"1075","x":-245,"y":0,"edge_ids":["1078","1079"]},{"id":"1076","x":-260,"y":32.5,"edge_ids":["1079","1225"]},{"id":"1119","x":-380,"y":-47.5,"edge_ids":["1122","1130","8229"]},{"id":"1123","x":-382.5,"y":-12.5,"edge_ids":["1126","1120","8288"]},{"id":"1124","x":-380.06,"y":-46.7,"edge_ids":["1126","1130"]},{"id":"1190","x":-242.5,"y":65,"edge_ids":["1192","1198"]},{"id":"1193","x":-242.5,"y":60.63,"edge_ids":["1198","1231","8246"]},{"id":"1203","x":-277.5,"y":72.5,"edge_ids":["1204","1205","8223"]},{"id":"1224","x":-264.53,"y":41.57,"edge_ids":["1225","8289","8291"]},{"id":"1333","x":-250.33,"y":-9.47,"edge_ids":["6822","8284","8301"]},{"id":"6813","x":-270,"y":-20,"edge_ids":["6815","6818"]},{"id":"6814","x":-263.22,"y":-16.37,"edge_ids":["6815","6822"]},{"id":"8222","x":-385,"y":32.5,"edge_ids":["8223","8224"]},{"id":"8226","x":-314.82,"y":-23.6,"edge_ids":["8227","8229"]},{"id":"8245","x":-225,"y":47.5,"edge_ids":["8246","8247"]},{"id":"8271","x":-310,"y":20.73,"edge_ids":["8274","8285"]},{"id":"8272","x":-324.9,"y":13.9,"edge_ids":["8274","8288"]},{"id":"8276","x":-310.34,"y":29.95,"edge_ids":["8278","8280"]},{"id":"8281","x":-278.52,"y":35.16,"edge_ids":["8284","8285","8291"]}],"edges":[{"id":"886","vertex_ids":["881","882"],"face_ids":["891"]},{"id":"887","vertex_ids":["882","883"],"face_ids":["891","8221"]},{"id":"890","vertex_ids":["885","881"],"face_ids":["891"]},{"id":"893","vertex_ids":["892","883"],"face_ids":["891","8293"]},{"id":"946","vertex_ids":["943","944"],"face_ids":["891","8293"]},{"id":"947","vertex_ids":["944","892"],"face_ids":["891","8293"]},{"id":"950","vertex_ids":["885","943"],"face_ids":["891","1128"]},{"id":"956","vertex_ids":["951","952"],"face_ids":["8221","8293"]},{"id":"1078","vertex_ids":["1074","1075"],"face_ids":["8251","8261"]},{"id":"1079","vertex_ids":["1075","1076"],"face_ids":["8251","8261"]},{"id":"1126","vertex_ids":["1123","1124"],"face_ids":["1128","8220"]},{"id":"1120","vertex_ids":["943","1123"],"face_ids":["1128","8293"]},{"id":"1122","vertex_ids":["1119","885"],"face_ids":["1128"]},{"id":"1130","vertex_ids":["1124","1119"],"face_ids":["1128","8220"]},{"id":"1192","vertex_ids":["1190","904"],"face_ids":["1196"]},{"id":"1198","vertex_ids":["1193","1190"],"face_ids":["1196"]},{"id":"1204","vertex_ids":["952","1203"],"face_ids":["1196","8221"]},{"id":"1205","vertex_ids":["1203","904"],"face_ids":["1196"]},{"id":"1225","vertex_ids":["1076","1224"],"face_ids":["8251","8261"]},{"id":"1231","vertex_ids":["952","1193"],"face_ids":["1196","8251"]},{"id":"6815","vertex_ids":["6813","6814"],"face_ids":["8242","8220"]},{"id":"6818","vertex_ids":["1028","6813"],"face_ids":["8242","8220"]},{"id":"6822","vertex_ids":["6814","1333"],"face_ids":["8242","8220"]},{"id":"8223","vertex_ids":["1203","8222"],"face_ids":["8221"]},{"id":"8224","vertex_ids":["8222","882"],"face_ids":["8221"]},{"id":"8233","vertex_ids":["1028","1046"],"face_ids":["8242"]},{"id":"1042","vertex_ids":["1046","900"],"face_ids":["8242"]},{"id":"909","vertex_ids":["900","901"],"face_ids":["8242"]},{"id":"910","vertex_ids":["901","902"],"face_ids":["8242"]},{"id":"1064","vertex_ids":["1061","902"],"face_ids":["8242"]},{"id":"8246","vertex_ids":["1193","8245"],"face_ids":["8251"]},{"id":"8247","vertex_ids":["8245","1074"],"face_ids":["8251"]},{"id":"8255","vertex_ids":["1074","1061"],"face_ids":["8261"]},{"id":"8274","vertex_ids":["8271","8272"],"face_ids":["8293","8220"]},{"id":"8278","vertex_ids":["8276","951"],"face_ids":["8221","8293"]},{"id":"8280","vertex_ids":["883","8276"],"face_ids":["8221","8293"]},{"id":"8284","vertex_ids":["1333","8281"],"face_ids":["8261","8220"]},{"id":"8285","vertex_ids":["8281","8271"],"face_ids":["8293","8220"]},{"id":"8288","vertex_ids":["8272","1123"],"face_ids":["8293","8220"]},{"id":"8289","vertex_ids":["952","1224"],"face_ids":["8251","8293"]},{"id":"8291","vertex_ids":["1224","8281"],"face_ids":["8261","8293"]},{"id":"8301","vertex_ids":["1333","1061"],"face_ids":["8242","8261"]},{"id":"8227","vertex_ids":["8226","1028"],"face_ids":["8220"]},{"id":"8229","vertex_ids":["1119","8226"],"face_ids":["8220"]}],"faces":[{"id":"891","edge_ids":["946","947","893","887","886","890","950"],"edge_order":[1,1,1,0,0,0,1]},{"id":"1128","edge_ids":["1130","1126","1120","950","1122"],"edge_order":[0,0,0,0,0]},{"id":"1196","edge_ids":["1198","1192","1205","1204","1231"],"edge_order":[1,1,0,0,1]},{"id":"8221","edge_ids":["8278","956","1204","8223","8224","887","8280"],"edge_order":[1,1,1,1,1,1,1]},{"id":"8242","edge_ids":["910","1064","8301","6822","6815","6818","8233","1042","909"],"edge_order":[1,0,0,0,0,0,1,1,1]},{"id":"8251","edge_ids":["8247","8246","1231","8289","1225","1079","1078"],"edge_order":[0,0,0,1,0,0,0]},{"id":"8261","edge_ids":["8255","1078","1079","1225","8291","8284","8301"],"edge_order":[0,1,1,1,1,0,1]},{"id":"8293","edge_ids":["947","946","1120","8288","8274","8285","8291","8289","956","8278","8280","893"],"edge_order":[0,0,1,0,0,0,0,0,0,0,0,0]},{"id":"8220","edge_ids":["8227","6818","6815","6822","8284","8285","8274","8288","1126","1130","8229"],"edge_order":[1,1,1,1,1,1,1,1,1,1,1]}]},"spaces":[{"id":"879","handle":null,"name":"Space 3-1","face_id":"891","building_unit_id":null,"thermal_zone_id":"tz_3","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1932.0249999999978},{"id":"1097","handle":null,"name":"Space 3-2","face_id":"1128","building_unit_id":null,"thermal_zone_id":"tz_4","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1736.1500000000015},{"id":"1189","handle":null,"name":"Space 3-3","face_id":"1196","building_unit_id":null,"thermal_zone_id":"tz_5","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":530.4124999999999},{"id":"8217","handle":null,"name":"Space 3-4","face_id":"8221","building_unit_id":null,"thermal_zone_id":"tz_6","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":5563.085500000001},{"id":"8232","handle":null,"name":"Space 3-5","face_id":"8242","building_unit_id":null,"thermal_zone_id":"tz_7","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":2956.4096500000014},{"id":"8244","handle":null,"name":"Space 3-6","face_id":"8251","building_unit_id":null,"thermal_zone_id":"tz_8","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1783.5375000000004},{"id":"8252","handle":null,"name":"Space 3-7","face_id":"8261","building_unit_id":null,"thermal_zone_id":"tz_9","space_type_id":"1234","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":786.8068999999996},{"id":"8264","handle":null,"name":"Space 3-8","face_id":"8293","building_unit_id":null,"thermal_zone_id":"tz_10","space_type_id":"1234","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1809.8350000000019},{"id":"8212","handle":null,"name":"Space 3-9","face_id":"8220","building_unit_id":null,"thermal_zone_id":"tz_11","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":5400.404149999997}],"shading":[],"windows":[],"doors":[],"construction_lines":[{"id":"916","start":{"x":-440,"y":-27.5},"end":{"x":-230,"y":65}},{"id":"917","start":{"x":-442.5,"y":-40},"end":{"x":-222.5,"y":60}},{"id":"919","start":{"x":-247.5,"y":-7.5},"end":{"x":-215,"y":15}},{"id":"920","start":{"x":-267.5,"y":47.5},"end":{"x":-247.5,"y":5}},{"id":"921","start":{"x":-247.5,"y":5},"end":{"x":-245,"y":0}},{"id":"922","start":{"x":-245,"y":0},"end":{"x":-215,"y":20}},{"id":"923","start":{"x":-215,"y":15},"end":{"x":-212.5,"y":17.5}},{"id":"934","start":{"x":-275,"y":45},"end":{"x":-247.5,"y":-7.5}},{"id":"1034","start":{"x":-255,"y":-47.5},"end":{"x":-230,"y":-32.5}},{"id":"1035","start":{"x":-255,"y":-47.5},"end":{"x":-227.5,"y":-30}},{"id":"1036","start":{"x":-232.5,"y":-20},"end":{"x":-227.5,"y":-30}},{"id":"1037","start":{"x":-232.5,"y":-20},"end":{"x":-207.5,"y":-5}}],"area":22498.6662},{"id":"8391","handle":null,"name":"Story 4","image_id":null,"below_floor_plenum_height":0,"floor_to_ceiling_height":10.5,"above_ceiling_plenum_height":0,"multiplier":1,"color":"#999933","geometry":{"id":"8392","vertices":[{"id":"8302","x":-507.5,"y":-32.5,"edge_ids":["8338","8340"]},{"id":"8303","x":-450,"y":-2.5,"edge_ids":["8338","8339","8362"]},{"id":"8304","x":-440,"y":-27.5,"edge_ids":["8339","8341","8373"]},{"id":"8305","x":-430,"y":-62.5,"edge_ids":["8340","8344","8350"]},{"id":"8306","x":-447.19,"y":-30.58,"edge_ids":["8341","8343"]},{"id":"8307","x":-250,"y":-65,"edge_ids":["8364","8365"]},{"id":"8308","x":-207.5,"y":-35,"edge_ids":["8365","8366"]},{"id":"8309","x":-207.5,"y":-5,"edge_ids":["8366","8367"]},{"id":"8310","x":-265,"y":77.5,"edge_ids":["8352","8355"]},{"id":"8311","x":-442.19,"y":-39.86,"edge_ids":["8342","8344","8349"]},{"id":"8312","x":-442.5,"y":-40,"edge_ids":["8342","8343"]},{"id":"8313","x":-307.06,"y":31.4,"edge_ids":["8345","8372"]},{"id":"8314","x":-265,"y":50,"edge_ids":["8345","8354","8357","8377"]},{"id":"8315","x":-279.5,"y":-29.74,"edge_ids":["8359","8363","8380"]},{"id":"8316","x":-254.81,"y":-47.38,"edge_ids":["8363","8364"]},{"id":"8317","x":-215,"y":15,"edge_ids":["8367","8370","8379"]},{"id":"8318","x":-215.68,"y":19.55,"edge_ids":["8346","8369","8370"]},{"id":"8319","x":-245,"y":0,"edge_ids":["8346","8347"]},{"id":"8320","x":-260,"y":32.5,"edge_ids":["8347","8356"]},{"id":"8321","x":-380,"y":-47.5,"edge_ids":["8350","8351","8381"]},{"id":"8322","x":-382.5,"y":-12.5,"edge_ids":["8348","8349","8376"]},{"id":"8323","x":-380.06,"y":-46.7,"edge_ids":["8348","8351"]},{"id":"8324","x":-242.5,"y":65,"edge_ids":["8352","8353"]},{"id":"8325","x":-242.5,"y":60.63,"edge_ids":["8353","8357","8368"]},{"id":"8326","x":-277.5,"y":72.5,"edge_ids":["8354","8355","8361"]},{"id":"8327","x":-264.53,"y":41.57,"edge_ids":["8356","8377","8378"]},{"id":"8328","x":-250.33,"y":-9.47,"edge_ids":["8360","8374","8379"]},{"id":"8329","x":-270,"y":-20,"edge_ids":["8358","8359"]},{"id":"8330","x":-263.22,"y":-16.37,"edge_ids":["8358","8360"]},{"id":"8331","x":-385,"y":32.5,"edge_ids":["8361","8362"]},{"id":"8332","x":-314.82,"y":-23.6,"edge_ids":["8380","8381"]},{"id":"8333","x":-225,"y":47.5,"edge_ids":["8368","8369"]},{"id":"8334","x":-310,"y":20.73,"edge_ids":["8371","8375"]},{"id":"8335","x":-324.9,"y":13.9,"edge_ids":["8371","8376"]},{"id":"8336","x":-310.34,"y":29.95,"edge_ids":["8372","8373"]},{"id":"8337","x":-278.52,"y":35.16,"edge_ids":["8374","8375","8378"]}],"edges":[{"id":"8338","vertex_ids":["8302","8303"],"face_ids":["8382"]},{"id":"8339","vertex_ids":["8303","8304"],"face_ids":["8382","8385"]},{"id":"8340","vertex_ids":["8305","8302"],"face_ids":["8382"]},{"id":"8341","vertex_ids":["8306","8304"],"face_ids":["8382","8389"]},{"id":"8342","vertex_ids":["8311","8312"],"face_ids":["8382","8389"]},{"id":"8343","vertex_ids":["8312","8306"],"face_ids":["8382","8389"]},{"id":"8344","vertex_ids":["8305","8311"],"face_ids":["8382","8383"]},{"id":"8345","vertex_ids":["8313","8314"],"face_ids":["8385","8389"]},{"id":"8346","vertex_ids":["8318","8319"],"face_ids":["8387","8388"]},{"id":"8347","vertex_ids":["8319","8320"],"face_ids":["8387","8388"]},{"id":"8348","vertex_ids":["8322","8323"],"face_ids":["8383","8390"]},{"id":"8349","vertex_ids":["8311","8322"],"face_ids":["8383","8389"]},{"id":"8350","vertex_ids":["8321","8305"],"face_ids":["8383"]},{"id":"8351","vertex_ids":["8323","8321"],"face_ids":["8383","8390"]},{"id":"8352","vertex_ids":["8324","8310"],"face_ids":["8384"]},{"id":"8353","vertex_ids":["8325","8324"],"face_ids":["8384"]},{"id":"8354","vertex_ids":["8314","8326"],"face_ids":["8384","8385"]},{"id":"8355","vertex_ids":["8326","8310"],"face_ids":["8384"]},{"id":"8356","vertex_ids":["8320","8327"],"face_ids":["8387","8388"]},{"id":"8357","vertex_ids":["8314","8325"],"face_ids":["8384","8387"]},{"id":"8358","vertex_ids":["8329","8330"],"face_ids":["8386","8390"]},{"id":"8359","vertex_ids":["8315","8329"],"face_ids":["8386","8390"]},{"id":"8360","vertex_ids":["8330","8328"],"face_ids":["8386","8390"]},{"id":"8361","vertex_ids":["8326","8331"],"face_ids":["8385"]},{"id":"8362","vertex_ids":["8331","8303"],"face_ids":["8385"]},{"id":"8363","vertex_ids":["8315","8316"],"face_ids":["8386"]},{"id":"8364","vertex_ids":["8316","8307"],"face_ids":["8386"]},{"id":"8365","vertex_ids":["8307","8308"],"face_ids":["8386"]},{"id":"8366","vertex_ids":["8308","8309"],"face_ids":["8386"]},{"id":"8367","vertex_ids":["8317","8309"],"face_ids":["8386"]},{"id":"8368","vertex_ids":["8325","8333"],"face_ids":["8387"]},{"id":"8369","vertex_ids":["8333","8318"],"face_ids":["8387"]},{"id":"8370","vertex_ids":["8318","8317"],"face_ids":["8388"]},{"id":"8371","vertex_ids":["8334","8335"],"face_ids":["8389","8390"]},{"id":"8372","vertex_ids":["8336","8313"],"face_ids":["8385","8389"]},{"id":"8373","vertex_ids":["8304","8336"],"face_ids":["8385","8389"]},{"id":"8374","vertex_ids":["8328","8337"],"face_ids":["8388","8390"]},{"id":"8375","vertex_ids":["8337","8334"],"face_ids":["8389","8390"]},{"id":"8376","vertex_ids":["8335","8322"],"face_ids":["8389","8390"]},{"id":"8377","vertex_ids":["8314","8327"],"face_ids":["8387","8389"]},{"id":"8378","vertex_ids":["8327","8337"],"face_ids":["8388","8389"]},{"id":"8379","vertex_ids":["8328","8317"],"face_ids":["8386","8388"]},{"id":"8380","vertex_ids":["8332","8315"],"face_ids":["8390"]},{"id":"8381","vertex_ids":["8321","8332"],"face_ids":["8390"]}],"faces":[{"id":"8382","edge_ids":["8342","8343","8341","8339","8338","8340","8344"],"edge_order":[1,1,1,0,0,0,1]},{"id":"8383","edge_ids":["8351","8348","8349","8344","8350"],"edge_order":[0,0,0,0,0]},{"id":"8384","edge_ids":["8353","8352","8355","8354","8357"],"edge_order":[1,1,0,0,1]},{"id":"8385","edge_ids":["8372","8345","8354","8361","8362","8339","8373"],"edge_order":[1,1,1,1,1,1,1]},{"id":"8386","edge_ids":["8366","8367","8379","8360","8358","8359","8363","8364","8365"],"edge_order":[1,0,0,0,0,0,1,1,1]},{"id":"8387","edge_ids":["8369","8368","8357","8377","8356","8347","8346"],"edge_order":[0,0,0,1,0,0,0]},{"id":"8388","edge_ids":["8370","8346","8347","8356","8378","8374","8379"],"edge_order":[0,1,1,1,1,0,1]},{"id":"8389","edge_ids":["8343","8342","8349","8376","8371","8375","8378","8377","8345","8372","8373","8341"],"edge_order":[0,0,1,0,0,0,0,0,0,0,0,0]},{"id":"8390","edge_ids":["8380","8359","8358","8360","8374","8375","8371","8376","8348","8351","8381"],"edge_order":[1,1,1,1,1,1,1,1,1,1,1]}]},"spaces":[{"id":"8395","handle":null,"name":"Space 4-1","face_id":"8382","building_unit_id":null,"thermal_zone_id":"tz_12","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1932.0249999999978},{"id":"8396","handle":null,"name":"Space 4-2","face_id":"8383","building_unit_id":null,"thermal_zone_id":"tz_13","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1736.1500000000015},{"id":"8397","handle":null,"name":"Space 4-3","face_id":"8384","building_unit_id":null,"thermal_zone_id":"tz_14","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":530.4124999999999},{"id":"8398","handle":null,"name":"Space 4-4","face_id":"8385","building_unit_id":null,"thermal_zone_id":"tz_15","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":5563.085500000001},{"id":"8399","handle":null,"name":"Space 4-5","face_id":"8386","building_unit_id":null,"thermal_zone_id":"tz_16","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":2956.4096500000014},{"id":"8400","handle":null,"name":"Space 4-6","face_id":"8387","building_unit_id":null,"thermal_zone_id":"tz_17","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1783.5375000000004},{"id":"8401","handle":null,"name":"Space 4-7","face_id":"8388","building_unit_id":null,"thermal_zone_id":"tz_18","space_type_id":"1234","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":786.8068999999996},{"id":"8402","handle":null,"name":"Space 4-8","face_id":"8389","building_unit_id":null,"thermal_zone_id":"tz_19","space_type_id":"1234","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1809.8350000000019},{"id":"8403","handle":null,"name":"Space 4-9","face_id":"8390","building_unit_id":null,"thermal_zone_id":"tz_20","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":5400.404149999997}],"shading":[],"windows":[],"doors":[],"construction_lines":[],"area":22498.6662},{"id":"8493","handle":null,"name":"Story 5","image_id":null,"below_floor_plenum_height":0,"floor_to_ceiling_height":10.5,"above_ceiling_plenum_height":0,"multiplier":1,"color":"#ddcc77","geometry":{"id":"8494","vertices":[{"id":"8404","x":-507.5,"y":-32.5,"edge_ids":["8440","8442"]},{"id":"8405","x":-450,"y":-2.5,"edge_ids":["8440","8441","8464"]},{"id":"8406","x":-440,"y":-27.5,"edge_ids":["8441","8443","8475"]},{"id":"8407","x":-430,"y":-62.5,"edge_ids":["8442","8446","8452"]},{"id":"8408","x":-447.19,"y":-30.58,"edge_ids":["8443","8445"]},{"id":"8409","x":-250,"y":-65,"edge_ids":["8466","8467"]},{"id":"8410","x":-207.5,"y":-35,"edge_ids":["8467","8468"]},{"id":"8411","x":-207.5,"y":-5,"edge_ids":["8468","8469"]},{"id":"8412","x":-265,"y":77.5,"edge_ids":["8454","8457"]},{"id":"8413","x":-442.19,"y":-39.86,"edge_ids":["8444","8446","8451"]},{"id":"8414","x":-442.5,"y":-40,"edge_ids":["8444","8445"]},{"id":"8415","x":-307.06,"y":31.4,"edge_ids":["8447","8474"]},{"id":"8416","x":-265,"y":50,"edge_ids":["8447","8456","8459","8479"]},{"id":"8417","x":-279.5,"y":-29.74,"edge_ids":["8461","8465","8482"]},{"id":"8418","x":-254.81,"y":-47.38,"edge_ids":["8465","8466"]},{"id":"8419","x":-215,"y":15,"edge_ids":["8469","8472","8481"]},{"id":"8420","x":-215.68,"y":19.55,"edge_ids":["8448","8471","8472"]},{"id":"8421","x":-245,"y":0,"edge_ids":["8448","8449"]},{"id":"8422","x":-260,"y":32.5,"edge_ids":["8449","8458"]},{"id":"8423","x":-380,"y":-47.5,"edge_ids":["8452","8453","8483"]},{"id":"8424","x":-382.5,"y":-12.5,"edge_ids":["8450","8451","8478"]},{"id":"8425","x":-380.06,"y":-46.7,"edge_ids":["8450","8453"]},{"id":"8426","x":-242.5,"y":65,"edge_ids":["8454","8455"]},{"id":"8427","x":-242.5,"y":60.63,"edge_ids":["8455","8459","8470"]},{"id":"8428","x":-277.5,"y":72.5,"edge_ids":["8456","8457","8463"]},{"id":"8429","x":-264.53,"y":41.57,"edge_ids":["8458","8479","8480"]},{"id":"8430","x":-250.33,"y":-9.47,"edge_ids":["8462","8476","8481"]},{"id":"8431","x":-270,"y":-20,"edge_ids":["8460","8461"]},{"id":"8432","x":-263.22,"y":-16.37,"edge_ids":["8460","8462"]},{"id":"8433","x":-385,"y":32.5,"edge_ids":["8463","8464"]},{"id":"8434","x":-314.82,"y":-23.6,"edge_ids":["8482","8483"]},{"id":"8435","x":-225,"y":47.5,"edge_ids":["8470","8471"]},{"id":"8436","x":-310,"y":20.73,"edge_ids":["8473","8477"]},{"id":"8437","x":-324.9,"y":13.9,"edge_ids":["8473","8478"]},{"id":"8438","x":-310.34,"y":29.95,"edge_ids":["8474","8475"]},{"id":"8439","x":-278.52,"y":35.16,"edge_ids":["8476","8477","8480"]}],"edges":[{"id":"8440","vertex_ids":["8404","8405"],"face_ids":["8484"]},{"id":"8441","vertex_ids":["8405","8406"],"face_ids":["8484","8487"]},{"id":"8442","vertex_ids":["8407","8404"],"face_ids":["8484"]},{"id":"8443","vertex_ids":["8408","8406"],"face_ids":["8484","8491"]},{"id":"8444","vertex_ids":["8413","8414"],"face_ids":["8484","8491"]},{"id":"8445","vertex_ids":["8414","8408"],"face_ids":["8484","8491"]},{"id":"8446","vertex_ids":["8407","8413"],"face_ids":["8484","8485"]},{"id":"8447","vertex_ids":["8415","8416"],"face_ids":["8487","8491"]},{"id":"8448","vertex_ids":["8420","8421"],"face_ids":["8489","8490"]},{"id":"8449","vertex_ids":["8421","8422"],"face_ids":["8489","8490"]},{"id":"8450","vertex_ids":["8424","8425"],"face_ids":["8485","8492"]},{"id":"8451","vertex_ids":["8413","8424"],"face_ids":["8485","8491"]},{"id":"8452","vertex_ids":["8423","8407"],"face_ids":["8485"]},{"id":"8453","vertex_ids":["8425","8423"],"face_ids":["8485","8492"]},{"id":"8454","vertex_ids":["8426","8412"],"face_ids":["8486"]},{"id":"8455","vertex_ids":["8427","8426"],"face_ids":["8486"]},{"id":"8456","vertex_ids":["8416","8428"],"face_ids":["8486","8487"]},{"id":"8457","vertex_ids":["8428","8412"],"face_ids":["8486"]},{"id":"8458","vertex_ids":["8422","8429"],"face_ids":["8489","8490"]},{"id":"8459","vertex_ids":["8416","8427"],"face_ids":["8486","8489"]},{"id":"8460","vertex_ids":["8431","8432"],"face_ids":["8488","8492"]},{"id":"8461","vertex_ids":["8417","8431"],"face_ids":["8488","8492"]},{"id":"8462","vertex_ids":["8432","8430"],"face_ids":["8488","8492"]},{"id":"8463","vertex_ids":["8428","8433"],"face_ids":["8487"]},{"id":"8464","vertex_ids":["8433","8405"],"face_ids":["8487"]},{"id":"8465","vertex_ids":["8417","8418"],"face_ids":["8488"]},{"id":"8466","vertex_ids":["8418","8409"],"face_ids":["8488"]},{"id":"8467","vertex_ids":["8409","8410"],"face_ids":["8488"]},{"id":"8468","vertex_ids":["8410","8411"],"face_ids":["8488"]},{"id":"8469","vertex_ids":["8419","8411"],"face_ids":["8488"]},{"id":"8470","vertex_ids":["8427","8435"],"face_ids":["8489"]},{"id":"8471","vertex_ids":["8435","8420"],"face_ids":["8489"]},{"id":"8472","vertex_ids":["8420","8419"],"face_ids":["8490"]},{"id":"8473","vertex_ids":["8436","8437"],"face_ids":["8491","8492"]},{"id":"8474","vertex_ids":["8438","8415"],"face_ids":["8487","8491"]},{"id":"8475","vertex_ids":["8406","8438"],"face_ids":["8487","8491"]},{"id":"8476","vertex_ids":["8430","8439"],"face_ids":["8490","8492"]},{"id":"8477","vertex_ids":["8439","8436"],"face_ids":["8491","8492"]},{"id":"8478","vertex_ids":["8437","8424"],"face_ids":["8491","8492"]},{"id":"8479","vertex_ids":["8416","8429"],"face_ids":["8489","8491"]},{"id":"8480","vertex_ids":["8429","8439"],"face_ids":["8490","8491"]},{"id":"8481","vertex_ids":["8430","8419"],"face_ids":["8488","8490"]},{"id":"8482","vertex_ids":["8434","8417"],"face_ids":["8492"]},{"id":"8483","vertex_ids":["8423","8434"],"face_ids":["8492"]}],"faces":[{"id":"8484","edge_ids":["8444","8445","8443","8441","8440","8442","8446"],"edge_order":[1,1,1,0,0,0,1]},{"id":"8485","edge_ids":["8453","8450","8451","8446","8452"],"edge_order":[0,0,0,0,0]},{"id":"8486","edge_ids":["8455","8454","8457","8456","8459"],"edge_order":[1,1,0,0,1]},{"id":"8487","edge_ids":["8474","8447","8456","8463","8464","8441","8475"],"edge_order":[1,1,1,1,1,1,1]},{"id":"8488","edge_ids":["8468","8469","8481","8462","8460","8461","8465","8466","8467"],"edge_order":[1,0,0,0,0,0,1,1,1]},{"id":"8489","edge_ids":["8471","8470","8459","8479","8458","8449","8448"],"edge_order":[0,0,0,1,0,0,0]},{"id":"8490","edge_ids":["8472","8448","8449","8458","8480","8476","8481"],"edge_order":[0,1,1,1,1,0,1]},{"id":"8491","edge_ids":["8445","8444","8451","8478","8473","8477","8480","8479","8447","8474","8475","8443"],"edge_order":[0,0,1,0,0,0,0,0,0,0,0,0]},{"id":"8492","edge_ids":["8482","8461","8460","8462","8476","8477","8473","8478","8450","8453","8483"],"edge_order":[1,1,1,1,1,1,1,1,1,1,1]}]},"spaces":[{"id":"8497","handle":null,"name":"Space 5-1","face_id":"8484","building_unit_id":null,"thermal_zone_id":"tz_21","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1932.0249999999978},{"id":"8498","handle":null,"name":"Space 5-2","face_id":"8485","building_unit_id":null,"thermal_zone_id":"tz_22","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1736.1500000000015},{"id":"8499","handle":null,"name":"Space 5-3","face_id":"8486","building_unit_id":null,"thermal_zone_id":"tz_23","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":530.4124999999999},{"id":"8500","handle":null,"name":"Space 5-4","face_id":"8487","building_unit_id":null,"thermal_zone_id":"tz_24","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":5563.085500000001},{"id":"8501","handle":null,"name":"Space 5-5","face_id":"8488","building_unit_id":null,"thermal_zone_id":"tz_25","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":2956.4096500000014},{"id":"8502","handle":null,"name":"Space 5-6","face_id":"8489","building_unit_id":null,"thermal_zone_id":"tz_26","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1783.5375000000004},{"id":"8503","handle":null,"name":"Space 5-7","face_id":"8490","building_unit_id":null,"thermal_zone_id":"tz_27","space_type_id":"1234","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":786.8068999999996},{"id":"8504","handle":null,"name":"Space 5-8","face_id":"8491","building_unit_id":null,"thermal_zone_id":"tz_28","space_type_id":"1234","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1809.8350000000019},{"id":"8505","handle":null,"name":"Space 5-9","face_id":"8492","building_unit_id":null,"thermal_zone_id":"tz_29","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":5400.404149999997}],"shading":[],"windows":[],"doors":[],"construction_lines":[],"area":22498.6662},{"id":"8595","handle":null,"name":"Story 6","image_id":null,"below_floor_plenum_height":0,"floor_to_ceiling_height":10.5,"above_ceiling_plenum_height":0,"multiplier":1,"color":"#cc6677","geometry":{"id":"8596","vertices":[{"id":"8506","x":-507.5,"y":-32.5,"edge_ids":["8542","8544"]},{"id":"8507","x":-450,"y":-2.5,"edge_ids":["8542","8543","8566"]},{"id":"8508","x":-440,"y":-27.5,"edge_ids":["8543","8545","8577"]},{"id":"8509","x":-430,"y":-62.5,"edge_ids":["8544","8548","8554"]},{"id":"8510","x":-447.19,"y":-30.58,"edge_ids":["8545","8547"]},{"id":"8511","x":-250,"y":-65,"edge_ids":["8568","8569"]},{"id":"8512","x":-207.5,"y":-35,"edge_ids":["8569","8570"]},{"id":"8513","x":-207.5,"y":-5,"edge_ids":["8570","8571"]},{"id":"8514","x":-265,"y":77.5,"edge_ids":["8556","8559"]},{"id":"8515","x":-442.19,"y":-39.86,"edge_ids":["8546","8548","8553"]},{"id":"8516","x":-442.5,"y":-40,"edge_ids":["8546","8547"]},{"id":"8517","x":-307.06,"y":31.4,"edge_ids":["8549","8576"]},{"id":"8518","x":-265,"y":50,"edge_ids":["8549","8558","8561","8581"]},{"id":"8519","x":-279.5,"y":-29.74,"edge_ids":["8563","8567","8584"]},{"id":"8520","x":-254.81,"y":-47.38,"edge_ids":["8567","8568"]},{"id":"8521","x":-215,"y":15,"edge_ids":["8571","8574","8583"]},{"id":"8522","x":-215.68,"y":19.55,"edge_ids":["8550","8573","8574"]},{"id":"8523","x":-245,"y":0,"edge_ids":["8550","8551"]},{"id":"8524","x":-260,"y":32.5,"edge_ids":["8551","8560"]},{"id":"8525","x":-380,"y":-47.5,"edge_ids":["8554","8555","8585"]},{"id":"8526","x":-382.5,"y":-12.5,"edge_ids":["8552","8553","8580"]},{"id":"8527","x":-380.06,"y":-46.7,"edge_ids":["8552","8555"]},{"id":"8528","x":-242.5,"y":65,"edge_ids":["8556","8557"]},{"id":"8529","x":-242.5,"y":60.63,"edge_ids":["8557","8561","8572"]},{"id":"8530","x":-277.5,"y":72.5,"edge_ids":["8558","8559","8565"]},{"id":"8531","x":-264.53,"y":41.57,"edge_ids":["8560","8581","8582"]},{"id":"8532","x":-250.33,"y":-9.47,"edge_ids":["8564","8578","8583"]},{"id":"8533","x":-270,"y":-20,"edge_ids":["8562","8563"]},{"id":"8534","x":-263.22,"y":-16.37,"edge_ids":["8562","8564"]},{"id":"8535","x":-385,"y":32.5,"edge_ids":["8565","8566"]},{"id":"8536","x":-314.82,"y":-23.6,"edge_ids":["8584","8585"]},{"id":"8537","x":-225,"y":47.5,"edge_ids":["8572","8573"]},{"id":"8538","x":-310,"y":20.73,"edge_ids":["8575","8579"]},{"id":"8539","x":-324.9,"y":13.9,"edge_ids":["8575","8580"]},{"id":"8540","x":-310.34,"y":29.95,"edge_ids":["8576","8577"]},{"id":"8541","x":-278.52,"y":35.16,"edge_ids":["8578","8579","8582"]}],"edges":[{"id":"8542","vertex_ids":["8506","8507"],"face_ids":["8586"]},{"id":"8543","vertex_ids":["8507","8508"],"face_ids":["8586","8589"]},{"id":"8544","vertex_ids":["8509","8506"],"face_ids":["8586"]},{"id":"8545","vertex_ids":["8510","8508"],"face_ids":["8586","8593"]},{"id":"8546","vertex_ids":["8515","8516"],"face_ids":["8586","8593"]},{"id":"8547","vertex_ids":["8516","8510"],"face_ids":["8586","8593"]},{"id":"8548","vertex_ids":["8509","8515"],"face_ids":["8586","8587"]},{"id":"8549","vertex_ids":["8517","8518"],"face_ids":["8589","8593"]},{"id":"8550","vertex_ids":["8522","8523"],"face_ids":["8591","8592"]},{"id":"8551","vertex_ids":["8523","8524"],"face_ids":["8591","8592"]},{"id":"8552","vertex_ids":["8526","8527"],"face_ids":["8587","8594"]},{"id":"8553","vertex_ids":["8515","8526"],"face_ids":["8587","8593"]},{"id":"8554","vertex_ids":["8525","8509"],"face_ids":["8587"]},{"id":"8555","vertex_ids":["8527","8525"],"face_ids":["8587","8594"]},{"id":"8556","vertex_ids":["8528","8514"],"face_ids":["8588"]},{"id":"8557","vertex_ids":["8529","8528"],"face_ids":["8588"]},{"id":"8558","vertex_ids":["8518","8530"],"face_ids":["8588","8589"]},{"id":"8559","vertex_ids":["8530","8514"],"face_ids":["8588"]},{"id":"8560","vertex_ids":["8524","8531"],"face_ids":["8591","8592"]},{"id":"8561","vertex_ids":["8518","8529"],"face_ids":["8588","8591"]},{"id":"8562","vertex_ids":["8533","8534"],"face_ids":["8590","8594"]},{"id":"8563","vertex_ids":["8519","8533"],"face_ids":["8590","8594"]},{"id":"8564","vertex_ids":["8534","8532"],"face_ids":["8590","8594"]},{"id":"8565","vertex_ids":["8530","8535"],"face_ids":["8589"]},{"id":"8566","vertex_ids":["8535","8507"],"face_ids":["8589"]},{"id":"8567","vertex_ids":["8519","8520"],"face_ids":["8590"]},{"id":"8568","vertex_ids":["8520","8511"],"face_ids":["8590"]},{"id":"8569","vertex_ids":["8511","8512"],"face_ids":["8590"]},{"id":"8570","vertex_ids":["8512","8513"],"face_ids":["8590"]},{"id":"8571","vertex_ids":["8521","8513"],"face_ids":["8590"]},{"id":"8572","vertex_ids":["8529","8537"],"face_ids":["8591"]},{"id":"8573","vertex_ids":["8537","8522"],"face_ids":["8591"]},{"id":"8574","vertex_ids":["8522","8521"],"face_ids":["8592"]},{"id":"8575","vertex_ids":["8538","8539"],"face_ids":["8593","8594"]},{"id":"8576","vertex_ids":["8540","8517"],"face_ids":["8589","8593"]},{"id":"8577","vertex_ids":["8508","8540"],"face_ids":["8589","8593"]},{"id":"8578","vertex_ids":["8532","8541"],"face_ids":["8592","8594"]},{"id":"8579","vertex_ids":["8541","8538"],"face_ids":["8593","8594"]},{"id":"8580","vertex_ids":["8539","8526"],"face_ids":["8593","8594"]},{"id":"8581","vertex_ids":["8518","8531"],"face_ids":["8591","8593"]},{"id":"8582","vertex_ids":["8531","8541"],"face_ids":["8592","8593"]},{"id":"8583","vertex_ids":["8532","8521"],"face_ids":["8590","8592"]},{"id":"8584","vertex_ids":["8536","8519"],"face_ids":["8594"]},{"id":"8585","vertex_ids":["8525","8536"],"face_ids":["8594"]}],"faces":[{"id":"8586","edge_ids":["8546","8547","8545","8543","8542","8544","8548"],"edge_order":[1,1,1,0,0,0,1]},{"id":"8587","edge_ids":["8555","8552","8553","8548","8554"],"edge_order":[0,0,0,0,0]},{"id":"8588","edge_ids":["8557","8556","8559","8558","8561"],"edge_order":[1,1,0,0,1]},{"id":"8589","edge_ids":["8576","8549","8558","8565","8566","8543","8577"],"edge_order":[1,1,1,1,1,1,1]},{"id":"8590","edge_ids":["8570","8571","8583","8564","8562","8563","8567","8568","8569"],"edge_order":[1,0,0,0,0,0,1,1,1]},{"id":"8591","edge_ids":["8573","8572","8561","8581","8560","8551","8550"],"edge_order":[0,0,0,1,0,0,0]},{"id":"8592","edge_ids":["8574","8550","8551","8560","8582","8578","8583"],"edge_order":[0,1,1,1,1,0,1]},{"id":"8593","edge_ids":["8547","8546","8553","8580","8575","8579","8582","8581","8549","8576","8577","8545"],"edge_order":[0,0,1,0,0,0,0,0,0,0,0,0]},{"id":"8594","edge_ids":["8584","8563","8562","8564","8578","8579","8575","8580","8552","8555","8585"],"edge_order":[1,1,1,1,1,1,1,1,1,1,1]}]},"spaces":[{"id":"8599","handle":null,"name":"Space 6-1","face_id":"8586","building_unit_id":null,"thermal_zone_id":"tz_30","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1932.0249999999978},{"id":"8600","handle":null,"name":"Space 6-2","face_id":"8587","building_unit_id":null,"thermal_zone_id":"tz_31","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1736.1500000000015},{"id":"8601","handle":null,"name":"Space 6-3","face_id":"8588","building_unit_id":null,"thermal_zone_id":"tz_32","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":530.4124999999999},{"id":"8602","handle":null,"name":"Space 6-4","face_id":"8589","building_unit_id":null,"thermal_zone_id":"tz_33","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":5563.085500000001},{"id":"8603","handle":null,"name":"Space 6-5","face_id":"8590","building_unit_id":null,"thermal_zone_id":"tz_34","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":2956.4096500000014},{"id":"8604","handle":null,"name":"Space 6-6","face_id":"8591","building_unit_id":null,"thermal_zone_id":"tz_35","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1783.5375000000004},{"id":"8605","handle":null,"name":"Space 6-7","face_id":"8592","building_unit_id":null,"thermal_zone_id":"tz_36","space_type_id":"1234","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":786.8068999999996},{"id":"8606","handle":null,"name":"Space 6-8","face_id":"8593","building_unit_id":null,"thermal_zone_id":"tz_37","space_type_id":"1234","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1809.8350000000019},{"id":"8607","handle":null,"name":"Space 6-9","face_id":"8594","building_unit_id":null,"thermal_zone_id":"tz_38","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":5400.404149999997}],"shading":[],"windows":[],"doors":[],"construction_lines":[],"area":22498.6662},{"id":"8697","handle":null,"name":"Story 7","image_id":null,"below_floor_plenum_height":0,"floor_to_ceiling_height":10.5,"above_ceiling_plenum_height":0,"multiplier":1,"color":"#882255","geometry":{"id":"8698","vertices":[{"id":"8608","x":-507.5,"y":-32.5,"edge_ids":["8644","8646"]},{"id":"8609","x":-450,"y":-2.5,"edge_ids":["8644","8645","8668"]},{"id":"8610","x":-440,"y":-27.5,"edge_ids":["8645","8647","8679"]},{"id":"8611","x":-430,"y":-62.5,"edge_ids":["8646","8650","8656"]},{"id":"8612","x":-447.19,"y":-30.58,"edge_ids":["8647","8649"]},{"id":"8613","x":-250,"y":-65,"edge_ids":["8670","8671"]},{"id":"8614","x":-207.5,"y":-35,"edge_ids":["8671","8672"]},{"id":"8615","x":-207.5,"y":-5,"edge_ids":["8672","8673"]},{"id":"8616","x":-265,"y":77.5,"edge_ids":["8658","8661"]},{"id":"8617","x":-442.19,"y":-39.86,"edge_ids":["8648","8650","8655"]},{"id":"8618","x":-442.5,"y":-40,"edge_ids":["8648","8649"]},{"id":"8619","x":-307.06,"y":31.4,"edge_ids":["8651","8678"]},{"id":"8620","x":-265,"y":50,"edge_ids":["8651","8660","8663","8683"]},{"id":"8621","x":-279.5,"y":-29.74,"edge_ids":["8665","8669","8686"]},{"id":"8622","x":-254.81,"y":-47.38,"edge_ids":["8669","8670"]},{"id":"8623","x":-215,"y":15,"edge_ids":["8673","8676","8685"]},{"id":"8624","x":-215.68,"y":19.55,"edge_ids":["8652","8675","8676"]},{"id":"8625","x":-245,"y":0,"edge_ids":["8652","8653"]},{"id":"8626","x":-260,"y":32.5,"edge_ids":["8653","8662"]},{"id":"8627","x":-380,"y":-47.5,"edge_ids":["8656","8657","8687"]},{"id":"8628","x":-382.5,"y":-12.5,"edge_ids":["8654","8655","8682"]},{"id":"8629","x":-380.06,"y":-46.7,"edge_ids":["8654","8657"]},{"id":"8630","x":-242.5,"y":65,"edge_ids":["8658","8659"]},{"id":"8631","x":-242.5,"y":60.63,"edge_ids":["8659","8663","8674"]},{"id":"8632","x":-277.5,"y":72.5,"edge_ids":["8660","8661","8667"]},{"id":"8633","x":-264.53,"y":41.57,"edge_ids":["8662","8683","8684"]},{"id":"8634","x":-250.33,"y":-9.47,"edge_ids":["8666","8680","8685"]},{"id":"8635","x":-270,"y":-20,"edge_ids":["8664","8665"]},{"id":"8636","x":-263.22,"y":-16.37,"edge_ids":["8664","8666"]},{"id":"8637","x":-385,"y":32.5,"edge_ids":["8667","8668"]},{"id":"8638","x":-314.82,"y":-23.6,"edge_ids":["8686","8687"]},{"id":"8639","x":-225,"y":47.5,"edge_ids":["8674","8675"]},{"id":"8640","x":-310,"y":20.73,"edge_ids":["8677","8681"]},{"id":"8641","x":-324.9,"y":13.9,"edge_ids":["8677","8682"]},{"id":"8642","x":-310.34,"y":29.95,"edge_ids":["8678","8679"]},{"id":"8643","x":-278.52,"y":35.16,"edge_ids":["8680","8681","8684"]}],"edges":[{"id":"8644","vertex_ids":["8608","8609"],"face_ids":["8688"]},{"id":"8645","vertex_ids":["8609","8610"],"face_ids":["8688","8691"]},{"id":"8646","vertex_ids":["8611","8608"],"face_ids":["8688"]},{"id":"8647","vertex_ids":["8612","8610"],"face_ids":["8688","8695"]},{"id":"8648","vertex_ids":["8617","8618"],"face_ids":["8688","8695"]},{"id":"8649","vertex_ids":["8618","8612"],"face_ids":["8688","8695"]},{"id":"8650","vertex_ids":["8611","8617"],"face_ids":["8688","8689"]},{"id":"8651","vertex_ids":["8619","8620"],"face_ids":["8691","8695"]},{"id":"8652","vertex_ids":["8624","8625"],"face_ids":["8693","8694"]},{"id":"8653","vertex_ids":["8625","8626"],"face_ids":["8693","8694"]},{"id":"8654","vertex_ids":["8628","8629"],"face_ids":["8689","8696"]},{"id":"8655","vertex_ids":["8617","8628"],"face_ids":["8689","8695"]},{"id":"8656","vertex_ids":["8627","8611"],"face_ids":["8689"]},{"id":"8657","vertex_ids":["8629","8627"],"face_ids":["8689","8696"]},{"id":"8658","vertex_ids":["8630","8616"],"face_ids":["8690"]},{"id":"8659","vertex_ids":["8631","8630"],"face_ids":["8690"]},{"id":"8660","vertex_ids":["8620","8632"],"face_ids":["8690","8691"]},{"id":"8661","vertex_ids":["8632","8616"],"face_ids":["8690"]},{"id":"8662","vertex_ids":["8626","8633"],"face_ids":["8693","8694"]},{"id":"8663","vertex_ids":["8620","8631"],"face_ids":["8690","8693"]},{"id":"8664","vertex_ids":["8635","8636"],"face_ids":["8692","8696"]},{"id":"8665","vertex_ids":["8621","8635"],"face_ids":["8692","8696"]},{"id":"8666","vertex_ids":["8636","8634"],"face_ids":["8692","8696"]},{"id":"8667","vertex_ids":["8632","8637"],"face_ids":["8691"]},{"id":"8668","vertex_ids":["8637","8609"],"face_ids":["8691"]},{"id":"8669","vertex_ids":["8621","8622"],"face_ids":["8692"]},{"id":"8670","vertex_ids":["8622","8613"],"face_ids":["8692"]},{"id":"8671","vertex_ids":["8613","8614"],"face_ids":["8692"]},{"id":"8672","vertex_ids":["8614","8615"],"face_ids":["8692"]},{"id":"8673","vertex_ids":["8623","8615"],"face_ids":["8692"]},{"id":"8674","vertex_ids":["8631","8639"],"face_ids":["8693"]},{"id":"8675","vertex_ids":["8639","8624"],"face_ids":["8693"]},{"id":"8676","vertex_ids":["8624","8623"],"face_ids":["8694"]},{"id":"8677","vertex_ids":["8640","8641"],"face_ids":["8695","8696"]},{"id":"8678","vertex_ids":["8642","8619"],"face_ids":["8691","8695"]},{"id":"8679","vertex_ids":["8610","8642"],"face_ids":["8691","8695"]},{"id":"8680","vertex_ids":["8634","8643"],"face_ids":["8694","8696"]},{"id":"8681","vertex_ids":["8643","8640"],"face_ids":["8695","8696"]},{"id":"8682","vertex_ids":["8641","8628"],"face_ids":["8695","8696"]},{"id":"8683","vertex_ids":["8620","8633"],"face_ids":["8693","8695"]},{"id":"8684","vertex_ids":["8633","8643"],"face_ids":["8694","8695"]},{"id":"8685","vertex_ids":["8634","8623"],"face_ids":["8692","8694"]},{"id":"8686","vertex_ids":["8638","8621"],"face_ids":["8696"]},{"id":"8687","vertex_ids":["8627","8638"],"face_ids":["8696"]}],"faces":[{"id":"8688","edge_ids":["8648","8649","8647","8645","8644","8646","8650"],"edge_order":[1,1,1,0,0,0,1]},{"id":"8689","edge_ids":["8657","8654","8655","8650","8656"],"edge_order":[0,0,0,0,0]},{"id":"8690","edge_ids":["8659","8658","8661","8660","8663"],"edge_order":[1,1,0,0,1]},{"id":"8691","edge_ids":["8678","8651","8660","8667","8668","8645","8679"],"edge_order":[1,1,1,1,1,1,1]},{"id":"8692","edge_ids":["8672","8673","8685","8666","8664","8665","8669","8670","8671"],"edge_order":[1,0,0,0,0,0,1,1,1]},{"id":"8693","edge_ids":["8675","8674","8663","8683","8662","8653","8652"],"edge_order":[0,0,0,1,0,0,0]},{"id":"8694","edge_ids":["8676","8652","8653","8662","8684","8680","8685"],"edge_order":[0,1,1,1,1,0,1]},{"id":"8695","edge_ids":["8649","8648","8655","8682","8677","8681","8684","8683","8651","8678","8679","8647"],"edge_order":[0,0,1,0,0,0,0,0,0,0,0,0]},{"id":"8696","edge_ids":["8686","8665","8664","8666","8680","8681","8677","8682","8654","8657","8687"],"edge_order":[1,1,1,1,1,1,1,1,1,1,1]}]},"spaces":[{"id":"8701","handle":null,"name":"Space 7-1","face_id":"8688","building_unit_id":null,"thermal_zone_id":"tz_39","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1932.0249999999978},{"id":"8702","handle":null,"name":"Space 7-2","face_id":"8689","building_unit_id":null,"thermal_zone_id":"tz_40","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1736.1500000000015},{"id":"8703","handle":null,"name":"Space 7-3","face_id":"8690","building_unit_id":null,"thermal_zone_id":"tz_41","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":530.4124999999999},{"id":"8704","handle":null,"name":"Space 7-4","face_id":"8691","building_unit_id":null,"thermal_zone_id":"tz_42","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":5563.085500000001},{"id":"8705","handle":null,"name":"Space 7-5","face_id":"8692","building_unit_id":null,"thermal_zone_id":"tz_43","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":2956.4096500000014},{"id":"8706","handle":null,"name":"Space 7-6","face_id":"8693","building_unit_id":null,"thermal_zone_id":"tz_44","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1783.5375000000004},{"id":"8707","handle":null,"name":"Space 7-7","face_id":"8694","building_unit_id":null,"thermal_zone_id":"tz_45","space_type_id":"1234","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":786.8068999999996},{"id":"8708","handle":null,"name":"Space 7-8","face_id":"8695","building_unit_id":null,"thermal_zone_id":"tz_46","space_type_id":"1234","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1809.8350000000019},{"id":"8709","handle":null,"name":"Space 7-9","face_id":"8696","building_unit_id":null,"thermal_zone_id":"tz_47","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":5400.404149999997}],"shading":[],"windows":[],"doors":[],"construction_lines":[],"area":22498.6662},{"id":"8799","handle":null,"name":"Story 8","image_id":null,"below_floor_plenum_height":0,"floor_to_ceiling_height":10.5,"above_ceiling_plenum_height":0,"multiplier":1,"color":"#44aa99","geometry":{"id":"8800","vertices":[{"id":"8710","x":-507.5,"y":-32.5,"edge_ids":["8746","8748"]},{"id":"8711","x":-450,"y":-2.5,"edge_ids":["8746","8747","8770"]},{"id":"8712","x":-440,"y":-27.5,"edge_ids":["8747","8749","8781"]},{"id":"8713","x":-430,"y":-62.5,"edge_ids":["8748","8752","8758"]},{"id":"8714","x":-447.19,"y":-30.58,"edge_ids":["8749","8751"]},{"id":"8715","x":-250,"y":-65,"edge_ids":["8772","8773"]},{"id":"8716","x":-207.5,"y":-35,"edge_ids":["8773","8774"]},{"id":"8717","x":-207.5,"y":-5,"edge_ids":["8774","8775"]},{"id":"8718","x":-265,"y":77.5,"edge_ids":["8760","8763"]},{"id":"8719","x":-442.19,"y":-39.86,"edge_ids":["8750","8752","8757"]},{"id":"8720","x":-442.5,"y":-40,"edge_ids":["8750","8751"]},{"id":"8721","x":-307.06,"y":31.4,"edge_ids":["8753","8780"]},{"id":"8722","x":-265,"y":50,"edge_ids":["8753","8762","8765","8785"]},{"id":"8723","x":-279.5,"y":-29.74,"edge_ids":["8767","8771","8788"]},{"id":"8724","x":-254.81,"y":-47.38,"edge_ids":["8771","8772"]},{"id":"8725","x":-215,"y":15,"edge_ids":["8775","8778","8787"]},{"id":"8726","x":-215.68,"y":19.55,"edge_ids":["8754","8777","8778"]},{"id":"8727","x":-245,"y":0,"edge_ids":["8754","8755"]},{"id":"8728","x":-260,"y":32.5,"edge_ids":["8755","8764"]},{"id":"8729","x":-380,"y":-47.5,"edge_ids":["8758","8759","8789"]},{"id":"8730","x":-382.5,"y":-12.5,"edge_ids":["8756","8757","8784"]},{"id":"8731","x":-380.06,"y":-46.7,"edge_ids":["8756","8759"]},{"id":"8732","x":-242.5,"y":65,"edge_ids":["8760","8761"]},{"id":"8733","x":-242.5,"y":60.63,"edge_ids":["8761","8765","8776"]},{"id":"8734","x":-277.5,"y":72.5,"edge_ids":["8762","8763","8769"]},{"id":"8735","x":-264.53,"y":41.57,"edge_ids":["8764","8785","8786"]},{"id":"8736","x":-250.33,"y":-9.47,"edge_ids":["8768","8782","8787"]},{"id":"8737","x":-270,"y":-20,"edge_ids":["8766","8767"]},{"id":"8738","x":-263.22,"y":-16.37,"edge_ids":["8766","8768"]},{"id":"8739","x":-385,"y":32.5,"edge_ids":["8769","8770"]},{"id":"8740","x":-314.82,"y":-23.6,"edge_ids":["8788","8789"]},{"id":"8741","x":-225,"y":47.5,"edge_ids":["8776","8777"]},{"id":"8742","x":-310,"y":20.73,"edge_ids":["8779","8783"]},{"id":"8743","x":-324.9,"y":13.9,"edge_ids":["8779","8784"]},{"id":"8744","x":-310.34,"y":29.95,"edge_ids":["8780","8781"]},{"id":"8745","x":-278.52,"y":35.16,"edge_ids":["8782","8783","8786"]}],"edges":[{"id":"8746","vertex_ids":["8710","8711"],"face_ids":["8790"]},{"id":"8747","vertex_ids":["8711","8712"],"face_ids":["8790","8793"]},{"id":"8748","vertex_ids":["8713","8710"],"face_ids":["8790"]},{"id":"8749","vertex_ids":["8714","8712"],"face_ids":["8790","8797"]},{"id":"8750","vertex_ids":["8719","8720"],"face_ids":["8790","8797"]},{"id":"8751","vertex_ids":["8720","8714"],"face_ids":["8790","8797"]},{"id":"8752","vertex_ids":["8713","8719"],"face_ids":["8790","8791"]},{"id":"8753","vertex_ids":["8721","8722"],"face_ids":["8793","8797"]},{"id":"8754","vertex_ids":["8726","8727"],"face_ids":["8795","8796"]},{"id":"8755","vertex_ids":["8727","8728"],"face_ids":["8795","8796"]},{"id":"8756","vertex_ids":["8730","8731"],"face_ids":["8791","8798"]},{"id":"8757","vertex_ids":["8719","8730"],"face_ids":["8791","8797"]},{"id":"8758","vertex_ids":["8729","8713"],"face_ids":["8791"]},{"id":"8759","vertex_ids":["8731","8729"],"face_ids":["8791","8798"]},{"id":"8760","vertex_ids":["8732","8718"],"face_ids":["8792"]},{"id":"8761","vertex_ids":["8733","8732"],"face_ids":["8792"]},{"id":"8762","vertex_ids":["8722","8734"],"face_ids":["8792","8793"]},{"id":"8763","vertex_ids":["8734","8718"],"face_ids":["8792"]},{"id":"8764","vertex_ids":["8728","8735"],"face_ids":["8795","8796"]},{"id":"8765","vertex_ids":["8722","8733"],"face_ids":["8792","8795"]},{"id":"8766","vertex_ids":["8737","8738"],"face_ids":["8794","8798"]},{"id":"8767","vertex_ids":["8723","8737"],"face_ids":["8794","8798"]},{"id":"8768","vertex_ids":["8738","8736"],"face_ids":["8794","8798"]},{"id":"8769","vertex_ids":["8734","8739"],"face_ids":["8793"]},{"id":"8770","vertex_ids":["8739","8711"],"face_ids":["8793"]},{"id":"8771","vertex_ids":["8723","8724"],"face_ids":["8794"]},{"id":"8772","vertex_ids":["8724","8715"],"face_ids":["8794"]},{"id":"8773","vertex_ids":["8715","8716"],"face_ids":["8794"]},{"id":"8774","vertex_ids":["8716","8717"],"face_ids":["8794"]},{"id":"8775","vertex_ids":["8725","8717"],"face_ids":["8794"]},{"id":"8776","vertex_ids":["8733","8741"],"face_ids":["8795"]},{"id":"8777","vertex_ids":["8741","8726"],"face_ids":["8795"]},{"id":"8778","vertex_ids":["8726","8725"],"face_ids":["8796"]},{"id":"8779","vertex_ids":["8742","8743"],"face_ids":["8797","8798"]},{"id":"8780","vertex_ids":["8744","8721"],"face_ids":["8793","8797"]},{"id":"8781","vertex_ids":["8712","8744"],"face_ids":["8793","8797"]},{"id":"8782","vertex_ids":["8736","8745"],"face_ids":["8796","8798"]},{"id":"8783","vertex_ids":["8745","8742"],"face_ids":["8797","8798"]},{"id":"8784","vertex_ids":["8743","8730"],"face_ids":["8797","8798"]},{"id":"8785","vertex_ids":["8722","8735"],"face_ids":["8795","8797"]},{"id":"8786","vertex_ids":["8735","8745"],"face_ids":["8796","8797"]},{"id":"8787","vertex_ids":["8736","8725"],"face_ids":["8794","8796"]},{"id":"8788","vertex_ids":["8740","8723"],"face_ids":["8798"]},{"id":"8789","vertex_ids":["8729","8740"],"face_ids":["8798"]}],"faces":[{"id":"8790","edge_ids":["8750","8751","8749","8747","8746","8748","8752"],"edge_order":[1,1,1,0,0,0,1]},{"id":"8791","edge_ids":["8759","8756","8757","8752","8758"],"edge_order":[0,0,0,0,0]},{"id":"8792","edge_ids":["8761","8760","8763","8762","8765"],"edge_order":[1,1,0,0,1]},{"id":"8793","edge_ids":["8780","8753","8762","8769","8770","8747","8781"],"edge_order":[1,1,1,1,1,1,1]},{"id":"8794","edge_ids":["8774","8775","8787","8768","8766","8767","8771","8772","8773"],"edge_order":[1,0,0,0,0,0,1,1,1]},{"id":"8795","edge_ids":["8777","8776","8765","8785","8764","8755","8754"],"edge_order":[0,0,0,1,0,0,0]},{"id":"8796","edge_ids":["8778","8754","8755","8764","8786","8782","8787"],"edge_order":[0,1,1,1,1,0,1]},{"id":"8797","edge_ids":["8751","8750","8757","8784","8779","8783","8786","8785","8753","8780","8781","8749"],"edge_order":[0,0,1,0,0,0,0,0,0,0,0,0]},{"id":"8798","edge_ids":["8788","8767","8766","8768","8782","8783","8779","8784","8756","8759","8789"],"edge_order":[1,1,1,1,1,1,1,1,1,1,1]}]},"spaces":[{"id":"8803","handle":null,"name":"Space 8-1","face_id":"8790","building_unit_id":null,"thermal_zone_id":"tz_48","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1932.0249999999978},{"id":"8804","handle":null,"name":"Space 8-2","face_id":"8791","building_unit_id":null,"thermal_zone_id":"tz_49","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1736.1500000000015},{"id":"8805","handle":null,"name":"Space 8-3","face_id":"8792","building_unit_id":null,"thermal_zone_id":"tz_50","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":530.4124999999999},{"id":"8806","handle":null,"name":"Space 8-4","face_id":"8793","building_unit_id":null,"thermal_zone_id":"tz_51","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":5563.085500000001},{"id":"8807","handle":null,"name":"Space 8-5","face_id":"8794","building_unit_id":null,"thermal_zone_id":"tz_52","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":2956.4096500000014},{"id":"8808","handle":null,"name":"Space 8-6","face_id":"8795","building_unit_id":null,"thermal_zone_id":"tz_53","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1783.5375000000004},{"id":"8809","handle":null,"name":"Space 8-7","face_id":"8796","building_unit_id":null,"thermal_zone_id":"tz_54","space_type_id":"1234","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":786.8068999999996},{"id":"8810","handle":null,"name":"Space 8-8","face_id":"8797","building_unit_id":null,"thermal_zone_id":"tz_55","space_type_id":"1234","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1809.8350000000019},{"id":"8811","handle":null,"name":"Space 8-9","face_id":"8798","building_unit_id":null,"thermal_zone_id":"tz_56","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":5400.404149999997}],"shading":[],"windows":[],"doors":[],"construction_lines":[],"area":22498.6662},{"id":"8901","handle":null,"name":"Story 9","image_id":null,"below_floor_plenum_height":0,"floor_to_ceiling_height":10.5,"above_ceiling_plenum_height":0,"multiplier":1,"color":"#6699cc","geometry":{"id":"8902","vertices":[{"id":"8812","x":-507.5,"y":-32.5,"edge_ids":["8848","8850"]},{"id":"8813","x":-450,"y":-2.5,"edge_ids":["8848","8849","8872"]},{"id":"8814","x":-440,"y":-27.5,"edge_ids":["8849","8851","8883"]},{"id":"8815","x":-430,"y":-62.5,"edge_ids":["8850","8854","8860"]},{"id":"8816","x":-447.19,"y":-30.58,"edge_ids":["8851","8853"]},{"id":"8817","x":-250,"y":-65,"edge_ids":["8874","8875"]},{"id":"8818","x":-207.5,"y":-35,"edge_ids":["8875","8876"]},{"id":"8819","x":-207.5,"y":-5,"edge_ids":["8876","8877"]},{"id":"8820","x":-265,"y":77.5,"edge_ids":["8862","8865"]},{"id":"8821","x":-442.19,"y":-39.86,"edge_ids":["8852","8854","8859"]},{"id":"8822","x":-442.5,"y":-40,"edge_ids":["8852","8853"]},{"id":"8823","x":-307.06,"y":31.4,"edge_ids":["8855","8882"]},{"id":"8824","x":-265,"y":50,"edge_ids":["8855","8864","8867","8887"]},{"id":"8825","x":-279.5,"y":-29.74,"edge_ids":["8869","8873","8890"]},{"id":"8826","x":-254.81,"y":-47.38,"edge_ids":["8873","8874"]},{"id":"8827","x":-215,"y":15,"edge_ids":["8877","8880","8889"]},{"id":"8828","x":-215.68,"y":19.55,"edge_ids":["8856","8879","8880"]},{"id":"8829","x":-245,"y":0,"edge_ids":["8856","8857"]},{"id":"8830","x":-260,"y":32.5,"edge_ids":["8857","8866"]},{"id":"8831","x":-380,"y":-47.5,"edge_ids":["8860","8861","8891"]},{"id":"8832","x":-382.5,"y":-12.5,"edge_ids":["8858","8859","8886"]},{"id":"8833","x":-380.06,"y":-46.7,"edge_ids":["8858","8861"]},{"id":"8834","x":-242.5,"y":65,"edge_ids":["8862","8863"]},{"id":"8835","x":-242.5,"y":60.63,"edge_ids":["8863","8867","8878"]},{"id":"8836","x":-277.5,"y":72.5,"edge_ids":["8864","8865","8871"]},{"id":"8837","x":-264.53,"y":41.57,"edge_ids":["8866","8887","8888"]},{"id":"8838","x":-250.33,"y":-9.47,"edge_ids":["8870","8884","8889"]},{"id":"8839","x":-270,"y":-20,"edge_ids":["8868","8869"]},{"id":"8840","x":-263.22,"y":-16.37,"edge_ids":["8868","8870"]},{"id":"8841","x":-385,"y":32.5,"edge_ids":["8871","8872"]},{"id":"8842","x":-314.82,"y":-23.6,"edge_ids":["8890","8891"]},{"id":"8843","x":-225,"y":47.5,"edge_ids":["8878","8879"]},{"id":"8844","x":-310,"y":20.73,"edge_ids":["8881","8885"]},{"id":"8845","x":-324.9,"y":13.9,"edge_ids":["8881","8886"]},{"id":"8846","x":-310.34,"y":29.95,"edge_ids":["8882","8883"]},{"id":"8847","x":-278.52,"y":35.16,"edge_ids":["8884","8885","8888"]}],"edges":[{"id":"8848","vertex_ids":["8812","8813"],"face_ids":["8892"]},{"id":"8849","vertex_ids":["8813","8814"],"face_ids":["8892","8895"]},{"id":"8850","vertex_ids":["8815","8812"],"face_ids":["8892"]},{"id":"8851","vertex_ids":["8816","8814"],"face_ids":["8892","8899"]},{"id":"8852","vertex_ids":["8821","8822"],"face_ids":["8892","8899"]},{"id":"8853","vertex_ids":["8822","8816"],"face_ids":["8892","8899"]},{"id":"8854","vertex_ids":["8815","8821"],"face_ids":["8892","8893"]},{"id":"8855","vertex_ids":["8823","8824"],"face_ids":["8895","8899"]},{"id":"8856","vertex_ids":["8828","8829"],"face_ids":["8897","8898"]},{"id":"8857","vertex_ids":["8829","8830"],"face_ids":["8897","8898"]},{"id":"8858","vertex_ids":["8832","8833"],"face_ids":["8893","8900"]},{"id":"8859","vertex_ids":["8821","8832"],"face_ids":["8893","8899"]},{"id":"8860","vertex_ids":["8831","8815"],"face_ids":["8893"]},{"id":"8861","vertex_ids":["8833","8831"],"face_ids":["8893","8900"]},{"id":"8862","vertex_ids":["8834","8820"],"face_ids":["8894"]},{"id":"8863","vertex_ids":["8835","8834"],"face_ids":["8894"]},{"id":"8864","vertex_ids":["8824","8836"],"face_ids":["8894","8895"]},{"id":"8865","vertex_ids":["8836","8820"],"face_ids":["8894"]},{"id":"8866","vertex_ids":["8830","8837"],"face_ids":["8897","8898"]},{"id":"8867","vertex_ids":["8824","8835"],"face_ids":["8894","8897"]},{"id":"8868","vertex_ids":["8839","8840"],"face_ids":["8896","8900"]},{"id":"8869","vertex_ids":["8825","8839"],"face_ids":["8896","8900"]},{"id":"8870","vertex_ids":["8840","8838"],"face_ids":["8896","8900"]},{"id":"8871","vertex_ids":["8836","8841"],"face_ids":["8895"]},{"id":"8872","vertex_ids":["8841","8813"],"face_ids":["8895"]},{"id":"8873","vertex_ids":["8825","8826"],"face_ids":["8896"]},{"id":"8874","vertex_ids":["8826","8817"],"face_ids":["8896"]},{"id":"8875","vertex_ids":["8817","8818"],"face_ids":["8896"]},{"id":"8876","vertex_ids":["8818","8819"],"face_ids":["8896"]},{"id":"8877","vertex_ids":["8827","8819"],"face_ids":["8896"]},{"id":"8878","vertex_ids":["8835","8843"],"face_ids":["8897"]},{"id":"8879","vertex_ids":["8843","8828"],"face_ids":["8897"]},{"id":"8880","vertex_ids":["8828","8827"],"face_ids":["8898"]},{"id":"8881","vertex_ids":["8844","8845"],"face_ids":["8899","8900"]},{"id":"8882","vertex_ids":["8846","8823"],"face_ids":["8895","8899"]},{"id":"8883","vertex_ids":["8814","8846"],"face_ids":["8895","8899"]},{"id":"8884","vertex_ids":["8838","8847"],"face_ids":["8898","8900"]},{"id":"8885","vertex_ids":["8847","8844"],"face_ids":["8899","8900"]},{"id":"8886","vertex_ids":["8845","8832"],"face_ids":["8899","8900"]},{"id":"8887","vertex_ids":["8824","8837"],"face_ids":["8897","8899"]},{"id":"8888","vertex_ids":["8837","8847"],"face_ids":["8898","8899"]},{"id":"8889","vertex_ids":["8838","8827"],"face_ids":["8896","8898"]},{"id":"8890","vertex_ids":["8842","8825"],"face_ids":["8900"]},{"id":"8891","vertex_ids":["8831","8842"],"face_ids":["8900"]}],"faces":[{"id":"8892","edge_ids":["8852","8853","8851","8849","8848","8850","8854"],"edge_order":[1,1,1,0,0,0,1]},{"id":"8893","edge_ids":["8861","8858","8859","8854","8860"],"edge_order":[0,0,0,0,0]},{"id":"8894","edge_ids":["8863","8862","8865","8864","8867"],"edge_order":[1,1,0,0,1]},{"id":"8895","edge_ids":["8882","8855","8864","8871","8872","8849","8883"],"edge_order":[1,1,1,1,1,1,1]},{"id":"8896","edge_ids":["8876","8877","8889","8870","8868","8869","8873","8874","8875"],"edge_order":[1,0,0,0,0,0,1,1,1]},{"id":"8897","edge_ids":["8879","8878","8867","8887","8866","8857","8856"],"edge_order":[0,0,0,1,0,0,0]},{"id":"8898","edge_ids":["8880","8856","8857","8866","8888","8884","8889"],"edge_order":[0,1,1,1,1,0,1]},{"id":"8899","edge_ids":["8853","8852","8859","8886","8881","8885","8888","8887","8855","8882","8883","8851"],"edge_order":[0,0,1,0,0,0,0,0,0,0,0,0]},{"id":"8900","edge_ids":["8890","8869","8868","8870","8884","8885","8881","8886","8858","8861","8891"],"edge_order":[1,1,1,1,1,1,1,1,1,1,1]}]},"spaces":[{"id":"8905","handle":null,"name":"Space 9-1","face_id":"8892","building_unit_id":null,"thermal_zone_id":"tz_57","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1932.0249999999978},{"id":"8906","handle":null,"name":"Space 9-2","face_id":"8893","building_unit_id":null,"thermal_zone_id":"tz_58","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1736.1500000000015},{"id":"8907","handle":null,"name":"Space 9-3","face_id":"8894","building_unit_id":null,"thermal_zone_id":"tz_59","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":530.4124999999999},{"id":"8908","handle":null,"name":"Space 9-4","face_id":"8895","building_unit_id":null,"thermal_zone_id":"tz_60","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":5563.085500000001},{"id":"8909","handle":null,"name":"Space 9-5","face_id":"8896","building_unit_id":null,"thermal_zone_id":"tz_61","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":2956.4096500000014},{"id":"8910","handle":null,"name":"Space 9-6","face_id":"8897","building_unit_id":null,"thermal_zone_id":"tz_62","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1783.5375000000004},{"id":"8911","handle":null,"name":"Space 9-7","face_id":"8898","building_unit_id":null,"thermal_zone_id":"tz_63","space_type_id":"1234","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":786.8068999999996},{"id":"8912","handle":null,"name":"Space 9-8","face_id":"8899","building_unit_id":null,"thermal_zone_id":"tz_64","space_type_id":"1234","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1809.8350000000019},{"id":"8913","handle":null,"name":"Space 9-9","face_id":"8900","building_unit_id":null,"thermal_zone_id":"tz_65","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":5400.404149999997}],"shading":[],"windows":[],"doors":[],"construction_lines":[],"area":22498.6662},{"id":"9003","handle":null,"name":"Story 10","image_id":null,"below_floor_plenum_height":0,"floor_to_ceiling_height":10.5,"above_ceiling_plenum_height":0,"multiplier":1,"color":"#661100","geometry":{"id":"9004","vertices":[{"id":"8914","x":-507.5,"y":-32.5,"edge_ids":["8950","8952"]},{"id":"8915","x":-450,"y":-2.5,"edge_ids":["8950","8951","8974"]},{"id":"8916","x":-440,"y":-27.5,"edge_ids":["8951","8953","8985"]},{"id":"8917","x":-430,"y":-62.5,"edge_ids":["8952","8956","8962"]},{"id":"8918","x":-447.19,"y":-30.58,"edge_ids":["8953","8955"]},{"id":"8919","x":-250,"y":-65,"edge_ids":["8976","8977"]},{"id":"8920","x":-207.5,"y":-35,"edge_ids":["8977","8978"]},{"id":"8921","x":-207.5,"y":-5,"edge_ids":["8978","8979"]},{"id":"8922","x":-265,"y":77.5,"edge_ids":["8964","8967"]},{"id":"8923","x":-442.19,"y":-39.86,"edge_ids":["8954","8956","8961"]},{"id":"8924","x":-442.5,"y":-40,"edge_ids":["8954","8955"]},{"id":"8925","x":-307.06,"y":31.4,"edge_ids":["8957","8984"]},{"id":"8926","x":-265,"y":50,"edge_ids":["8957","8966","8969","8989"]},{"id":"8927","x":-279.5,"y":-29.74,"edge_ids":["8971","8975","8992"]},{"id":"8928","x":-254.81,"y":-47.38,"edge_ids":["8975","8976"]},{"id":"8929","x":-215,"y":15,"edge_ids":["8979","8982","8991"]},{"id":"8930","x":-215.68,"y":19.55,"edge_ids":["8958","8981","8982"]},{"id":"8931","x":-245,"y":0,"edge_ids":["8958","8959"]},{"id":"8932","x":-260,"y":32.5,"edge_ids":["8959","8968"]},{"id":"8933","x":-380,"y":-47.5,"edge_ids":["8962","8963","8993"]},{"id":"8934","x":-382.5,"y":-12.5,"edge_ids":["8960","8961","8988"]},{"id":"8935","x":-380.06,"y":-46.7,"edge_ids":["8960","8963"]},{"id":"8936","x":-242.5,"y":65,"edge_ids":["8964","8965"]},{"id":"8937","x":-242.5,"y":60.63,"edge_ids":["8965","8969","8980"]},{"id":"8938","x":-277.5,"y":72.5,"edge_ids":["8966","8967","8973"]},{"id":"8939","x":-264.53,"y":41.57,"edge_ids":["8968","8989","8990"]},{"id":"8940","x":-250.33,"y":-9.47,"edge_ids":["8972","8986","8991"]},{"id":"8941","x":-270,"y":-20,"edge_ids":["8970","8971"]},{"id":"8942","x":-263.22,"y":-16.37,"edge_ids":["8970","8972"]},{"id":"8943","x":-385,"y":32.5,"edge_ids":["8973","8974"]},{"id":"8944","x":-314.82,"y":-23.6,"edge_ids":["8992","8993"]},{"id":"8945","x":-225,"y":47.5,"edge_ids":["8980","8981"]},{"id":"8946","x":-310,"y":20.73,"edge_ids":["8983","8987"]},{"id":"8947","x":-324.9,"y":13.9,"edge_ids":["8983","8988"]},{"id":"8948","x":-310.34,"y":29.95,"edge_ids":["8984","8985"]},{"id":"8949","x":-278.52,"y":35.16,"edge_ids":["8986","8987","8990"]}],"edges":[{"id":"8950","vertex_ids":["8914","8915"],"face_ids":["8994"]},{"id":"8951","vertex_ids":["8915","8916"],"face_ids":["8994","8997"]},{"id":"8952","vertex_ids":["8917","8914"],"face_ids":["8994"]},{"id":"8953","vertex_ids":["8918","8916"],"face_ids":["8994","9001"]},{"id":"8954","vertex_ids":["8923","8924"],"face_ids":["8994","9001"]},{"id":"8955","vertex_ids":["8924","8918"],"face_ids":["8994","9001"]},{"id":"8956","vertex_ids":["8917","8923"],"face_ids":["8994","8995"]},{"id":"8957","vertex_ids":["8925","8926"],"face_ids":["8997","9001"]},{"id":"8958","vertex_ids":["8930","8931"],"face_ids":["8999","9000"]},{"id":"8959","vertex_ids":["8931","8932"],"face_ids":["8999","9000"]},{"id":"8960","vertex_ids":["8934","8935"],"face_ids":["8995","9002"]},{"id":"8961","vertex_ids":["8923","8934"],"face_ids":["8995","9001"]},{"id":"8962","vertex_ids":["8933","8917"],"face_ids":["8995"]},{"id":"8963","vertex_ids":["8935","8933"],"face_ids":["8995","9002"]},{"id":"8964","vertex_ids":["8936","8922"],"face_ids":["8996"]},{"id":"8965","vertex_ids":["8937","8936"],"face_ids":["8996"]},{"id":"8966","vertex_ids":["8926","8938"],"face_ids":["8996","8997"]},{"id":"8967","vertex_ids":["8938","8922"],"face_ids":["8996"]},{"id":"8968","vertex_ids":["8932","8939"],"face_ids":["8999","9000"]},{"id":"8969","vertex_ids":["8926","8937"],"face_ids":["8996","8999"]},{"id":"8970","vertex_ids":["8941","8942"],"face_ids":["8998","9002"]},{"id":"8971","vertex_ids":["8927","8941"],"face_ids":["8998","9002"]},{"id":"8972","vertex_ids":["8942","8940"],"face_ids":["8998","9002"]},{"id":"8973","vertex_ids":["8938","8943"],"face_ids":["8997"]},{"id":"8974","vertex_ids":["8943","8915"],"face_ids":["8997"]},{"id":"8975","vertex_ids":["8927","8928"],"face_ids":["8998"]},{"id":"8976","vertex_ids":["8928","8919"],"face_ids":["8998"]},{"id":"8977","vertex_ids":["8919","8920"],"face_ids":["8998"]},{"id":"8978","vertex_ids":["8920","8921"],"face_ids":["8998"]},{"id":"8979","vertex_ids":["8929","8921"],"face_ids":["8998"]},{"id":"8980","vertex_ids":["8937","8945"],"face_ids":["8999"]},{"id":"8981","vertex_ids":["8945","8930"],"face_ids":["8999"]},{"id":"8982","vertex_ids":["8930","8929"],"face_ids":["9000"]},{"id":"8983","vertex_ids":["8946","8947"],"face_ids":["9001","9002"]},{"id":"8984","vertex_ids":["8948","8925"],"face_ids":["8997","9001"]},{"id":"8985","vertex_ids":["8916","8948"],"face_ids":["8997","9001"]},{"id":"8986","vertex_ids":["8940","8949"],"face_ids":["9000","9002"]},{"id":"8987","vertex_ids":["8949","8946"],"face_ids":["9001","9002"]},{"id":"8988","vertex_ids":["8947","8934"],"face_ids":["9001","9002"]},{"id":"8989","vertex_ids":["8926","8939"],"face_ids":["8999","9001"]},{"id":"8990","vertex_ids":["8939","8949"],"face_ids":["9000","9001"]},{"id":"8991","vertex_ids":["8940","8929"],"face_ids":["8998","9000"]},{"id":"8992","vertex_ids":["8944","8927"],"face_ids":["9002"]},{"id":"8993","vertex_ids":["8933","8944"],"face_ids":["9002"]}],"faces":[{"id":"8994","edge_ids":["8954","8955","8953","8951","8950","8952","8956"],"edge_order":[1,1,1,0,0,0,1]},{"id":"8995","edge_ids":["8963","8960","8961","8956","8962"],"edge_order":[0,0,0,0,0]},{"id":"8996","edge_ids":["8965","8964","8967","8966","8969"],"edge_order":[1,1,0,0,1]},{"id":"8997","edge_ids":["8984","8957","8966","8973","8974","8951","8985"],"edge_order":[1,1,1,1,1,1,1]},{"id":"8998","edge_ids":["8978","8979","8991","8972","8970","8971","8975","8976","8977"],"edge_order":[1,0,0,0,0,0,1,1,1]},{"id":"8999","edge_ids":["8981","8980","8969","8989","8968","8959","8958"],"edge_order":[0,0,0,1,0,0,0]},{"id":"9000","edge_ids":["8982","8958","8959","8968","8990","8986","8991"],"edge_order":[0,1,1,1,1,0,1]},{"id":"9001","edge_ids":["8955","8954","8961","8988","8983","8987","8990","8989","8957","8984","8985","8953"],"edge_order":[0,0,1,0,0,0,0,0,0,0,0,0]},{"id":"9002","edge_ids":["8992","8971","8970","8972","8986","8987","8983","8988","8960","8963","8993"],"edge_order":[1,1,1,1,1,1,1,1,1,1,1]}]},"spaces":[{"id":"9007","handle":null,"name":"Space 10-1","face_id":"8994","building_unit_id":null,"thermal_zone_id":"tz_66","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1932.0249999999978},{"id":"9008","handle":null,"name":"Space 10-2","face_id":"8995","building_unit_id":null,"thermal_zone_id":"tz_67","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1736.1500000000015},{"id":"9009","handle":null,"name":"Space 10-3","face_id":"8996","building_unit_id":null,"thermal_zone_id":"tz_68","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":530.4124999999999},{"id":"9010","handle":null,"name":"Space 10-4","face_id":"8997","building_unit_id":null,"thermal_zone_id":"tz_69","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":5563.085500000001},{"id":"9011","handle":null,"name":"Space 10-5","face_id":"8998","building_unit_id":null,"thermal_zone_id":"tz_70","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":2956.4096500000014},{"id":"9012","handle":null,"name":"Space 10-6","face_id":"8999","building_unit_id":null,"thermal_zone_id":"tz_71","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1783.5375000000004},{"id":"9013","handle":null,"name":"Space 10-7","face_id":"9000","building_unit_id":null,"thermal_zone_id":"tz_72","space_type_id":"1234","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":786.8068999999996},{"id":"9014","handle":null,"name":"Space 10-8","face_id":"9001","building_unit_id":null,"thermal_zone_id":"tz_73","space_type_id":"1234","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1809.8350000000019},{"id":"9015","handle":null,"name":"Space 10-9","face_id":"9002","building_unit_id":null,"thermal_zone_id":"tz_74","space_type_id":"1240","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":5400.404149999997}],"shading":[],"windows":[],"doors":[],"construction_lines":[],"area":22498.6662},{"id":"9016","handle":null,"name":"Story 11","image_id":null,"below_floor_plenum_height":0,"floor_to_ceiling_height":10,"above_ceiling_plenum_height":0,"multiplier":1,"color":"#aa4499","geometry":{"id":"9017","vertices":[{"id":"9020","x":-507.5,"y":-32.5,"edge_ids":["9030","9039"]},{"id":"9021","x":-385,"y":32.5,"edge_ids":["9030","9031"]},{"id":"9022","x":-265,"y":77.5,"edge_ids":["9031","9032"]},{"id":"9023","x":-242.5,"y":65,"edge_ids":["9032","9033"]},{"id":"9024","x":-242.5,"y":60.63,"edge_ids":["9033","9034"]},{"id":"9025","x":-225,"y":47.5,"edge_ids":["9034","9035"]},{"id":"9026","x":-207.5,"y":-5,"edge_ids":["9035","9036"]},{"id":"9027","x":-207.5,"y":-35,"edge_ids":["9036","9037"]},{"id":"9028","x":-250,"y":-65,"edge_ids":["9037","9038"]},{"id":"9029","x":-430,"y":-62.5,"edge_ids":["9038","9039"]}],"edges":[{"id":"9030","vertex_ids":["9020","9021"],"face_ids":["9040"]},{"id":"9031","vertex_ids":["9021","9022"],"face_ids":["9040"]},{"id":"9032","vertex_ids":["9022","9023"],"face_ids":["9040"]},{"id":"9033","vertex_ids":["9023","9024"],"face_ids":["9040"]},{"id":"9034","vertex_ids":["9024","9025"],"face_ids":["9040"]},{"id":"9035","vertex_ids":["9025","9026"],"face_ids":["9040"]},{"id":"9036","vertex_ids":["9026","9027"],"face_ids":["9040"]},{"id":"9037","vertex_ids":["9027","9028"],"face_ids":["9040"]},{"id":"9038","vertex_ids":["9028","9029"],"face_ids":["9040"]},{"id":"9039","vertex_ids":["9029","9020"],"face_ids":["9040"]}],"faces":[{"id":"9040","edge_ids":["9030","9031","9032","9033","9034","9035","9036","9037","9038","9039"],"edge_order":[1,1,1,1,1,1,1,1,1,1]}]},"spaces":[{"id":"9018","handle":null,"name":"Space 11-1","face_id":"9040","building_unit_id":null,"thermal_zone_id":"tz_75","space_type_id":"800","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":26802.387499999997}],"shading":[],"windows":[],"doors":[],"construction_lines":[],"area":26802.387499999997}],"imported_images":{"visible":false,"midX":0,"midY":0,"x":-91.07680379661554,"y":6.78040544268822,"r":0,"opacity":0.6,"images":[]},"construction_lines":{"visible":false},"building_units":[],"thermal_zones":[{"id":"tz_1","handle":null,"name":"Thermal Zone 1","color":"#117733"},{"id":"tz_2","handle":null,"name":"Thermal Zone 2","color":"#999933"},{"id":"tz_3","handle":null,"name":"Thermal Zone 3","color":"#ddcc77"},{"id":"tz_4","handle":null,"name":"Thermal Zone 4","color":"#cc6677"},{"id":"tz_5","handle":null,"name":"Thermal Zone 5","color":"#882255"},{"id":"tz_6","handle":null,"name":"Thermal Zone 6","color":"#44aa99"},{"id":"tz_7","handle":null,"name":"Thermal Zone 7","color":"#6699cc"},{"id":"tz_8","handle":null,"name":"Thermal Zone 8","color":"#661100"},{"id":"tz_9","handle":null,"name":"Thermal Zone 9","color":"#aa4466"},{"id":"tz_10","handle":null,"name":"Thermal Zone 10","color":"#aa4499"},{"id":"tz_11","handle":null,"name":"Thermal Zone 11","color":"#88ccee"},{"id":"tz_12","handle":null,"name":"Thermal Zone 12","color":"#332288"},{"id":"tz_13","handle":null,"name":"Thermal Zone 13","color":"#117733"},{"id":"tz_14","handle":null,"name":"Thermal Zone 14","color":"#999933"},{"id":"tz_15","handle":null,"name":"Thermal Zone 15","color":"#ddcc77"},{"id":"tz_16","handle":null,"name":"Thermal Zone 16","color":"#cc6677"},{"id":"tz_17","handle":null,"name":"Thermal Zone 17","color":"#882255"},{"id":"tz_18","handle":null,"name":"Thermal Zone 18","color":"#44aa99"},{"id":"tz_19","handle":null,"name":"Thermal Zone 19","color":"#6699cc"},{"id":"tz_20","handle":null,"name":"Thermal Zone 20","color":"#661100"},{"id":"tz_21","handle":null,"name":"Thermal Zone 21","color":"#aa4466"},{"id":"tz_22","handle":null,"name":"Thermal Zone 22","color":"#aa4499"},{"id":"tz_23","handle":null,"name":"Thermal Zone 23","color":"#88ccee"},{"id":"tz_24","handle":null,"name":"Thermal Zone 24","color":"#332288"},{"id":"tz_25","handle":null,"name":"Thermal Zone 25","color":"#117733"},{"id":"tz_26","handle":null,"name":"Thermal Zone 26","color":"#999933"},{"id":"tz_27","handle":null,"name":"Thermal Zone 27","color":"#ddcc77"},{"id":"tz_28","handle":null,"name":"Thermal Zone 28","color":"#cc6677"},{"id":"tz_29","handle":null,"name":"Thermal Zone 29","color":"#882255"},{"id":"tz_30","handle":null,"name":"Thermal Zone 30","color":"#44aa99"},{"id":"tz_31","handle":null,"name":"Thermal Zone 31","color":"#6699cc"},{"id":"tz_32","handle":null,"name":"Thermal Zone 32","color":"#661100"},{"id":"tz_33","handle":null,"name":"Thermal Zone 33","color":"#aa4466"},{"id":"tz_34","handle":null,"name":"Thermal Zone 34","color":"#aa4499"},{"id":"tz_35","handle":null,"name":"Thermal Zone 35","color":"#88ccee"},{"id":"tz_36","handle":null,"name":"Thermal Zone 36","color":"#332288"},{"id":"tz_37","handle":null,"name":"Thermal Zone 37","color":"#117733"},{"id":"tz_38","handle":null,"name":"Thermal Zone 38","color":"#999933"},{"id":"tz_39","handle":null,"name":"Thermal Zone 39","color":"#ddcc77"},{"id":"tz_40","handle":null,"name":"Thermal Zone 40","color":"#cc6677"},{"id":"tz_41","handle":null,"name":"Thermal Zone 41","color":"#882255"},{"id":"tz_42","handle":null,"name":"Thermal Zone 42","color":"#44aa99"},{"id":"tz_43","handle":null,"name":"Thermal Zone 43","color":"#6699cc"},{"id":"tz_44","handle":null,"name":"Thermal Zone 44","color":"#661100"},{"id":"tz_45","handle":null,"name":"Thermal Zone 45","color":"#aa4466"},{"id":"tz_46","handle":null,"name":"Thermal Zone 46","color":"#aa4499"},{"id":"tz_47","handle":null,"name":"Thermal Zone 47","color":"#88ccee"},{"id":"tz_48","handle":null,"name":"Thermal Zone 48","color":"#332288"},{"id":"tz_49","handle":null,"name":"Thermal Zone 49","color":"#117733"},{"id":"tz_50","handle":null,"name":"Thermal Zone 50","color":"#999933"},{"id":"tz_51","handle":null,"name":"Thermal Zone 51","color":"#ddcc77"},{"id":"tz_52","handle":null,"name":"Thermal Zone 52","color":"#cc6677"},{"id":"tz_53","handle":null,"name":"Thermal Zone 53","color":"#882255"},{"id":"tz_54","handle":null,"name":"Thermal Zone 54","color":"#44aa99"},{"id":"tz_55","handle":null,"name":"Thermal Zone 55","color":"#6699cc"},{"id":"tz_56","handle":null,"name":"Thermal Zone 56","color":"#661100"},{"id":"tz_57","handle":null,"name":"Thermal Zone 57","color":"#aa4466"},{"id":"tz_58","handle":null,"name":"Thermal Zone 58","color":"#aa4499"},{"id":"tz_59","handle":null,"name":"Thermal Zone 59","color":"#88ccee"},{"id":"tz_60","handle":null,"name":"Thermal Zone 60","color":"#332288"},{"id":"tz_61","handle":null,"name":"Thermal Zone 61","color":"#117733"},{"id":"tz_62","handle":null,"name":"Thermal Zone 62","color":"#999933"},{"id":"tz_63","handle":null,"name":"Thermal Zone 63","color":"#ddcc77"},{"id":"tz_64","handle":null,"name":"Thermal Zone 64","color":"#cc6677"},{"id":"tz_65","handle":null,"name":"Thermal Zone 65","color":"#882255"},{"id":"tz_66","handle":null,"name":"Thermal Zone 66","color":"#44aa99"},{"id":"tz_67","handle":null,"name":"Thermal Zone 67","color":"#6699cc"},{"id":"tz_68","handle":null,"name":"Thermal Zone 68","color":"#661100"},{"id":"tz_69","handle":null,"name":"Thermal Zone 69","color":"#aa4466"},{"id":"tz_70","handle":null,"name":"Thermal Zone 70","color":"#aa4499"},{"id":"tz_71","handle":null,"name":"Thermal Zone 71","color":"#88ccee"},{"id":"tz_72","handle":null,"name":"Thermal Zone 72","color":"#332288"},{"id":"tz_73","handle":null,"name":"Thermal Zone 73","color":"#117733"},{"id":"tz_74","handle":null,"name":"Thermal Zone 74","color":"#999933"},{"id":"tz_75","handle":null,"name":"Thermal Zone 75","color":"#ddcc77"}],"space_types":[{"handle":null,"id":"800","name":"Warehouse-Storage","color":"#88ccee","type":"space_types"},{"handle":null,"id":"1234","name":"HighriseApt-Corridor","color":"#332288","type":"space_types"},{"handle":null,"id":"1240","name":"HighriseApt-Apartment","color":"#117733","type":"space_types"}],"construction_sets":[],"window_definitions":[],"daylighting_control_definitions":[],"pitched_roofs":[],"door_definitions":[],"version":"0.7.0","area":261029.21710000007} \ No newline at end of file diff --git a/resources/utilities/Geometry/issue-4488.json b/resources/utilities/Geometry/issue-4488.json new file mode 100644 index 00000000000..eb3a07fb467 --- /dev/null +++ b/resources/utilities/Geometry/issue-4488.json @@ -0,0 +1 @@ +{"option_name":"10.31Option","application":{"speedSelection":true,"currentGridId":"grid21301130","currentSvgGridId":"svg-grid2310313","currentSelections":{"story":null,"story_id":"5","subselection_ids":{"1":"3","5":"348","16":"1224","220":null,"295":"299","1457":"1461","1721":"1725","1987":"2004","2251":"2282","2284":"2582","2592":"2792","2926":"2944","3017":"3021","3030":"3032"},"component_id":null,"component_definition_id":null,"component_instance_id":null,"space_property_id":"3048","tool":"Rectangle","mode":"space_types","snapMode":"grid-strict","modeTab":"floorplan","subselectionType":"spaces"},"modes":["spaces","shading","building_units","thermal_zones","pitched_roofs","space_types","images"],"tools":["Pan","Drag","Rectangle","Polygon","Eraser","Select","Map","Fill","Place Component","Image","Apply Property","Construction Line"],"scale":{"x":{"pixels":1025,"rwuRange":[112.93232261849931,618.6786816934924]},"y":{"pixels":757,"rwuRange":[-93.58320541094506,279.9289836815133]}}},"project":{"footprintID":"a89e-a975-b5ed-9c5b","config":{"units":"ip","unitsEditable":true,"language":"EN-US"},"north_axis":0,"ground":{"floor_offset":0,"azimuth_angle":0,"tilt_slope":0},"grid":{"visible":true,"spacing":5},"view":{"min_x":-304.6079186848671,"max_x":692.1079186848671,"min_y":-369.30555555555554,"max_y":366.80555555555554},"map":{"initialized":true,"enabled":true,"visible":true,"latitude":44.85195300000001,"longitude":-93.22929099999998,"zoom":4.5,"rotation":0,"elevation":0},"previous_story":{"visible":true},"show_import_export":true},"stories":[{"id":"5","handle":null,"name":"Story 1","image_id":"15","below_floor_plenum_height":0,"floor_to_ceiling_height":15,"above_ceiling_plenum_height":0,"multiplier":1,"color":"#332288","geometry":{"id":"6","vertices":[{"id":"335","x":-202.5,"y":72.5,"edge_ids":["341","346"]},{"id":"336","x":-102.5,"y":27.5,"edge_ids":["341","342"]},{"id":"337","x":-72.5,"y":-85,"edge_ids":["342","343","401"]},{"id":"338","x":42.5,"y":-55,"edge_ids":["343","344","375"]},{"id":"339","x":2.5,"y":112.5,"edge_ids":["344","345"]},{"id":"340","x":-152.5,"y":182.5,"edge_ids":["345","346"]},{"id":"349","x":72.5,"y":-75,"edge_ids":["375","376"]},{"id":"350","x":217.5,"y":-52.5,"edge_ids":["376","377"]},{"id":"351","x":270,"y":-10,"edge_ids":["377","378"]},{"id":"352","x":312.5,"y":82.5,"edge_ids":["378","379"]},{"id":"353","x":310,"y":115,"edge_ids":["379","380"]},{"id":"354","x":270,"y":170,"edge_ids":["380","381"]},{"id":"355","x":257.5,"y":192.5,"edge_ids":["381","382"]},{"id":"356","x":230,"y":290,"edge_ids":["382","383"]},{"id":"357","x":240,"y":310,"edge_ids":["383","384"]},{"id":"358","x":260,"y":322.5,"edge_ids":["384","385"]},{"id":"359","x":285,"y":330,"edge_ids":["385","386"]},{"id":"360","x":472.5,"y":330,"edge_ids":["386","387"]},{"id":"361","x":522.5,"y":302.5,"edge_ids":["387","388"]},{"id":"362","x":590,"y":202.5,"edge_ids":["388","389"]},{"id":"363","x":585,"y":175,"edge_ids":["389","390"]},{"id":"364","x":430,"y":60,"edge_ids":["390","391"]},{"id":"365","x":380,"y":-2.5,"edge_ids":["391","392"]},{"id":"366","x":367.5,"y":-30,"edge_ids":["392","393"]},{"id":"367","x":362.5,"y":-75,"edge_ids":["393","394"]},{"id":"368","x":385,"y":-170,"edge_ids":["394","395"]},{"id":"369","x":372.5,"y":-212.5,"edge_ids":["395","396"]},{"id":"370","x":272.5,"y":-310,"edge_ids":["396","397"]},{"id":"371","x":210,"y":-332.5,"edge_ids":["397","398"]},{"id":"372","x":127.5,"y":-325,"edge_ids":["398","399"]},{"id":"373","x":45,"y":-277.5,"edge_ids":["399","400"]},{"id":"374","x":-62.5,"y":-120,"edge_ids":["400","401"]}],"edges":[{"id":"341","vertex_ids":["335","336"],"face_ids":["347"]},{"id":"342","vertex_ids":["336","337"],"face_ids":["347"]},{"id":"343","vertex_ids":["337","338"],"face_ids":["347","402"]},{"id":"344","vertex_ids":["338","339"],"face_ids":["347"]},{"id":"345","vertex_ids":["339","340"],"face_ids":["347"]},{"id":"346","vertex_ids":["340","335"],"face_ids":["347"]},{"id":"375","vertex_ids":["338","349"],"face_ids":["402"]},{"id":"376","vertex_ids":["349","350"],"face_ids":["402"]},{"id":"377","vertex_ids":["350","351"],"face_ids":["402"]},{"id":"378","vertex_ids":["351","352"],"face_ids":["402"]},{"id":"379","vertex_ids":["352","353"],"face_ids":["402"]},{"id":"380","vertex_ids":["353","354"],"face_ids":["402"]},{"id":"381","vertex_ids":["354","355"],"face_ids":["402"]},{"id":"382","vertex_ids":["355","356"],"face_ids":["402"]},{"id":"383","vertex_ids":["356","357"],"face_ids":["402"]},{"id":"384","vertex_ids":["357","358"],"face_ids":["402"]},{"id":"385","vertex_ids":["358","359"],"face_ids":["402"]},{"id":"386","vertex_ids":["359","360"],"face_ids":["402"]},{"id":"387","vertex_ids":["360","361"],"face_ids":["402"]},{"id":"388","vertex_ids":["361","362"],"face_ids":["402"]},{"id":"389","vertex_ids":["362","363"],"face_ids":["402"]},{"id":"390","vertex_ids":["363","364"],"face_ids":["402"]},{"id":"391","vertex_ids":["364","365"],"face_ids":["402"]},{"id":"392","vertex_ids":["365","366"],"face_ids":["402"]},{"id":"393","vertex_ids":["366","367"],"face_ids":["402"]},{"id":"394","vertex_ids":["367","368"],"face_ids":["402"]},{"id":"395","vertex_ids":["368","369"],"face_ids":["402"]},{"id":"396","vertex_ids":["369","370"],"face_ids":["402"]},{"id":"397","vertex_ids":["370","371"],"face_ids":["402"]},{"id":"398","vertex_ids":["371","372"],"face_ids":["402"]},{"id":"399","vertex_ids":["372","373"],"face_ids":["402"]},{"id":"400","vertex_ids":["373","374"],"face_ids":["402"]},{"id":"401","vertex_ids":["374","337"],"face_ids":["402"]}],"faces":[{"id":"347","edge_ids":["341","342","343","344","345","346"],"edge_order":[1,1,1,1,1,1]},{"id":"402","edge_ids":["375","376","377","378","379","380","381","382","383","384","385","386","387","388","389","390","391","392","393","394","395","396","397","398","399","400","401","343"],"edge_order":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]}]},"spaces":[{"id":"348","handle":null,"name":"Space 1-1","face_id":"402","building_unit_id":null,"thermal_zone_id":"tz_1","space_type_id":"3043","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":178096.875}],"shading":[{"handle":null,"id":"334","name":"Shading 1-1","face_id":"347","color":"#E8E3E5","floor_to_ceiling_height":45,"type":"shading"}],"windows":[],"doors":[],"construction_lines":[],"area":178096.875},{"id":"16","handle":null,"name":"Story 2","image_id":"10","below_floor_plenum_height":0,"floor_to_ceiling_height":15,"above_ceiling_plenum_height":0,"multiplier":1,"color":"#117733","geometry":{"id":"17","vertices":[{"id":"502","x":-72.5,"y":-85,"edge_ids":["561","577"]},{"id":"503","x":0,"y":-65,"edge_ids":["533","583"]},{"id":"504","x":92.5,"y":-200,"edge_ids":["533","592","642"]},{"id":"507","x":202.5,"y":-210,"edge_ids":["537","662","734"]},{"id":"508","x":280,"y":-135,"edge_ids":["537","538","806"]},{"id":"509","x":260,"y":-50,"edge_ids":["538","539","874"]},{"id":"510","x":280,"y":-7.5,"edge_ids":["539","540","921"]},{"id":"511","x":300,"y":37.5,"edge_ids":["540","541","932"]},{"id":"512","x":317.5,"y":75,"edge_ids":["541","978","1146"]},{"id":"514","x":442.5,"y":182.5,"edge_ids":["544","1177","1182"]},{"id":"515","x":422.5,"y":227.5,"edge_ids":["544","545","1181"]},{"id":"516","x":417.5,"y":237.5,"edge_ids":["545","546","1202"]},{"id":"517","x":255,"y":237.5,"edge_ids":["546","1219"]},{"id":"518","x":255,"y":312.5,"edge_ids":["548","1221"]},{"id":"519","x":465,"y":312.5,"edge_ids":["549","1201","548"]},{"id":"520","x":490,"y":257.5,"edge_ids":["549","550","1181"]},{"id":"521","x":510,"y":212.5,"edge_ids":["550","551","1182"]},{"id":"522","x":537.5,"y":150,"edge_ids":["551","1156","1157"]},{"id":"523","x":382.5,"y":32.5,"edge_ids":["553","1001","1156"]},{"id":"524","x":370,"y":2.5,"edge_ids":["553","554","945"]},{"id":"525","x":350,"y":-40,"edge_ids":["554","555","923"]},{"id":"526","x":337.5,"y":-65,"edge_ids":["555","556","887"]},{"id":"527","x":362.5,"y":-167.5,"edge_ids":["556","557","882"]},{"id":"528","x":240,"y":-287.5,"edge_ids":["557","763","776"]},{"id":"531","x":52.5,"y":-270,"edge_ids":["561","581","640"]},{"id":"573","x":-45,"y":-77.5,"edge_ids":["577","578","583"]},{"id":"574","x":55,"y":-222.5,"edge_ids":["578","594","613"]},{"id":"575","x":45,"y":-230,"edge_ids":["580","613"]},{"id":"576","x":57.5,"y":-250,"edge_ids":["580","581","621"]},{"id":"590","x":80,"y":-222.5,"edge_ids":["592","593","619"]},{"id":"591","x":72.5,"y":-215,"edge_ids":["593","594"]},{"id":"617","x":92.5,"y":-227.5,"edge_ids":["619","620"]},{"id":"618","x":85,"y":-252.5,"edge_ids":["620","621"]},{"id":"638","x":122.5,"y":-277.5,"edge_ids":["640","641","772"]},{"id":"639","x":130,"y":-205,"edge_ids":["641","642","729"]},{"id":"658","x":207.5,"y":-232.5,"edge_ids":["662","663","788"]},{"id":"659","x":200,"y":-235,"edge_ids":["663","664"]},{"id":"660","x":200,"y":-255,"edge_ids":["664","704","758"]},{"id":"702","x":174.49,"y":-255,"edge_ids":["704","728","773"]},{"id":"727","x":177.45,"y":-208.27,"edge_ids":["728","729","734"]},{"id":"759","x":200,"y":-262.5,"edge_ids":["762","758"]},{"id":"760","x":222.5,"y":-262.5,"edge_ids":["762","763","790"]},{"id":"771","x":172.8,"y":-281.78,"edge_ids":["772","773","776"]},{"id":"786","x":217.5,"y":-225,"edge_ids":["788","797"]},{"id":"787","x":232.5,"y":-245,"edge_ids":["790","810"]},{"id":"802","x":295,"y":-140,"edge_ids":["806","807","857"]},{"id":"803","x":290,"y":-155,"edge_ids":["807","808"]},{"id":"804","x":300,"y":-165,"edge_ids":["808","809","846"]},{"id":"805","x":225,"y":-235,"edge_ids":["809","810","797"]},{"id":"835","x":317.5,"y":-140,"edge_ids":["839","859"]},{"id":"836","x":320,"y":-157.5,"edge_ids":["839","840","882"]},{"id":"837","x":318.99,"y":-158.34,"edge_ids":["840","845"]},{"id":"843","x":305,"y":-170,"edge_ids":["845","846"]},{"id":"855","x":295,"y":-132.5,"edge_ids":["857","869"]},{"id":"856","x":317.5,"y":-132.5,"edge_ids":["859","878"]},{"id":"870","x":277.5,"y":-50,"edge_ids":["874","875","905"]},{"id":"871","x":282.5,"y":-70,"edge_ids":["875","876"]},{"id":"872","x":297.5,"y":-70,"edge_ids":["876","877","888"]},{"id":"873","x":307.5,"y":-132.5,"edge_ids":["877","878","869"]},{"id":"886","x":305,"y":-60,"edge_ids":["887","888","909"]},{"id":"900","x":300,"y":-40,"edge_ids":["904","909","920"]},{"id":"901","x":282.5,"y":-37.5,"edge_ids":["904","905"]},{"id":"919","x":309.42,"y":-21.16,"edge_ids":["920","921","923"]},{"id":"940","x":330,"y":22.5,"edge_ids":["945","932","971"]},{"id":"959","x":335,"y":65,"edge_ids":["978","990","1151"]},{"id":"962","x":360,"y":45,"edge_ids":["969","1001","1044"]},{"id":"963","x":347.5,"y":37.5,"edge_ids":["969","970"]},{"id":"964","x":339.5,"y":41.5,"edge_ids":["970","971","992"]},{"id":"988","x":330,"y":52.5,"edge_ids":["990","992"]},{"id":"1008","x":360,"y":62.08,"edge_ids":["1111","1150","1143"]},{"id":"1009","x":362.5,"y":60,"edge_ids":["1044","1111"]},{"id":"1119","x":498.4,"y":161.5,"edge_ids":["1157","1158","1169"]},{"id":"1139","x":467.5,"y":147.5,"edge_ids":["1143","1144","1159"]},{"id":"1140","x":467.5,"y":167.5,"edge_ids":["1144","1145","1166"]},{"id":"1141","x":447.5,"y":172.5,"edge_ids":["1145","1146","1177"]},{"id":"1149","x":350,"y":70,"edge_ids":["1150","1151"]},{"id":"1154","x":487.5,"y":145,"edge_ids":["1158","1159"]},{"id":"1162","x":492.5,"y":175,"edge_ids":["1165","1172"]},{"id":"1163","x":477.5,"y":175,"edge_ids":["1165","1166"]},{"id":"1167","x":492.93,"y":174.01,"edge_ids":["1169","1172"]},{"id":"1194","x":430,"y":255,"edge_ids":["1198","1202","1212"]},{"id":"1195","x":442.5,"y":255,"edge_ids":["1198","1199"]},{"id":"1196","x":452.5,"y":270,"edge_ids":["1199","1200"]},{"id":"1197","x":447.5,"y":280,"edge_ids":["1200","1201","1214"]},{"id":"1210","x":422.5,"y":265,"edge_ids":["1212","1213","1222"]},{"id":"1211","x":430,"y":280,"edge_ids":["1213","1214"]},{"id":"1220","x":255,"y":265,"edge_ids":["1222","1219","1221"]}],"edges":[{"id":"533","vertex_ids":["503","504"],"face_ids":["595"]},{"id":"537","vertex_ids":["507","508"],"face_ids":["811"]},{"id":"538","vertex_ids":["508","509"],"face_ids":["879"]},{"id":"539","vertex_ids":["509","510"],"face_ids":["906"]},{"id":"540","vertex_ids":["510","511"],"face_ids":["925"]},{"id":"541","vertex_ids":["511","512"],"face_ids":["946"]},{"id":"544","vertex_ids":["514","515"],"face_ids":["1183"]},{"id":"545","vertex_ids":["515","516"],"face_ids":["1203"]},{"id":"546","vertex_ids":["516","517"],"face_ids":["1223"]},{"id":"549","vertex_ids":["519","520"],"face_ids":["1203"]},{"id":"550","vertex_ids":["520","521"],"face_ids":["1183"]},{"id":"551","vertex_ids":["521","522"],"face_ids":["1176"]},{"id":"553","vertex_ids":["523","524"],"face_ids":["1002"]},{"id":"554","vertex_ids":["524","525"],"face_ids":["925"]},{"id":"555","vertex_ids":["525","526"],"face_ids":["914"]},{"id":"556","vertex_ids":["526","527"],"face_ids":["889"]},{"id":"557","vertex_ids":["527","528"],"face_ids":["819"]},{"id":"561","vertex_ids":["531","502"],"face_ids":["582"]},{"id":"577","vertex_ids":["502","573"],"face_ids":["582"]},{"id":"578","vertex_ids":["573","574"],"face_ids":["582","595"]},{"id":"580","vertex_ids":["575","576"],"face_ids":["582","622"]},{"id":"581","vertex_ids":["576","531"],"face_ids":["582","643"]},{"id":"583","vertex_ids":["573","503"],"face_ids":["595"]},{"id":"592","vertex_ids":["504","590"],"face_ids":["595","643"]},{"id":"593","vertex_ids":["590","591"],"face_ids":["595","622"]},{"id":"594","vertex_ids":["591","574"],"face_ids":["595","622"]},{"id":"619","vertex_ids":["590","617"],"face_ids":["622","643"]},{"id":"620","vertex_ids":["617","618"],"face_ids":["622","643"]},{"id":"621","vertex_ids":["618","576"],"face_ids":["622","643"]},{"id":"613","vertex_ids":["574","575"],"face_ids":["582","622"]},{"id":"640","vertex_ids":["531","638"],"face_ids":["643"]},{"id":"641","vertex_ids":["638","639"],"face_ids":["643","708"]},{"id":"642","vertex_ids":["639","504"],"face_ids":["643"]},{"id":"662","vertex_ids":["507","658"],"face_ids":["735","811"]},{"id":"663","vertex_ids":["658","659"],"face_ids":["735","791"]},{"id":"664","vertex_ids":["659","660"],"face_ids":["735","791"]},{"id":"704","vertex_ids":["660","702"],"face_ids":["735","764"]},{"id":"728","vertex_ids":["702","727"],"face_ids":["708","735"]},{"id":"729","vertex_ids":["727","639"],"face_ids":["708"]},{"id":"734","vertex_ids":["727","507"],"face_ids":["735"]},{"id":"762","vertex_ids":["759","760"],"face_ids":["764","791"]},{"id":"763","vertex_ids":["760","528"],"face_ids":["764","819"]},{"id":"758","vertex_ids":["759","660"],"face_ids":["764","791"]},{"id":"772","vertex_ids":["638","771"],"face_ids":["708"]},{"id":"773","vertex_ids":["771","702"],"face_ids":["708","764"]},{"id":"776","vertex_ids":["771","528"],"face_ids":["764"]},{"id":"788","vertex_ids":["658","786"],"face_ids":["791","811"]},{"id":"790","vertex_ids":["787","760"],"face_ids":["791","819"]},{"id":"806","vertex_ids":["508","802"],"face_ids":["811","879"]},{"id":"807","vertex_ids":["802","803"],"face_ids":["811","827"]},{"id":"808","vertex_ids":["803","804"],"face_ids":["811","827"]},{"id":"809","vertex_ids":["804","805"],"face_ids":["811","819"]},{"id":"810","vertex_ids":["805","787"],"face_ids":["791","819"]},{"id":"797","vertex_ids":["786","805"],"face_ids":["791","811"]},{"id":"839","vertex_ids":["835","836"],"face_ids":["827","889"]},{"id":"840","vertex_ids":["836","837"],"face_ids":["819","827"]},{"id":"845","vertex_ids":["837","843"],"face_ids":["819","827"]},{"id":"846","vertex_ids":["843","804"],"face_ids":["819","827"]},{"id":"857","vertex_ids":["802","855"],"face_ids":["827","879"]},{"id":"859","vertex_ids":["856","835"],"face_ids":["827","889"]},{"id":"874","vertex_ids":["509","870"],"face_ids":["879","906"]},{"id":"875","vertex_ids":["870","871"],"face_ids":["879","910"]},{"id":"876","vertex_ids":["871","872"],"face_ids":["879","910"]},{"id":"877","vertex_ids":["872","873"],"face_ids":["879","889"]},{"id":"878","vertex_ids":["873","856"],"face_ids":["827","889"]},{"id":"869","vertex_ids":["855","873"],"face_ids":["827","879"]},{"id":"882","vertex_ids":["836","527"],"face_ids":["819","889"]},{"id":"887","vertex_ids":["886","526"],"face_ids":["889","914"]},{"id":"888","vertex_ids":["872","886"],"face_ids":["889","910"]},{"id":"904","vertex_ids":["900","901"],"face_ids":["906","910"]},{"id":"905","vertex_ids":["901","870"],"face_ids":["906","910"]},{"id":"909","vertex_ids":["900","886"],"face_ids":["910","914"]},{"id":"920","vertex_ids":["900","919"],"face_ids":["906","914"]},{"id":"921","vertex_ids":["919","510"],"face_ids":["906","925"]},{"id":"923","vertex_ids":["525","919"],"face_ids":["914","925"]},{"id":"945","vertex_ids":["940","524"],"face_ids":["925","1002"]},{"id":"932","vertex_ids":["511","940"],"face_ids":["925","946"]},{"id":"969","vertex_ids":["962","963"],"face_ids":["975","1002"]},{"id":"970","vertex_ids":["963","964"],"face_ids":["975","1002"]},{"id":"971","vertex_ids":["964","940"],"face_ids":["946","1002"]},{"id":"978","vertex_ids":["512","959"],"face_ids":["946","1152"]},{"id":"990","vertex_ids":["988","959"],"face_ids":["946","975"]},{"id":"992","vertex_ids":["964","988"],"face_ids":["946","975"]},{"id":"1001","vertex_ids":["962","523"],"face_ids":["1002","1160"]},{"id":"1044","vertex_ids":["1009","962"],"face_ids":["975","1160"]},{"id":"1111","vertex_ids":["1009","1008"],"face_ids":["975","1160"]},{"id":"1150","vertex_ids":["1008","1149"],"face_ids":["975","1152"]},{"id":"1151","vertex_ids":["1149","959"],"face_ids":["975","1152"]},{"id":"1143","vertex_ids":["1008","1139"],"face_ids":["1152","1160"]},{"id":"1144","vertex_ids":["1139","1140"],"face_ids":["1152","1170"]},{"id":"1145","vertex_ids":["1140","1141"],"face_ids":["1152","1176"]},{"id":"1146","vertex_ids":["1141","512"],"face_ids":["1152"]},{"id":"1156","vertex_ids":["523","522"],"face_ids":["1160"]},{"id":"1157","vertex_ids":["522","1119"],"face_ids":["1160","1176"]},{"id":"1158","vertex_ids":["1119","1154"],"face_ids":["1160","1170"]},{"id":"1159","vertex_ids":["1154","1139"],"face_ids":["1160","1170"]},{"id":"1169","vertex_ids":["1167","1119"],"face_ids":["1170","1176"]},{"id":"1165","vertex_ids":["1162","1163"],"face_ids":["1170","1176"]},{"id":"1166","vertex_ids":["1163","1140"],"face_ids":["1170","1176"]},{"id":"1172","vertex_ids":["1167","1162"],"face_ids":["1170","1176"]},{"id":"1177","vertex_ids":["514","1141"],"face_ids":["1176"]},{"id":"1181","vertex_ids":["515","520"],"face_ids":["1183","1203"]},{"id":"1182","vertex_ids":["521","514"],"face_ids":["1176","1183"]},{"id":"1198","vertex_ids":["1194","1195"],"face_ids":["1203","1215"]},{"id":"1199","vertex_ids":["1195","1196"],"face_ids":["1203","1215"]},{"id":"1200","vertex_ids":["1196","1197"],"face_ids":["1203","1215"]},{"id":"1201","vertex_ids":["1197","519"],"face_ids":["1203","1225"]},{"id":"1202","vertex_ids":["516","1194"],"face_ids":["1203","1223"]},{"id":"1212","vertex_ids":["1194","1210"],"face_ids":["1215","1223"]},{"id":"1213","vertex_ids":["1210","1211"],"face_ids":["1215","1225"]},{"id":"1214","vertex_ids":["1211","1197"],"face_ids":["1215","1225"]},{"id":"1222","vertex_ids":["1220","1210"],"face_ids":["1223","1225"]},{"id":"1219","vertex_ids":["1220","517"],"face_ids":["1223"]},{"id":"548","vertex_ids":["518","519"],"face_ids":["1225"]},{"id":"1221","vertex_ids":["518","1220"],"face_ids":["1225"]}],"faces":[{"id":"582","edge_ids":["580","613","578","577","561","581"],"edge_order":[0,0,0,0,0,0]},{"id":"595","edge_ids":["583","533","592","593","594","578"],"edge_order":[1,1,1,1,1,0]},{"id":"622","edge_ids":["594","613","580","621","620","619","593"],"edge_order":[1,1,1,0,0,0,1]},{"id":"643","edge_ids":["640","641","642","592","619","620","621","581"],"edge_order":[1,1,1,1,1,1,1,1]},{"id":"708","edge_ids":["728","729","641","772","773"],"edge_order":[1,1,0,1,1]},{"id":"735","edge_ids":["734","662","663","664","704","728"],"edge_order":[1,1,1,1,1,1]},{"id":"764","edge_ids":["762","758","704","773","776","763"],"edge_order":[0,1,1,0,1,0]},{"id":"791","edge_ids":["663","788","797","810","790","762","758","664"],"edge_order":[0,1,1,1,1,0,1,0]},{"id":"811","edge_ids":["788","797","809","808","807","806","537","662"],"edge_order":[1,1,0,0,0,0,0,1]},{"id":"819","edge_ids":["882","840","845","846","809","810","790","763","557"],"edge_order":[0,1,1,1,1,1,1,1,0]},{"id":"827","edge_ids":["840","839","859","878","869","857","807","808","846","845"],"edge_order":[0,0,0,0,0,0,1,1,0,0]},{"id":"879","edge_ids":["877","876","875","874","538","806","857","869"],"edge_order":[0,0,0,0,0,1,1,1]},{"id":"889","edge_ids":["882","556","887","888","877","878","859","839"],"edge_order":[1,0,0,0,1,1,1,1]},{"id":"906","edge_ids":["904","920","921","539","874","905"],"edge_order":[0,1,1,0,1,0]},{"id":"910","edge_ids":["909","888","876","875","905","904"],"edge_order":[1,0,0,0,0,0]},{"id":"914","edge_ids":["923","920","909","887","555"],"edge_order":[1,0,1,1,0]},{"id":"925","edge_ids":["540","932","945","554","923","921"],"edge_order":[1,1,1,1,1,1]},{"id":"946","edge_ids":["992","990","978","541","932","971"],"edge_order":[1,1,0,0,1,0]},{"id":"975","edge_ids":["1044","1111","1150","1151","990","992","970","969"],"edge_order":[0,1,1,1,0,0,0,0]},{"id":"1002","edge_ids":["1001","969","970","971","945","553"],"edge_order":[0,1,1,1,1,0]},{"id":"1152","edge_ids":["1143","1144","1145","1146","978","1151","1150"],"edge_order":[1,1,1,1,1,0,0]},{"id":"1160","edge_ids":["1157","1158","1159","1143","1111","1044","1001","1156"],"edge_order":[1,1,1,0,0,1,1,1]},{"id":"1170","edge_ids":["1144","1159","1158","1169","1172","1165","1166"],"edge_order":[0,0,0,0,1,1,1]},{"id":"1176","edge_ids":["1182","1177","1145","1166","1165","1172","1169","1157","551"],"edge_order":[1,1,0,0,0,0,1,0,0]},{"id":"1183","edge_ids":["1182","550","1181","544"],"edge_order":[0,0,0,0]},{"id":"1203","edge_ids":["545","1202","1198","1199","1200","1201","549","1181"],"edge_order":[1,1,1,1,1,1,1,0]},{"id":"1215","edge_ids":["1198","1199","1200","1214","1213","1212"],"edge_order":[1,1,1,0,0,0]},{"id":"1223","edge_ids":["1202","1212","1222","1219","546"],"edge_order":[1,1,0,1,0]},{"id":"1225","edge_ids":["1222","1213","1214","1201","548","1221"],"edge_order":[1,1,1,1,0,1]}]},"spaces":[{"id":"563","handle":null,"name":"Space 2-1","face_id":"582","building_unit_id":null,"thermal_zone_id":"tz_2","space_type_id":"3044","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":5515.625},{"id":"584","handle":null,"name":"Space 2-2","face_id":"595","building_unit_id":null,"thermal_zone_id":"tz_3","space_type_id":"3044","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":7646.875},{"id":"610","handle":null,"name":"Space 2-3","face_id":"622","building_unit_id":null,"thermal_zone_id":"tz_4","space_type_id":"1755","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1165.625},{"id":"637","handle":null,"name":"Space 2-4","face_id":"643","building_unit_id":null,"thermal_zone_id":"tz_5","space_type_id":"3044","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":3540.625},{"id":"697","handle":null,"name":"Space 2-5","face_id":"708","building_unit_id":null,"thermal_zone_id":"tz_6","space_type_id":"1754","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":3590.9049499999996},{"id":"733","handle":null,"name":"Space 2-6","face_id":"735","building_unit_id":null,"thermal_zone_id":"tz_7","space_type_id":"3044","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1227.4536499999995},{"id":"752","handle":null,"name":"Space 2-7","face_id":"764","building_unit_id":null,"thermal_zone_id":"tz_8","space_type_id":"3044","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1450.428899999999},{"id":"779","handle":null,"name":"Space 2-8","face_id":"791","building_unit_id":null,"thermal_zone_id":"tz_9","space_type_id":"1755","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":878.125},{"id":"792","handle":null,"name":"Space 2-9","face_id":"811","building_unit_id":null,"thermal_zone_id":"tz_10","space_type_id":"3044","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":3825},{"id":"812","handle":null,"name":"Space 2-10","face_id":"819","building_unit_id":null,"thermal_zone_id":"tz_11","space_type_id":"3044","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":6743.762500000001},{"id":"820","handle":null,"name":"Space 2-11","face_id":"827","building_unit_id":null,"thermal_zone_id":"tz_12","space_type_id":"1755","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":803.1125000000006},{"id":"860","handle":null,"name":"Space 2-12","face_id":"879","building_unit_id":null,"thermal_zone_id":"tz_13","space_type_id":"3044","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":2331.25},{"id":"880","handle":null,"name":"Space 2-13","face_id":"889","building_unit_id":null,"thermal_zone_id":"tz_14","space_type_id":"3044","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":4190.625},{"id":"890","handle":null,"name":"Space 2-14","face_id":"906","building_unit_id":null,"thermal_zone_id":"tz_15","space_type_id":"3044","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1063.3500000000022},{"id":"907","handle":null,"name":"Space 2-15","face_id":"910","building_unit_id":null,"thermal_zone_id":"tz_16","space_type_id":"1755","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":690.625},{"id":"911","handle":null,"name":"Space 2-16","face_id":"914","building_unit_id":null,"thermal_zone_id":"tz_17","space_type_id":"3044","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1408.5},{"id":"915","handle":null,"name":"Space 2-17","face_id":"925","building_unit_id":null,"thermal_zone_id":"tz_18","space_type_id":"1754","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":3737.5249999999987},{"id":"927","handle":null,"name":"Space 2-18","face_id":"946","building_unit_id":null,"thermal_zone_id":"tz_19","space_type_id":"3046","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1158.125},{"id":"947","handle":null,"name":"Space 2-19","face_id":"975","building_unit_id":null,"thermal_zone_id":"tz_20","space_type_id":"1755","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":709.875},{"id":"993","handle":null,"name":"Space 2-20","face_id":"1002","building_unit_id":null,"thermal_zone_id":"tz_21","space_type_id":"3046","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1288.75},{"id":"1138","handle":null,"name":"Space 2-21","face_id":"1152","building_unit_id":null,"thermal_zone_id":"tz_22","space_type_id":"3046","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":5324.675000000001},{"id":"1153","handle":null,"name":"Space 2-22","face_id":"1160","building_unit_id":null,"thermal_zone_id":"tz_23","space_type_id":"3046","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":6913.199999999997},{"id":"1161","handle":null,"name":"Space 2-23","face_id":"1170","building_unit_id":null,"thermal_zone_id":"tz_24","space_type_id":"1755","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":734.7319999999991},{"id":"1173","handle":null,"name":"Space 2-24","face_id":"1176","building_unit_id":null,"thermal_zone_id":"tz_25","space_type_id":"3046","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":2608.143},{"id":"1178","handle":null,"name":"Space 2-25","face_id":"1183","building_unit_id":null,"thermal_zone_id":"tz_26","space_type_id":"1754","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":3637.5},{"id":"1184","handle":null,"name":"Space 2-26","face_id":"1203","building_unit_id":null,"thermal_zone_id":"tz_27","space_type_id":"3046","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":2293.75},{"id":"1204","handle":null,"name":"Space 2-27","face_id":"1215","building_unit_id":null,"thermal_zone_id":"tz_28","space_type_id":"1755","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":556.25},{"id":"1216","handle":null,"name":"Space 2-28","face_id":"1223","building_unit_id":null,"thermal_zone_id":"tz_29","space_type_id":"3046","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":4665.625},{"id":"1224","handle":null,"name":"Space 2-29","face_id":"1225","building_unit_id":null,"thermal_zone_id":"tz_30","space_type_id":"3046","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":9109.375}],"shading":[],"windows":[],"doors":[],"construction_lines":[{"id":"1131","start":{"x":467.5,"y":167.5},"end":{"x":477.5,"y":175}},{"id":"1133","start":{"x":495,"y":170},"end":{"x":500,"y":152.5}},{"id":"1135","start":{"x":467.5,"y":147.5},"end":{"x":487.5,"y":145}},{"id":"1136","start":{"x":467.5,"y":147.5},"end":{"x":467.5,"y":167.5}},{"id":"1137","start":{"x":360,"y":62.08},"end":{"x":467.5,"y":147.5}}],"area":88809.4125},{"id":"1987","handle":null,"name":"Story 3","image_id":null,"below_floor_plenum_height":0,"floor_to_ceiling_height":15,"above_ceiling_plenum_height":0,"multiplier":1,"color":"#ddcc77","geometry":{"id":"1988","vertices":[{"id":"1756","x":-72.5,"y":-85,"edge_ids":["1860","1861"]},{"id":"1757","x":0,"y":-65,"edge_ids":["1843","1865"]},{"id":"1758","x":92.5,"y":-200,"edge_ids":["1843","1866","1875"]},{"id":"1759","x":202.5,"y":-210,"edge_ids":["1844","1876","1882"]},{"id":"1760","x":280,"y":-135,"edge_ids":["1844","1845","1891"]},{"id":"1761","x":260,"y":-50,"edge_ids":["1845","1846","1903"]},{"id":"1762","x":280,"y":-7.5,"edge_ids":["1846","1847","1916"]},{"id":"1763","x":300,"y":37.5,"edge_ids":["1847","1848","1919"]},{"id":"1764","x":317.5,"y":75,"edge_ids":["1848","1923","1934"]},{"id":"1765","x":442.5,"y":182.5,"edge_ids":["1849","1943","1945"]},{"id":"1766","x":422.5,"y":227.5,"edge_ids":["1849","1850","1944"]},{"id":"1767","x":417.5,"y":237.5,"edge_ids":["1850","1851","1950"]},{"id":"1768","x":255,"y":237.5,"edge_ids":["1851","1955"]},{"id":"1769","x":255,"y":312.5,"edge_ids":["1956","1957"]},{"id":"1770","x":465,"y":312.5,"edge_ids":["1852","1949","1956"]},{"id":"1771","x":490,"y":257.5,"edge_ids":["1852","1853","1944"]},{"id":"1772","x":510,"y":212.5,"edge_ids":["1853","1854","1945"]},{"id":"1773","x":537.5,"y":150,"edge_ids":["1854","1935","1936"]},{"id":"1774","x":382.5,"y":32.5,"edge_ids":["1855","1926","1935"]},{"id":"1775","x":370,"y":2.5,"edge_ids":["1855","1856","1918"]},{"id":"1776","x":350,"y":-40,"edge_ids":["1856","1857","1917"]},{"id":"1777","x":337.5,"y":-65,"edge_ids":["1857","1858","1910"]},{"id":"1778","x":362.5,"y":-167.5,"edge_ids":["1858","1859","1909"]},{"id":"1779","x":240,"y":-287.5,"edge_ids":["1859","1884","1888"]},{"id":"1780","x":52.5,"y":-270,"edge_ids":["1860","1864","1873"]},{"id":"1781","x":-45,"y":-77.5,"edge_ids":["1861","1862","1865"]},{"id":"1782","x":55,"y":-222.5,"edge_ids":["1862","1868","1872"]},{"id":"1783","x":45,"y":-230,"edge_ids":["1863","1872"]},{"id":"1784","x":57.5,"y":-250,"edge_ids":["1863","1864","1871"]},{"id":"1785","x":80,"y":-222.5,"edge_ids":["1866","1867","1869"]},{"id":"1786","x":72.5,"y":-215,"edge_ids":["1867","1868"]},{"id":"1787","x":92.5,"y":-227.5,"edge_ids":["1869","1870"]},{"id":"1788","x":85,"y":-252.5,"edge_ids":["1870","1871"]},{"id":"1789","x":122.5,"y":-277.5,"edge_ids":["1873","1874","1886"]},{"id":"1790","x":130,"y":-205,"edge_ids":["1874","1875","1881"]},{"id":"1791","x":207.5,"y":-232.5,"edge_ids":["1876","1877","1889"]},{"id":"1792","x":200,"y":-235,"edge_ids":["1877","1878"]},{"id":"1793","x":200,"y":-255,"edge_ids":["1878","1879","1885"]},{"id":"1794","x":174.49,"y":-255,"edge_ids":["1879","1880","1887"]},{"id":"1795","x":177.45,"y":-208.27,"edge_ids":["1880","1881","1882"]},{"id":"1796","x":200,"y":-262.5,"edge_ids":["1883","1885"]},{"id":"1797","x":222.5,"y":-262.5,"edge_ids":["1883","1884","1890"]},{"id":"1798","x":172.8,"y":-281.78,"edge_ids":["1886","1887","1888"]},{"id":"1799","x":217.5,"y":-225,"edge_ids":["1889","1896"]},{"id":"1800","x":232.5,"y":-245,"edge_ids":["1890","1895"]},{"id":"1801","x":295,"y":-140,"edge_ids":["1891","1892","1901"]},{"id":"1802","x":290,"y":-155,"edge_ids":["1892","1893"]},{"id":"1803","x":300,"y":-165,"edge_ids":["1893","1894","1900"]},{"id":"1804","x":225,"y":-235,"edge_ids":["1894","1895","1896"]},{"id":"1805","x":317.5,"y":-140,"edge_ids":["1897","1902"]},{"id":"1806","x":320,"y":-157.5,"edge_ids":["1897","1898","1909"]},{"id":"1807","x":318.99,"y":-158.34,"edge_ids":["1898","1899"]},{"id":"1808","x":305,"y":-170,"edge_ids":["1899","1900"]},{"id":"1809","x":295,"y":-132.5,"edge_ids":["1901","1908"]},{"id":"1810","x":317.5,"y":-132.5,"edge_ids":["1902","1907"]},{"id":"1811","x":277.5,"y":-50,"edge_ids":["1903","1904","1913"]},{"id":"1812","x":282.5,"y":-70,"edge_ids":["1904","1905"]},{"id":"1813","x":297.5,"y":-70,"edge_ids":["1905","1906","1911"]},{"id":"1814","x":307.5,"y":-132.5,"edge_ids":["1906","1907","1908"]},{"id":"1815","x":305,"y":-60,"edge_ids":["1910","1911","1914"]},{"id":"1816","x":300,"y":-40,"edge_ids":["1912","1914","1915"]},{"id":"1817","x":282.5,"y":-37.5,"edge_ids":["1912","1913"]},{"id":"1818","x":309.42,"y":-21.16,"edge_ids":["1915","1916","1917"]},{"id":"1819","x":330,"y":22.5,"edge_ids":["1918","1919","1922"]},{"id":"1820","x":335,"y":65,"edge_ids":["1923","1924","1930"]},{"id":"1821","x":360,"y":45,"edge_ids":["1920","1926","1927"]},{"id":"1822","x":347.5,"y":37.5,"edge_ids":["1920","1921"]},{"id":"1823","x":339.5,"y":41.5,"edge_ids":["1921","1922","1925"]},{"id":"1824","x":330,"y":52.5,"edge_ids":["1924","1925"]},{"id":"1825","x":360,"y":62.08,"edge_ids":["1928","1929","1931"]},{"id":"1826","x":362.5,"y":60,"edge_ids":["1927","1928"]},{"id":"1827","x":498.4,"y":161.5,"edge_ids":["1936","1937","1939"]},{"id":"1828","x":467.5,"y":147.5,"edge_ids":["1931","1932","1938"]},{"id":"1829","x":467.5,"y":167.5,"edge_ids":["1932","1933","1941"]},{"id":"1830","x":447.5,"y":172.5,"edge_ids":["1933","1934","1943"]},{"id":"1831","x":350,"y":70,"edge_ids":["1929","1930"]},{"id":"1832","x":487.5,"y":145,"edge_ids":["1937","1938"]},{"id":"1833","x":492.5,"y":175,"edge_ids":["1940","1942"]},{"id":"1834","x":477.5,"y":175,"edge_ids":["1940","1941"]},{"id":"1835","x":492.93,"y":174.01,"edge_ids":["1939","1942"]},{"id":"1836","x":430,"y":255,"edge_ids":["1946","1950","1951"]},{"id":"1837","x":442.5,"y":255,"edge_ids":["1946","1947"]},{"id":"1838","x":452.5,"y":270,"edge_ids":["1947","1948"]},{"id":"1839","x":447.5,"y":280,"edge_ids":["1948","1949","1953"]},{"id":"1840","x":422.5,"y":265,"edge_ids":["1951","1952","1954"]},{"id":"1841","x":430,"y":280,"edge_ids":["1952","1953"]},{"id":"1842","x":255,"y":265,"edge_ids":["1954","1955","1957"]}],"edges":[{"id":"1843","vertex_ids":["1757","1758"],"face_ids":["1959"]},{"id":"1844","vertex_ids":["1759","1760"],"face_ids":["1966"]},{"id":"1845","vertex_ids":["1760","1761"],"face_ids":["1969"]},{"id":"1846","vertex_ids":["1761","1762"],"face_ids":["1971"]},{"id":"1847","vertex_ids":["1762","1763"],"face_ids":["1974"]},{"id":"1848","vertex_ids":["1763","1764"],"face_ids":["1975"]},{"id":"1849","vertex_ids":["1765","1766"],"face_ids":["1982"]},{"id":"1850","vertex_ids":["1766","1767"],"face_ids":["1983"]},{"id":"1851","vertex_ids":["1767","1768"],"face_ids":["1985"]},{"id":"1852","vertex_ids":["1770","1771"],"face_ids":["1983"]},{"id":"1853","vertex_ids":["1771","1772"],"face_ids":["1982"]},{"id":"1854","vertex_ids":["1772","1773"],"face_ids":["1981"]},{"id":"1855","vertex_ids":["1774","1775"],"face_ids":["1977"]},{"id":"1856","vertex_ids":["1775","1776"],"face_ids":["1974"]},{"id":"1857","vertex_ids":["1776","1777"],"face_ids":["1973"]},{"id":"1858","vertex_ids":["1777","1778"],"face_ids":["1970"]},{"id":"1859","vertex_ids":["1778","1779"],"face_ids":["1967"]},{"id":"1860","vertex_ids":["1780","1756"],"face_ids":["1958"]},{"id":"1861","vertex_ids":["1756","1781"],"face_ids":["1958"]},{"id":"1862","vertex_ids":["1781","1782"],"face_ids":["1958","1959"]},{"id":"1863","vertex_ids":["1783","1784"],"face_ids":["1958","1960"]},{"id":"1864","vertex_ids":["1784","1780"],"face_ids":["1958","1961"]},{"id":"1865","vertex_ids":["1781","1757"],"face_ids":["1959"]},{"id":"1866","vertex_ids":["1758","1785"],"face_ids":["1959","1961"]},{"id":"1867","vertex_ids":["1785","1786"],"face_ids":["1959","1960"]},{"id":"1868","vertex_ids":["1786","1782"],"face_ids":["1959","1960"]},{"id":"1869","vertex_ids":["1785","1787"],"face_ids":["1960","1961"]},{"id":"1870","vertex_ids":["1787","1788"],"face_ids":["1960","1961"]},{"id":"1871","vertex_ids":["1788","1784"],"face_ids":["1960","1961"]},{"id":"1872","vertex_ids":["1782","1783"],"face_ids":["1958","1960"]},{"id":"1873","vertex_ids":["1780","1789"],"face_ids":["1961"]},{"id":"1874","vertex_ids":["1789","1790"],"face_ids":["1961","1962"]},{"id":"1875","vertex_ids":["1790","1758"],"face_ids":["1961"]},{"id":"1876","vertex_ids":["1759","1791"],"face_ids":["1963","1966"]},{"id":"1877","vertex_ids":["1791","1792"],"face_ids":["1963","1965"]},{"id":"1878","vertex_ids":["1792","1793"],"face_ids":["1963","1965"]},{"id":"1879","vertex_ids":["1793","1794"],"face_ids":["1963","1964"]},{"id":"1880","vertex_ids":["1794","1795"],"face_ids":["1962","1963"]},{"id":"1881","vertex_ids":["1795","1790"],"face_ids":["1962"]},{"id":"1882","vertex_ids":["1795","1759"],"face_ids":["1963"]},{"id":"1883","vertex_ids":["1796","1797"],"face_ids":["1964","1965"]},{"id":"1884","vertex_ids":["1797","1779"],"face_ids":["1964","1967"]},{"id":"1885","vertex_ids":["1796","1793"],"face_ids":["1964","1965"]},{"id":"1886","vertex_ids":["1789","1798"],"face_ids":["1962"]},{"id":"1887","vertex_ids":["1798","1794"],"face_ids":["1962","1964"]},{"id":"1888","vertex_ids":["1798","1779"],"face_ids":["1964"]},{"id":"1889","vertex_ids":["1791","1799"],"face_ids":["1965","1966"]},{"id":"1890","vertex_ids":["1800","1797"],"face_ids":["1965","1967"]},{"id":"1891","vertex_ids":["1760","1801"],"face_ids":["1966","1969"]},{"id":"1892","vertex_ids":["1801","1802"],"face_ids":["1966","1968"]},{"id":"1893","vertex_ids":["1802","1803"],"face_ids":["1966","1968"]},{"id":"1894","vertex_ids":["1803","1804"],"face_ids":["1966","1967"]},{"id":"1895","vertex_ids":["1804","1800"],"face_ids":["1965","1967"]},{"id":"1896","vertex_ids":["1799","1804"],"face_ids":["1965","1966"]},{"id":"1897","vertex_ids":["1805","1806"],"face_ids":["1968","1970"]},{"id":"1898","vertex_ids":["1806","1807"],"face_ids":["1967","1968"]},{"id":"1899","vertex_ids":["1807","1808"],"face_ids":["1967","1968"]},{"id":"1900","vertex_ids":["1808","1803"],"face_ids":["1967","1968"]},{"id":"1901","vertex_ids":["1801","1809"],"face_ids":["1968","1969"]},{"id":"1902","vertex_ids":["1810","1805"],"face_ids":["1968","1970"]},{"id":"1903","vertex_ids":["1761","1811"],"face_ids":["1969","1971"]},{"id":"1904","vertex_ids":["1811","1812"],"face_ids":["1969","1972"]},{"id":"1905","vertex_ids":["1812","1813"],"face_ids":["1969","1972"]},{"id":"1906","vertex_ids":["1813","1814"],"face_ids":["1969","1970"]},{"id":"1907","vertex_ids":["1814","1810"],"face_ids":["1968","1970"]},{"id":"1908","vertex_ids":["1809","1814"],"face_ids":["1968","1969"]},{"id":"1909","vertex_ids":["1806","1778"],"face_ids":["1967","1970"]},{"id":"1910","vertex_ids":["1815","1777"],"face_ids":["1970","1973"]},{"id":"1911","vertex_ids":["1813","1815"],"face_ids":["1970","1972"]},{"id":"1912","vertex_ids":["1816","1817"],"face_ids":["1971","1972"]},{"id":"1913","vertex_ids":["1817","1811"],"face_ids":["1971","1972"]},{"id":"1914","vertex_ids":["1816","1815"],"face_ids":["1972","1973"]},{"id":"1915","vertex_ids":["1816","1818"],"face_ids":["1971","1973"]},{"id":"1916","vertex_ids":["1818","1762"],"face_ids":["1971","1974"]},{"id":"1917","vertex_ids":["1776","1818"],"face_ids":["1973","1974"]},{"id":"1918","vertex_ids":["1819","1775"],"face_ids":["1974","1977"]},{"id":"1919","vertex_ids":["1763","1819"],"face_ids":["1974","1975"]},{"id":"1920","vertex_ids":["1821","1822"],"face_ids":["1976","1977"]},{"id":"1921","vertex_ids":["1822","1823"],"face_ids":["1976","1977"]},{"id":"1922","vertex_ids":["1823","1819"],"face_ids":["1975","1977"]},{"id":"1923","vertex_ids":["1764","1820"],"face_ids":["1975","1978"]},{"id":"1924","vertex_ids":["1824","1820"],"face_ids":["1975","1976"]},{"id":"1925","vertex_ids":["1823","1824"],"face_ids":["1975","1976"]},{"id":"1926","vertex_ids":["1821","1774"],"face_ids":["1977","1979"]},{"id":"1927","vertex_ids":["1826","1821"],"face_ids":["1976","1979"]},{"id":"1928","vertex_ids":["1826","1825"],"face_ids":["1976","1979"]},{"id":"1929","vertex_ids":["1825","1831"],"face_ids":["1976","1978"]},{"id":"1930","vertex_ids":["1831","1820"],"face_ids":["1976","1978"]},{"id":"1931","vertex_ids":["1825","1828"],"face_ids":["1978","1979"]},{"id":"1932","vertex_ids":["1828","1829"],"face_ids":["1978","1980"]},{"id":"1933","vertex_ids":["1829","1830"],"face_ids":["1978","1981"]},{"id":"1934","vertex_ids":["1830","1764"],"face_ids":["1978"]},{"id":"1935","vertex_ids":["1774","1773"],"face_ids":["1979"]},{"id":"1936","vertex_ids":["1773","1827"],"face_ids":["1979","1981"]},{"id":"1937","vertex_ids":["1827","1832"],"face_ids":["1979","1980"]},{"id":"1938","vertex_ids":["1832","1828"],"face_ids":["1979","1980"]},{"id":"1939","vertex_ids":["1835","1827"],"face_ids":["1980","1981"]},{"id":"1940","vertex_ids":["1833","1834"],"face_ids":["1980","1981"]},{"id":"1941","vertex_ids":["1834","1829"],"face_ids":["1980","1981"]},{"id":"1942","vertex_ids":["1835","1833"],"face_ids":["1980","1981"]},{"id":"1943","vertex_ids":["1765","1830"],"face_ids":["1981"]},{"id":"1944","vertex_ids":["1766","1771"],"face_ids":["1982","1983"]},{"id":"1945","vertex_ids":["1772","1765"],"face_ids":["1981","1982"]},{"id":"1946","vertex_ids":["1836","1837"],"face_ids":["1983","1984"]},{"id":"1947","vertex_ids":["1837","1838"],"face_ids":["1983","1984"]},{"id":"1948","vertex_ids":["1838","1839"],"face_ids":["1983","1984"]},{"id":"1949","vertex_ids":["1839","1770"],"face_ids":["1983","1986"]},{"id":"1950","vertex_ids":["1767","1836"],"face_ids":["1983","1985"]},{"id":"1951","vertex_ids":["1836","1840"],"face_ids":["1984","1985"]},{"id":"1952","vertex_ids":["1840","1841"],"face_ids":["1984","1986"]},{"id":"1953","vertex_ids":["1841","1839"],"face_ids":["1984","1986"]},{"id":"1954","vertex_ids":["1842","1840"],"face_ids":["1985","1986"]},{"id":"1955","vertex_ids":["1842","1768"],"face_ids":["1985"]},{"id":"1956","vertex_ids":["1769","1770"],"face_ids":["1986"]},{"id":"1957","vertex_ids":["1769","1842"],"face_ids":["1986"]}],"faces":[{"id":"1958","edge_ids":["1863","1872","1862","1861","1860","1864"],"edge_order":[0,0,0,0,0,0]},{"id":"1959","edge_ids":["1865","1843","1866","1867","1868","1862"],"edge_order":[1,1,1,1,1,0]},{"id":"1960","edge_ids":["1868","1872","1863","1871","1870","1869","1867"],"edge_order":[1,1,1,0,0,0,1]},{"id":"1961","edge_ids":["1873","1874","1875","1866","1869","1870","1871","1864"],"edge_order":[1,1,1,1,1,1,1,1]},{"id":"1962","edge_ids":["1880","1881","1874","1886","1887"],"edge_order":[1,1,0,1,1]},{"id":"1963","edge_ids":["1882","1876","1877","1878","1879","1880"],"edge_order":[1,1,1,1,1,1]},{"id":"1964","edge_ids":["1883","1885","1879","1887","1888","1884"],"edge_order":[0,1,1,0,1,0]},{"id":"1965","edge_ids":["1877","1889","1896","1895","1890","1883","1885","1878"],"edge_order":[0,1,1,1,1,0,1,0]},{"id":"1966","edge_ids":["1889","1896","1894","1893","1892","1891","1844","1876"],"edge_order":[1,1,0,0,0,0,0,1]},{"id":"1967","edge_ids":["1909","1898","1899","1900","1894","1895","1890","1884","1859"],"edge_order":[0,1,1,1,1,1,1,1,0]},{"id":"1968","edge_ids":["1898","1897","1902","1907","1908","1901","1892","1893","1900","1899"],"edge_order":[0,0,0,0,0,0,1,1,0,0]},{"id":"1969","edge_ids":["1906","1905","1904","1903","1845","1891","1901","1908"],"edge_order":[0,0,0,0,0,1,1,1]},{"id":"1970","edge_ids":["1909","1858","1910","1911","1906","1907","1902","1897"],"edge_order":[1,0,0,0,1,1,1,1]},{"id":"1971","edge_ids":["1912","1915","1916","1846","1903","1913"],"edge_order":[0,1,1,0,1,0]},{"id":"1972","edge_ids":["1914","1911","1905","1904","1913","1912"],"edge_order":[1,0,0,0,0,0]},{"id":"1973","edge_ids":["1917","1915","1914","1910","1857"],"edge_order":[1,0,1,1,0]},{"id":"1974","edge_ids":["1847","1919","1918","1856","1917","1916"],"edge_order":[1,1,1,1,1,1]},{"id":"1975","edge_ids":["1925","1924","1923","1848","1919","1922"],"edge_order":[1,1,0,0,1,0]},{"id":"1976","edge_ids":["1927","1928","1929","1930","1924","1925","1921","1920"],"edge_order":[0,1,1,1,0,0,0,0]},{"id":"1977","edge_ids":["1926","1920","1921","1922","1918","1855"],"edge_order":[0,1,1,1,1,0]},{"id":"1978","edge_ids":["1931","1932","1933","1934","1923","1930","1929"],"edge_order":[1,1,1,1,1,0,0]},{"id":"1979","edge_ids":["1936","1937","1938","1931","1928","1927","1926","1935"],"edge_order":[1,1,1,0,0,1,1,1]},{"id":"1980","edge_ids":["1932","1938","1937","1939","1942","1940","1941"],"edge_order":[0,0,0,0,1,1,1]},{"id":"1981","edge_ids":["1945","1943","1933","1941","1940","1942","1939","1936","1854"],"edge_order":[1,1,0,0,0,0,1,0,0]},{"id":"1982","edge_ids":["1945","1853","1944","1849"],"edge_order":[0,0,0,0]},{"id":"1983","edge_ids":["1850","1950","1946","1947","1948","1949","1852","1944"],"edge_order":[1,1,1,1,1,1,1,0]},{"id":"1984","edge_ids":["1946","1947","1948","1953","1952","1951"],"edge_order":[1,1,1,0,0,0]},{"id":"1985","edge_ids":["1950","1951","1954","1955","1851"],"edge_order":[1,1,0,1,0]},{"id":"1986","edge_ids":["1954","1952","1953","1949","1956","1957"],"edge_order":[1,1,1,1,0,1]}]},"spaces":[{"id":"1991","handle":null,"name":"Space 3-1","face_id":"1958","building_unit_id":null,"thermal_zone_id":"tz_31","space_type_id":"3044","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":5515.625},{"id":"1992","handle":null,"name":"Space 3-2","face_id":"1959","building_unit_id":null,"thermal_zone_id":"tz_32","space_type_id":"3044","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":7646.875},{"id":"1993","handle":null,"name":"Space 3-3","face_id":"1960","building_unit_id":null,"thermal_zone_id":"tz_33","space_type_id":"1755","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1165.625},{"id":"1994","handle":null,"name":"Space 3-4","face_id":"1961","building_unit_id":null,"thermal_zone_id":"tz_34","space_type_id":"3044","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":3540.625},{"id":"1995","handle":null,"name":"Space 3-5","face_id":"1962","building_unit_id":null,"thermal_zone_id":"tz_35","space_type_id":"1754","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":3590.9049499999996},{"id":"1996","handle":null,"name":"Space 3-6","face_id":"1963","building_unit_id":null,"thermal_zone_id":"tz_36","space_type_id":"3044","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1227.4536499999995},{"id":"1997","handle":null,"name":"Space 3-7","face_id":"1964","building_unit_id":null,"thermal_zone_id":"tz_37","space_type_id":"3044","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1450.428899999999},{"id":"1998","handle":null,"name":"Space 3-8","face_id":"1965","building_unit_id":null,"thermal_zone_id":"tz_38","space_type_id":"1755","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":878.125},{"id":"1999","handle":null,"name":"Space 3-9","face_id":"1966","building_unit_id":null,"thermal_zone_id":"tz_39","space_type_id":"3044","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":3825},{"id":"2000","handle":null,"name":"Space 3-10","face_id":"1967","building_unit_id":null,"thermal_zone_id":"tz_40","space_type_id":"3044","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":6743.762500000001},{"id":"2001","handle":null,"name":"Space 3-11","face_id":"1968","building_unit_id":null,"thermal_zone_id":"tz_41","space_type_id":"1755","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":803.1125000000006},{"id":"2002","handle":null,"name":"Space 3-12","face_id":"1969","building_unit_id":null,"thermal_zone_id":"tz_42","space_type_id":"3044","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":2331.25},{"id":"2003","handle":null,"name":"Space 3-13","face_id":"1970","building_unit_id":null,"thermal_zone_id":"tz_43","space_type_id":"3044","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":4190.625},{"id":"2004","handle":null,"name":"Space 3-14","face_id":"1971","building_unit_id":null,"thermal_zone_id":"tz_44","space_type_id":"3044","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1063.3500000000022},{"id":"2005","handle":null,"name":"Space 3-15","face_id":"1972","building_unit_id":null,"thermal_zone_id":"tz_45","space_type_id":"1755","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":690.625},{"id":"2006","handle":null,"name":"Space 3-16","face_id":"1973","building_unit_id":null,"thermal_zone_id":"tz_46","space_type_id":"3044","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1408.5},{"id":"2007","handle":null,"name":"Space 3-17","face_id":"1974","building_unit_id":null,"thermal_zone_id":"tz_47","space_type_id":"1754","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":3737.5249999999987},{"id":"2008","handle":null,"name":"Space 3-18","face_id":"1975","building_unit_id":null,"thermal_zone_id":"tz_48","space_type_id":"3046","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1158.125},{"id":"2009","handle":null,"name":"Space 3-19","face_id":"1976","building_unit_id":null,"thermal_zone_id":"tz_49","space_type_id":"1755","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":709.875},{"id":"2010","handle":null,"name":"Space 3-20","face_id":"1977","building_unit_id":null,"thermal_zone_id":"tz_50","space_type_id":"3046","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1288.75},{"id":"2011","handle":null,"name":"Space 3-21","face_id":"1978","building_unit_id":null,"thermal_zone_id":"tz_51","space_type_id":"3046","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":5324.675000000001},{"id":"2012","handle":null,"name":"Space 3-22","face_id":"1979","building_unit_id":null,"thermal_zone_id":"tz_52","space_type_id":"3046","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":6913.199999999997},{"id":"2013","handle":null,"name":"Space 3-23","face_id":"1980","building_unit_id":null,"thermal_zone_id":"tz_53","space_type_id":"1755","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":734.7319999999991},{"id":"2014","handle":null,"name":"Space 3-24","face_id":"1981","building_unit_id":null,"thermal_zone_id":"tz_54","space_type_id":"3046","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":2608.143},{"id":"2015","handle":null,"name":"Space 3-25","face_id":"1982","building_unit_id":null,"thermal_zone_id":"tz_55","space_type_id":"1754","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":3637.5},{"id":"2016","handle":null,"name":"Space 3-26","face_id":"1983","building_unit_id":null,"thermal_zone_id":"tz_56","space_type_id":"3046","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":2293.75},{"id":"2017","handle":null,"name":"Space 3-27","face_id":"1984","building_unit_id":null,"thermal_zone_id":"tz_57","space_type_id":"1755","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":556.25},{"id":"2018","handle":null,"name":"Space 3-28","face_id":"1985","building_unit_id":null,"thermal_zone_id":"tz_58","space_type_id":"3046","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":4665.625},{"id":"2019","handle":null,"name":"Space 3-29","face_id":"1986","building_unit_id":null,"thermal_zone_id":"tz_59","space_type_id":"3046","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":9109.375}],"shading":[],"windows":[],"doors":[],"construction_lines":[],"area":88809.4125},{"id":"2251","handle":null,"name":"Story 4","image_id":null,"below_floor_plenum_height":0,"floor_to_ceiling_height":15,"above_ceiling_plenum_height":0,"multiplier":1,"color":"#cc6677","geometry":{"id":"2252","vertices":[{"id":"2020","x":-72.5,"y":-85,"edge_ids":["2124","2125"]},{"id":"2021","x":0,"y":-65,"edge_ids":["2107","2129"]},{"id":"2022","x":92.5,"y":-200,"edge_ids":["2107","2130","2139"]},{"id":"2023","x":202.5,"y":-210,"edge_ids":["2108","2140","2146"]},{"id":"2024","x":280,"y":-135,"edge_ids":["2108","2109","2155"]},{"id":"2025","x":260,"y":-50,"edge_ids":["2109","2110","2167"]},{"id":"2026","x":280,"y":-7.5,"edge_ids":["2110","2111","2180"]},{"id":"2027","x":300,"y":37.5,"edge_ids":["2111","2112","2183"]},{"id":"2028","x":317.5,"y":75,"edge_ids":["2112","2187","2198"]},{"id":"2029","x":442.5,"y":182.5,"edge_ids":["2113","2207","2209"]},{"id":"2030","x":422.5,"y":227.5,"edge_ids":["2113","2114","2208"]},{"id":"2031","x":417.5,"y":237.5,"edge_ids":["2114","2115","2214"]},{"id":"2032","x":255,"y":237.5,"edge_ids":["2115","2219"]},{"id":"2033","x":255,"y":312.5,"edge_ids":["2220","2221"]},{"id":"2034","x":465,"y":312.5,"edge_ids":["2116","2213","2220"]},{"id":"2035","x":490,"y":257.5,"edge_ids":["2116","2117","2208"]},{"id":"2036","x":510,"y":212.5,"edge_ids":["2117","2118","2209"]},{"id":"2037","x":537.5,"y":150,"edge_ids":["2118","2199","2200"]},{"id":"2038","x":382.5,"y":32.5,"edge_ids":["2119","2190","2199"]},{"id":"2039","x":370,"y":2.5,"edge_ids":["2119","2120","2182"]},{"id":"2040","x":350,"y":-40,"edge_ids":["2120","2121","2181"]},{"id":"2041","x":337.5,"y":-65,"edge_ids":["2121","2122","2174"]},{"id":"2042","x":362.5,"y":-167.5,"edge_ids":["2122","2123","2173"]},{"id":"2043","x":240,"y":-287.5,"edge_ids":["2123","2148","2152"]},{"id":"2044","x":52.5,"y":-270,"edge_ids":["2124","2128","2137"]},{"id":"2045","x":-45,"y":-77.5,"edge_ids":["2125","2126","2129"]},{"id":"2046","x":55,"y":-222.5,"edge_ids":["2126","2132","2136"]},{"id":"2047","x":45,"y":-230,"edge_ids":["2127","2136"]},{"id":"2048","x":57.5,"y":-250,"edge_ids":["2127","2128","2135"]},{"id":"2049","x":80,"y":-222.5,"edge_ids":["2130","2131","2133"]},{"id":"2050","x":72.5,"y":-215,"edge_ids":["2131","2132"]},{"id":"2051","x":92.5,"y":-227.5,"edge_ids":["2133","2134"]},{"id":"2052","x":85,"y":-252.5,"edge_ids":["2134","2135"]},{"id":"2053","x":122.5,"y":-277.5,"edge_ids":["2137","2138","2150"]},{"id":"2054","x":130,"y":-205,"edge_ids":["2138","2139","2145"]},{"id":"2055","x":207.5,"y":-232.5,"edge_ids":["2140","2141","2153"]},{"id":"2056","x":200,"y":-235,"edge_ids":["2141","2142"]},{"id":"2057","x":200,"y":-255,"edge_ids":["2142","2143","2149"]},{"id":"2058","x":174.49,"y":-255,"edge_ids":["2143","2144","2151"]},{"id":"2059","x":177.45,"y":-208.27,"edge_ids":["2144","2145","2146"]},{"id":"2060","x":200,"y":-262.5,"edge_ids":["2147","2149"]},{"id":"2061","x":222.5,"y":-262.5,"edge_ids":["2147","2148","2154"]},{"id":"2062","x":172.8,"y":-281.78,"edge_ids":["2150","2151","2152"]},{"id":"2063","x":217.5,"y":-225,"edge_ids":["2153","2160"]},{"id":"2064","x":232.5,"y":-245,"edge_ids":["2154","2159"]},{"id":"2065","x":295,"y":-140,"edge_ids":["2155","2156","2165"]},{"id":"2066","x":290,"y":-155,"edge_ids":["2156","2157"]},{"id":"2067","x":300,"y":-165,"edge_ids":["2157","2158","2164"]},{"id":"2068","x":225,"y":-235,"edge_ids":["2158","2159","2160"]},{"id":"2069","x":317.5,"y":-140,"edge_ids":["2161","2166"]},{"id":"2070","x":320,"y":-157.5,"edge_ids":["2161","2162","2173"]},{"id":"2071","x":318.99,"y":-158.34,"edge_ids":["2162","2163"]},{"id":"2072","x":305,"y":-170,"edge_ids":["2163","2164"]},{"id":"2073","x":295,"y":-132.5,"edge_ids":["2165","2172"]},{"id":"2074","x":317.5,"y":-132.5,"edge_ids":["2166","2171"]},{"id":"2075","x":277.5,"y":-50,"edge_ids":["2167","2168","2177"]},{"id":"2076","x":282.5,"y":-70,"edge_ids":["2168","2169"]},{"id":"2077","x":297.5,"y":-70,"edge_ids":["2169","2170","2175"]},{"id":"2078","x":307.5,"y":-132.5,"edge_ids":["2170","2171","2172"]},{"id":"2079","x":305,"y":-60,"edge_ids":["2174","2175","2178"]},{"id":"2080","x":300,"y":-40,"edge_ids":["2176","2178","2179"]},{"id":"2081","x":282.5,"y":-37.5,"edge_ids":["2176","2177"]},{"id":"2082","x":309.42,"y":-21.16,"edge_ids":["2179","2180","2181"]},{"id":"2083","x":330,"y":22.5,"edge_ids":["2182","2183","2186"]},{"id":"2084","x":335,"y":65,"edge_ids":["2187","2188","2194"]},{"id":"2085","x":360,"y":45,"edge_ids":["2184","2190","2191"]},{"id":"2086","x":347.5,"y":37.5,"edge_ids":["2184","2185"]},{"id":"2087","x":339.5,"y":41.5,"edge_ids":["2185","2186","2189"]},{"id":"2088","x":330,"y":52.5,"edge_ids":["2188","2189"]},{"id":"2089","x":360,"y":62.08,"edge_ids":["2192","2193","2195"]},{"id":"2090","x":362.5,"y":60,"edge_ids":["2191","2192"]},{"id":"2091","x":498.4,"y":161.5,"edge_ids":["2200","2201","2203"]},{"id":"2092","x":467.5,"y":147.5,"edge_ids":["2195","2196","2202"]},{"id":"2093","x":467.5,"y":167.5,"edge_ids":["2196","2197","2205"]},{"id":"2094","x":447.5,"y":172.5,"edge_ids":["2197","2198","2207"]},{"id":"2095","x":350,"y":70,"edge_ids":["2193","2194"]},{"id":"2096","x":487.5,"y":145,"edge_ids":["2201","2202"]},{"id":"2097","x":492.5,"y":175,"edge_ids":["2204","2206"]},{"id":"2098","x":477.5,"y":175,"edge_ids":["2204","2205"]},{"id":"2099","x":492.93,"y":174.01,"edge_ids":["2203","2206"]},{"id":"2100","x":430,"y":255,"edge_ids":["2210","2214","2215"]},{"id":"2101","x":442.5,"y":255,"edge_ids":["2210","2211"]},{"id":"2102","x":452.5,"y":270,"edge_ids":["2211","2212"]},{"id":"2103","x":447.5,"y":280,"edge_ids":["2212","2213","2217"]},{"id":"2104","x":422.5,"y":265,"edge_ids":["2215","2216","2218"]},{"id":"2105","x":430,"y":280,"edge_ids":["2216","2217"]},{"id":"2106","x":255,"y":265,"edge_ids":["2218","2219","2221"]}],"edges":[{"id":"2107","vertex_ids":["2021","2022"],"face_ids":["2223"]},{"id":"2108","vertex_ids":["2023","2024"],"face_ids":["2230"]},{"id":"2109","vertex_ids":["2024","2025"],"face_ids":["2233"]},{"id":"2110","vertex_ids":["2025","2026"],"face_ids":["2235"]},{"id":"2111","vertex_ids":["2026","2027"],"face_ids":["2238"]},{"id":"2112","vertex_ids":["2027","2028"],"face_ids":["2239"]},{"id":"2113","vertex_ids":["2029","2030"],"face_ids":["2246"]},{"id":"2114","vertex_ids":["2030","2031"],"face_ids":["2247"]},{"id":"2115","vertex_ids":["2031","2032"],"face_ids":["2249"]},{"id":"2116","vertex_ids":["2034","2035"],"face_ids":["2247"]},{"id":"2117","vertex_ids":["2035","2036"],"face_ids":["2246"]},{"id":"2118","vertex_ids":["2036","2037"],"face_ids":["2245"]},{"id":"2119","vertex_ids":["2038","2039"],"face_ids":["2241"]},{"id":"2120","vertex_ids":["2039","2040"],"face_ids":["2238"]},{"id":"2121","vertex_ids":["2040","2041"],"face_ids":["2237"]},{"id":"2122","vertex_ids":["2041","2042"],"face_ids":["2234"]},{"id":"2123","vertex_ids":["2042","2043"],"face_ids":["2231"]},{"id":"2124","vertex_ids":["2044","2020"],"face_ids":["2222"]},{"id":"2125","vertex_ids":["2020","2045"],"face_ids":["2222"]},{"id":"2126","vertex_ids":["2045","2046"],"face_ids":["2222","2223"]},{"id":"2127","vertex_ids":["2047","2048"],"face_ids":["2222","2224"]},{"id":"2128","vertex_ids":["2048","2044"],"face_ids":["2222","2225"]},{"id":"2129","vertex_ids":["2045","2021"],"face_ids":["2223"]},{"id":"2130","vertex_ids":["2022","2049"],"face_ids":["2223","2225"]},{"id":"2131","vertex_ids":["2049","2050"],"face_ids":["2223","2224"]},{"id":"2132","vertex_ids":["2050","2046"],"face_ids":["2223","2224"]},{"id":"2133","vertex_ids":["2049","2051"],"face_ids":["2224","2225"]},{"id":"2134","vertex_ids":["2051","2052"],"face_ids":["2224","2225"]},{"id":"2135","vertex_ids":["2052","2048"],"face_ids":["2224","2225"]},{"id":"2136","vertex_ids":["2046","2047"],"face_ids":["2222","2224"]},{"id":"2137","vertex_ids":["2044","2053"],"face_ids":["2225"]},{"id":"2138","vertex_ids":["2053","2054"],"face_ids":["2225","2226"]},{"id":"2139","vertex_ids":["2054","2022"],"face_ids":["2225"]},{"id":"2140","vertex_ids":["2023","2055"],"face_ids":["2227","2230"]},{"id":"2141","vertex_ids":["2055","2056"],"face_ids":["2227","2229"]},{"id":"2142","vertex_ids":["2056","2057"],"face_ids":["2227","2229"]},{"id":"2143","vertex_ids":["2057","2058"],"face_ids":["2227","2228"]},{"id":"2144","vertex_ids":["2058","2059"],"face_ids":["2226","2227"]},{"id":"2145","vertex_ids":["2059","2054"],"face_ids":["2226"]},{"id":"2146","vertex_ids":["2059","2023"],"face_ids":["2227"]},{"id":"2147","vertex_ids":["2060","2061"],"face_ids":["2228","2229"]},{"id":"2148","vertex_ids":["2061","2043"],"face_ids":["2228","2231"]},{"id":"2149","vertex_ids":["2060","2057"],"face_ids":["2228","2229"]},{"id":"2150","vertex_ids":["2053","2062"],"face_ids":["2226"]},{"id":"2151","vertex_ids":["2062","2058"],"face_ids":["2226","2228"]},{"id":"2152","vertex_ids":["2062","2043"],"face_ids":["2228"]},{"id":"2153","vertex_ids":["2055","2063"],"face_ids":["2229","2230"]},{"id":"2154","vertex_ids":["2064","2061"],"face_ids":["2229","2231"]},{"id":"2155","vertex_ids":["2024","2065"],"face_ids":["2230","2233"]},{"id":"2156","vertex_ids":["2065","2066"],"face_ids":["2230","2232"]},{"id":"2157","vertex_ids":["2066","2067"],"face_ids":["2230","2232"]},{"id":"2158","vertex_ids":["2067","2068"],"face_ids":["2230","2231"]},{"id":"2159","vertex_ids":["2068","2064"],"face_ids":["2229","2231"]},{"id":"2160","vertex_ids":["2063","2068"],"face_ids":["2229","2230"]},{"id":"2161","vertex_ids":["2069","2070"],"face_ids":["2232","2234"]},{"id":"2162","vertex_ids":["2070","2071"],"face_ids":["2231","2232"]},{"id":"2163","vertex_ids":["2071","2072"],"face_ids":["2231","2232"]},{"id":"2164","vertex_ids":["2072","2067"],"face_ids":["2231","2232"]},{"id":"2165","vertex_ids":["2065","2073"],"face_ids":["2232","2233"]},{"id":"2166","vertex_ids":["2074","2069"],"face_ids":["2232","2234"]},{"id":"2167","vertex_ids":["2025","2075"],"face_ids":["2233","2235"]},{"id":"2168","vertex_ids":["2075","2076"],"face_ids":["2233","2236"]},{"id":"2169","vertex_ids":["2076","2077"],"face_ids":["2233","2236"]},{"id":"2170","vertex_ids":["2077","2078"],"face_ids":["2233","2234"]},{"id":"2171","vertex_ids":["2078","2074"],"face_ids":["2232","2234"]},{"id":"2172","vertex_ids":["2073","2078"],"face_ids":["2232","2233"]},{"id":"2173","vertex_ids":["2070","2042"],"face_ids":["2231","2234"]},{"id":"2174","vertex_ids":["2079","2041"],"face_ids":["2234","2237"]},{"id":"2175","vertex_ids":["2077","2079"],"face_ids":["2234","2236"]},{"id":"2176","vertex_ids":["2080","2081"],"face_ids":["2235","2236"]},{"id":"2177","vertex_ids":["2081","2075"],"face_ids":["2235","2236"]},{"id":"2178","vertex_ids":["2080","2079"],"face_ids":["2236","2237"]},{"id":"2179","vertex_ids":["2080","2082"],"face_ids":["2235","2237"]},{"id":"2180","vertex_ids":["2082","2026"],"face_ids":["2235","2238"]},{"id":"2181","vertex_ids":["2040","2082"],"face_ids":["2237","2238"]},{"id":"2182","vertex_ids":["2083","2039"],"face_ids":["2238","2241"]},{"id":"2183","vertex_ids":["2027","2083"],"face_ids":["2238","2239"]},{"id":"2184","vertex_ids":["2085","2086"],"face_ids":["2240","2241"]},{"id":"2185","vertex_ids":["2086","2087"],"face_ids":["2240","2241"]},{"id":"2186","vertex_ids":["2087","2083"],"face_ids":["2239","2241"]},{"id":"2187","vertex_ids":["2028","2084"],"face_ids":["2239","2242"]},{"id":"2188","vertex_ids":["2088","2084"],"face_ids":["2239","2240"]},{"id":"2189","vertex_ids":["2087","2088"],"face_ids":["2239","2240"]},{"id":"2190","vertex_ids":["2085","2038"],"face_ids":["2241","2243"]},{"id":"2191","vertex_ids":["2090","2085"],"face_ids":["2240","2243"]},{"id":"2192","vertex_ids":["2090","2089"],"face_ids":["2240","2243"]},{"id":"2193","vertex_ids":["2089","2095"],"face_ids":["2240","2242"]},{"id":"2194","vertex_ids":["2095","2084"],"face_ids":["2240","2242"]},{"id":"2195","vertex_ids":["2089","2092"],"face_ids":["2242","2243"]},{"id":"2196","vertex_ids":["2092","2093"],"face_ids":["2242","2244"]},{"id":"2197","vertex_ids":["2093","2094"],"face_ids":["2242","2245"]},{"id":"2198","vertex_ids":["2094","2028"],"face_ids":["2242"]},{"id":"2199","vertex_ids":["2038","2037"],"face_ids":["2243"]},{"id":"2200","vertex_ids":["2037","2091"],"face_ids":["2243","2245"]},{"id":"2201","vertex_ids":["2091","2096"],"face_ids":["2243","2244"]},{"id":"2202","vertex_ids":["2096","2092"],"face_ids":["2243","2244"]},{"id":"2203","vertex_ids":["2099","2091"],"face_ids":["2244","2245"]},{"id":"2204","vertex_ids":["2097","2098"],"face_ids":["2244","2245"]},{"id":"2205","vertex_ids":["2098","2093"],"face_ids":["2244","2245"]},{"id":"2206","vertex_ids":["2099","2097"],"face_ids":["2244","2245"]},{"id":"2207","vertex_ids":["2029","2094"],"face_ids":["2245"]},{"id":"2208","vertex_ids":["2030","2035"],"face_ids":["2246","2247"]},{"id":"2209","vertex_ids":["2036","2029"],"face_ids":["2245","2246"]},{"id":"2210","vertex_ids":["2100","2101"],"face_ids":["2247","2248"]},{"id":"2211","vertex_ids":["2101","2102"],"face_ids":["2247","2248"]},{"id":"2212","vertex_ids":["2102","2103"],"face_ids":["2247","2248"]},{"id":"2213","vertex_ids":["2103","2034"],"face_ids":["2247","2250"]},{"id":"2214","vertex_ids":["2031","2100"],"face_ids":["2247","2249"]},{"id":"2215","vertex_ids":["2100","2104"],"face_ids":["2248","2249"]},{"id":"2216","vertex_ids":["2104","2105"],"face_ids":["2248","2250"]},{"id":"2217","vertex_ids":["2105","2103"],"face_ids":["2248","2250"]},{"id":"2218","vertex_ids":["2106","2104"],"face_ids":["2249","2250"]},{"id":"2219","vertex_ids":["2106","2032"],"face_ids":["2249"]},{"id":"2220","vertex_ids":["2033","2034"],"face_ids":["2250"]},{"id":"2221","vertex_ids":["2033","2106"],"face_ids":["2250"]}],"faces":[{"id":"2222","edge_ids":["2127","2136","2126","2125","2124","2128"],"edge_order":[0,0,0,0,0,0]},{"id":"2223","edge_ids":["2129","2107","2130","2131","2132","2126"],"edge_order":[1,1,1,1,1,0]},{"id":"2224","edge_ids":["2132","2136","2127","2135","2134","2133","2131"],"edge_order":[1,1,1,0,0,0,1]},{"id":"2225","edge_ids":["2137","2138","2139","2130","2133","2134","2135","2128"],"edge_order":[1,1,1,1,1,1,1,1]},{"id":"2226","edge_ids":["2144","2145","2138","2150","2151"],"edge_order":[1,1,0,1,1]},{"id":"2227","edge_ids":["2146","2140","2141","2142","2143","2144"],"edge_order":[1,1,1,1,1,1]},{"id":"2228","edge_ids":["2147","2149","2143","2151","2152","2148"],"edge_order":[0,1,1,0,1,0]},{"id":"2229","edge_ids":["2141","2153","2160","2159","2154","2147","2149","2142"],"edge_order":[0,1,1,1,1,0,1,0]},{"id":"2230","edge_ids":["2153","2160","2158","2157","2156","2155","2108","2140"],"edge_order":[1,1,0,0,0,0,0,1]},{"id":"2231","edge_ids":["2173","2162","2163","2164","2158","2159","2154","2148","2123"],"edge_order":[0,1,1,1,1,1,1,1,0]},{"id":"2232","edge_ids":["2162","2161","2166","2171","2172","2165","2156","2157","2164","2163"],"edge_order":[0,0,0,0,0,0,1,1,0,0]},{"id":"2233","edge_ids":["2170","2169","2168","2167","2109","2155","2165","2172"],"edge_order":[0,0,0,0,0,1,1,1]},{"id":"2234","edge_ids":["2173","2122","2174","2175","2170","2171","2166","2161"],"edge_order":[1,0,0,0,1,1,1,1]},{"id":"2235","edge_ids":["2176","2179","2180","2110","2167","2177"],"edge_order":[0,1,1,0,1,0]},{"id":"2236","edge_ids":["2178","2175","2169","2168","2177","2176"],"edge_order":[1,0,0,0,0,0]},{"id":"2237","edge_ids":["2181","2179","2178","2174","2121"],"edge_order":[1,0,1,1,0]},{"id":"2238","edge_ids":["2111","2183","2182","2120","2181","2180"],"edge_order":[1,1,1,1,1,1]},{"id":"2239","edge_ids":["2189","2188","2187","2112","2183","2186"],"edge_order":[1,1,0,0,1,0]},{"id":"2240","edge_ids":["2191","2192","2193","2194","2188","2189","2185","2184"],"edge_order":[0,1,1,1,0,0,0,0]},{"id":"2241","edge_ids":["2190","2184","2185","2186","2182","2119"],"edge_order":[0,1,1,1,1,0]},{"id":"2242","edge_ids":["2195","2196","2197","2198","2187","2194","2193"],"edge_order":[1,1,1,1,1,0,0]},{"id":"2243","edge_ids":["2200","2201","2202","2195","2192","2191","2190","2199"],"edge_order":[1,1,1,0,0,1,1,1]},{"id":"2244","edge_ids":["2196","2202","2201","2203","2206","2204","2205"],"edge_order":[0,0,0,0,1,1,1]},{"id":"2245","edge_ids":["2209","2207","2197","2205","2204","2206","2203","2200","2118"],"edge_order":[1,1,0,0,0,0,1,0,0]},{"id":"2246","edge_ids":["2209","2117","2208","2113"],"edge_order":[0,0,0,0]},{"id":"2247","edge_ids":["2114","2214","2210","2211","2212","2213","2116","2208"],"edge_order":[1,1,1,1,1,1,1,0]},{"id":"2248","edge_ids":["2210","2211","2212","2217","2216","2215"],"edge_order":[1,1,1,0,0,0]},{"id":"2249","edge_ids":["2214","2215","2218","2219","2115"],"edge_order":[1,1,0,1,0]},{"id":"2250","edge_ids":["2218","2216","2217","2213","2220","2221"],"edge_order":[1,1,1,1,0,1]}]},"spaces":[{"id":"2255","handle":null,"name":"Space 4-1","face_id":"2222","building_unit_id":null,"thermal_zone_id":"tz_60","space_type_id":"3044","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":5515.625},{"id":"2256","handle":null,"name":"Space 4-2","face_id":"2223","building_unit_id":null,"thermal_zone_id":"tz_61","space_type_id":"3044","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":7646.875},{"id":"2257","handle":null,"name":"Space 4-3","face_id":"2224","building_unit_id":null,"thermal_zone_id":"tz_62","space_type_id":"1755","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1165.625},{"id":"2258","handle":null,"name":"Space 4-4","face_id":"2225","building_unit_id":null,"thermal_zone_id":"tz_63","space_type_id":"3044","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":3540.625},{"id":"2259","handle":null,"name":"Space 4-5","face_id":"2226","building_unit_id":null,"thermal_zone_id":"tz_64","space_type_id":"1754","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":3590.9049499999996},{"id":"2260","handle":null,"name":"Space 4-6","face_id":"2227","building_unit_id":null,"thermal_zone_id":"tz_65","space_type_id":"3044","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1227.4536499999995},{"id":"2261","handle":null,"name":"Space 4-7","face_id":"2228","building_unit_id":null,"thermal_zone_id":"tz_66","space_type_id":"3044","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1450.428899999999},{"id":"2262","handle":null,"name":"Space 4-8","face_id":"2229","building_unit_id":null,"thermal_zone_id":"tz_67","space_type_id":"1755","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":878.125},{"id":"2263","handle":null,"name":"Space 4-9","face_id":"2230","building_unit_id":null,"thermal_zone_id":"tz_68","space_type_id":"3044","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":3825},{"id":"2264","handle":null,"name":"Space 4-10","face_id":"2231","building_unit_id":null,"thermal_zone_id":"tz_69","space_type_id":"3044","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":6743.762500000001},{"id":"2265","handle":null,"name":"Space 4-11","face_id":"2232","building_unit_id":null,"thermal_zone_id":"tz_70","space_type_id":"1755","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":803.1125000000006},{"id":"2266","handle":null,"name":"Space 4-12","face_id":"2233","building_unit_id":null,"thermal_zone_id":"tz_71","space_type_id":"3044","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":2331.25},{"id":"2267","handle":null,"name":"Space 4-13","face_id":"2234","building_unit_id":null,"thermal_zone_id":"tz_72","space_type_id":"3044","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":4190.625},{"id":"2268","handle":null,"name":"Space 4-14","face_id":"2235","building_unit_id":null,"thermal_zone_id":"tz_73","space_type_id":"3044","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1063.3500000000022},{"id":"2269","handle":null,"name":"Space 4-15","face_id":"2236","building_unit_id":null,"thermal_zone_id":"tz_74","space_type_id":"1755","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":690.625},{"id":"2270","handle":null,"name":"Space 4-16","face_id":"2237","building_unit_id":null,"thermal_zone_id":"tz_75","space_type_id":"3044","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1408.5},{"id":"2271","handle":null,"name":"Space 4-17","face_id":"2238","building_unit_id":null,"thermal_zone_id":"tz_76","space_type_id":"1754","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":3737.5249999999987},{"id":"2272","handle":null,"name":"Space 4-18","face_id":"2239","building_unit_id":null,"thermal_zone_id":"tz_77","space_type_id":"3046","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1158.125},{"id":"2273","handle":null,"name":"Space 4-19","face_id":"2240","building_unit_id":null,"thermal_zone_id":"tz_78","space_type_id":"1755","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":709.875},{"id":"2274","handle":null,"name":"Space 4-20","face_id":"2241","building_unit_id":null,"thermal_zone_id":"tz_79","space_type_id":"3046","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":1288.75},{"id":"2275","handle":null,"name":"Space 4-21","face_id":"2242","building_unit_id":null,"thermal_zone_id":"tz_80","space_type_id":"3046","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":5324.675000000001},{"id":"2276","handle":null,"name":"Space 4-22","face_id":"2243","building_unit_id":null,"thermal_zone_id":"tz_81","space_type_id":"3046","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":6913.199999999997},{"id":"2277","handle":null,"name":"Space 4-23","face_id":"2244","building_unit_id":null,"thermal_zone_id":"tz_82","space_type_id":"1755","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":734.7319999999991},{"id":"2278","handle":null,"name":"Space 4-24","face_id":"2245","building_unit_id":null,"thermal_zone_id":"tz_83","space_type_id":"3046","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":2608.143},{"id":"2279","handle":null,"name":"Space 4-25","face_id":"2246","building_unit_id":null,"thermal_zone_id":"tz_84","space_type_id":"1754","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":3637.5},{"id":"2280","handle":null,"name":"Space 4-26","face_id":"2247","building_unit_id":null,"thermal_zone_id":"tz_85","space_type_id":"3046","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":2293.75},{"id":"2281","handle":null,"name":"Space 4-27","face_id":"2248","building_unit_id":null,"thermal_zone_id":"tz_86","space_type_id":"1755","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":556.25},{"id":"2282","handle":null,"name":"Space 4-28","face_id":"2249","building_unit_id":null,"thermal_zone_id":"tz_87","space_type_id":"3046","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":4665.625},{"id":"2283","handle":null,"name":"Space 4-29","face_id":"2250","building_unit_id":null,"thermal_zone_id":"tz_88","space_type_id":"3046","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":9109.375}],"shading":[],"windows":[],"doors":[],"construction_lines":[],"area":88809.4125},{"id":"2284","handle":null,"name":"Story 5","image_id":"13","below_floor_plenum_height":0,"floor_to_ceiling_height":15,"above_ceiling_plenum_height":0,"multiplier":1,"color":"#882255","geometry":{"id":"2285","vertices":[{"id":"2288","x":202.5,"y":-210,"edge_ids":["2310","2331"]},{"id":"2289","x":240,"y":-287.5,"edge_ids":["2310","2311"]},{"id":"2290","x":362.5,"y":-167.5,"edge_ids":["2311","2312","2379"]},{"id":"2291","x":337.5,"y":-65,"edge_ids":["2312","2313","2434"]},{"id":"2292","x":350,"y":-40,"edge_ids":["2313","2314","2457"]},{"id":"2293","x":370,"y":2.5,"edge_ids":["2314","2315","2461"]},{"id":"2294","x":382.5,"y":32.5,"edge_ids":["2315","2316","2485"]},{"id":"2295","x":537.5,"y":150,"edge_ids":["2316","2317","2524"]},{"id":"2296","x":510,"y":212.5,"edge_ids":["2317","2318","2543"]},{"id":"2297","x":490,"y":257.5,"edge_ids":["2318","2319","2548"]},{"id":"2298","x":465,"y":312.5,"edge_ids":["2319","2567","2355"]},{"id":"2301","x":417.5,"y":237.5,"edge_ids":["2323","2357","2568"]},{"id":"2302","x":422.5,"y":227.5,"edge_ids":["2323","2324","2548"]},{"id":"2303","x":442.5,"y":182.5,"edge_ids":["2324","2325","2543"]},{"id":"2304","x":447.5,"y":172.5,"edge_ids":["2325","2326","2510"]},{"id":"2305","x":317.5,"y":75,"edge_ids":["2326","2327","2480"]},{"id":"2306","x":300,"y":37.5,"edge_ids":["2327","2328","2461"]},{"id":"2307","x":280,"y":-7.5,"edge_ids":["2328","2329","2457"]},{"id":"2308","x":260,"y":-50,"edge_ids":["2329","2330","2424"]},{"id":"2309","x":280,"y":-135,"edge_ids":["2330","2331","2380"]},{"id":"2353","x":272.5,"y":312.5,"edge_ids":["2355","2587"]},{"id":"2354","x":272.5,"y":237.5,"edge_ids":["2357","2585"]},{"id":"2375","x":320,"y":-157.5,"edge_ids":["2379","2383","2398"]},{"id":"2376","x":295,"y":-140,"edge_ids":["2380","2396","2401"]},{"id":"2377","x":300,"y":-165,"edge_ids":["2382","2403"]},{"id":"2378","x":305,"y":-170,"edge_ids":["2382","2383"]},{"id":"2394","x":295,"y":-132.5,"edge_ids":["2396","2417"]},{"id":"2395","x":317.5,"y":-132.5,"edge_ids":["2398","2427"]},{"id":"2399","x":290,"y":-155,"edge_ids":["2401","2403"]},{"id":"2421","x":277.5,"y":-50,"edge_ids":["2424","2448","2453"]},{"id":"2422","x":297.5,"y":-70,"edge_ids":["2426","2435","2452"]},{"id":"2423","x":307.5,"y":-132.5,"edge_ids":["2426","2427","2417"]},{"id":"2433","x":305,"y":-60,"edge_ids":["2434","2435","2450"]},{"id":"2446","x":282.5,"y":-37.5,"edge_ids":["2448","2449"]},{"id":"2447","x":300,"y":-40,"edge_ids":["2449","2450"]},{"id":"2451","x":282.5,"y":-70,"edge_ids":["2452","2453"]},{"id":"2475","x":335,"y":65,"edge_ids":["2480","2481","2495"]},{"id":"2476","x":330,"y":52.5,"edge_ids":["2481","2482"]},{"id":"2477","x":339.5,"y":41.5,"edge_ids":["2482","2483"]},{"id":"2478","x":347.5,"y":37.5,"edge_ids":["2483","2484"]},{"id":"2479","x":360,"y":45,"edge_ids":["2484","2485","2497"]},{"id":"2493","x":350,"y":70,"edge_ids":["2495","2513"]},{"id":"2494","x":362.5,"y":60,"edge_ids":["2497","2515"]},{"id":"2507","x":467.5,"y":167.5,"edge_ids":["2510","2511","2536"]},{"id":"2508","x":467.5,"y":147.5,"edge_ids":["2511","2512","2525"]},{"id":"2509","x":360,"y":62.08,"edge_ids":["2512","2513","2515"]},{"id":"2522","x":498.4,"y":161.5,"edge_ids":["2524","2526","2544"]},{"id":"2523","x":487.5,"y":145,"edge_ids":["2525","2526"]},{"id":"2534","x":477.5,"y":175,"edge_ids":["2536","2544"]},{"id":"2560","x":430,"y":255,"edge_ids":["2564","2568","2578"]},{"id":"2561","x":442.5,"y":255,"edge_ids":["2564","2565"]},{"id":"2562","x":452.5,"y":270,"edge_ids":["2565","2566"]},{"id":"2563","x":447.5,"y":280,"edge_ids":["2566","2567","2580"]},{"id":"2576","x":422.5,"y":265,"edge_ids":["2578","2579","2588"]},{"id":"2577","x":430,"y":280,"edge_ids":["2579","2580"]},{"id":"2586","x":272.5,"y":265,"edge_ids":["2588","2585","2587"]}],"edges":[{"id":"2310","vertex_ids":["2288","2289"],"face_ids":["2384"]},{"id":"2311","vertex_ids":["2289","2290"],"face_ids":["2384"]},{"id":"2312","vertex_ids":["2290","2291"],"face_ids":["2436"]},{"id":"2313","vertex_ids":["2291","2292"],"face_ids":["2458"]},{"id":"2314","vertex_ids":["2292","2293"],"face_ids":["2462"]},{"id":"2315","vertex_ids":["2293","2294"],"face_ids":["2486"]},{"id":"2316","vertex_ids":["2294","2295"],"face_ids":["2527"]},{"id":"2317","vertex_ids":["2295","2296"],"face_ids":["2545"]},{"id":"2318","vertex_ids":["2296","2297"],"face_ids":["2549"]},{"id":"2319","vertex_ids":["2297","2298"],"face_ids":["2569"]},{"id":"2323","vertex_ids":["2301","2302"],"face_ids":["2569"]},{"id":"2324","vertex_ids":["2302","2303"],"face_ids":["2549"]},{"id":"2325","vertex_ids":["2303","2304"],"face_ids":["2545"]},{"id":"2326","vertex_ids":["2304","2305"],"face_ids":["2514"]},{"id":"2327","vertex_ids":["2305","2306"],"face_ids":["2486"]},{"id":"2328","vertex_ids":["2306","2307"],"face_ids":["2462"]},{"id":"2329","vertex_ids":["2307","2308"],"face_ids":["2458"]},{"id":"2330","vertex_ids":["2308","2309"],"face_ids":["2428"]},{"id":"2331","vertex_ids":["2309","2288"],"face_ids":["2384"]},{"id":"2357","vertex_ids":["2354","2301"],"face_ids":["2589"]},{"id":"2379","vertex_ids":["2375","2290"],"face_ids":["2384","2436"]},{"id":"2380","vertex_ids":["2309","2376"],"face_ids":["2384","2428"]},{"id":"2382","vertex_ids":["2377","2378"],"face_ids":["2384","2402"]},{"id":"2383","vertex_ids":["2378","2375"],"face_ids":["2384","2402"]},{"id":"2396","vertex_ids":["2376","2394"],"face_ids":["2402","2428"]},{"id":"2398","vertex_ids":["2395","2375"],"face_ids":["2402","2436"]},{"id":"2401","vertex_ids":["2399","2376"],"face_ids":["2384","2402"]},{"id":"2403","vertex_ids":["2377","2399"],"face_ids":["2384","2402"]},{"id":"2424","vertex_ids":["2308","2421"],"face_ids":["2428","2458"]},{"id":"2426","vertex_ids":["2422","2423"],"face_ids":["2428","2436"]},{"id":"2427","vertex_ids":["2423","2395"],"face_ids":["2402","2436"]},{"id":"2417","vertex_ids":["2394","2423"],"face_ids":["2402","2428"]},{"id":"2434","vertex_ids":["2433","2291"],"face_ids":["2436","2458"]},{"id":"2435","vertex_ids":["2422","2433"],"face_ids":["2436","2454"]},{"id":"2448","vertex_ids":["2421","2446"],"face_ids":["2454","2458"]},{"id":"2449","vertex_ids":["2446","2447"],"face_ids":["2454","2458"]},{"id":"2450","vertex_ids":["2447","2433"],"face_ids":["2454","2458"]},{"id":"2452","vertex_ids":["2422","2451"],"face_ids":["2428","2454"]},{"id":"2453","vertex_ids":["2451","2421"],"face_ids":["2428","2454"]},{"id":"2457","vertex_ids":["2307","2292"],"face_ids":["2458","2462"]},{"id":"2461","vertex_ids":["2306","2293"],"face_ids":["2462","2486"]},{"id":"2480","vertex_ids":["2305","2475"],"face_ids":["2486","2514"]},{"id":"2481","vertex_ids":["2475","2476"],"face_ids":["2486","2498"]},{"id":"2482","vertex_ids":["2476","2477"],"face_ids":["2486","2498"]},{"id":"2483","vertex_ids":["2477","2478"],"face_ids":["2486","2498"]},{"id":"2484","vertex_ids":["2478","2479"],"face_ids":["2486","2498"]},{"id":"2485","vertex_ids":["2479","2294"],"face_ids":["2486","2527"]},{"id":"2495","vertex_ids":["2475","2493"],"face_ids":["2498","2514"]},{"id":"2497","vertex_ids":["2494","2479"],"face_ids":["2498","2527"]},{"id":"2510","vertex_ids":["2304","2507"],"face_ids":["2514","2545"]},{"id":"2511","vertex_ids":["2507","2508"],"face_ids":["2514","2539"]},{"id":"2512","vertex_ids":["2508","2509"],"face_ids":["2514","2527"]},{"id":"2513","vertex_ids":["2509","2493"],"face_ids":["2498","2514"]},{"id":"2515","vertex_ids":["2509","2494"],"face_ids":["2498","2527"]},{"id":"2524","vertex_ids":["2522","2295"],"face_ids":["2527","2545"]},{"id":"2525","vertex_ids":["2508","2523"],"face_ids":["2527","2539"]},{"id":"2526","vertex_ids":["2523","2522"],"face_ids":["2527","2539"]},{"id":"2536","vertex_ids":["2507","2534"],"face_ids":["2539","2545"]},{"id":"2543","vertex_ids":["2303","2296"],"face_ids":["2545","2549"]},{"id":"2544","vertex_ids":["2522","2534"],"face_ids":["2539","2545"]},{"id":"2548","vertex_ids":["2302","2297"],"face_ids":["2549","2569"]},{"id":"2564","vertex_ids":["2560","2561"],"face_ids":["2569","2581"]},{"id":"2565","vertex_ids":["2561","2562"],"face_ids":["2569","2581"]},{"id":"2566","vertex_ids":["2562","2563"],"face_ids":["2569","2581"]},{"id":"2567","vertex_ids":["2563","2298"],"face_ids":["2569","2591"]},{"id":"2568","vertex_ids":["2301","2560"],"face_ids":["2569","2589"]},{"id":"2578","vertex_ids":["2560","2576"],"face_ids":["2581","2589"]},{"id":"2579","vertex_ids":["2576","2577"],"face_ids":["2581","2591"]},{"id":"2580","vertex_ids":["2577","2563"],"face_ids":["2581","2591"]},{"id":"2588","vertex_ids":["2586","2576"],"face_ids":["2589","2591"]},{"id":"2585","vertex_ids":["2586","2354"],"face_ids":["2589"]},{"id":"2355","vertex_ids":["2298","2353"],"face_ids":["2591"]},{"id":"2587","vertex_ids":["2353","2586"],"face_ids":["2591"]}],"faces":[{"id":"2384","edge_ids":["2379","2383","2382","2403","2401","2380","2331","2310","2311"],"edge_order":[0,0,0,1,1,0,1,1,1]},{"id":"2402","edge_ids":["2401","2403","2382","2383","2398","2427","2417","2396"],"edge_order":[0,0,1,1,0,0,0,0]},{"id":"2428","edge_ids":["2417","2426","2452","2453","2424","2330","2380","2396"],"edge_order":[1,0,1,1,0,1,1,1]},{"id":"2436","edge_ids":["2379","2398","2427","2426","2435","2434","2312"],"edge_order":[0,0,0,0,1,1,0]},{"id":"2454","edge_ids":["2453","2452","2435","2450","2449","2448"],"edge_order":[0,0,1,0,0,0]},{"id":"2458","edge_ids":["2329","2457","2313","2434","2450","2449","2448","2424"],"edge_order":[0,1,0,0,0,0,0,0]},{"id":"2462","edge_ids":["2328","2461","2314","2457"],"edge_order":[0,1,0,0]},{"id":"2486","edge_ids":["2480","2481","2482","2483","2484","2485","2315","2461","2327"],"edge_order":[1,1,1,1,1,1,0,0,0]},{"id":"2498","edge_ids":["2481","2482","2483","2484","2497","2515","2513","2495"],"edge_order":[1,1,1,1,0,0,1,0]},{"id":"2514","edge_ids":["2326","2510","2511","2512","2513","2495","2480"],"edge_order":[0,1,1,1,1,0,0]},{"id":"2527","edge_ids":["2515","2497","2485","2316","2524","2526","2525","2512"],"edge_order":[1,1,1,1,0,0,0,1]},{"id":"2539","edge_ids":["2544","2536","2511","2525","2526"],"edge_order":[1,0,1,1,1]},{"id":"2545","edge_ids":["2325","2510","2536","2544","2524","2317","2543"],"edge_order":[1,1,1,0,1,1,0]},{"id":"2549","edge_ids":["2543","2318","2548","2324"],"edge_order":[1,1,0,1]},{"id":"2569","edge_ids":["2323","2568","2564","2565","2566","2567","2319","2548"],"edge_order":[0,1,1,1,1,1,0,0]},{"id":"2581","edge_ids":["2564","2565","2566","2580","2579","2578"],"edge_order":[1,1,1,0,0,0]},{"id":"2589","edge_ids":["2578","2588","2585","2357","2568"],"edge_order":[1,0,1,1,1]},{"id":"2591","edge_ids":["2588","2579","2580","2567","2355","2587"],"edge_order":[1,1,1,1,1,1]}]},"spaces":[{"id":"2359","handle":null,"name":"Space 5-1","face_id":"2384","building_unit_id":null,"thermal_zone_id":"tz_89","space_type_id":"3044","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":10703.125},{"id":"2385","handle":null,"name":"Space 5-2","face_id":"2402","building_unit_id":null,"thermal_zone_id":"tz_90","space_type_id":"1755","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":812.5},{"id":"2404","handle":null,"name":"Space 5-3","face_id":"2428","building_unit_id":null,"thermal_zone_id":"tz_91","space_type_id":"3044","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":2331.25},{"id":"2429","handle":null,"name":"Space 5-4","face_id":"2436","building_unit_id":null,"thermal_zone_id":"tz_92","space_type_id":"3044","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":4181.25},{"id":"2437","handle":null,"name":"Space 5-5","face_id":"2454","building_unit_id":null,"thermal_zone_id":"tz_93","space_type_id":"1755","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":690.625},{"id":"2455","handle":null,"name":"Space 5-6","face_id":"2458","building_unit_id":null,"thermal_zone_id":"tz_94","space_type_id":"3044","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":2471.875},{"id":"2459","handle":null,"name":"Space 5-7","face_id":"2462","building_unit_id":null,"thermal_zone_id":"tz_95","space_type_id":"1754","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":3737.5},{"id":"2463","handle":null,"name":"Space 5-8","face_id":"2486","building_unit_id":null,"thermal_zone_id":"tz_96","space_type_id":"3045","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":2446.875},{"id":"2487","handle":null,"name":"Space 5-9","face_id":"2498","building_unit_id":null,"thermal_zone_id":"tz_97","space_type_id":"1755","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":709.875},{"id":"2499","handle":null,"name":"Space 5-10","face_id":"2514","building_unit_id":null,"thermal_zone_id":"tz_98","space_type_id":"3045","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":5324.675000000001},{"id":"2516","handle":null,"name":"Space 5-11","face_id":"2527","building_unit_id":null,"thermal_zone_id":"tz_99","space_type_id":"3045","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":6913.199999999997},{"id":"2528","handle":null,"name":"Space 5-12","face_id":"2539","building_unit_id":null,"thermal_zone_id":"tz_100","space_type_id":"1755","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":633.5},{"id":"2540","handle":null,"name":"Space 5-13","face_id":"2545","building_unit_id":null,"thermal_zone_id":"tz_101","space_type_id":"3045","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":2709.375},{"id":"2546","handle":null,"name":"Space 5-14","face_id":"2549","building_unit_id":null,"thermal_zone_id":"tz_102","space_type_id":"1754","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":3637.5},{"id":"2550","handle":null,"name":"Space 5-15","face_id":"2569","building_unit_id":null,"thermal_zone_id":"tz_103","space_type_id":"3045","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":2293.75},{"id":"2570","handle":null,"name":"Space 5-16","face_id":"2581","building_unit_id":null,"thermal_zone_id":"tz_104","space_type_id":"1755","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":556.25},{"id":"2582","handle":null,"name":"Space 5-17","face_id":"2589","building_unit_id":null,"thermal_zone_id":"tz_105","space_type_id":"3045","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":4184.375},{"id":"2590","handle":null,"name":"Space 5-18","face_id":"2591","building_unit_id":null,"thermal_zone_id":"tz_106","space_type_id":"3045","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":8278.125}],"shading":[],"windows":[],"doors":[],"construction_lines":[],"area":62615.625},{"id":"2592","handle":null,"name":"Story 6","image_id":"14","below_floor_plenum_height":0,"floor_to_ceiling_height":15,"above_ceiling_plenum_height":0,"multiplier":1,"color":"#44aa99","geometry":{"id":"2593","vertices":[{"id":"2596","x":280,"y":-135,"edge_ids":["2608","2619"]},{"id":"2597","x":362.5,"y":-167.5,"edge_ids":["2608","2609"]},{"id":"2598","x":337.5,"y":-65,"edge_ids":["2609","2635","2664"]},{"id":"2607","x":260,"y":-50,"edge_ids":["2619","2636","2671"]},{"id":"2631","x":305,"y":-60,"edge_ids":["2635","2639","2658"]},{"id":"2632","x":277.5,"y":-50,"edge_ids":["2636","2637","2656"]},{"id":"2633","x":282.5,"y":-70,"edge_ids":["2637","2638"]},{"id":"2634","x":297.5,"y":-70,"edge_ids":["2638","2639"]},{"id":"2654","x":282.5,"y":-37.5,"edge_ids":["2656","2657"]},{"id":"2655","x":300,"y":-40,"edge_ids":["2657","2658"]},{"id":"2662","x":350,"y":-40,"edge_ids":["2664","2676","2687"]},{"id":"2668","x":280,"y":-7.5,"edge_ids":["2671","2672","2685"]},{"id":"2669","x":349.21,"y":-39.63,"edge_ids":["2672","2676"]},{"id":"2683","x":300,"y":37.5,"edge_ids":["2685","2686","2698"]},{"id":"2684","x":370,"y":2.5,"edge_ids":["2686","2687","2699"]},{"id":"2691","x":317.5,"y":75,"edge_ids":["2698","2705","2732"]},{"id":"2692","x":382.5,"y":32.5,"edge_ids":["2699","2700","2718"]},{"id":"2693","x":360,"y":45,"edge_ids":["2700","2701","2710"]},{"id":"2694","x":347.5,"y":37.5,"edge_ids":["2701","2702"]},{"id":"2695","x":339.5,"y":41.5,"edge_ids":["2702","2703"]},{"id":"2696","x":330,"y":52.5,"edge_ids":["2703","2704"]},{"id":"2697","x":335,"y":65,"edge_ids":["2704","2705","2712"]},{"id":"2708","x":362.5,"y":60,"edge_ids":["2710","2725"]},{"id":"2709","x":350,"y":70,"edge_ids":["2712","2726"]},{"id":"2715","x":537.5,"y":150,"edge_ids":["2718","2719","2750"]},{"id":"2716","x":498.4,"y":161.5,"edge_ids":["2719","2742","2802"]},{"id":"2717","x":467.5,"y":147.5,"edge_ids":["2724","2730","2743"]},{"id":"2723","x":360,"y":62.08,"edge_ids":["2724","2725","2726"]},{"id":"2728","x":467.5,"y":167.5,"edge_ids":["2730","2731","2801"]},{"id":"2729","x":447.5,"y":172.5,"edge_ids":["2731","2732","2748"]},{"id":"2741","x":487.5,"y":145,"edge_ids":["2742","2743"]},{"id":"2746","x":442.5,"y":182.5,"edge_ids":["2748","2749","2759"]},{"id":"2747","x":510,"y":212.5,"edge_ids":["2749","2750","2758"]},{"id":"2755","x":422.5,"y":227.5,"edge_ids":["2757","2759","2772"]},{"id":"2756","x":490,"y":257.5,"edge_ids":["2757","2758","2767"]},{"id":"2762","x":465,"y":312.5,"edge_ids":["2767","2775","2788"]},{"id":"2763","x":452.5,"y":270,"edge_ids":["2769","2776"]},{"id":"2764","x":442.5,"y":255,"edge_ids":["2769","2770"]},{"id":"2765","x":430,"y":255,"edge_ids":["2770","2771","2784"]},{"id":"2766","x":417.5,"y":237.5,"edge_ids":["2771","2772","2794"]},{"id":"2774","x":447.5,"y":280,"edge_ids":["2775","2776","2779"]},{"id":"2778","x":430,"y":280,"edge_ids":["2779","2783"]},{"id":"2782","x":422.5,"y":265,"edge_ids":["2783","2784","2789"]},{"id":"2786","x":272.5,"y":312.5,"edge_ids":["2788","2790"]},{"id":"2787","x":272.5,"y":265,"edge_ids":["2789","2790","2795"]},{"id":"2793","x":272.5,"y":237.5,"edge_ids":["2794","2795"]},{"id":"2800","x":477.5,"y":175,"edge_ids":["2801","2802"]}],"edges":[{"id":"2608","vertex_ids":["2596","2597"],"face_ids":["2640"]},{"id":"2609","vertex_ids":["2597","2598"],"face_ids":["2640"]},{"id":"2619","vertex_ids":["2607","2596"],"face_ids":["2640"]},{"id":"2635","vertex_ids":["2631","2598"],"face_ids":["2640","2674"]},{"id":"2636","vertex_ids":["2607","2632"],"face_ids":["2640","2674"]},{"id":"2637","vertex_ids":["2632","2633"],"face_ids":["2640","2660"]},{"id":"2638","vertex_ids":["2633","2634"],"face_ids":["2640","2660"]},{"id":"2639","vertex_ids":["2634","2631"],"face_ids":["2640","2660"]},{"id":"2656","vertex_ids":["2632","2654"],"face_ids":["2660","2674"]},{"id":"2657","vertex_ids":["2654","2655"],"face_ids":["2660","2674"]},{"id":"2658","vertex_ids":["2655","2631"],"face_ids":["2660","2674"]},{"id":"2671","vertex_ids":["2607","2668"],"face_ids":["2674"]},{"id":"2672","vertex_ids":["2668","2669"],"face_ids":["2674","2689"]},{"id":"2664","vertex_ids":["2598","2662"],"face_ids":["2674"]},{"id":"2676","vertex_ids":["2662","2669"],"face_ids":["2674","2689"]},{"id":"2685","vertex_ids":["2668","2683"],"face_ids":["2689"]},{"id":"2686","vertex_ids":["2683","2684"],"face_ids":["2689","2706"]},{"id":"2687","vertex_ids":["2684","2662"],"face_ids":["2689"]},{"id":"2698","vertex_ids":["2691","2683"],"face_ids":["2706"]},{"id":"2699","vertex_ids":["2684","2692"],"face_ids":["2706"]},{"id":"2700","vertex_ids":["2692","2693"],"face_ids":["2706","2722"]},{"id":"2701","vertex_ids":["2693","2694"],"face_ids":["2706","2713"]},{"id":"2702","vertex_ids":["2694","2695"],"face_ids":["2706","2713"]},{"id":"2703","vertex_ids":["2695","2696"],"face_ids":["2706","2713"]},{"id":"2704","vertex_ids":["2696","2697"],"face_ids":["2706","2713"]},{"id":"2705","vertex_ids":["2697","2691"],"face_ids":["2706","2733"]},{"id":"2710","vertex_ids":["2693","2708"],"face_ids":["2713","2722"]},{"id":"2712","vertex_ids":["2709","2697"],"face_ids":["2713","2733"]},{"id":"2718","vertex_ids":["2692","2715"],"face_ids":["2722"]},{"id":"2719","vertex_ids":["2715","2716"],"face_ids":["2722","2753"]},{"id":"2724","vertex_ids":["2717","2723"],"face_ids":["2722","2733"]},{"id":"2725","vertex_ids":["2723","2708"],"face_ids":["2713","2722"]},{"id":"2726","vertex_ids":["2723","2709"],"face_ids":["2713","2733"]},{"id":"2730","vertex_ids":["2717","2728"],"face_ids":["2733","2744"]},{"id":"2731","vertex_ids":["2728","2729"],"face_ids":["2733","2753"]},{"id":"2732","vertex_ids":["2729","2691"],"face_ids":["2733"]},{"id":"2742","vertex_ids":["2716","2741"],"face_ids":["2722","2744"]},{"id":"2743","vertex_ids":["2741","2717"],"face_ids":["2722","2744"]},{"id":"2748","vertex_ids":["2729","2746"],"face_ids":["2753"]},{"id":"2749","vertex_ids":["2746","2747"],"face_ids":["2753","2760"]},{"id":"2750","vertex_ids":["2747","2715"],"face_ids":["2753"]},{"id":"2757","vertex_ids":["2755","2756"],"face_ids":["2760","2773"]},{"id":"2758","vertex_ids":["2756","2747"],"face_ids":["2760"]},{"id":"2759","vertex_ids":["2746","2755"],"face_ids":["2760"]},{"id":"2767","vertex_ids":["2756","2762"],"face_ids":["2773"]},{"id":"2769","vertex_ids":["2763","2764"],"face_ids":["2773","2781"]},{"id":"2770","vertex_ids":["2764","2765"],"face_ids":["2773","2781"]},{"id":"2771","vertex_ids":["2765","2766"],"face_ids":["2773","2796"]},{"id":"2772","vertex_ids":["2766","2755"],"face_ids":["2773"]},{"id":"2775","vertex_ids":["2762","2774"],"face_ids":["2773","2791"]},{"id":"2776","vertex_ids":["2774","2763"],"face_ids":["2773","2781"]},{"id":"2779","vertex_ids":["2774","2778"],"face_ids":["2781","2791"]},{"id":"2783","vertex_ids":["2778","2782"],"face_ids":["2781","2791"]},{"id":"2784","vertex_ids":["2782","2765"],"face_ids":["2781","2796"]},{"id":"2788","vertex_ids":["2786","2762"],"face_ids":["2791"]},{"id":"2789","vertex_ids":["2782","2787"],"face_ids":["2791","2796"]},{"id":"2790","vertex_ids":["2787","2786"],"face_ids":["2791"]},{"id":"2794","vertex_ids":["2766","2793"],"face_ids":["2796"]},{"id":"2795","vertex_ids":["2793","2787"],"face_ids":["2796"]},{"id":"2801","vertex_ids":["2728","2800"],"face_ids":["2744","2753"]},{"id":"2802","vertex_ids":["2800","2716"],"face_ids":["2744","2753"]}],"faces":[{"id":"2640","edge_ids":["2636","2637","2638","2639","2635","2609","2608","2619"],"edge_order":[1,1,1,1,1,0,0,0]},{"id":"2660","edge_ids":["2658","2657","2656","2637","2638","2639"],"edge_order":[0,0,0,1,1,1]},{"id":"2674","edge_ids":["2676","2672","2671","2636","2656","2657","2658","2635","2664"],"edge_order":[1,0,0,1,1,1,1,1,1]},{"id":"2689","edge_ids":["2685","2686","2687","2676","2672"],"edge_order":[1,1,1,1,0]},{"id":"2706","edge_ids":["2698","2686","2699","2700","2701","2702","2703","2704","2705"],"edge_order":[1,1,1,1,1,1,1,1,1]},{"id":"2713","edge_ids":["2704","2703","2702","2701","2710","2725","2726","2712"],"edge_order":[0,0,0,0,1,0,1,1]},{"id":"2722","edge_ids":["2719","2742","2743","2724","2725","2710","2700","2718"],"edge_order":[1,1,1,1,1,0,0,1]},{"id":"2733","edge_ids":["2705","2712","2726","2724","2730","2731","2732"],"edge_order":[0,0,0,0,1,1,1]},{"id":"2744","edge_ids":["2802","2801","2730","2743","2742"],"edge_order":[0,0,0,0,0]},{"id":"2753","edge_ids":["2749","2748","2731","2801","2802","2719","2750"],"edge_order":[0,0,0,1,1,0,0]},{"id":"2760","edge_ids":["2757","2758","2749","2759"],"edge_order":[1,1,0,1]},{"id":"2773","edge_ids":["2767","2775","2776","2769","2770","2771","2772","2757"],"edge_order":[1,1,1,1,1,1,1,1]},{"id":"2781","edge_ids":["2776","2779","2783","2784","2770","2769"],"edge_order":[0,1,1,1,0,0]},{"id":"2791","edge_ids":["2788","2775","2779","2783","2789","2790"],"edge_order":[1,1,1,1,1,1]},{"id":"2796","edge_ids":["2784","2771","2794","2795","2789"],"edge_order":[1,1,1,1,0]}]},"spaces":[{"id":"2621","handle":null,"name":"Space 6-1","face_id":"2640","building_unit_id":null,"thermal_zone_id":"tz_107","space_type_id":"3046","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":6678.125},{"id":"2641","handle":null,"name":"Space 6-2","face_id":"2660","building_unit_id":null,"thermal_zone_id":"tz_108","space_type_id":"1755","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":690.625},{"id":"2661","handle":null,"name":"Space 6-3","face_id":"2674","building_unit_id":null,"thermal_zone_id":"tz_109","space_type_id":"3046","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":2471.987500000001},{"id":"2677","handle":null,"name":"Space 6-4","face_id":"2689","building_unit_id":null,"thermal_zone_id":"tz_110","space_type_id":"1754","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":3737.387499999999},{"id":"2690","handle":null,"name":"Space 6-5","face_id":"2706","building_unit_id":null,"thermal_zone_id":"tz_111","space_type_id":"3045","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":2446.875},{"id":"2707","handle":null,"name":"Space 6-6","face_id":"2713","building_unit_id":null,"thermal_zone_id":"tz_112","space_type_id":"1755","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":709.875},{"id":"2714","handle":null,"name":"Space 6-7","face_id":"2722","building_unit_id":null,"thermal_zone_id":"tz_113","space_type_id":"3045","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":6913.199999999997},{"id":"2727","handle":null,"name":"Space 6-8","face_id":"2733","building_unit_id":null,"thermal_zone_id":"tz_114","space_type_id":"3045","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":5324.675000000003},{"id":"2734","handle":null,"name":"Space 6-9","face_id":"2744","building_unit_id":null,"thermal_zone_id":"tz_115","space_type_id":"1755","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":633.5},{"id":"2745","handle":null,"name":"Space 6-10","face_id":"2753","building_unit_id":null,"thermal_zone_id":"tz_116","space_type_id":"3045","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":2709.375},{"id":"2754","handle":null,"name":"Space 6-11","face_id":"2760","building_unit_id":null,"thermal_zone_id":"tz_117","space_type_id":"1754","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":3637.5},{"id":"2761","handle":null,"name":"Space 6-12","face_id":"2773","building_unit_id":null,"thermal_zone_id":"tz_118","space_type_id":"3045","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":2293.75},{"id":"2777","handle":null,"name":"Space 6-13","face_id":"2781","building_unit_id":null,"thermal_zone_id":"tz_119","space_type_id":"1755","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":556.25},{"id":"2785","handle":null,"name":"Space 6-14","face_id":"2791","building_unit_id":null,"thermal_zone_id":"tz_120","space_type_id":"3045","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":8278.125},{"id":"2792","handle":null,"name":"Space 6-15","face_id":"2796","building_unit_id":null,"thermal_zone_id":"tz_121","space_type_id":"3045","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":4184.375}],"shading":[],"windows":[],"doors":[],"construction_lines":[],"area":51265.625},{"id":"2926","handle":null,"name":"Story 7","image_id":null,"below_floor_plenum_height":0,"floor_to_ceiling_height":15,"above_ceiling_plenum_height":0,"multiplier":1,"color":"#6699cc","geometry":{"id":"2927","vertices":[{"id":"2818","x":317.5,"y":75,"edge_ids":["2885","2949"]},{"id":"2819","x":382.5,"y":32.5,"edge_ids":["2870","2878"]},{"id":"2820","x":360,"y":45,"edge_ids":["2870","2948","2949"]},{"id":"2827","x":537.5,"y":150,"edge_ids":["2878","2879","2890"]},{"id":"2828","x":498.4,"y":161.5,"edge_ids":["2879","2886","2910"]},{"id":"2829","x":467.5,"y":147.5,"edge_ids":["2883","2887"]},{"id":"2831","x":467.5,"y":167.5,"edge_ids":["2883","2884","2909"]},{"id":"2832","x":447.5,"y":172.5,"edge_ids":["2884","2885","2888"]},{"id":"2833","x":487.5,"y":145,"edge_ids":["2886","2887","2948"]},{"id":"2834","x":442.5,"y":182.5,"edge_ids":["2888","2889","2893"]},{"id":"2835","x":510,"y":212.5,"edge_ids":["2889","2890","2892"]},{"id":"2836","x":422.5,"y":227.5,"edge_ids":["2891","2893","2898"]},{"id":"2837","x":490,"y":257.5,"edge_ids":["2891","2892","2894"]},{"id":"2838","x":465,"y":312.5,"edge_ids":["2894","2899","2904"]},{"id":"2839","x":452.5,"y":270,"edge_ids":["2895","2900"]},{"id":"2840","x":442.5,"y":255,"edge_ids":["2895","2896"]},{"id":"2841","x":430,"y":255,"edge_ids":["2896","2897","2903"]},{"id":"2842","x":417.5,"y":237.5,"edge_ids":["2897","2898","2907"]},{"id":"2843","x":447.5,"y":280,"edge_ids":["2899","2900","2901"]},{"id":"2844","x":430,"y":280,"edge_ids":["2901","2902"]},{"id":"2845","x":422.5,"y":265,"edge_ids":["2902","2903","2905"]},{"id":"2846","x":272.5,"y":312.5,"edge_ids":["2904","2906"]},{"id":"2847","x":272.5,"y":265,"edge_ids":["2905","2906","2908"]},{"id":"2848","x":272.5,"y":237.5,"edge_ids":["2907","2908"]},{"id":"2849","x":477.5,"y":175,"edge_ids":["2909","2910"]}],"edges":[{"id":"2870","vertex_ids":["2819","2820"],"face_ids":["2917"]},{"id":"2878","vertex_ids":["2819","2827"],"face_ids":["2917"]},{"id":"2879","vertex_ids":["2827","2828"],"face_ids":["2917","2920"]},{"id":"2883","vertex_ids":["2829","2831"],"face_ids":["2918","2919"]},{"id":"2884","vertex_ids":["2831","2832"],"face_ids":["2918","2920"]},{"id":"2885","vertex_ids":["2832","2818"],"face_ids":["2918"]},{"id":"2886","vertex_ids":["2828","2833"],"face_ids":["2917","2919"]},{"id":"2887","vertex_ids":["2833","2829"],"face_ids":["2918","2919"]},{"id":"2888","vertex_ids":["2832","2834"],"face_ids":["2920"]},{"id":"2889","vertex_ids":["2834","2835"],"face_ids":["2920","2921"]},{"id":"2890","vertex_ids":["2835","2827"],"face_ids":["2920"]},{"id":"2891","vertex_ids":["2836","2837"],"face_ids":["2921","2922"]},{"id":"2892","vertex_ids":["2837","2835"],"face_ids":["2921"]},{"id":"2893","vertex_ids":["2834","2836"],"face_ids":["2921"]},{"id":"2894","vertex_ids":["2837","2838"],"face_ids":["2922"]},{"id":"2895","vertex_ids":["2839","2840"],"face_ids":["2922","2923"]},{"id":"2896","vertex_ids":["2840","2841"],"face_ids":["2922","2923"]},{"id":"2897","vertex_ids":["2841","2842"],"face_ids":["2922","2925"]},{"id":"2898","vertex_ids":["2842","2836"],"face_ids":["2922"]},{"id":"2899","vertex_ids":["2838","2843"],"face_ids":["2922","2924"]},{"id":"2900","vertex_ids":["2843","2839"],"face_ids":["2922","2923"]},{"id":"2901","vertex_ids":["2843","2844"],"face_ids":["2923","2924"]},{"id":"2902","vertex_ids":["2844","2845"],"face_ids":["2923","2924"]},{"id":"2903","vertex_ids":["2845","2841"],"face_ids":["2923","2925"]},{"id":"2904","vertex_ids":["2846","2838"],"face_ids":["2924"]},{"id":"2905","vertex_ids":["2845","2847"],"face_ids":["2924","2925"]},{"id":"2906","vertex_ids":["2847","2846"],"face_ids":["2924"]},{"id":"2907","vertex_ids":["2842","2848"],"face_ids":["2925"]},{"id":"2908","vertex_ids":["2848","2847"],"face_ids":["2925"]},{"id":"2909","vertex_ids":["2831","2849"],"face_ids":["2919","2920"]},{"id":"2910","vertex_ids":["2849","2828"],"face_ids":["2919","2920"]},{"id":"2948","vertex_ids":["2833","2820"],"face_ids":["2917","2918"]},{"id":"2949","vertex_ids":["2818","2820"],"face_ids":["2918"]}],"faces":[{"id":"2917","edge_ids":["2879","2886","2948","2870","2878"],"edge_order":[1,1,1,0,1]},{"id":"2918","edge_ids":["2887","2883","2884","2885","2949","2948"],"edge_order":[1,1,1,1,1,0]},{"id":"2919","edge_ids":["2910","2909","2883","2887","2886"],"edge_order":[0,0,0,0,0]},{"id":"2920","edge_ids":["2889","2888","2884","2909","2910","2879","2890"],"edge_order":[0,0,0,1,1,0,0]},{"id":"2921","edge_ids":["2891","2892","2889","2893"],"edge_order":[1,1,0,1]},{"id":"2922","edge_ids":["2894","2899","2900","2895","2896","2897","2898","2891"],"edge_order":[1,1,1,1,1,1,1,1]},{"id":"2923","edge_ids":["2900","2901","2902","2903","2896","2895"],"edge_order":[0,1,1,1,0,0]},{"id":"2924","edge_ids":["2904","2899","2901","2902","2905","2906"],"edge_order":[1,1,1,1,1,1]},{"id":"2925","edge_ids":["2903","2897","2907","2908","2905"],"edge_order":[1,1,1,1,0]}]},"spaces":[{"id":"2936","handle":null,"name":"Space 7-1","face_id":"2917","building_unit_id":null,"thermal_zone_id":"tz_122","space_type_id":"3045","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":4857.125},{"id":"2937","handle":null,"name":"Space 7-2","face_id":"2918","building_unit_id":null,"thermal_zone_id":"tz_123","space_type_id":"3045","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":7750},{"id":"2938","handle":null,"name":"Space 7-3","face_id":"2919","building_unit_id":null,"thermal_zone_id":"tz_124","space_type_id":"1755","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":633.5},{"id":"2939","handle":null,"name":"Space 7-4","face_id":"2920","building_unit_id":null,"thermal_zone_id":"tz_125","space_type_id":"3045","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":2709.375},{"id":"2940","handle":null,"name":"Space 7-5","face_id":"2921","building_unit_id":null,"thermal_zone_id":"tz_126","space_type_id":"1754","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":3637.5},{"id":"2941","handle":null,"name":"Space 7-6","face_id":"2922","building_unit_id":null,"thermal_zone_id":"tz_127","space_type_id":"3045","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":2293.75},{"id":"2942","handle":null,"name":"Space 7-7","face_id":"2923","building_unit_id":null,"thermal_zone_id":"tz_128","space_type_id":"1755","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":556.25},{"id":"2943","handle":null,"name":"Space 7-8","face_id":"2924","building_unit_id":null,"thermal_zone_id":"tz_129","space_type_id":"3045","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":8278.125},{"id":"2944","handle":null,"name":"Space 7-9","face_id":"2925","building_unit_id":null,"thermal_zone_id":"tz_130","space_type_id":"3045","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":4184.375}],"shading":[],"windows":[],"doors":[],"construction_lines":[],"area":34900},{"id":"3030","handle":null,"name":"Story 8","image_id":null,"below_floor_plenum_height":0,"floor_to_ceiling_height":15,"above_ceiling_plenum_height":0,"multiplier":1,"color":"#aa4466","geometry":{"id":"3031","vertices":[{"id":"3034","x":272.5,"y":312.5,"edge_ids":["3038","3041"]},{"id":"3035","x":465,"y":312.5,"edge_ids":["3038","3039"]},{"id":"3036","x":417.5,"y":237.5,"edge_ids":["3039","3040"]},{"id":"3037","x":272.5,"y":237.5,"edge_ids":["3040","3041"]}],"edges":[{"id":"3038","vertex_ids":["3034","3035"],"face_ids":["3042"]},{"id":"3039","vertex_ids":["3035","3036"],"face_ids":["3042"]},{"id":"3040","vertex_ids":["3036","3037"],"face_ids":["3042"]},{"id":"3041","vertex_ids":["3037","3034"],"face_ids":["3042"]}],"faces":[{"id":"3042","edge_ids":["3038","3039","3040","3041"],"edge_order":[1,1,1,1]}]},"spaces":[{"id":"3032","handle":null,"name":"Space 8-1","face_id":"3042","building_unit_id":null,"thermal_zone_id":"tz_131","space_type_id":"3048","construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"color":"#bbc3c7","type":"space","area":12656.25}],"shading":[],"windows":[],"doors":[],"construction_lines":[],"area":12656.25}],"imported_images":{"visible":true,"midX":-61.6898733140294,"midY":-13.327090405151543,"x":194.5816210839304,"y":-1.8185198232143027,"r":0,"opacity":0.6,"images":[{"id":"15","name":"Level 1","src":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaW5ZTWluIG1lZXQiIHZpZXdCb3g9Ii01NTE3LjQyOCAtMzgxNi40OTYgOTU1NC4yOTkgNzk1Mi44NDIiPjxnIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSI0Ij48cGF0aCBkPSJNLTI5MjAuODI1LTExMDguOTY1bC03MjguMzU2LTQ5Ny40MTRNLTM2NDkuMTgxLTE2MDYuMzc5TC0yNDQwLTMzNzYuOTY4TS0yNDQwLTMzNzYuOTY4bDIyNDMuMTQ2LTIyMi43TS0xOTYuODU0LTM1OTkuNjY5bDE0NzAuODk4IDE0MzYuOTA0TTEyNzQuMDQ0LTIxNjIuNzY1TDk2MS45NjEtODQ1LjY2M005NjEuOTYxLTg0NS42NjNsMTE3LjUxNiAyNTUuODUzTTEwNzkuNDc3LTU4OS44MWw4NzIuOTQ0LTQwMC45NTJNMTk1Mi40MjEtOTkwLjc2MmwyNDAuNDE2IDUyMy40MjhNMjE5Mi44MzctNDY3LjMzNEwxMzE5Ljg5Mi02Ni4zODJNMTMxOS44OTItNjYuMzgybDExNy41MTYgMjU1Ljg1M00xNDM3LjQwOCAxODkuNDcxbDE5NDYuNjQ1IDE0NTkuMDUyTTMzODQuMDUzIDE2NDguNTIzbC04NzYuODY4IDE5NTIuNjY4TTI1MDcuMTg1IDM2MDEuMTkxSDIwOC40MDhNMjA4LjQwOCAzNjAxLjE5MXYtODgyTTIwOC40MDggMjcxOS4xOTFoMTcyOE0xOTM2LjQwOCAyNzE5LjE5MWwzNTMuOTQtNzg4LjE3Nk0yMjkwLjM0OCAxOTMxLjAxNUw3MjkuMzI4IDc2MC45OTdNNzI5LjMyOSA3NjAuOTk3TDMzLjcwMy03NTMuNTA0TTMzLjcwMy03NTMuNTA0bDI2Ny4wNTEtMTEyNy4wNU0zMDAuNzU0LTE4ODAuNTU0bC04MTkuNzQyLTgwMC43OTdNLTUxOC45ODgtMjY4MS4zNTFsLTE0MjQuNjAzIDE0MS40MzZNLTE5NDMuNTktMjUzOS45MTVsLTk3Ny4yMzUgMTQzMC45NU0yMjI0LjY2MSAxOTQ2LjY4NGwtMzg3LjAzNiA4NjEuODc5TTE4MzcuNjI1IDI4MDguNTYzSDMyNC4wOU0zMjQuMDkgMjgwOC41NjN2ODY0TTMyNC4wOSAzNjcyLjU2M2gyMDcyLjY2M00yMzk2Ljc1MyAzNjcyLjU2M2w4OTkuMjkzLTIwMDIuNjA1TTMyOTYuMDQ2IDE2NjkuOTU4TDE1ODAuMjIyIDM4My45MTFNMTU4MC4yMjIgMzgzLjkxMWwtNTIzLjA2Ni0xMTM4LjgxTTEwNTcuMTU2LTc1NC44OThsMjgwLjUyMi0xMTgzLjkwNk0xMzM3LjY3OC0xOTM4LjgwNEwtMzM4Ljc5NS0zNTc2LjUzM00tMzM4Ljc5NS0zNTc2LjUzM2wtMjA5Ni4xMzkgMjA4LjEwN00tMjQzNC45MzQtMzM2OC40MjZMLTM2MTkuMTctMTYzNC4zNjVNLTM2MTkuMTctMTYzNC4zNjVsNzEzLjQ5MSA0ODcuMjYzTS0yOTA1LjY3OS0xMTQ3LjEwMmw5NTcuMDIzLTE0MDEuMzU1TS0xOTQ4LjY1Ni0yNTQ4LjQ1N2wxMjk0LjMwMS0xMjguNDk5TS02NTQuMzU1LTI2NzYuOTU2TDM4NC4yNTEtMTY2Mi4zNTNNMzg0LjI1MS0xNjYyLjM1M2wtMjM2LjQxIDk5Ny43MzJNMTQ3Ljg0Mi02NjQuNjJMODg2LjU5MyA5NDMuNzcyTTg4Ni41OTMgOTQzLjc3M2wxMzM4LjA2OCAxMDAyLjkxMU0xNTYuODY4IDE4OTIuMDRsNDczLjkyMi02MzIuMjk5TTY4Mi45OTMgODQ1LjUwMmE0NDQuNTE4IDQ0NC41MTggMCAwMS01Mi4yMDMgNDE0LjI0TTY4Mi45OTMgODQ1LjUwMkwxODEuMTk0LTI0Ny4wMDNNLTQ3My4xMzktNzYyLjc0YTkxNi45MjkgOTE2LjkyOSAwIDAxNjU0LjMzMyA1MTUuNzM3TS00NzMuMTM5LTc2Mi43NGwtMTczNC42NzYtMjc0LjA5NE0tMjU1MC41NDMtNzk2Ljg1NWEzMDAuNzE1IDMwMC43MTUgMCAwMTM0Mi43MjgtMjM5Ljk3OU0tMjU1MC41NDMtNzk2Ljg1NWwtMTM5NS4xOTQtMzU2LjQxNE0tMzg0MC4zNDItMTU2NS44NDNsMTI4Ni40MTgtMTg4My42ODRNLTI1NTMuOTI0LTM0NDkuNTI3YTE0ODEuMTk2IDE0ODEuMTk2IDAgMDExMDIyLjg4Mi01ODcuNDdNLTE1MzEuMDQyLTQwMzYuOTk3bDk2MC43OTktOTUuMzg5TS01NzAuMjQzLTQxMzIuMzg2YTk2OS45MTEgOTY5LjkxMSAwIDAxNzYyLjE1NiAyNjkuMDY3TTE5MS45MTMtMzg2My4zMTlMMTM4NS4yMi0yNjk3LjU5Mk0xMzg1LjIxOS0yNjk3LjU5MmE2MDkuNzYyIDYwOS43NjIgMCAwMTE1Mi41OTMgNTM4LjcxMU0xNTM3LjgxMi0yMTU4Ljg4MWwtMjQ3LjkzNSAxMDQ2LjM3M00xMzM3Ljk2My00ODguNTMyYTEyMjUuMTkyIDEyMjUuMTkyIDAgMDEtNDguMDg2LTYyMy45NzZNMTMzNy45NjMtNDg4LjUzMmwxNTUuMzI3IDMzOC4xNzRNMjA4MS45NCA1ODBhMjA2MS45OTQgMjA2MS45OTQgMCAwMS01ODguNjUtNzMwLjM1OE0yMDgxLjk0IDU4MGwxODU4LjcwNyAxMzkzLjE0Mk0zOTQwLjY0NyAxOTczLjE0MmEyNTAuNjM3IDI1MC42MzcgMCAwMTYxLjkxIDMyNC4wMDdNNDAwMi41NTcgMjI5Ny4xNDlMMzE3Ny43MjkgMzUwNC44Nk0zMTc3LjcyOSAzNTA0Ljg2YTc2OC4xMzcgNzY4LjEzNyAwIDAxLTU4OCAzMTEuNjM2TTI1ODkuNzI5IDM4MTYuNDk2SDM2NS42OE0zNjUuNjgxIDM4MTYuNDk2YTY1OC4yMzcgNjU4LjIzNyAwIDAxLTMyOS42ODUtODguNTE0TTM1Ljk5NiAzNzI3Ljk4MmwtMjMyLjk5LTE0My44MDZNLTE5Ni45OTQgMzU4NC4xNzZhMjM5LjU3IDIzOS41NyAwIDAxLTEwOS4zMTQtMjUzLjE0OE0tMzA2LjMwOCAzMzMxLjAyOGwzMDQuNDczLTExMzYuMzFNLTEuODM1IDIxOTQuNzE5YTEwNzAuNzU3IDEwNzAuNzU3IDAgMDExNTguNzAzLTMwMi42NzhNLTQzOS4yMzItMTY2MS41NzZMLTcxMi42NzQtMTkyOC43TS0xMDg3LjY5Ny0yMDU1LjEwMmE0OTIuODg1IDQ5Mi44ODUgMCAwMTM3NS4wMjMgMTI2LjQwM00tMTA4Ny42OTctMjA1NS4xMDJsLTQzNS4xNyA0My4yMDRNLTE2ODkuNzMzLTE5MDYuMjQ4YTI2MS42MiAyNjEuNjIgMCAwMTE2Ni44NjYtMTA1LjY1TS0xNjg5LjczMy0xOTA2LjI0OGwtODAuNzE3IDExOC4xOTNNLTE2NjcuOTcxLTE1MzQuNjhhMTY0LjA5NyAxNjQuMDk3IDAgMDEtMTAyLjQ3OS0yNTMuMzc1TS0xNjY3Ljk3MS0xNTM0LjY4bDEwNzQuNDM0IDE2OS43N00tNDM5LjIzMi0xNjYxLjU3NmExNzcuMTg2IDE3Ny4xODYgMCAwMS0xNTQuMzA1IDI5Ni42NjVNMzY2OC40IDIxMjkuMDA0YTg2LjY0NSA4Ni42NDUgMCAwMTIxLjM0NSAxMTUuNTE3TTM2NjguNCAyMTI5LjAwNGwtOTYuMy03Mi4xNzlNMzQyMy40MTggMjA4OS4zNWExMDAuNzM5IDEwMC43MzkgMCAwMTE0OC42ODItMzIuNTI1TTM0MjMuNDE4IDIwODkuMzVsLTEzOS43NDIgMzExLjE4N00zNTEyLjkgMjUwMy40NzJhMTI3LjYzNCAxMjcuNjM0IDAgMDEtMjI5LjIyNC0xMDIuOTM1TTM1MTIuOSAyNTAzLjQ3MmwxNzYuODQ1LTI1OC45NU0xNTM2LjI4IDE5NzAuNjA0bC0zNjIuMjQ4LTI3MS41MTNNNzgxLjI2MiAxNzQwLjc4OGEyOTIuMjg4IDI5Mi4yODggMCAwMTM5Mi43Ny00MS42OTdNNzgxLjI2MiAxNzQwLjc4OGwtMjMwLjY3NiAzMDcuNzYzTTc0Mi41NDUgMjM3Ni41NjNhMjIyLjA4IDIyMi4wOCAwIDAxLTE5MS45NTktMzI4LjAxMk03NDIuNTQ1IDIzNzYuNTYzaDY1NC4xODJNMTUzNi4yOCAxOTcwLjYwNGEyMzEuNDM1IDIzMS40MzUgMCAwMS0xMzkuNTUzIDQwNS45NTlNLTE3NS4zMDMtMTY2NS4zMjZsLTEwMi4xNzEtMjQuMjA5TS0yNzcuNDc0LTE2ODkuNTM1bC00My44MDcgMTg0Ljg4MU0tMzIxLjI4MS0xNTA0LjY1NGwxMDIuMTcxIDI0LjIxTS0yMTkuMTEtMTQ4MC40NDVsNDMuODA3LTE4NC44OE0tMzA2MS4wMiAxMjAxLjQyOGwtMTg1NS4zNyA4NTIuMTlNLTQ5MTYuMzkgMjA1My42MTdsLTYwMS4wMzgtMTMwOC41NjlNLTU1MTcuNDI4IDc0NS4wNDhsMTIzMS4yMTMtNTY1LjUwOE0tNDI4Ni4yMTUgMTc5LjU0bDQ0NS44NzMtMTc0NS4zODNNLTI1NTAuNTQzLTc5Ni44NTVsLTUxMC40NzggMTk5OC4yODNNNjc4LjI3Ni01MzAuNzFsLTUuNzM5LTEyLjQ5NE03ODkuNjctNDg5LjQzN2wtNzYuMzMzIDM1LjA2TTcxMy44MS02NTQuNTk4bDc1Ljg2IDE2NS4xNjFNNjM3LjQ3Ny02MTkuNTM4bDc2LjMzMy0zNS4wNk01MTcuNTI1LTU2NC40NDJsMzUuMDYgNzYuMzMzTTYzNy40NzctNjE5LjUzOGwzNS4wNiA3Ni4zMzRNNzEzLjMzNy00NTQuMzc2bC0zNS4wNi03Ni4zMzNNNTkzLjM4NS0zOTkuMjhsLTM1LjA2LTc2LjMzNE02NzIuNTM3LTU0My4yMDRMNTUyLjU4NS00ODguMTFNNjM3LjQ3Ny02MTkuNTM4bC0xMTkuOTUyIDU1LjA5Nk02NDEuNTUtNTEzLjg0bDM2LjcyNi0xNi44N002MzQuNjU4LTUxMC42NzVsNi44OTItMy4xNjZNNjIzLjc1My01MDUuNjY2bDEwLjkwNS01LjAwOU02MTIuODQ4LTUwMC42NTdsMTAuOTA1LTUuMDA5TTYwMS45NDMtNDk1LjY0OWwxMC45MDUtNS4wMDhNNTkxLjAzOS00OTAuNjRsMTAuOTA0LTUuMDA5TTU4MC4xMzQtNDg1LjYzMWwxMC45MDUtNS4wMU01NjkuMjMtNDgwLjYyM2wxMC45MDQtNS4wMDhNNTU4LjMyNC00NzUuNjE0bDEwLjkwNS01LjAwOU02NDEuMDE2LTQyMS4xNThsNzIuMzIxLTMzLjIxOE02MzcuMDA0LTQxOS4zMTZsNC4wMTItMS44NDJNNjI2LjEtNDE0LjMwN2wxMC45MDQtNS4wMDlNNjE1LjE5NC00MDkuMjk4bDEwLjkwNS01LjAwOU02MDQuMjktNDA0LjI5bDEwLjkwNC01LjAwOE01OTMuMzg1LTM5OS4yOGwxMC45MDUtNS4wMU02NDEuMDctNDMwLjQyN2wtLjA1NCA5LjI2OU02ODcuNjI0LTQ2Ny4yMzJsLTQ2LjU1NSAzNi44MDVNNTk0Ljk0Mi00NjcuNzY3bDkyLjY4Mi41MzVNNjQxLjQ5Ny01MDQuNTcybC00Ni41NTUgMzYuODA1TTY0MS41NS01MTMuODRsLS4wNTMgOS4yNjhNNTI3Ljc0OC01NjkuMTM4bDM1LjA2IDc2LjMzM001MzguNjUzLTU3NC4xNDdsMzUuMDYgNzYuMzM0TTU0OS41NTctNTc5LjE1NWwzNS4wNiA3Ni4zMzNNNTYwLjQ2Mi01ODQuMTY0bDM1LjA2IDc2LjMzM001NzEuMzY3LTU4OS4xNzNsMzUuMDYgNzYuMzM0TTU4Mi4yNzItNTk0LjE4MWwzNS4wNiA3Ni4zMzNNNTkzLjE3Ni01OTkuMTlsMzUuMDYgNzYuMzMzTTYwNC4wODEtNjA0LjE5OWwzNS4wNiA3Ni4zMzRNNjE0Ljk4Ni02MDkuMjA3bDM1LjA2IDc2LjMzM002MjUuODktNjE0LjIxNmwzNS4wNjEgNzYuMzMzTTYzNi43OTUtNjE5LjIyNGwzNS4wNiA3Ni4zMzNNNzE0LjAxOS00NTQuNjlsLTM1LjA2MS03Ni4zMzJNNzAzLjExNC00NDkuNjhsLTM1LjA2LTc2LjMzNE02ODEuODMyLTQ2Ny4yNjZsLTI0LjY4My01My43MzlNNjkyLjIxLTQ0NC42NzJsLTguODI0LTE5LjIxTTY4My4zODYtNDYzLjg4MmwtMS41NTQtMy4zODRNNjY4LjU5MS00NjcuMzQybC0yMi4zNDctNDguNjU0TTY4MS4zMDQtNDM5LjY2M2wtNy42MDYtMTYuNTZNNjczLjY5OC00NTYuMjIzbC01LjEwNy0xMS4xMk02NTUuMzUtNDY3LjQxOGwtMTYuMjA5LTM1LjI5Mk02NzAuNC00MzQuNjU1bC02LjM5LTEzLjkwOU02MzkuMTQxLTUwMi43MWwtMy44MDItOC4yNzhNNjY0LjAxLTQ0OC41NjRsLTguNjYtMTguODU0TTY0Mi4xMS00NjcuNDk1bC0xMi42NTYtMjcuNTU2TTY1OS40OTUtNDI5LjY0NmwtNS4xNzItMTEuMjZNNjI5LjQ1NC00OTUuMDUxbC01LjAyLTEwLjkyOE02NTQuMzIzLTQ0MC45MDVsLTEyLjIxMi0yNi41OU02MjguODctNDY3LjU3MWwtOS4xMDQtMTkuODIxTTY0OC41OS00MjQuNjM3bC0zLjk1NC04LjYxTTYxOS43NjYtNDg3LjM5MmwtNi4yMzYtMTMuNTc4TTY0NC42MzYtNDMzLjI0NmwtMTUuNzY2LTM0LjMyNU02MTUuNjMtNDY3LjY0N2wtNS41NTEtMTIuMDg2TTYxMC4wNzktNDc5LjczM2wtNy40NTQtMTYuMjI5TTYzNy42ODUtNDE5LjYyOWwtMjIuMDU1LTQ4LjAxOE02MDIuMzktNDY3LjcyNGwtMS45OTktNC4zNU02MDAuMzkxLTQ3Mi4wNzVsLTguNjctMTguODc4TTYyNi43OC00MTQuNjJsLTI0LjM5LTUzLjEwNE02MTUuODc2LTQwOS42MTFsLTM1LjA2LTc2LjMzM002MDQuOTcxLTQwNC42MDNsLTM1LjA2LTc2LjMzM001OTQuMDY2LTM5OS41OTRsLTM1LjA2LTc2LjMzM001MjguNDMtNTY5LjQ1MWwzNS4wNiA3Ni4zMzNNNTM5LjMzNC01NzQuNDZsMzUuMDYgNzYuMzM0TTU1MC4yMzktNTc5LjQ2OGwzNS4wNiA3Ni4zMzNNNTYxLjE0NC01ODQuNDc3bDM1LjA2IDc2LjMzM001NzIuMDQ4LTU4OS40ODZsMzUuMDYgNzYuMzM0TTU4Mi45NTMtNTk0LjQ5NGwzNS4wNiA3Ni4zMzNNNTkzLjg1OC01OTkuNTAzbDM1LjA2IDc2LjMzM002MDQuNzYzLTYwNC41MTJsMzUuMDYgNzYuMzM0TTYxNS42NjctNjA5LjUybDM1LjA2IDc2LjMzM002MjYuNTcyLTYxNC41MjlsMzUuMDYgNzYuMzMzTTcwMi40MzItNDQ5LjM2N2wtMzUuMDYtNzYuMzM0TTY4MS4wMDQtNDY3LjI3bC0yNC41MzctNTMuNDIyTTY5MS41MjgtNDQ0LjM1OWwtOC43NDgtMTkuMDQ0TTY4Mi43OC00NjMuNDAzbC0xLjc3Ni0zLjg2OE02NjcuNzY0LTQ2Ny4zNDdsLTIyLjIwMi00OC4zMzZNNjgwLjYyMy00MzkuMzVsLTcuNTMtMTYuMzk0TTY3My4wOTMtNDU1Ljc0NGwtNS4zMy0xMS42MDNNNjU0LjUyMy00NjcuNDIzbC0xNS45ODctMzQuODA4TTY2OS43MTgtNDM0LjM0MmwtNi4zMTMtMTMuNzQzTTYzOC41MzYtNTAyLjIzMWwtMy44NzgtOC40NDRNNjYzLjQwNS00NDguMDg1bC04Ljg4Mi0xOS4zMzhNNjQxLjI4My00NjcuNWwtMTIuNDM1LTI3LjA3Mk02NTguODEzLTQyOS4zMzNsLTUuMDk1LTExLjA5M002MjguODQ4LTQ5NC41NzJsLTUuMDk1LTExLjA5NE02NTMuNzE4LTQ0MC40MjZMNjQxLjI4My00NjcuNU02MjguMDQzLTQ2Ny41NzZsLTguODgyLTE5LjMzOE02NDcuOTA5LTQyNC4zMjRsLTMuODc5LTguNDQ0TTYxOS4xNi00ODYuOTE0bC02LjMxMi0xMy43NDNNNjQ0LjAzLTQzMi43NjhsLTE1Ljk4Ny0zNC44MDhNNjE0LjgwMi00NjcuNjUybC01LjMyOS0xMS42MDNNNjA5LjQ3My00NzkuMjU1bC03LjUzLTE2LjM5NE02MzcuMDA0LTQxOS4zMTZsLTIyLjIwMi00OC4zMzZNNjAxLjU2Mi00NjcuNzI4bC0xLjc3Ni0zLjg2OE01OTkuNzg2LTQ3MS41OTZsLTguNzQ3LTE5LjA0NE02MjYuMS00MTQuMzA3bC0yNC41MzgtNTMuNDIxTTYxNS4xOTQtNDA5LjI5OGwtMzUuMDYtNzYuMzMzTTYwNC4yOS00MDQuMjlsLTM1LjA2LTc2LjMzMyIgdHJhbnNmb3JtPSJzY2FsZSgxIC0xKSIvPjwvZz48L3N2Zz4=","height":662.7368713821797,"width":796.1916003284267,"midX":-61.68987331402925,"midY":-13.327090405151543,"offsetX":1.4921397450962104e-13,"offsetY":0,"getX":null,"setX":null,"getY":null,"setY":null,"getR":null,"setR":null,"opacity":0.6},{"id":"9","name":"Unknown.1","src":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaW5ZTWluIG1lZXQiIHZpZXdCb3g9Ii01NTE3LjQyOCAtMzgxNi40OTYgOTU1NC4yOTkgNzk1Mi44NDIiPjxnIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSI0Ij48cGF0aCBkPSJNLTMyMjQuMDY0LTY4MC44OTRsLTcyMC45MjUtNDkyLjMzOE0tMTU5Ni4wNjItMzQ2MC43NTRsODcuMTM4IDg3Ny42ODVNMjAwMC4zMDMgMjU3Ni45MDdMMjgwNC45IDI5MzguMjJNLTkuNTA2IDM2MDEuMTkxdi04ODJNLTk1My42NTQtMjYzOC4xOTdsLTg3LjEzNy04NzcuNjg1TS0yNDQwLTMzNzYuOTY4bDIyNDMuMTQ2LTIyMi43TS0xOTYuODU0LTM1OTkuNjY5bDE0NzAuODk4IDE0MzYuOTA0TTExMjcuNDE4LTYwMS45MjVsLTg0NS42ODMgMzg4LjQzTTMwMzMuNDc0IDI0MjkuMjE2bC04MDQuMzQtMzYxLjE5OE0yMjI5LjEzMyAyMDY4LjAxOGw2MS40NDYtMTM2LjgzTTUxNC42MzggMjkzLjU3Nmw4NDUuNjgyLTM4OC40M00tMzA2MS4wMiAxMjAxLjQyOGwtMTg1NS4zNyA4NTIuMTlNLTQ5MTYuMzkgMjA1My42MTdsLTYwMS4wMzgtMTMwOC41NjlNLTU1MTcuNDI4IDc0NS4wNDhsMTIzMS4yMTMtNTY1LjUwOE0tMzk0NS43MzctMTE1My4yN2wxMzk1LjE5NCAzNTYuNDE1TS0yNTUwLjU0My03OTYuODU1bC01MTAuNDc4IDE5OTguMjgzTS0yOTIwLjgyNS0xMTA4Ljk2NWwtNzI4LjM1Ni00OTcuNDE0TS0zOTQ0Ljk4OS0xMTczLjIzMmwxNTA0Ljk5LTIyMDMuNzM2TTEyNzQuMDQ0LTIxNjIuNzY1TDk2MS45NjEtODQ1LjY2M005NjEuOTYxLTg0NS42NjNsMTE3LjUxNiAyNTUuODUzTTEwNzkuNDc3LTU4OS44MWw4NzIuOTQ0LTQwMC45NTJNMTk1Mi40MjEtOTkwLjc2MmwyNDAuNDE2IDUyMy40MjhNMjE5Mi44MzctNDY3LjMzNEwxMzE5Ljg5Mi02Ni4zODJNMTMxOS44OTItNjYuMzgybDExNy41MTYgMjU1Ljg1M00xNDM3LjQwOCAxODkuNDcxbDE5NDYuNjQ1IDE0NTkuMDUyTTMzODQuMDUzIDE2NDguNTIzbC04NzYuODY4IDE5NTIuNjY4TTI1MDcuMTg1IDM2MDEuMTkxSC05LjUwNU0yMDguNDA4IDM2MDEuMTkxdi04ODJNLTkuNTA2IDI3MTkuMTkxaDE5NDUuOTE0TTE5MzYuNDA4IDI3MTkuMTkxbDM1My45NC03ODguMTc2TTIyOTAuNTc5IDE5MzEuMTg4TDcyOS4zMjkgNzYwLjk5N003MjkuMzI5IDc2MC45OTdMMzMuNzAzLTc1My41MDRNMzMuNzAzLTc1My41MDRsMjY3LjA1MS0xMTI3LjA1TTMwMC43NTQtMTg4MC41NTRsLTgxOS43NDItODAwLjc5N00tNTE4Ljk4OC0yNjgxLjM1MWwtMTQzNi4yOTQgMTQyLjU5Nk0tMTk0My41OS0yNTM5LjkxNWwtOTc3LjIzNSAxNDMwLjk1TTIyMjQuNjYxIDE5NDYuNjg0bC0zODcuMDM2IDg2MS44NzlNMTgzNy42MjUgMjgwOC41NjNIMzI0LjA5TTMyNC4wOSAyODA4LjU2M3Y4NjRNMzI0LjA5IDM2NzIuNTYzaDIwNzIuNjYzTTIzOTYuNzUzIDM2NzIuNTYzbDg5OS4yOTMtMjAwMi42MDVNMzI5Ni4wNDYgMTY2OS45NThMMTU4MC4yMjIgMzgzLjkxMU0xNTgwLjIyMiAzODMuOTExTDk4MC4xNy05MjIuNTFNMTA1Ny4xNTYtNzU0Ljg5OGwyODAuNTIyLTExODMuOTA2TTEzMzcuNjc4LTE5MzguODA0TC0zMzguNzk1LTM1NzYuNTMzTS0zMzguNzk1LTM1NzYuNTMzbC0yMDk2LjEzOSAyMDguMTA3TS0yNDM0LjkzNC0zMzY4LjQyNkwtMzYxOS4xNy0xNjM0LjM2NU0tMzYxOS4xNy0xNjM0LjM2NWw3MTMuNDkxIDQ4Ny4yNjNNLTMyMjQuMDY0LTY4MC44OTRsMTI3NS40MDgtMTg2Ny41NjNNLTE5NDguNjU2LTI1NDguNDU3bDEyOTQuMzAxLTEyOC40OTlNLTY1NC4zNTUtMjY3Ni45NTZMMzg0LjI1MS0xNjYyLjM1M00zODQuMjUxLTE2NjIuMzUzbC0yMzYuNDEgOTk3LjczMk0xNDcuODQyLTY2NC42Mkw4ODYuNTkzIDk0My43NzJNODg2LjU5MyA5NDMuNzczbDEzMzguMDY4IDEwMDIuOTExTTE1Ni44NjggMTg5Mi4wNGw0NzMuOTIyLTYzMi4yOTlNNjgyLjk5MyA4NDUuNTAyYTQ0NC41MTggNDQ0LjUxOCAwIDAxLTUyLjIwMyA0MTQuMjRNNjgyLjk5MyA4NDUuNTAyTDE4MS4xOTQtMjQ3LjAwM00tNDczLjEzOS03NjIuNzRhOTE2LjkyOSA5MTYuOTI5IDAgMDE2NTQuMzMzIDUxNS43MzdNLTQ3My4xMzktNzYyLjc0bC0xNzM0LjY3Ni0yNzQuMDk0TS0yNTUwLjU0My03OTYuODU1YTMwMC43MTUgMzAwLjcxNSAwIDAxMzQyLjcyOC0yMzkuOTc5TS0zODQwLjM0Mi0xNTY1Ljg0M2wxMjg2LjQxOC0xODgzLjY4NE0tMjU1My45MjQtMzQ0OS41MjdhMTQ4MS4xOTYgMTQ4MS4xOTYgMCAwMTEwMjIuODgyLTU4Ny40N00tMTUzMS4wNDItNDAzNi45OTdsOTYwLjc5OS05NS4zODlNLTU3MC4yNDMtNDEzMi4zODZhOTY5LjkxMSA5NjkuOTExIDAgMDE3NjIuMTU2IDI2OS4wNjdNMTkxLjkxMy0zODYzLjMxOUwxMzg1LjIyLTI2OTcuNTkyTTEzODUuMjE5LTI2OTcuNTkyYTYwOS43NjIgNjA5Ljc2MiAwIDAxMTUyLjU5MyA1MzguNzExTTE1MzcuODEyLTIxNTguODgxbC0yNDcuOTM1IDEwNDYuMzczTTEzMzcuOTYzLTQ4OC41MzJhMTIyNS4xOTIgMTIyNS4xOTIgMCAwMS00OC4wODYtNjIzLjk3Nk0xMzM3Ljk2My00ODguNTMybDE1NS4zMjcgMzM4LjE3NE0yMDgxLjk0IDU4MGEyMDYxLjk5NCAyMDYxLjk5NCAwIDAxLTU4OC42NS03MzAuMzU4TTIwODEuOTQgNTgwbDE4NTguNzA3IDEzOTMuMTQyTTM5NDAuNjQ3IDE5NzMuMTQyYTI1MC42MzcgMjUwLjYzNyAwIDAxNjEuOTEgMzI0LjAwN000MDAyLjU1NyAyMjk3LjE0OUwzMTc3LjcyOSAzNTA0Ljg2TTMxNzcuNzI5IDM1MDQuODZhNzY4LjEzNyA3NjguMTM3IDAgMDEtNTg4IDMxMS42MzZNMjU4OS43MjkgMzgxNi40OTZIMzY1LjY4TTM2NS42ODEgMzgxNi40OTZhNjU4LjIzNyA2NTguMjM3IDAgMDEtMzI5LjY4NS04OC41MTRNMzUuOTk2IDM3MjcuOTgybC0yMzIuOTktMTQzLjgwNk0tMTk2Ljk5NCAzNTg0LjE3NmEyMzkuNTcgMjM5LjU3IDAgMDEtMTA5LjMxNC0yNTMuMTQ4TS0zMDYuMzA4IDMzMzEuMDI4bDMwNC40NzMtMTEzNi4zMU0tMS44MzUgMjE5NC43MTlhMTA3MC43NTcgMTA3MC43NTcgMCAwMTE1OC43MDMtMzAyLjY3OE0tNDM5LjIzMi0xNjYxLjU3NkwtNzEyLjY3NC0xOTI4LjdNLTEwODcuNjk3LTIwNTUuMTAyYTQ5Mi44ODUgNDkyLjg4NSAwIDAxMzc1LjAyMyAxMjYuNDAzTS0xMDg3LjY5Ny0yMDU1LjEwMmwtNDM1LjE3IDQzLjIwNE0tMTY4OS43MzMtMTkwNi4yNDhhMjYxLjYyIDI2MS42MiAwIDAxMTY2Ljg2Ni0xMDUuNjVNLTE2ODkuNzMzLTE5MDYuMjQ4bC04MC43MTcgMTE4LjE5M00tMTY2Ny45NzEtMTUzNC42OGExNjQuMDk3IDE2NC4wOTcgMCAwMS0xMDIuNDc5LTI1My4zNzVNLTE2NjcuOTcxLTE1MzQuNjhsMTA3NC40MzQgMTY5Ljc3TS00MzkuMjMyLTE2NjEuNTc2YTE3Ny4xODYgMTc3LjE4NiAwIDAxLTE1NC4zMDUgMjk2LjY2NU0zNjY4LjQgMjEyOS4wMDRhODYuNjQ1IDg2LjY0NSAwIDAxMjEuMzQ1IDExNS41MTdNMzY2OC40IDIxMjkuMDA0bC05Ni4zLTcyLjE3OU0zNDIzLjQxOCAyMDg5LjM1YTEwMC43MzkgMTAwLjczOSAwIDAxMTQ4LjY4Mi0zMi41MjVNMzQyMy40MTggMjA4OS4zNWwtMTM5Ljc0MiAzMTEuMTg3TTM1MTIuOSAyNTAzLjQ3MmExMjcuNjM0IDEyNy42MzQgMCAwMS0yMjkuMjI0LTEwMi45MzVNMzUxMi45IDI1MDMuNDcybDE3Ni44NDUtMjU4Ljk1TTE1MzYuMjggMTk3MC42MDRsLTM2Mi4yNDgtMjcxLjUxM003ODEuMjYyIDE3NDAuNzg4YTI5Mi4yODggMjkyLjI4OCAwIDAxMzkyLjc3LTQxLjY5N003ODEuMjYyIDE3NDAuNzg4bC0yMzAuNjc2IDMwNy43NjNNNzQyLjU0NSAyMzc2LjU2M2EyMjIuMDggMjIyLjA4IDAgMDEtMTkxLjk1OS0zMjguMDEyTTc0Mi41NDUgMjM3Ni41NjNoNjU0LjE4Mk0xNTM2LjI4IDE5NzAuNjA0YTIzMS40MzUgMjMxLjQzNSAwIDAxLTEzOS41NTMgNDA1Ljk1OU0tMTc1LjMwMy0xNjY1LjMyNmwtMTAyLjE3MS0yNC4yMDlNLTI3Ny40NzQtMTY4OS41MzVsLTQzLjgwNyAxODQuODgxTS0zMjEuMjgxLTE1MDQuNjU0bDEwMi4xNzEgMjQuMjFNLTIxOS4xMS0xNDgwLjQ0NWw0My44MDctMTg0Ljg4TS00Mjg2LjIxNSAxNzkuNTRsNDQ1Ljg3My0xNzQ1LjM4M002NzguMjc2LTUzMC43MWwtNS43MzktMTIuNDk0TTc4OS42Ny00ODkuNDM3bC03Ni4zMzMgMzUuMDZNNzEzLjgxLTY1NC41OThsNzUuODYgMTY1LjE2MU02MzcuNDc3LTYxOS41MzhsNzYuMzMzLTM1LjA2TTUxNy41MjUtNTY0LjQ0MmwzNS4wNiA3Ni4zMzNNNjM3LjQ3Ny02MTkuNTM4bDM1LjA2IDc2LjMzNE03MTMuMzM3LTQ1NC4zNzZsLTM1LjA2LTc2LjMzM001OTMuMzg1LTM5OS4yOGwtMzUuMDYtNzYuMzM0TTY3Mi41MzctNTQzLjIwNEw1NTIuNTg1LTQ4OC4xMU02MzcuNDc3LTYxOS41MzhsLTExOS45NTIgNTUuMDk2TTY2My4zNi01MjMuODU4bDE0LjkxNi02Ljg1MU02NTYuNDY3LTUyMC42OTJsNi44OTMtMy4xNjZNNjQ1LjU2Mi01MTUuNjgzbDEwLjkwNS01LjAwOU02MzQuNjU4LTUxMC42NzVsMTAuOTA0LTUuMDA4TTYyMy43NTMtNTA1LjY2NmwxMC45MDUtNS4wMDlNNjEyLjg0OC01MDAuNjU3bDEwLjkwNS01LjAwOU02MDEuOTQzLTQ5NS42NDlsMTAuOTA1LTUuMDA4TTU5MS4wMzktNDkwLjY0bDEwLjkwNC01LjAwOU01ODAuMTM0LTQ4NS42MzFsMTAuOTA1LTUuMDFNNTY5LjIzLTQ4MC42MjNsMTAuOTA0LTUuMDA4TTU1OC4zMjQtNDc1LjYxNGwxMC45MDUtNS4wMDlNNjYyLjgyNS00MzEuMTc2bDUwLjUxMi0yMy4yTTY1OC44MTMtNDI5LjMzM2w0LjAxMi0xLjg0M002NDcuOTA5LTQyNC4zMjRsMTAuOTA0LTUuMDA5TTYzNy4wMDQtNDE5LjMxNmwxMC45MDUtNS4wMDhNNjI2LjEtNDE0LjMwN2wxMC45MDQtNS4wMDlNNjE1LjE5NC00MDkuMjk4bDEwLjkwNS01LjAwOU02MDQuMjktNDA0LjI5bDEwLjkwNC01LjAwOE01OTMuMzg1LTM5OS4yOGwxMC45MDUtNS4wMU02NjMuMDY3LTQ3My4wMTdsLS4yNDIgNDEuODQxTTY2OC43MTctNDc3LjQ4NGwtNS42NSA0LjQ2N002NTcuNDY4LTQ3Ny41NWwxMS4yNS4wNjZNNjYzLjExOC00ODIuMDE3bC01LjY1IDQuNDY4TTY2My4zNi01MjMuODU4bC0uMjQyIDQxLjg0MU01MjcuNzQ4LTU2OS4xMzhsMzUuMDYgNzYuMzMzTTUzOC42NTMtNTc0LjE0N2wzNS4wNiA3Ni4zMzRNNTQ5LjU1Ny01NzkuMTU1bDM1LjA2IDc2LjMzM001NjAuNDYyLTU4NC4xNjRsMzUuMDYgNzYuMzMzTTU3MS4zNjctNTg5LjE3M2wzNS4wNiA3Ni4zMzRNNTgyLjI3Mi01OTQuMTgxbDM1LjA2IDc2LjMzM001OTMuMTc2LTU5OS4xOWwzNS4wNiA3Ni4zMzNNNjA0LjA4MS02MDQuMTk5bDM1LjA2IDc2LjMzNE02MTQuOTg2LTYwOS4yMDdsMzUuMDYgNzYuMzMzTTYyNS44OS02MTQuMjE2bDM1LjA2MSA3Ni4zMzNNNjM2Ljc5NS02MTkuMjI0bDM1LjA2IDc2LjMzM003MTQuMDE5LTQ1NC42OWwtMzUuMDYxLTc2LjMzMk03MDMuMTE0LTQ0OS42OGwtMzUuMDYtNzYuMzM0TTY5Mi4yMS00NDQuNjcybC0yOC45NDQtNjMuMDEzTTY2My4yNjYtNTA3LjY4NWwtNi4xMTctMTMuMzJNNjYzLjkyLTQ3Ny41MTJsLTEuNzMxLTMuNzdNNjgxLjMwNC00MzkuNjYzbC0xNi4wOTctMzUuMDQ2TTY2Mi4xODktNDgxLjI4MmwtMTUuOTQ1LTM0LjcxNE02NjUuMjA3LTQ3NC43MWwtMS4yODctMi44MDJNNjcwLjQtNDM0LjY1NWwtNy40Ni0xNi4yNDJNNjYyLjk0LTQ1MC44OTdsLTI3LjYtNjAuMDlNNjU5LjQ5NS00MjkuNjQ2bC0zNS4wNi03Ni4zMzNNNjQ4LjU5LTQyNC42MzdsLTM1LjA2LTc2LjMzM002MzcuNjg1LTQxOS42MjlsLTM1LjA2LTc2LjMzM002MjYuNzgtNDE0LjYybC0zNS4wNi03Ni4zMzNNNjE1Ljg3Ni00MDkuNjExbC0zNS4wNi03Ni4zMzNNNjA0Ljk3MS00MDQuNjAzbC0zNS4wNi03Ni4zMzNNNTk0LjA2Ni0zOTkuNTk0bC0zNS4wNi03Ni4zMzNNNTI4LjQzLTU2OS40NTFsMzUuMDYgNzYuMzMzTTUzOS4zMzQtNTc0LjQ2bDM1LjA2IDc2LjMzNE01NTAuMjM5LTU3OS40NjhsMzUuMDYgNzYuMzMzTTU2MS4xNDQtNTg0LjQ3N2wzNS4wNiA3Ni4zMzNNNTcyLjA0OC01ODkuNDg2bDM1LjA2IDc2LjMzNE01ODIuOTUzLTU5NC40OTRsMzUuMDYgNzYuMzMzTTU5My44NTgtNTk5LjUwM2wzNS4wNiA3Ni4zMzNNNjA0Ljc2My02MDQuNTEybDM1LjA2IDc2LjMzNE02MTUuNjY3LTYwOS41MmwzNS4wNiA3Ni4zMzNNNjI2LjU3Mi02MTQuNTI5bDM1LjA2IDc2LjMzM003MDIuNDMyLTQ0OS4zNjdsLTM1LjA2LTc2LjMzNE02OTEuNTI4LTQ0NC4zNTlsLTI4LjI3Mi02MS41NTJNNjYzLjI1Ni01MDUuOTFsLTYuNzg5LTE0Ljc4Mk02NjMuMDkzLTQ3Ny41MTdsLTEuNTEtMy4yODZNNjgwLjYyMy00MzkuMzVsLTE2LjAyMS0zNC44OE02NjEuNTgzLTQ4MC44MDNsLTE2LjAyLTM0Ljg4TTY2NC42MDItNDc0LjIzbC0xLjUxLTMuMjg3TTY2OS43MTgtNDM0LjM0MmwtNi43OS0xNC43OE02NjIuOTI5LTQ0OS4xMjNsLTI4LjI3MS02MS41NTJNNjU4LjgxMy00MjkuMzMzbC0zNS4wNi03Ni4zMzNNNjQ3LjkwOS00MjQuMzI0bC0zNS4wNjEtNzYuMzMzTTYzNy4wMDQtNDE5LjMxNmwtMzUuMDYtNzYuMzMzTTYyNi4xLTQxNC4zMDdsLTM1LjA2MS03Ni4zMzNNNjE1LjE5NC00MDkuMjk4bC0zNS4wNi03Ni4zMzNNNjA0LjI5LTQwNC4yOWwtMzUuMDYtNzYuMzMzIiB0cmFuc2Zvcm09InNjYWxlKDEgLTEpIi8+PC9nPjwvc3ZnPg==","height":662.7368713821797,"width":796.191600328427,"midX":-61.6898733140294,"midY":-13.327090405151543,"offsetX":0,"offsetY":0,"getX":null,"setX":null,"getY":null,"setY":null,"getR":null,"setR":null,"opacity":0.6},{"id":"10","name":"Unknown.2","src":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaW5ZTWluIG1lZXQiIHZpZXdCb3g9Ii01NTE3LjQyOCAtMzYwMS4xOTEgODkwMS40ODEgNzIwMC44NiI+PGcgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjQiPjxwYXRoIGQ9Ik0tMzIyNC4wNjQtNjgwLjg5NGwtNzIwLjkyNS00OTIuMzM4TS0zOTQ0Ljk4OS0xMTczLjIzMmwxNTA0Ljk5LTIyMDMuNzM2TS0yNDQwLTMzNzYuOTY4bDg0My45MzgtODMuNzg2TS0xNTk2LjA2Mi0zNDYwLjc1NGw4Ny4xMzggODc3LjY4NU0tMTUwOC45MjQtMjU4My4wN2wtNDQ2LjM1OCA0NC4zMTVNLTE5NTUuMjgyLTI1MzguNzU1TC0zMjI0LjA2NC02ODAuODk0TS05LjUwNiAyNzE5LjE5MWgxOTQ1LjkxNE0xOTM2LjQwOCAyNzE5LjE5MWw2My44OTUtMTQyLjI4NE0yMDAwLjMwMyAyNTc2LjkwN0wyODA0LjkgMjkzOC4yMk0yODA0LjkgMjkzOC4yMmwtMjk3LjcxNSA2NjIuOTcxTTI1MDcuMTg1IDM2MDEuMTkxSC05LjUwNU0tOS41MDYgMzYwMS4xOTF2LTg4Mk0tNjQ1Ljk1LTI2NjguNzQ2bC0zMDcuNzA0IDMwLjU0OU0tOTUzLjY1NC0yNjM4LjE5N2wtODcuMTM3LTg3Ny42ODVNLTEwNDAuNzkxLTM1MTUuODgybDg0My45MzctODMuNzg3TS0xOTYuODU0LTM1OTkuNjY5bDE0NzAuODk4IDE0MzYuOTA0TTEyNzQuMDQ0LTIxNjIuNzY1TDk4MC4xNy05MjIuNTFNOTgwLjE3LTkyMi41MWwxNDcuMjQ4IDMyMC41ODVNMTEyNy40MTgtNjAxLjkyNWwtODQ1LjY4MyAzODguNDNNMjgxLjczNS0yMTMuNDk1TDMzLjcwMy03NTMuNTA1TTMzLjcwMy03NTMuNTA0bDI0MC43NjEtMTAxNi4wOTlNMjc0LjQ2NC0xNzY5LjYwM2wtOTIwLjQxNS04OTkuMTQzTTMzODQuMDUzIDE2NDguNTIzbC0zNTAuNTggNzgwLjY5M00zMDMzLjQ3NCAyNDI5LjIxNmwtODA0LjM0LTM2MS4xOThNMjIyOS4xMzMgMjA2OC4wMThsNjEuNDQ2LTEzNi44M00yMjkwLjU3OSAxOTMxLjE4OEw3MjkuMzI5IDc2MC45OTdNNzI5LjMyOSA3NjAuOTk3TDUxNC42MzggMjkzLjU3Nk01MTQuNjM4IDI5My41NzZsODQ1LjY4Mi0zODguNDNNMTM2MC4zMi05NC44NTVsMTU4LjY4NCAzNDUuNDg0TTE1MTkuMDA0IDI1MC42M2wxODY1LjA0OSAxMzk3Ljg5M00tMzA2MS4wMiAxMjAxLjQyOGwtMTg1NS4zNyA4NTIuMTlNLTQ5MTYuMzkgMjA1My42MTdsLTYwMS4wMzgtMTMwOC41NjlNLTU1MTcuNDI4IDc0NS4wNDhsMTIzMS4yMTMtNTY1LjUwOE0tNDI4Ni4yMTUgMTc5LjU0bDM0MC40NzgtMTMzMi44MU0tMzk0NS43MzctMTE1My4yN2wxMzk1LjE5NCAzNTYuNDE1TS0yNTUwLjU0My03OTYuODU1bC01MTAuNDc4IDE5OTguMjgzIiB0cmFuc2Zvcm09InNjYWxlKDEgLTEpIi8+PC9nPjwvc3ZnPg==","height":600.0716933652425,"width":741.7900720312269,"midX":-88.8906374626294,"midY":0.06344365682192195,"offsetX":-27.2007641486,"offsetY":-13.390534061973465,"getX":null,"setX":null,"getY":null,"setY":null,"getR":null,"setR":null,"opacity":0.6},{"id":"11","name":"Unknown.3","src":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaW5ZTWluIG1lZXQiIHZpZXdCb3g9Ii01NTE3LjQyOCAtMzYwMS4xOTEgODkwMS40ODEgNzIwMC44NiI+PGcgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjQiPjxwYXRoIGQ9Ik0tMzk1Ni43MDgtMTE1Ni4wNzJMLTI0NDAtMzM3Ni45NjhNLTI0NDAtMzM3Ni45NjhsODQzLjkzOC04My43ODZNLTE1OTYuMDYyLTM0NjAuNzU0bDg3LjEzOCA4NzcuNjg1TS0xNTA4LjkyNC0yNTgzLjA3bC00MzQuNjY3IDQzLjE1NU0tMTk0My41OS0yNTM5LjkxNUwtMzA0Ny4zMDktOTIzLjc1OE05Mi40OTQgMjcxOS4xOTFoMTg0My45MTRNMTkzNi40MDggMjcxOS4xOTFsNjMuODk1LTE0Mi4yODRNMjAwMC4zMDMgMjU3Ni45MDdMMjgwNC45IDI5MzguMjJNMjgwNC45IDI5MzguMjJsLTI5Ny43MTUgNjYyLjk3MU0yNTA3LjE4NSAzNjAxLjE5MUg5Mi40OTVNOTIuNDk0IDM2MDEuMTkxdi04ODJNLTUxOC45ODgtMjY4MS4zNTFsLTQzNC42NjYgNDMuMTU0TS05NTMuNjU0LTI2MzguMTk3bC04Ny4xMzctODc3LjY4NU0tMTA0MC43OTEtMzUxNS44ODJsODQzLjkzNy04My43ODdNLTE5Ni44NTQtMzU5OS42NjlsMTQ3MC44OTggMTQzNi45MDRNMTI3NC4wNDQtMjE2Mi43NjVMOTgwLjE3LTkyMi41MU05ODAuMTctOTIyLjUxbDE0Ny4yNDggMzIwLjU4NU0xMTI3LjQxOC02MDEuOTI1bC04NDUuNjgzIDM4OC40M00yODEuNzM1LTIxMy40OTVMMzMuNzAzLTc1My41MDVNMzMuNzAzLTc1My41MDRsMjY3LjA1MS0xMTI3LjA1TTMwMC43NTQtMTg4MC41NTRsLTgxOS43NDItODAwLjc5N00zMzg0LjA1MyAxNjQ4LjUyM2wtMzUwLjU4IDc4MC42OTNNMzAzMy40NzQgMjQyOS4yMTZsLTgwNC4zNC0zNjEuMTk4TTIyMjkuMTMzIDIwNjguMDE4bDYxLjQ0Ni0xMzYuODNNMjI5MC41NzkgMTkzMS4xODhMNzI5LjMyOSA3NjAuOTk3TTcyOS4zMjkgNzYwLjk5N0w1MTQuNjM4IDI5My41NzZNNTE0LjYzOCAyOTMuNTc2bDg0NS42ODItMzg4LjQzTTEzNjAuMzItOTQuODU1bDE1OC42ODQgMzQ1LjQ4NE0xNTE5LjAwNCAyNTAuNjNsMTg2NS4wNDkgMTM5Ny44OTNNLTM5NTYuNzA4LTExNTYuMDcybDE0MDYuMTY1IDM1OS4yMTdNLTI1NTAuNTQzLTc5Ni44NTVsLTUxMC40NzggMTk5OC4yODNNLTMwNjEuMDIgMTIwMS40MjhsLTE4NTUuMzcgODUyLjE5TS00OTE2LjM5IDIwNTMuNjE3bC02MDEuMDM4LTEzMDguNTY5TS01NTE3LjQyOCA3NDUuMDQ4bDEyMzEuMjEzLTU2NS41MDhNLTQyODYuMjE1IDE3OS41NGwzNDAuNDc4LTEzMzIuODEiIHRyYW5zZm9ybT0ic2NhbGUoMSAtMSkiLz48L2c+PC9zdmc+","height":600.0716933652424,"width":741.7900720312269,"midX":-88.8906374626294,"midY":0.06344365682199775,"offsetX":-27.2007641486,"offsetY":-13.39053406197354,"getX":null,"setX":null,"getY":null,"setY":null,"getR":null,"setR":null,"opacity":0.6},{"id":"12","name":"Unknown.4","src":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaW5ZTWluIG1lZXQiIHZpZXdCb3g9Ii0zNjk0Ljg2MiAtMzYwMS4xOTEgNzA3OC45MTUgNzIwMC44NiI+PGcgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjQiPjxwYXRoIGQ9Ik0tMTUwOC45MjQtMjU4My4wN2wtNDM0LjY2NyA0My4xNTVNLTE5NDMuNTktMjUzOS45MTVsLTEwMjIuOTE2IDE0OTcuODRNLTI5NjYuNTA2LTEwNDIuMDc1bC03MjguMzU2LTQ5Ny40MTRNLTM2OTQuODYyLTE1MzkuNDg5TC0yNDQwLTMzNzYuOTY4TS0yNDQwLTMzNzYuOTY4bDg0My45MzgtODMuNzg2TS0xNTk2LjA2Mi0zNDYwLjc1NGw4Ny4xMzggODc3LjY4NU0xOTEuMTg1IDI3MTkuMTkxaDE3NDUuMjIzTTE5MzYuNDA4IDI3MTkuMTkxbDYzLjg5NS0xNDIuMjg0TTIwMDAuMzAzIDI1NzYuOTA3TDI4MDQuOSAyOTM4LjIyTTI4MDQuOSAyOTM4LjIybC0yOTcuNzE1IDY2Mi45NzFNMjUwNy4xODUgMzYwMS4xOTFoLTIzMTZNMTkxLjE4NSAzNjAxLjE5MXYtODgyTS02NDUuOTUtMjY2OC43NDZsLTMwNy43MDQgMzAuNTQ5TS05NTMuNjU0LTI2MzguMTk3bC04Ny4xMzctODc3LjY4NU0tMTA0MC43OTEtMzUxNS44ODJsODQzLjkzNy04My43ODdNLTE5Ni44NTQtMzU5OS42NjlsMTQ3MC44OTggMTQzNi45MDRNMTI3NC4wNDQtMjE2Mi43NjVMOTYxLjk2MS04NDUuNjYzTTk2MS45NjEtODQ1LjY2M2wxMjEuMjcyIDI2NC4wMzJNMTA4My4yMzMtNTgxLjYzMUwyODEuNzM1LTIxMy40OTVNMjgxLjczNS0yMTMuNDk1TDMzLjcwMy03NTMuNTA1TTMzLjcwMy03NTMuNTA0bDI0MC43NjEtMTAxNi4wOTlNMjc0LjQ2NC0xNzY5LjYwM2wtOTIwLjQxNS04OTkuMTQzTTMzODQuMDUzIDE2NDguNTIzbC0zNTAuNTggNzgwLjY5M00zMDMzLjQ3NCAyNDI5LjIxNmwtODA0LjM0LTM2MS4xOThNMjIyOS4xMzMgMjA2OC4wMThsNjEuNDQ2LTEzNi44M00yMjkwLjU3OSAxOTMxLjE4OEw3MjkuMzI5IDc2MC45OTdNNzI5LjMyOSA3NjAuOTk3TDUxNC42MzggMjkzLjU3Nk01MTQuNjM4IDI5My41NzZsODAxLjQ5OC0zNjguMTM3TTEzMTYuMTM2LTc0LjU2bDEyMS4yNzIgMjY0LjAzMU0xNDM3LjQwOCAxODkuNDcxbDE5NDYuNjQ1IDE0NTkuMDUyIiB0cmFuc2Zvcm09InNjYWxlKDEgLTEpIi8+PC9nPjwvc3ZnPg==","height":600.0716933652426,"width":589.909597311554,"midX":-12.950400102792779,"midY":0.06344365682213038,"offsetX":48.73947321123662,"offsetY":-13.390534061973673,"getX":null,"setX":null,"getY":null,"setY":null,"getR":null,"setR":null,"opacity":0.6},{"id":"13","name":"Unknown.5","src":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaW5ZTWluIG1lZXQiIHZpZXdCb3g9Ii02NDUuODg2IC0zNjAxLjE5MSA0MDI5LjkzOSA3Mjk5LjMzNSI+PGcgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjQiPjxwYXRoIGQ9Ik0xOTEuMTg1IDI3MTkuMTkxaDE3NDUuMjIzTTE5MzYuNDA4IDI3MTkuMTkxbDYzLjg5NS0xNDIuMjg0TTIwMDAuMzAzIDI1NzYuOTA3TDI4MDQuOSAyOTM4LjIyTTI4MDQuOSAyOTM4LjIybC0yOTcuNzE1IDY2Mi45NzFNMjUwNy4xODUgMzYwMS4xOTFoLTIzMTZNMTkxLjE4NSAzNjAxLjE5MXYtODgyTTMzODQuMDUzIDE2NDguNTIzbC0zNTAuNTggNzgwLjY5M00zMDMzLjQ3NCAyNDI5LjIxNmwtODA0LjM0LTM2MS4xOThNMjIyOS4xMzMgMjA2OC4wMThsNjEuNDQ2LTEzNi44M00yMjkwLjU3OSAxOTMxLjE4OEw3MjkuMzI5IDc2MC45OTdNNzI5LjMyOSA3NjAuOTk3TDUxNC42MzggMjkzLjU3Nk01MTQuNjM4IDI5My41NzZsODAxLjQ5OC0zNjguMTM3TTEzMTYuMTM2LTc0LjU2bDEyMS4yNzIgMjY0LjAzMU0xNDM3LjQwOCAxODkuNDcxbDE5NDYuNjQ1IDE0NTkuMDUyTS02NDUuODg2LTI2NjguNjgzbDM0OC4yMjgtMTAyOS40Nk0tMjk3LjY1OC0zNjk4LjE0NGwxNTcxLjcwMiAxNTM1LjM4TTEyNzQuMDQ0LTIxNjIuNzY1TDk2MS45NjEtODQ1LjY2M005NjEuOTYxLTg0NS42NjNsMTIxLjI3MiAyNjQuMDMyTTEwODMuMjMzLTU4MS42MzFMMjgxLjczNS0yMTMuNDk1TTI4MS43MzUtMjEzLjQ5NUwzMy43MDMtNzUzLjUwNU0zMy43MDMtNzUzLjUwNGwyNDAuNzYxLTEwMTYuMDk5TTI3NC40NjQtMTc2OS42MDNsLTkyMC4zNS04OTkuMDgiIHRyYW5zZm9ybT0ic2NhbGUoMSAtMSkiLz48L2c+PC9zdmc+","height":608.2779343403103,"width":335.8282446122501,"midX":114.09027624685893,"midY":-4.039676830711585,"offsetX":175.78014956088833,"offsetY":-9.287413574439958,"getX":null,"setX":null,"getY":null,"setY":null,"getR":null,"setR":null,"opacity":0.6},{"id":"14","name":"Unknown.6","src":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaW5ZTWluIG1lZXQiIHZpZXdCb3g9IjE0Ny44NDIgLTM2NzIuNTYzIDMxNDguMjA0IDU2MTEuMzY3Ij48ZyBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iNCI+PHBhdGggZD0iTTEwNTcuMTU2LTc1NC44OThMMTIwNy4yLTQyOC4yMjNNMTIwNy4yLTQyOC4yMjNsLTY1NC4yODQgMzAwLjUyTTU1Mi45MTYtMTI3LjcwM2wyNDAuNDE2IDUyMy40MjdNNzkzLjMzMiAzOTUuNzI0bDY1NC4yODQtMzAwLjUyTTE0NDcuNjE2IDk1LjIwNWwxMzIuNjA2IDI4OC43MDZNMTU4MC4yMjIgMzgzLjkxMWwxNzE1LjgyNCAxMjg2LjA0N00zMjk2LjA0NiAxNjY5Ljk1OGwtMzU4Ljc0NiA3OTguODhNMjkzNy4zIDI0NjguODM4bC02NTYuODE0LTI5NC45NU0yMjgwLjQ4NiAyMTczLjg4OGwtMjM1Ljk2IDUyNS40NTFNMjA0NC41MjYgMjY5OS4zNGw2NTYuODE0IDI5NC45NDlNMjcwMS4zNCAyOTk0LjI4OWwtMzA0LjU4NyA2NzguMjc0TTIzOTYuNzUzIDM2NzIuNTYzSDMyNC4wOU0zMjQuMDkgMzY3Mi41NjN2LTg2NE0zMjQuMDkgMjgwOC41NjNoMTUxMy41MzVNMTgzNy42MjUgMjgwOC41NjNsMzg3LjAzNi04NjEuODc5TTIyMjQuNjYxIDE5NDYuNjg0TDg4Ni41OTMgOTQzLjc3NE04ODYuNTkzIDk0My43NzNMMTQ3Ljg0Mi02NjQuNjJNMTQ3Ljg0Mi02NjQuNjJsMjM2LjQxLTk5Ny43MzNNMzg0LjI1MS0xNjYyLjM1M2w5NTMuNDI3LTI3Ni40NTFNMTMzNy42NzgtMTkzOC44MDRMMTA1Ny4xNTYtNzU0Ljg5OCIgdHJhbnNmb3JtPSJzY2FsZSgxIC0xKSIvPjwvZz48L3N2Zz4=","height":467.61392202424537,"width":262.3503200402647,"midX":143.49531417525256,"midY":72.23994963419537,"offsetX":205.18518748928196,"offsetY":-85.5670400393469,"getX":null,"setX":null,"getY":null,"setY":null,"getR":null,"setR":null,"opacity":0.6}]},"construction_lines":{"visible":true},"building_units":[],"thermal_zones":[{"id":"tz_1","handle":null,"name":"Thermal Zone 1","color":"#332288"},{"id":"tz_2","handle":null,"name":"Thermal Zone 2","color":"#117733"},{"id":"tz_3","handle":null,"name":"Thermal Zone 3","color":"#999933"},{"id":"tz_4","handle":null,"name":"Thermal Zone 4","color":"#ddcc77"},{"id":"tz_5","handle":null,"name":"Thermal Zone 5","color":"#cc6677"},{"id":"tz_6","handle":null,"name":"Thermal Zone 6","color":"#882255"},{"id":"tz_7","handle":null,"name":"Thermal Zone 7","color":"#44aa99"},{"id":"tz_8","handle":null,"name":"Thermal Zone 8","color":"#6699cc"},{"id":"tz_9","handle":null,"name":"Thermal Zone 9","color":"#661100"},{"id":"tz_10","handle":null,"name":"Thermal Zone 10","color":"#aa4466"},{"id":"tz_11","handle":null,"name":"Thermal Zone 11","color":"#aa4499"},{"id":"tz_12","handle":null,"name":"Thermal Zone 12","color":"#88ccee"},{"id":"tz_13","handle":null,"name":"Thermal Zone 13","color":"#332288"},{"id":"tz_14","handle":null,"name":"Thermal Zone 14","color":"#117733"},{"id":"tz_15","handle":null,"name":"Thermal Zone 15","color":"#999933"},{"id":"tz_16","handle":null,"name":"Thermal Zone 16","color":"#ddcc77"},{"id":"tz_17","handle":null,"name":"Thermal Zone 17","color":"#cc6677"},{"id":"tz_18","handle":null,"name":"Thermal Zone 18","color":"#882255"},{"id":"tz_19","handle":null,"name":"Thermal Zone 19","color":"#44aa99"},{"id":"tz_20","handle":null,"name":"Thermal Zone 20","color":"#6699cc"},{"id":"tz_21","handle":null,"name":"Thermal Zone 21","color":"#661100"},{"id":"tz_22","handle":null,"name":"Thermal Zone 22","color":"#aa4466"},{"id":"tz_23","handle":null,"name":"Thermal Zone 23","color":"#aa4499"},{"id":"tz_24","handle":null,"name":"Thermal Zone 24","color":"#88ccee"},{"id":"tz_25","handle":null,"name":"Thermal Zone 25","color":"#332288"},{"id":"tz_26","handle":null,"name":"Thermal Zone 26","color":"#117733"},{"id":"tz_27","handle":null,"name":"Thermal Zone 27","color":"#999933"},{"id":"tz_28","handle":null,"name":"Thermal Zone 28","color":"#ddcc77"},{"id":"tz_29","handle":null,"name":"Thermal Zone 29","color":"#cc6677"},{"id":"tz_30","handle":null,"name":"Thermal Zone 30","color":"#882255"},{"id":"tz_31","handle":null,"name":"Thermal Zone 31","color":"#44aa99"},{"id":"tz_32","handle":null,"name":"Thermal Zone 32","color":"#6699cc"},{"id":"tz_33","handle":null,"name":"Thermal Zone 33","color":"#661100"},{"id":"tz_34","handle":null,"name":"Thermal Zone 34","color":"#aa4466"},{"id":"tz_35","handle":null,"name":"Thermal Zone 35","color":"#aa4499"},{"id":"tz_36","handle":null,"name":"Thermal Zone 36","color":"#88ccee"},{"id":"tz_37","handle":null,"name":"Thermal Zone 37","color":"#332288"},{"id":"tz_38","handle":null,"name":"Thermal Zone 38","color":"#117733"},{"id":"tz_39","handle":null,"name":"Thermal Zone 39","color":"#999933"},{"id":"tz_40","handle":null,"name":"Thermal Zone 40","color":"#ddcc77"},{"id":"tz_41","handle":null,"name":"Thermal Zone 41","color":"#cc6677"},{"id":"tz_42","handle":null,"name":"Thermal Zone 42","color":"#882255"},{"id":"tz_43","handle":null,"name":"Thermal Zone 43","color":"#44aa99"},{"id":"tz_44","handle":null,"name":"Thermal Zone 44","color":"#6699cc"},{"id":"tz_45","handle":null,"name":"Thermal Zone 45","color":"#661100"},{"id":"tz_46","handle":null,"name":"Thermal Zone 46","color":"#aa4466"},{"id":"tz_47","handle":null,"name":"Thermal Zone 47","color":"#aa4499"},{"id":"tz_48","handle":null,"name":"Thermal Zone 48","color":"#88ccee"},{"id":"tz_49","handle":null,"name":"Thermal Zone 49","color":"#332288"},{"id":"tz_50","handle":null,"name":"Thermal Zone 50","color":"#117733"},{"id":"tz_51","handle":null,"name":"Thermal Zone 51","color":"#999933"},{"id":"tz_52","handle":null,"name":"Thermal Zone 52","color":"#ddcc77"},{"id":"tz_53","handle":null,"name":"Thermal Zone 53","color":"#cc6677"},{"id":"tz_54","handle":null,"name":"Thermal Zone 54","color":"#882255"},{"id":"tz_55","handle":null,"name":"Thermal Zone 55","color":"#44aa99"},{"id":"tz_56","handle":null,"name":"Thermal Zone 56","color":"#6699cc"},{"id":"tz_57","handle":null,"name":"Thermal Zone 57","color":"#661100"},{"id":"tz_58","handle":null,"name":"Thermal Zone 58","color":"#aa4466"},{"id":"tz_59","handle":null,"name":"Thermal Zone 59","color":"#aa4499"},{"id":"tz_60","handle":null,"name":"Thermal Zone 60","color":"#88ccee"},{"id":"tz_61","handle":null,"name":"Thermal Zone 61","color":"#332288"},{"id":"tz_62","handle":null,"name":"Thermal Zone 62","color":"#117733"},{"id":"tz_63","handle":null,"name":"Thermal Zone 63","color":"#999933"},{"id":"tz_64","handle":null,"name":"Thermal Zone 64","color":"#ddcc77"},{"id":"tz_65","handle":null,"name":"Thermal Zone 65","color":"#cc6677"},{"id":"tz_66","handle":null,"name":"Thermal Zone 66","color":"#882255"},{"id":"tz_67","handle":null,"name":"Thermal Zone 67","color":"#44aa99"},{"id":"tz_68","handle":null,"name":"Thermal Zone 68","color":"#6699cc"},{"id":"tz_69","handle":null,"name":"Thermal Zone 69","color":"#661100"},{"id":"tz_70","handle":null,"name":"Thermal Zone 70","color":"#aa4466"},{"id":"tz_71","handle":null,"name":"Thermal Zone 71","color":"#aa4499"},{"id":"tz_72","handle":null,"name":"Thermal Zone 72","color":"#88ccee"},{"id":"tz_73","handle":null,"name":"Thermal Zone 73","color":"#332288"},{"id":"tz_74","handle":null,"name":"Thermal Zone 74","color":"#117733"},{"id":"tz_75","handle":null,"name":"Thermal Zone 75","color":"#999933"},{"id":"tz_76","handle":null,"name":"Thermal Zone 76","color":"#ddcc77"},{"id":"tz_77","handle":null,"name":"Thermal Zone 77","color":"#cc6677"},{"id":"tz_78","handle":null,"name":"Thermal Zone 78","color":"#882255"},{"id":"tz_79","handle":null,"name":"Thermal Zone 79","color":"#44aa99"},{"id":"tz_80","handle":null,"name":"Thermal Zone 80","color":"#6699cc"},{"id":"tz_81","handle":null,"name":"Thermal Zone 81","color":"#661100"},{"id":"tz_82","handle":null,"name":"Thermal Zone 82","color":"#aa4466"},{"id":"tz_83","handle":null,"name":"Thermal Zone 83","color":"#aa4499"},{"id":"tz_84","handle":null,"name":"Thermal Zone 84","color":"#88ccee"},{"id":"tz_85","handle":null,"name":"Thermal Zone 85","color":"#332288"},{"id":"tz_86","handle":null,"name":"Thermal Zone 86","color":"#117733"},{"id":"tz_87","handle":null,"name":"Thermal Zone 87","color":"#999933"},{"id":"tz_88","handle":null,"name":"Thermal Zone 88","color":"#ddcc77"},{"id":"tz_89","handle":null,"name":"Thermal Zone 89","color":"#cc6677"},{"id":"tz_90","handle":null,"name":"Thermal Zone 90","color":"#882255"},{"id":"tz_91","handle":null,"name":"Thermal Zone 91","color":"#44aa99"},{"id":"tz_92","handle":null,"name":"Thermal Zone 92","color":"#6699cc"},{"id":"tz_93","handle":null,"name":"Thermal Zone 93","color":"#661100"},{"id":"tz_94","handle":null,"name":"Thermal Zone 94","color":"#aa4466"},{"id":"tz_95","handle":null,"name":"Thermal Zone 95","color":"#aa4499"},{"id":"tz_96","handle":null,"name":"Thermal Zone 96","color":"#88ccee"},{"id":"tz_97","handle":null,"name":"Thermal Zone 97","color":"#332288"},{"id":"tz_98","handle":null,"name":"Thermal Zone 98","color":"#117733"},{"id":"tz_99","handle":null,"name":"Thermal Zone 99","color":"#999933"},{"id":"tz_100","handle":null,"name":"Thermal Zone 100","color":"#ddcc77"},{"id":"tz_101","handle":null,"name":"Thermal Zone 101","color":"#cc6677"},{"id":"tz_102","handle":null,"name":"Thermal Zone 102","color":"#882255"},{"id":"tz_103","handle":null,"name":"Thermal Zone 103","color":"#44aa99"},{"id":"tz_104","handle":null,"name":"Thermal Zone 104","color":"#6699cc"},{"id":"tz_105","handle":null,"name":"Thermal Zone 105","color":"#661100"},{"id":"tz_106","handle":null,"name":"Thermal Zone 106","color":"#aa4466"},{"id":"tz_107","handle":null,"name":"Thermal Zone 107","color":"#aa4499"},{"id":"tz_108","handle":null,"name":"Thermal Zone 108","color":"#88ccee"},{"id":"tz_109","handle":null,"name":"Thermal Zone 109","color":"#332288"},{"id":"tz_110","handle":null,"name":"Thermal Zone 110","color":"#117733"},{"id":"tz_111","handle":null,"name":"Thermal Zone 111","color":"#999933"},{"id":"tz_112","handle":null,"name":"Thermal Zone 112","color":"#ddcc77"},{"id":"tz_113","handle":null,"name":"Thermal Zone 113","color":"#cc6677"},{"id":"tz_114","handle":null,"name":"Thermal Zone 114","color":"#882255"},{"id":"tz_115","handle":null,"name":"Thermal Zone 115","color":"#44aa99"},{"id":"tz_116","handle":null,"name":"Thermal Zone 116","color":"#6699cc"},{"id":"tz_117","handle":null,"name":"Thermal Zone 117","color":"#661100"},{"id":"tz_118","handle":null,"name":"Thermal Zone 118","color":"#aa4466"},{"id":"tz_119","handle":null,"name":"Thermal Zone 119","color":"#aa4499"},{"id":"tz_120","handle":null,"name":"Thermal Zone 120","color":"#88ccee"},{"id":"tz_121","handle":null,"name":"Thermal Zone 121","color":"#332288"},{"id":"tz_122","handle":null,"name":"Thermal Zone 122","color":"#117733"},{"id":"tz_123","handle":null,"name":"Thermal Zone 123","color":"#999933"},{"id":"tz_124","handle":null,"name":"Thermal Zone 124","color":"#ddcc77"},{"id":"tz_125","handle":null,"name":"Thermal Zone 125","color":"#cc6677"},{"id":"tz_126","handle":null,"name":"Thermal Zone 126","color":"#882255"},{"id":"tz_127","handle":null,"name":"Thermal Zone 127","color":"#44aa99"},{"id":"tz_128","handle":null,"name":"Thermal Zone 128","color":"#6699cc"},{"id":"tz_129","handle":null,"name":"Thermal Zone 129","color":"#661100"},{"id":"tz_130","handle":null,"name":"Thermal Zone 130","color":"#aa4466"},{"id":"tz_131","handle":null,"name":"Thermal Zone 131","color":"#aa4499"}],"space_types":[{"handle":null,"id":"1754","name":"Office-Lobby","color":"#88ccee","type":"space_types"},{"handle":null,"id":"1755","name":"Office-Stair","color":"#332288","type":"space_types"},{"handle":null,"id":"3043","name":"Office-MechRoom","color":"#117733","type":"space_types"},{"handle":null,"id":"3044","name":"Laboratory-OpenLab","color":"#999933","type":"space_types"},{"handle":null,"id":"3045","name":"MidriseApt-Apartment","color":"#ddcc77","type":"space_types"},{"handle":null,"id":"3046","name":"Office-OpenOffice","color":"#cc6677","type":"space_types"},{"handle":null,"id":"3047","name":"Office-BreakRoom","color":"#882255","type":"space_types"},{"handle":null,"id":"3048","name":"SmallHotel-GuestLounge","color":"#44aa99","type":"space_types"}],"construction_sets":[],"window_definitions":[],"daylighting_control_definitions":[],"pitched_roofs":[],"door_definitions":[],"version":"0.7.0","area":605962.6124999999} \ No newline at end of file diff --git a/resources/utilities/Geometry/issue-4670.json b/resources/utilities/Geometry/issue-4670.json new file mode 100644 index 00000000000..2865de584d7 --- /dev/null +++ b/resources/utilities/Geometry/issue-4670.json @@ -0,0 +1 @@ +{"application":{"currentSelections":{"story":null,"story_id":"1","subselection_ids":{"1":"14"},"component_id":null,"component_definition_id":"23","component_instance_id":null,"space_property_id":"22","tool":"Rectangle","mode":"spaces","snapMode":"grid-strict","modeTab":"floorplan","subselectionType":"spaces"},"modes":["spaces","shading","building_units","thermal_zones","pitched_roofs","space_types","images"],"tools":["Pan","Drag","Rectangle","Polygon","Eraser","Select","Map","Fill","Place Component","Image","Apply Property"],"scale":{"x":{"pixels":1032,"rwuRange":[-252.11726384364823,252.11726384364823]},"y":{"pixels":614,"rwuRange":[-150,150]}}},"project":{"config":{"units":"ip","unitsEditable":true,"language":"EN-US"},"north_axis":0,"ground":{"floor_offset":0,"azimuth_angle":0,"tilt_slope":0},"grid":{"visible":true,"spacing":1},"view":{"min_x":-30.072690724326293,"min_y":-16.325084539043672,"max_x":71.78010181309776,"max_y":44.27337923806712},"map":{"initialized":false,"enabled":false,"visible":true,"latitude":39.7653,"longitude":-104.9863,"zoom":4.5,"rotation":0,"elevation":0},"previous_story":{"visible":true},"show_import_export":true,"preview3D":{"enabled":true}},"stories":[{"id":"1","handle":null,"name":"Story 1","image_visible":true,"below_floor_plenum_height":0,"floor_to_ceiling_height":8,"above_ceiling_plenum_height":0,"multiplier":1,"color":"#88ccee","geometry":{"id":"2","vertices":[{"id":"5","x":-13,"y":25,"edge_ids":["9","12"]},{"id":"6","x":11,"y":25,"edge_ids":["9","10","17"]},{"id":"7","x":11,"y":8,"edge_ids":["10","11","19"]},{"id":"8","x":-13,"y":8,"edge_ids":["11","12"]},{"id":"15","x":31,"y":25,"edge_ids":["17","18"]},{"id":"16","x":31,"y":8,"edge_ids":["18","19"]}],"edges":[{"id":"9","vertex_ids":["5","6"],"face_ids":["13"]},{"id":"10","vertex_ids":["6","7"],"face_ids":["13","20"]},{"id":"11","vertex_ids":["7","8"],"face_ids":["13"]},{"id":"12","vertex_ids":["8","5"],"face_ids":["13"]},{"id":"17","vertex_ids":["6","15"],"face_ids":["20"]},{"id":"18","vertex_ids":["15","16"],"face_ids":["20"]},{"id":"19","vertex_ids":["16","7"],"face_ids":["20"]}],"faces":[{"id":"13","edge_ids":["9","10","11","12"],"edge_order":[1,1,1,1]},{"id":"20","edge_ids":["17","18","19","10"],"edge_order":[1,1,1,0]}]},"images":[],"spaces":[{"id":"3","handle":null,"name":"Space 1 - 1","face_id":"13","building_unit_id":null,"thermal_zone_id":"21","space_type_id":null,"construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"building_type_id":null,"template":null,"color":"#88ccee","type":"space"},{"id":"14","handle":null,"name":"Space 1 - 2","face_id":"20","building_unit_id":null,"thermal_zone_id":"22","space_type_id":null,"construction_set_id":null,"pitched_roof_id":null,"daylighting_controls":[],"below_floor_plenum_height":null,"floor_to_ceiling_height":null,"above_ceiling_plenum_height":null,"floor_offset":null,"open_to_below":null,"building_type_id":null,"template":null,"color":"#332288","type":"space"}],"shading":[{"id":"4","handle":null,"name":"Shading 1 - 1","face_id":null,"color":"#E8E3E5"}],"windows":[{"window_definition_id":"23","edge_id":"10","alpha":0.29411764705882354,"id":"24","name":"Window 1 - 1"}],"doors":[{"door_definition_id":"25","edge_id":"10","alpha":0.6470588235294118,"id":"26","name":""}]}],"building_units":[],"thermal_zones":[{"id":"21","handle":null,"name":"Thermal Zone 1","color":"#88ccee","type":"thermal_zones"},{"id":"22","handle":null,"name":"Thermal Zone 2","color":"#332288","type":"thermal_zones"}],"space_types":[],"building_types":[{"id":"SecondarySchool","name":"Secondary School"},{"id":"PrimarySchool","name":"Primary School"},{"id":"SmallOffice","name":"Small Office"},{"id":"MediumOffice","name":"Medium Office"},{"id":"LargeOffice","name":"Large Office"},{"id":"SmallHotel","name":"Small Hotel"},{"id":"LargeHotel","name":"Large Hotel"},{"id":"Warehouse","name":"Warehouse"},{"id":"RetailStandalone","name":"Retail Standalone"},{"id":"RetailStripmall","name":"Retail Stripmall"},{"id":"QuickServiceRestaurant","name":"Quick Service Restaurant"},{"id":"FullServiceRestaurant","name":"Full Service Restaurant"},{"id":"MidriseApartment","name":"Midrise Apartment"},{"id":"HighriseApartment","name":"Highrise Apartment"},{"id":"Hospital","name":"Hospital"},{"id":"Outpatient","name":"Outpatient"},{"id":"SuperMarket","name":"Super Market"},{"id":"Laboratory","name":"Laboratory"},{"id":"LargeDataCenterLowITE","name":"Large Data Center Low ITE"},{"id":"LargeDataCenterHighITE","name":"Large Data Center High ITE"},{"id":"SmallDataCenterLowITE","name":"Small Data Center Low ITE"},{"id":"SmallDataCenterHighITE","name":"Small Data Center High ITE"}],"construction_sets":[],"window_definitions":[{"id":"23","name":"Window 1","window_definition_mode":"Single Window","wwr":null,"sill_height":3,"window_spacing":null,"height":4,"width":2,"window_type":"Fixed","overhang_projection_factor":null,"fin_projection_factor":null,"texture":"circles-5"}],"daylighting_control_definitions":[],"pitched_roofs":[],"door_definitions":[{"id":"25","name":"Door 1","height":6.67,"width":3,"door_type":"Door","texture":"circles-5"}],"version":"0.7.0"} \ No newline at end of file diff --git a/src/model/test/FloorspaceReverseTranslator_GTest.cpp b/src/model/test/FloorspaceReverseTranslator_GTest.cpp index 313b2999f94..b7092ca1508 100644 --- a/src/model/test/FloorspaceReverseTranslator_GTest.cpp +++ b/src/model/test/FloorspaceReverseTranslator_GTest.cpp @@ -984,6 +984,10 @@ TEST_F(ModelFixture, FloorspaceReverseTranslator_FloorplanJS_Colors) { //EXPECT_EQ(255, story->renderingColor()->renderingAlphaValue()); } +// Modified this test as now 4 vertices will be returned for both the ceiling of Space 1-1 +// and the floor of Space 2-1. This is a more desirable outcome as Energy+ expects paired +// surfaces to have the same number of vertices/ (Though energy plus does remove collinear +// vertices in my tests it only removed one of the two so this model won't simulate) TEST_F(ModelFixture, FloorspaceReverseTranslator_FloorplanJS_DifferingNumVertices) { openstudio::path p = resourcesPath() / toPath("utilities/Geometry/floorplan_differing_num_vertices.json"); @@ -1047,7 +1051,7 @@ TEST_F(ModelFixture, FloorspaceReverseTranslator_FloorplanJS_DifferingNumVertice ASSERT_TRUE(infos[0].floor); EXPECT_EQ(6u, infos[0].floor->vertices().size()); ASSERT_TRUE(infos[0].ceiling); - EXPECT_EQ(6u, infos[0].ceiling->vertices().size()); + EXPECT_EQ(4u, infos[0].ceiling->vertices().size()); EXPECT_FALSE(infos[0].floor->adjacentSurface()); ASSERT_TRUE(infos[0].ceiling->adjacentSurface()); ASSERT_TRUE(infos[0].ceiling->adjacentSurface()->space()); @@ -1435,6 +1439,8 @@ void ShiftVertices(Model& model) { } } +// Verifies that the issue caused by dropping vertices during floorspace import is resolved +// NOTE: The ThreeJS import can be removed TEST_F(ModelFixture, FloorspaceReverseTranslator_Issue_4766) { ThreeJSReverseTranslator rt; @@ -1460,14 +1466,172 @@ TEST_F(ModelFixture, FloorspaceReverseTranslator_Issue_4766) { ShiftVertices(*model1); model1->save(resourcesPath() / toPath("utilities/Geometry/floorplan_mcve_direct.osm"), true); + // The issue was the internal wall boundary between space 1-6 and space 1-12 so by getting the + // total number of wall internal and external boundaries for each space and checking each internal + // wall boundary is paired we can verify this issue is fixed + auto space6 = model1->getConcreteModelObjectByName("Space 1-6"); + ASSERT_TRUE(space6); + auto space12 = model1->getConcreteModelObjectByName("Space 1-12"); + ASSERT_TRUE(space12); + + // Check the wall surfaces for space 6 + auto space6Surfaces = space6->surfaces(); + auto space6Walls = std::count_if(space6Surfaces.begin(), space6Surfaces.end(), [](const auto& s) { return s.surfaceType() == "Wall"; }); + EXPECT_EQ(space6Walls, 9); + auto space6InternalWalls1 = std::count_if(space6Surfaces.begin(), space6Surfaces.end(), + [](const auto& s) { return s.surfaceType() == "Wall" && s.outsideBoundaryCondition() == "Surface"; }); + EXPECT_EQ(space6InternalWalls1, 3); + auto space6InternalWalls2 = std::count_if(space6Surfaces.begin(), space6Surfaces.end(), + [](const auto& s) { return s.surfaceType() == "Wall" && s.adjacentSurface(); }); + EXPECT_EQ(space6InternalWalls2, 3); + + // Check the wall surfaces for space 12 + auto space12Surfaces = space12->surfaces(); + auto space12Walls = std::count_if(space12Surfaces.begin(), space12Surfaces.end(), [](const auto& s) { return s.surfaceType() == "Wall"; }); + EXPECT_EQ(space12Walls, 5); + auto space12InternalWalls1 = std::count_if(space12Surfaces.begin(), space12Surfaces.end(), + [](const auto& s) { return s.surfaceType() == "Wall" && s.outsideBoundaryCondition() == "Surface"; }); + EXPECT_EQ(space12InternalWalls1, 2); + auto space12InternalWalls2 = std::count_if(space12Surfaces.begin(), space12Surfaces.end(), + [](const auto& s) { return s.surfaceType() == "Wall" && s.adjacentSurface(); }); + EXPECT_EQ(space12InternalWalls2, 2); + CompareTwoModels(*model1, *model); } +// Import entered an infinite loop and never finished +// This unit test demonstrates this is no longer the case +// NOTE this will fail until it the fix for the shading heights is integrated TEST_F(ModelFixture, FloorspaceReverseTranslator_Issue_4312) { ThreeJSReverseTranslator rt; - openstudio::path p = resourcesPath() / toPath("utilities/Geometry/issue_4312.json"); + openstudio::path p = resourcesPath() / toPath("utilities/Geometry/issue-4312.json"); + ASSERT_TRUE(exists(p)); + + boost::optional floorPlan = FloorplanJS::load(toString(p)); + ASSERT_TRUE(floorPlan); + + // not triangulated, for model transport/translation + ThreeScene scene = floorPlan->toThreeScene(true); + + boost::optional model = rt.modelFromThreeJS(scene); + ASSERT_TRUE(model); + model->save(resourcesPath() / toPath("utilities/Geometry/issue-4312-threejs.osm"), true); + + FloorspaceReverseTranslator frt; + boost::optional model1 = frt.modelFromFloorspace(toString(p)); + ASSERT_TRUE(model1); + + model1->save(resourcesPath() / toPath("utilities/Geometry/issue-4312-direct.osm"), true); + + CompareTwoModels(*model1, *model); +} + +TEST_F(ModelFixture, FloorspaceReverseTranslator_Issue_4313) { + + ThreeJSReverseTranslator rt; + + openstudio::path p = resourcesPath() / toPath("utilities/Geometry/issue-4313.json"); + ASSERT_TRUE(exists(p)); + + boost::optional floorPlan = FloorplanJS::load(toString(p)); + ASSERT_TRUE(floorPlan); + + // not triangulated, for model transport/translation + ThreeScene scene = floorPlan->toThreeScene(true); + + boost::optional model = rt.modelFromThreeJS(scene); + ASSERT_TRUE(model); + model->save(resourcesPath() / toPath("utilities/Geometry/issue_4313-threejs.osm"), true); + + //FloorspaceReverseTranslator frt; + //boost::optional model1 = frt.modelFromFloorspace(toString(p)); + //ASSERT_TRUE(model1); + + //model1->save(resourcesPath() / toPath("utilities/Geometry/issue_4313-direct.osm"), true); + + //CompareTwoModels(*model1, *model); +} + +// Import entered an infinite loop and never finished +// This unit test demonstrates this is no longer the case +// Note it takes about 6 minutes to import these files so we nay want to disable this test +// NOTE this will fail until it the fix for the shading heights is integrated +TEST_F(ModelFixture, FloorspaceReverseTranslator_Issue_4488) { + + ThreeJSReverseTranslator rt; + + openstudio::path p = resourcesPath() / toPath("utilities/Geometry/issue-4488.json"); + ASSERT_TRUE(exists(p)); + + boost::optional floorPlan = FloorplanJS::load(toString(p)); + ASSERT_TRUE(floorPlan); + + // not triangulated, for model transport/translation + ThreeScene scene = floorPlan->toThreeScene(true); + + boost::optional model = rt.modelFromThreeJS(scene); + ASSERT_TRUE(model); + model->save(resourcesPath() / toPath("utilities/Geometry/issue-4488-threejs.osm"), true); + + FloorspaceReverseTranslator frt; + boost::optional model1 = frt.modelFromFloorspace(toString(p)); + ASSERT_TRUE(model1); + + model1->save(resourcesPath() / toPath("utilities/Geometry/issue-4488-direct.osm"), true); + + CompareTwoModels(*model1, *model); +} + +// Space 1-1 was missing a roof surface +TEST_F(ModelFixture, FloorspaceReverseTranslator_Issue_4222) { + + ThreeJSReverseTranslator rt; + + openstudio::path p = resourcesPath() / toPath("utilities/Geometry/issue-4222.json"); + ASSERT_TRUE(exists(p)); + + boost::optional floorPlan = FloorplanJS::load(toString(p)); + ASSERT_TRUE(floorPlan); + + // not triangulated, for model transport/translation + ThreeScene scene = floorPlan->toThreeScene(true); + + boost::optional model = rt.modelFromThreeJS(scene); + ASSERT_TRUE(model); + ShiftVertices(*model); + model->save(resourcesPath() / toPath("utilities/Geometry/issue_4222-threejs.osm"), true); + + auto space1 = model->getConcreteModelObjectByName("Space 1-1"); + ASSERT_TRUE(space1); + const auto& surfaces = space1->surfaces(); + auto nRoofs = std::count_if(surfaces.begin(), surfaces.end(), [](const auto& s) { return s.surfaceType() == "RoofCeiling"; }); + EXPECT_EQ(nRoofs, 3); + + FloorspaceReverseTranslator frt; + boost::optional model1 = frt.modelFromFloorspace(toString(p)); + ASSERT_TRUE(model1); + ShiftVertices(*model1); + model1->save(resourcesPath() / toPath("utilities/Geometry/issue_4222-direct.osm"), true); + + space1 = model1->getConcreteModelObjectByName("Space 1-1"); + ASSERT_TRUE(space1); + const auto& surfaces1 = space1->surfaces(); + nRoofs = std::count_if(surfaces1.begin(), surfaces1.end(), [](const auto& s) { return s.surfaceType() == "RoofCeiling"; }); + EXPECT_EQ(nRoofs, 3); + + CompareTwoModels(*model1, *model); +} + +// SOme spaces have missing floor surfaces +// Test to verify all spaces on Story 2 have floor surfaces +// Uses the same test file as 4204 +TEST_F(ModelFixture, FloorspaceReverseTranslator_Issue_4203) { + + ThreeJSReverseTranslator rt; + + openstudio::path p = resourcesPath() / toPath("utilities/Geometry/issue-4203.json"); ASSERT_TRUE(exists(p)); boost::optional floorPlan = FloorplanJS::load(toString(p)); @@ -1478,13 +1642,88 @@ TEST_F(ModelFixture, FloorspaceReverseTranslator_Issue_4312) { boost::optional model = rt.modelFromThreeJS(scene); ASSERT_TRUE(model); - model->save(resourcesPath() / toPath("utilities/Geometry/issue_4312-threejs.osm"), true); + ShiftVertices(*model); + model->save(resourcesPath() / toPath("utilities/Geometry/issue_4203-threejs.osm"), true); + + auto story2 = model->getConcreteModelObjectByName("Story 2"); + ASSERT_TRUE(story2); + auto spaces = story2->spaces(); + for (auto& space : spaces) { + std::string name = space.nameString(); + const auto& surfaces = space.surfaces(); + auto nFloors = std::count_if(surfaces.begin(), surfaces.end(), [](const auto& s) { return s.surfaceType() == "Floor"; }); + ASSERT_TRUE(nFloors > 0); + } FloorspaceReverseTranslator frt; boost::optional model1 = frt.modelFromFloorspace(toString(p)); ASSERT_TRUE(model1); + ShiftVertices(*model1); + model1->save(resourcesPath() / toPath("utilities/Geometry/issue_4203-direct.osm"), true); + + story2 = model1->getConcreteModelObjectByName("Story 2"); + ASSERT_TRUE(story2); + auto spaces1 = story2->spaces(); + for (auto& space1 : spaces1) { + auto surfaces1 = space1.surfaces(); + auto nFloors = std::count_if(surfaces1.begin(), surfaces1.end(), [](const auto& s) { return s.surfaceType() == "Floor"; }); + ASSERT_TRUE(nFloors > 0); + } + + CompareTwoModels(*model1, *model); +} + +// Some floor surfaces on Story 2 have ground contact adjacencies +// Test to verify all floor surfaces on Story 2 are "Surface" +// USes the same test file as 4203 +TEST_F(ModelFixture, FloorspaceReverseTranslator_Issue_4204) { + + ThreeJSReverseTranslator rt; + + openstudio::path p = resourcesPath() / toPath("utilities/Geometry/issue-4203.json"); + ASSERT_TRUE(exists(p)); - model1->save(resourcesPath() / toPath("utilities/Geometry/issue_4312-direct.osm"), true); + boost::optional floorPlan = FloorplanJS::load(toString(p)); + ASSERT_TRUE(floorPlan); + + // not triangulated, for model transport/translation + ThreeScene scene = floorPlan->toThreeScene(true); + + boost::optional model = rt.modelFromThreeJS(scene); + ASSERT_TRUE(model); + ShiftVertices(*model); + model->save(resourcesPath() / toPath("utilities/Geometry/issue_4204-threejs.osm"), true); + + auto story2 = model->getConcreteModelObjectByName("Story 2"); + ASSERT_TRUE(story2); + auto spaces = story2->spaces(); + for (auto& space : spaces) { + std::string name = space.nameString(); + const auto& surfaces = space.surfaces(); + for (const auto& surface : surfaces) { + if (surface.surfaceType() == "Floor") { + EXPECT_EQ(surface.outsideBoundaryCondition(), "Surface") << surface.nameString(); + } + } + } + + FloorspaceReverseTranslator frt; + boost::optional model1 = frt.modelFromFloorspace(toString(p)); + ASSERT_TRUE(model1); + ShiftVertices(*model1); + model1->save(resourcesPath() / toPath("utilities/Geometry/issue_4204-direct.osm"), true); + + story2 = model1->getConcreteModelObjectByName("Story 2"); + ASSERT_TRUE(story2); + auto spaces1 = story2->spaces(); + for (auto& space1 : spaces1) { + auto surfaces1 = space1.surfaces(); + for (const auto& surface : surfaces1) { + if (surface.surfaceType() == "Floor") { + EXPECT_EQ(surface.outsideBoundaryCondition(), "Surface") << surface.nameString(); + } + } + } CompareTwoModels(*model1, *model); } @@ -1519,7 +1758,7 @@ TEST_F(ModelFixture, FloorspaceReverseTranslator_Issue_4776) { ThreeJSReverseTranslator rt; - openstudio::path p = resourcesPath() / toPath("utilities/Geometry/issue_4203.json"); + openstudio::path p = resourcesPath() / toPath("utilities/Geometry/issue-4203.json"); ASSERT_TRUE(exists(p)); boost::optional floorPlan = FloorplanJS::load(toString(p)); @@ -1531,17 +1770,50 @@ TEST_F(ModelFixture, FloorspaceReverseTranslator_Issue_4776) { boost::optional model = rt.modelFromThreeJS(scene); ASSERT_TRUE(model); ShiftVertices(*model); - model->save(resourcesPath() / toPath("utilities/Geometry/issue_4203-threejs.osm"), true); + model->save(resourcesPath() / toPath("utilities/Geometry/issue_4776-threejs.osm"), true); FloorspaceReverseTranslator frt; boost::optional model1 = frt.modelFromFloorspace(toString(p)); ASSERT_TRUE(model1); ShiftVertices(*model1); - model1->save(resourcesPath() / toPath("utilities/Geometry/issue_4203-direct.osm"), true); + model1->save(resourcesPath() / toPath("utilities/Geometry/issue_4776-direct.osm"), true); CompareTwoModels(*model1, *model); } +void ValidateIssue4323(Model& model) { + + // All floor surfaces on story 1 are "Ground", all roof/ceiling surfaces are "Surface" + boost::optionalstory1 = model.getConcreteModelObjectByName("Story 1"); + ASSERT_TRUE(story1.has_value()); + for (const Space& space :story1->spaces()) { + for (const Surface& surface : space.surfaces()) { + if (surface.surfaceType() == "Floor") { + EXPECT_EQ(surface.outsideBoundaryCondition(), "Ground") << surface.nameString(); + EXPECT_FALSE(surface.adjacentSurface()) << surface.nameString(); + } else if (surface.surfaceType() == "RoofCeiling") { + EXPECT_EQ(surface.outsideBoundaryCondition(), "Surface") << surface.nameString(); + EXPECT_TRUE(surface.adjacentSurface()) << surface.nameString(); + } + } + } + + // All floor surfaces on story 3 are "Surface", all roof/ceiling surfaces are "Outdoors" + boost::optional story3 = model.getConcreteModelObjectByName("Story 3"); + ASSERT_TRUE(story3.has_value()); + for (const Space& space : story3->spaces()) { + for (const Surface& surface : space.surfaces()) { + if (surface.surfaceType() == "Floor") { + EXPECT_EQ(surface.outsideBoundaryCondition(), "Surface") << surface.nameString(); + EXPECT_TRUE(surface.adjacentSurface()) << surface.nameString(); + } else if (surface.surfaceType() == "RoofCeiling") { + EXPECT_EQ(surface.outsideBoundaryCondition(), "Outdoors") << surface.nameString(); + EXPECT_FALSE(surface.adjacentSurface()) << surface.nameString(); + } + } + } +} + TEST_F(ModelFixture, FloorspaceReverseTranslator_Issue_4323) { ThreeJSReverseTranslator rt; @@ -1557,14 +1829,57 @@ TEST_F(ModelFixture, FloorspaceReverseTranslator_Issue_4323) { boost::optional model = rt.modelFromThreeJS(scene); ASSERT_TRUE(model); - ShiftVertices(*model); model->save(resourcesPath() / toPath("utilities/Geometry/issue-4323-threejs.osm"), true); + ValidateIssue4323(*model); FloorspaceReverseTranslator frt; boost::optional model1 = frt.modelFromFloorspace(toString(p)); ASSERT_TRUE(model1); - ShiftVertices(*model1); model1->save(resourcesPath() / toPath("utilities/Geometry/issue-4323-direct.osm"), true); + ValidateIssue4323(*model1); +} + +// Validates a subsurface for 4670 +// - There are 4 of them +// - They are internal +// - They are fully defined +void ValidateSubsurfaces(const Model& model) { + const auto& subSurfaces = model.getModelObjects(); + EXPECT_EQ(subSurfaces.size(), 4); + + for (const auto& subSurface : subSurfaces) { + EXPECT_EQ(subSurface.outsideBoundaryCondition(), "Surface"); + EXPECT_TRUE(subSurface.adjacentSubSurface().has_value()); + auto adjacent = subSurface.adjacentSubSurface(); + } +} + +// Missing outher side boundary condition object for internal windows and doors +// Test finds the window and door sub-surfaces and validfates the other side boundary condition property +TEST_F(ModelFixture, FloorspaceReverseTranslator_Issue_4670) { + + ThreeJSReverseTranslator rt; + + openstudio::path p = resourcesPath() / toPath("utilities/Geometry/issue-4670.json"); + ASSERT_TRUE(exists(p)); + + boost::optional floorPlan = FloorplanJS::load(toString(p)); + ASSERT_TRUE(floorPlan); + + // not triangulated, for model transport/translation + ThreeScene scene = floorPlan->toThreeScene(true); + + boost::optional model = rt.modelFromThreeJS(scene); + ASSERT_TRUE(model); + model->save(resourcesPath() / toPath("utilities/Geometry/issue-4670-threejs.osm"), true); + ValidateSubsurfaces(*model); + + FloorspaceReverseTranslator frt; + boost::optional model1 = frt.modelFromFloorspace(toString(p)); + ASSERT_TRUE(model1); + model1->save(resourcesPath() / toPath("utilities/Geometry/issue-4670-direct.osm"), true); + ValidateSubsurfaces(*model1); + CompareTwoModels(*model1, *model); } \ No newline at end of file diff --git a/src/model/test/SubSurface_GTest.cpp b/src/model/test/SubSurface_GTest.cpp index fef5e209f00..f3105b7ed09 100644 --- a/src/model/test/SubSurface_GTest.cpp +++ b/src/model/test/SubSurface_GTest.cpp @@ -853,8 +853,8 @@ TEST_F(ModelFixture, SkylightPattern_PerimCore) { vertices.clear(); vertices.push_back(Point3d(30, 0, 0)); vertices.push_back(Point3d(30, 20, 0)); - vertices.push_back(Point3d(5, 15, 0)); - vertices.push_back(Point3d(5, 5, 0)); + vertices.push_back(Point3d(15, 15, 0)); + vertices.push_back(Point3d(15, 5, 0)); Surface roofEast(vertices, model); roofEast.setSpace(space); EXPECT_EQ("RoofCeiling", roofEast.surfaceType()); diff --git a/src/model/test/ThreeJSReverseTranslator_GTest.cpp b/src/model/test/ThreeJSReverseTranslator_GTest.cpp index e283d7ee474..d2b90e5fe26 100644 --- a/src/model/test/ThreeJSReverseTranslator_GTest.cpp +++ b/src/model/test/ThreeJSReverseTranslator_GTest.cpp @@ -800,6 +800,10 @@ TEST_F(ModelFixture, ThreeJSReverseTranslator_FloorplanJS_Colors) { //EXPECT_EQ(255, story->renderingColor()->renderingAlphaValue()); } +// Modified this tes as now 4 vertices will be returned for both the ceiling of Space 1-1 +// and the floor of Space 2-1. This is a more desirable outcome as Energy+ expects paired +// surfaces to have the same number of vertices/ (Though energy plus does remove collinear +// vertices in my tests it only removed one of the two so this model won't simulate) TEST_F(ModelFixture, ThreeJSReverseTranslator_FloorplanJS_DifferingNumVertices) { ThreeJSReverseTranslator rt; @@ -870,7 +874,7 @@ TEST_F(ModelFixture, ThreeJSReverseTranslator_FloorplanJS_DifferingNumVertices) ASSERT_TRUE(infos[0].floor); EXPECT_EQ(6u, infos[0].floor->vertices().size()); ASSERT_TRUE(infos[0].ceiling); - EXPECT_EQ(6u, infos[0].ceiling->vertices().size()); + EXPECT_EQ(4u, infos[0].ceiling->vertices().size()); EXPECT_FALSE(infos[0].floor->adjacentSurface()); ASSERT_TRUE(infos[0].ceiling->adjacentSurface()); ASSERT_TRUE(infos[0].ceiling->adjacentSurface()->space()); diff --git a/src/utilities/geometry/Test/Intersection_GTest.cpp b/src/utilities/geometry/Test/Intersection_GTest.cpp index e2c2cb01aa1..c0be646eb9b 100644 --- a/src/utilities/geometry/Test/Intersection_GTest.cpp +++ b/src/utilities/geometry/Test/Intersection_GTest.cpp @@ -2349,33 +2349,39 @@ TEST_F(GeometryFixture, Offset) { poly1.push_back(Point3d(8, 10, 0)); poly1.push_back(Point3d(11, 10, 0)); poly1.push_back(Point3d(11, 7, 0)); + Point3dVector poly2; + poly2.push_back(Point3d(7.5, 10.5, 0)); + poly2.push_back(Point3d(11.5, 10.5, 0)); + poly2.push_back(Point3d(11.5, 6.5, 0)); + poly2.push_back(Point3d(7.5, 6.5, 0)); boost::optional> result1 = openstudio::buffer(poly1, 0.5, 0.01); ASSERT_TRUE(result1); + Point3dVectorVector tmp; + tmp.push_back(poly1); + tmp.push_back(*result1); + LOG(Debug, tmp); + ASSERT_EQ(4, result1.get().size()); - ASSERT_EQ(7.5, result1.get()[0].x()); - ASSERT_EQ(10.5, result1.get()[0].y()); - ASSERT_EQ(11.5, result1.get()[1].x()); - ASSERT_EQ(10.5, result1.get()[1].y()); - ASSERT_EQ(11.5, result1.get()[2].x()); - ASSERT_EQ(6.5, result1.get()[2].y()); - ASSERT_EQ(7.5, result1.get()[3].x()); - ASSERT_EQ(6.5, result1.get()[3].y()); + EXPECT_TRUE(circularEqual(poly2, *result1)); // Two shapes, a triangle and a rectangle. when offset will combine into 1 shape // with 8 vertices - Point3dVector poly2; - poly2.push_back(Point3d(5, 5, 0)); - poly2.push_back(Point3d(7, 8, 0)); - poly2.push_back(Point3d(9, 5, 0)); + Point3dVector poly3; + poly3.push_back(Point3d(5, 5, 0)); + poly3.push_back(Point3d(7, 8, 0)); + poly3.push_back(Point3d(9, 5, 0)); std::vector polygons; polygons.push_back(poly1); - polygons.push_back(poly2); + polygons.push_back(poly3); boost::optional> result3 = openstudio::buffer(polygons, 0.5, 0.01); ASSERT_TRUE(result3); ASSERT_EQ(1, result3->size()); + polygons.push_back(result3->begin()[0]); + LOG(Debug, polygons); + Point3dVector resultPoly = result3.get().front(); ASSERT_EQ(8, resultPoly.size()); boost::optional> result2 = openstudio::buffer(*result3, -0.5, 0.01); From 86022b0574ca16021f45dd14d5653efb8ce98f11 Mon Sep 17 00:00:00 2001 From: ggartside Date: Tue, 17 Jan 2023 14:34:32 -0600 Subject: [PATCH 07/22] Resolves 4783 in subtract() (and other changes) --- src/model/PlanarSurface.cpp | 9 +- src/model/Space.cpp | 25 ++++- src/model/Surface.cpp | 63 +++++++---- src/utilities/geometry/Intersection.cpp | 143 ++++++++++++++++++++---- 4 files changed, 190 insertions(+), 50 deletions(-) diff --git a/src/model/PlanarSurface.cpp b/src/model/PlanarSurface.cpp index 4a020ec07d7..bccfe785762 100644 --- a/src/model/PlanarSurface.cpp +++ b/src/model/PlanarSurface.cpp @@ -153,11 +153,13 @@ namespace model { bool result = true; - LOG(Debug, "Before setVertices have " << numFields() << " fields."); + // DA - Removed these because they are of little value for debugging and just create noise in the log file + // LOG(Debug, "Before setVertices have " << numFields() << " fields."); clearExtensibleGroups(false); - LOG(Debug, "After clearExtensibleGroups in setVertices have " << numFields() << " fields."); + // DA - Removed these because they are of little value for debugging and just create noise in the log file + // LOG(Debug, "After clearExtensibleGroups in setVertices have " << numFields() << " fields."); // set the vertices // bool nonPlanarPointFound = false; @@ -190,7 +192,8 @@ namespace model { OS_ASSERT(!group.empty()); } - LOG(Debug, "After setVertices have " << numFields() << " fields. Size of vertices is " << vertices.size() << "."); + // DA - Removed these because they are of little value for debugging and just create noise in the log file + // LOG(Debug, "After setVertices have " << numFields() << " fields. Size of vertices is " << vertices.size() << "."); this->emitChangeSignals(); diff --git a/src/model/Space.cpp b/src/model/Space.cpp index 45634af4000..31559d794c8 100644 --- a/src/model/Space.cpp +++ b/src/model/Space.cpp @@ -2314,18 +2314,16 @@ namespace model { Transformation transformation = this->transformation().inverse() * other.transformation(); for (Surface surface : this->surfaces()) { - - std::vector vertices = removeCollinear(surface.vertices()); - + if (surface.adjacentSurface()) continue; + std::vector vertices = surface.vertices(); boost::optional outwardNormal = getOutwardNormal(vertices); if (!outwardNormal) { continue; } for (Surface otherSurface : other.surfaces()) { - - std::vector otherVertices = removeCollinear(transformation * otherSurface.vertices()); - + if (otherSurface.adjacentSurface()) continue; + std::vector otherVertices = transformation * otherSurface.vertices(); boost::optional otherOutwardNormal = getOutwardNormal(otherVertices); if (!otherOutwardNormal) { continue; @@ -2373,6 +2371,10 @@ namespace model { return; } + std::string name = nameString(); + std::string otherName = other.nameString(); + LOG(Debug, "Intersecting space " << name << " with space " << otherName); + std::vector surfaces = this->surfaces(); std::vector otherSurfaces = other.surfaces(); @@ -2392,6 +2394,8 @@ namespace model { for (Surface surface : surfaces) { std::string surfaceHandle = toString(surface.handle()); + std::string surfaceName = surface.nameString(); + std::string surfaceType = surface.surfaceType(); if (hasSubSurfaceMap.find(surfaceHandle) == hasSubSurfaceMap.end()) { hasSubSurfaceMap[surfaceHandle] = !surface.subSurfaces().empty(); @@ -2404,12 +2408,21 @@ namespace model { for (Surface otherSurface : otherSurfaces) { std::string otherSurfaceHandle = toString(otherSurface.handle()); + std::string otherSurfaceName = otherSurface.nameString(); + std::string otherSurfaceType = otherSurface.surfaceType(); + if (hasSubSurfaceMap.find(otherSurfaceHandle) == hasSubSurfaceMap.end()) { hasSubSurfaceMap[otherSurfaceHandle] = !otherSurface.subSurfaces().empty(); hasAdjacentSurfaceMap[otherSurfaceHandle] = otherSurface.adjacentSurface().has_value(); } if (hasSubSurfaceMap[otherSurfaceHandle] || hasAdjacentSurfaceMap[otherSurfaceHandle]) { + + auto subSurfaces = otherSurface.subSurfaces(); + for (auto subSurface : subSurfaces) + { + std::string subSurfaceName = subSurface.nameString(); + } continue; } diff --git a/src/model/Surface.cpp b/src/model/Surface.cpp index 8d306aa0483..81350176638 100644 --- a/src/model/Surface.cpp +++ b/src/model/Surface.cpp @@ -1027,6 +1027,8 @@ namespace model { double tol = 0.01; // 1 cm tolerance double areaTol = 0.001; // 10 cm2 tolerance + bool extraLogging = false; + boost::optional space = this->space(); boost::optional otherSpace = otherSurface.space(); @@ -1088,13 +1090,25 @@ namespace model { //std::reverse(otherFaceVertices.begin(), otherFaceVertices.end()); //LOG(Info, "Trying intersection of '" << this->name().get() << "' with '" << otherSurface.name().get()); - + if (extraLogging) { + Point3dVectorVector tmp; + tmp.push_back(faceVertices); + tmp.push_back(otherFaceVertices); + LOG(Debug, tmp); + } boost::optional intersection = openstudio::intersect(faceVertices, otherFaceVertices, tol); if (!intersection) { //LOG(Info, "No intersection"); return boost::none; } + if (extraLogging) { + Point3dVectorVector tmp; + tmp.push_back(intersection->polygon2()); + for (auto& polygon:intersection->newPolygons2())tmp.push_back(polygon); + LOG(Debug, tmp); + } + // DA - Change tolerance. Current tolerance is 0.0001 which is 1cm2 which is unrealistic // tolerance could be fixed, say 10cm2 or as a proportion of the area of the polygon. 4cm2 // on a polygon of area 570m2 is a tiny fraction @@ -1129,25 +1143,26 @@ namespace model { std::vector> newPolygons1 = intersection->newPolygons1(); std::vector> newPolygons2 = intersection->newPolygons2(); + + // modify vertices for surface in this space + std::vector newBuildingVertices = faceTransformation * intersection->polygon1(); + std::vector newVertices = spaceTransformationInverse * newBuildingVertices; + std::reverse(newVertices.begin(), newVertices.end()); + newVertices = reorderULC(newVertices); + this->setVertices(newVertices); + //this->setAdjacentSurface(otherSurface); + + // modify vertices for surface in other space + std::vector newOtherBuildingVertices = faceTransformation * intersection->polygon2(); + std::vector newOtherVertices = otherSpaceTransformationInverse * newOtherBuildingVertices; + newOtherVertices = reorderULC(newOtherVertices); + otherSurface.setVertices(newOtherVertices); + //otherSurface.setAdjacentSurface(surface); + if (newPolygons1.empty() && newPolygons2.empty()) { // both surfaces intersect perfectly, no-op - } else { // new surfaces are created - - // modify vertices for surface in this space - std::vector newBuildingVertices = faceTransformation * intersection->polygon1(); - std::vector newVertices = spaceTransformationInverse * newBuildingVertices; - std::reverse(newVertices.begin(), newVertices.end()); - newVertices = reorderULC(newVertices); - this->setVertices(newVertices); - - // modify vertices for surface in other space - std::vector newOtherBuildingVertices = faceTransformation * intersection->polygon2(); - std::vector newOtherVertices = otherSpaceTransformationInverse * newOtherBuildingVertices; - newOtherVertices = reorderULC(newOtherVertices); - otherSurface.setVertices(newOtherVertices); - // create new surfaces in this space for (unsigned i = 0; i < newPolygons1.size(); ++i) { @@ -1948,12 +1963,18 @@ namespace model { std::reverse(newFaceVertices.begin(), newFaceVertices.end()); Point3dVector newVertices = transformation * newFaceVertices; - SubSurface subSurface(newVertices, model); - subSurface.setSurface(surface); - if (construction) { - subSurface.setConstruction(*construction); + try { + + SubSurface subSurface(newVertices, model); + subSurface.setSurface(surface); + if (construction) { + subSurface.setConstruction(*construction); + } + result.push_back(subSurface); + } + catch (const std::exception&) { + LOG(Error, "Could not create sub-surface."); } - result.push_back(subSurface); } } } diff --git a/src/utilities/geometry/Intersection.cpp b/src/utilities/geometry/Intersection.cpp index 962038da76a..3578d133056 100644 --- a/src/utilities/geometry/Intersection.cpp +++ b/src/utilities/geometry/Intersection.cpp @@ -100,17 +100,71 @@ inline bool has_self_intersections(Geometry const& geometry, bool throw_on_self_ return boost::geometry::detail::overlay::has_self_intersections(geometry, strategy, robust_policy, throw_on_self_intersection); } +// Some operators for Boost data types that are useful for extra logging +std::ostream& operator<<(std::ostream& os, const BoostRing& boostRing) { + os << "["; + for (int i = 0; i < boostRing.size(); i++) { + os << "{"; + os << "\"X\":" << boostRing[i].x() << ","; + os << "\"Y\":" << boostRing[i].y() << ","; + os << "\"Z\":0.0},"; + } + os << "],"; + return os; +} + +std::ostream& operator<<(std::ostream& os, const std::vector& boostRings) { + os << "["; + for (const auto& ring : boostRings) { + os << ring; + } + os << "]"; + return os; +} + +std::ostream& operator<<(std::ostream& os, const BoostPolygon& boostPolygon) { + os << "{"; + os << "\"Color\":\"Black\","; + os << "\"OuterPath\":"; + os << boostPolygon.outer(); + os << "\"InnerPaths\":"; + os << boostPolygon.inners(); + os << "},"; + return os; +} + +std::ostream& operator<<(std::ostream& os, const std::vector& boostPolygons) { + os << "["; + for (const auto& poly : boostPolygons) { + os << poly; + } + os << "]"; + return os; +} + +std::ostream& operator<<(std::ostream& os, const BoostMultiPolygon& boostPolygons) { + os << "["; + for (const auto& poly : boostPolygons) { + os << poly; + } + os << "]"; + return os; +} + // Cleans a polygon by shrinking and expanding. Can return multiple polygons std::vector removeSpikesEx(const BoostPolygon& polygon) { //const double buffer_distance = 1.0; //const int points_per_circle = 36; - const double offsetBy = 0.005; + bool extraLogging = false; + // The amount to shrink and expand the polygons by + const double offsetBy = 0.01; const double tol = offsetBy; - + // Sets the limit to how far miters are extended for sharp corners + const double mitreLimit = 15; boost::geometry::strategy::buffer::distance_symmetric expand(offsetBy); boost::geometry::strategy::buffer::distance_symmetric shrink(-offsetBy); - boost::geometry::strategy::buffer::join_miter join_strategy; + boost::geometry::strategy::buffer::join_miter join_strategy(mitreLimit); boost::geometry::strategy::buffer::end_flat end_strategy; boost::geometry::strategy::buffer::side_straight side_strategy; boost::geometry::strategy::buffer::point_circle point_strategy; @@ -121,15 +175,36 @@ std::vector removeSpikesEx(const BoostPolygon& polygon) { BoostMultiPolygon resultShrink; // cppcheck-suppress constStatement BoostMultiPolygon result; + // Used for extra logging + BoostMultiPolygon shrinkExpand; + if (extraLogging) { + shrinkExpand.push_back(polygon); + } + + // Shrink the polygon boost::geometry::buffer(polygon, resultShrink, shrink, side_strategy, join_strategy, end_strategy, point_strategy); + if (extraLogging) { + shrinkExpand.push_back(resultShrink[0]); + } + + // Inflate the polygon boost::geometry::buffer(resultShrink, resultExpand, expand, side_strategy, join_strategy, end_strategy, point_strategy); - boost::geometry::simplify(resultExpand, result, offsetBy); + if (extraLogging) { + shrinkExpand.push_back(resultExpand[0]); + } + + // Very small tolerance to remove artifacts from the inflate + double tol1 = 0.001; + boost::geometry::simplify(resultExpand, result, tol1); + if (extraLogging) { + shrinkExpand.push_back(result[0]); + LOG_FREE(Debug, "Shrink/Expand", shrinkExpand); + } // cppcheck-suppress constStatement std::vector solution; if (result.size() == 0) { - // There's no result so return the original polygon - solution.push_back(polygon); + // There's no result because the polygon was completely removed so return nothing return solution; } else if (result.size() == 1 && result[0].outer().size() == polygon.outer().size()) { // Number of vertices didn't change so no spikes were removed @@ -374,9 +449,9 @@ boost::optional nonIntersectingBoostRingFromVertices(const std::vecto } // convert a boost polygon to vertices -std::vector verticesFromBoostPolygon(const BoostPolygon& polygon, std::vector& allPoints, double tol, bool removeCollinear = true) { +std::vector verticesFromBoostPolygon(const BoostPolygon& polygon, std::vector& allPoints, double tol, bool removeCollinear = false) { std::vector result; - + tol = 0.001; BoostRing outer = polygon.outer(); if (outer.empty()) { return result; @@ -747,6 +822,7 @@ boost::optional intersect(const std::vector& polygo std::vector> newPolygons1; std::vector> newPolygons2; + bool extraLogging = false; //std::cout << "Initial polygon1 area " << getArea(polygon1).get() << '\n'; //std::cout << "Initial polygon2 area " << getArea(polygon2).get() << '\n'; @@ -763,6 +839,12 @@ boost::optional intersect(const std::vector& polygo return boost::none; } + BoostMultiPolygon polys; + boost::optional poly = boostPolygonFromVertices(polygon2, allPoints, tol); + if (extraLogging) { + polys.push_back(*poly); + } + // intersect the points in face coordinates, std::vector intersectionResult; try { @@ -772,6 +854,10 @@ boost::optional intersect(const std::vector& polygo return boost::none; } + if (extraLogging) { + polys.push_back(intersectionResult[0]); + } + // check if intersection is empty if (intersectionResult.empty()) { //LOG_FREE(Info, "utilities.geometry.intersect", "Intersection is empty"); @@ -779,6 +865,13 @@ boost::optional intersect(const std::vector& polygo } intersectionResult = removeSpikes(intersectionResult); + if (intersectionResult.size() == 0) { + return boost::none; + } + if (extraLogging) { + polys.push_back(intersectionResult[0]); + LOG_FREE(Debug, "intersection result", polys); + } intersectionResult = removeHoles(intersectionResult); // check for multiple intersections @@ -788,7 +881,7 @@ boost::optional intersect(const std::vector& polygo } // check that largest intersection is ok - std::vector intersectionVertices = verticesFromBoostPolygon(intersectionResult[0], allPoints, tol); + std::vector intersectionVertices = verticesFromBoostPolygon(intersectionResult[0], allPoints, tol, false); boost::optional testArea = boost::geometry::area(intersectionResult[0]); if (!testArea || intersectionVertices.empty()) { LOG_FREE(Info, "utilities.geometry.intersect", "Cannot compute area of largest intersection"); @@ -815,7 +908,7 @@ boost::optional intersect(const std::vector& polygo // create new polygon for each remaining intersection for (unsigned i = 1; i < intersectionResult.size(); ++i) { - std::vector newPolygon = verticesFromBoostPolygon(intersectionResult[i], allPoints, tol); + std::vector newPolygon = verticesFromBoostPolygon(intersectionResult[i], allPoints, tol, false); testArea = boost::geometry::area(intersectionResult[i]); if (!testArea || newPolygon.empty()) { @@ -850,7 +943,7 @@ boost::optional intersect(const std::vector& polygo // create new polygon for each difference for (unsigned i = 0; i < differenceResult1.size(); ++i) { - std::vector newPolygon1 = verticesFromBoostPolygon(differenceResult1[i], allPoints, tol); + std::vector newPolygon1 = verticesFromBoostPolygon(differenceResult1[i], allPoints, tol, false); testArea = boost::geometry::area(differenceResult1[i]); if (!testArea || newPolygon1.empty()) { @@ -858,7 +951,7 @@ boost::optional intersect(const std::vector& polygo continue; } else if (*testArea < tol * tol) { LOG_FREE(Info, "utilities.geometry.intersect", - "Face difference has very small area of " << *testArea << " m^2, result will not include this polygon, " << newPolygon1); + "Face difference has very small area of " << *testArea << " m^2, result will not include this polygon, " << newPolygon1); continue; } try { @@ -880,7 +973,7 @@ boost::optional intersect(const std::vector& polygo // create new polygon for each difference for (unsigned i = 0; i < differenceResult2.size(); ++i) { - std::vector newPolygon2 = verticesFromBoostPolygon(differenceResult2[i], allPoints, tol); + std::vector newPolygon2 = verticesFromBoostPolygon(differenceResult2[i], allPoints, tol, false); testArea = boost::geometry::area(differenceResult2[i]); if (!testArea || newPolygon2.empty()) { @@ -938,15 +1031,19 @@ std::vector> subtract(const std::vector& polygon, // cppcheck-suppress constStatement std::vector diffResult; boost::geometry::difference(boostPolygon, *boostHole, diffResult); - diffResult = removeSpikes(diffResult); - diffResult = removeHoles(diffResult); newBoostPolygons.insert(newBoostPolygons.end(), diffResult.begin(), diffResult.end()); } boostPolygons.swap(newBoostPolygons); + newBoostPolygons.clear(); } + // Remove the holes and spikes and convert back to our data types for (const BoostPolygon& boostPolygon : boostPolygons) { - result.push_back(verticesFromBoostPolygon(boostPolygon, allPoints, tol)); + BoostPolygon removedSpikes = removeSpikes(boostPolygon); + std::vector removedHoles = removeHoles(removedSpikes); + for (const BoostPolygon& removedHole : removedHoles) { + result.push_back(verticesFromBoostPolygon(removedHole, allPoints, tol)); + } } return result; @@ -1416,10 +1513,11 @@ boost::optional> buffer(const std::vector& polygon return boost::none; } + const double miterLimit = 15; //const double buffer_distance = 1.0; //const int points_per_circle = 36; boost::geometry::strategy::buffer::distance_symmetric distance_strategy(amount); - boost::geometry::strategy::buffer::join_miter join_strategy; + boost::geometry::strategy::buffer::join_miter join_strategy(miterLimit); boost::geometry::strategy::buffer::end_flat end_strategy; boost::geometry::strategy::buffer::side_straight side_strategy; boost::geometry::strategy::buffer::point_circle point_strategy; @@ -1427,9 +1525,11 @@ boost::optional> buffer(const std::vector& polygon BoostMultiPolygon polygons; polygons.push_back(*boostPolygon1); + BoostMultiPolygon buffered; BoostMultiPolygon result; - boost::geometry::buffer(polygons, result, distance_strategy, side_strategy, join_strategy, end_strategy, point_strategy); + boost::geometry::buffer(polygons, buffered, distance_strategy, side_strategy, join_strategy, end_strategy, point_strategy); + boost::geometry::simplify(buffered, result, 0.0005); std::vector vertices = verticesFromBoostPolygon(result[0], allPoints, tol); return vertices; @@ -1448,14 +1548,17 @@ boost::optional>> buffer(const std::vector distance_strategy(amount); - boost::geometry::strategy::buffer::join_miter join_strategy; + boost::geometry::strategy::buffer::join_miter join_strategy(miterLimit); boost::geometry::strategy::buffer::end_flat end_strategy; boost::geometry::strategy::buffer::side_straight side_strategy; boost::geometry::strategy::buffer::point_circle point_strategy; + BoostMultiPolygon offset; BoostMultiPolygon result; - boost::geometry::buffer(boostPolygons, result, distance_strategy, side_strategy, join_strategy, end_strategy, point_strategy); + boost::geometry::buffer(boostPolygons, offset, distance_strategy, side_strategy, join_strategy, end_strategy, point_strategy); + boost::geometry::simplify(offset, result, 0.0005); std::vector results; for (const auto& boostPolygon : result) { From 59da5fe8916422f732523790d44c1069e310ec17 Mon Sep 17 00:00:00 2001 From: ggartside Date: Tue, 17 Jan 2023 14:54:23 -0600 Subject: [PATCH 08/22] clang-format does its stuff --- src/model/Space.cpp | 7 +++--- src/model/Surface.cpp | 6 ++--- .../FloorspaceReverseTranslator_GTest.cpp | 22 +++++++++---------- src/utilities/geometry/Intersection.cpp | 10 ++++----- 4 files changed, 22 insertions(+), 23 deletions(-) diff --git a/src/model/Space.cpp b/src/model/Space.cpp index 31559d794c8..334fa407bb9 100644 --- a/src/model/Space.cpp +++ b/src/model/Space.cpp @@ -2418,10 +2418,9 @@ namespace model { if (hasSubSurfaceMap[otherSurfaceHandle] || hasAdjacentSurfaceMap[otherSurfaceHandle]) { - auto subSurfaces = otherSurface.subSurfaces(); - for (auto subSurface : subSurfaces) - { - std::string subSurfaceName = subSurface.nameString(); + auto subSurfaces = otherSurface.subSurfaces(); + for (auto subSurface : subSurfaces) { + std::string subSurfaceName = subSurface.nameString(); } continue; } diff --git a/src/model/Surface.cpp b/src/model/Surface.cpp index 81350176638..684e82158af 100644 --- a/src/model/Surface.cpp +++ b/src/model/Surface.cpp @@ -1105,7 +1105,8 @@ namespace model { if (extraLogging) { Point3dVectorVector tmp; tmp.push_back(intersection->polygon2()); - for (auto& polygon:intersection->newPolygons2())tmp.push_back(polygon); + for (auto& polygon : intersection->newPolygons2()) + tmp.push_back(polygon); LOG(Debug, tmp); } @@ -1971,8 +1972,7 @@ namespace model { subSurface.setConstruction(*construction); } result.push_back(subSurface); - } - catch (const std::exception&) { + } catch (const std::exception&) { LOG(Error, "Could not create sub-surface."); } } diff --git a/src/model/test/FloorspaceReverseTranslator_GTest.cpp b/src/model/test/FloorspaceReverseTranslator_GTest.cpp index b7092ca1508..2aaea02c432 100644 --- a/src/model/test/FloorspaceReverseTranslator_GTest.cpp +++ b/src/model/test/FloorspaceReverseTranslator_GTest.cpp @@ -1466,14 +1466,14 @@ TEST_F(ModelFixture, FloorspaceReverseTranslator_Issue_4766) { ShiftVertices(*model1); model1->save(resourcesPath() / toPath("utilities/Geometry/floorplan_mcve_direct.osm"), true); - // The issue was the internal wall boundary between space 1-6 and space 1-12 so by getting the + // The issue was the internal wall boundary between space 1-6 and space 1-12 so by getting the // total number of wall internal and external boundaries for each space and checking each internal // wall boundary is paired we can verify this issue is fixed auto space6 = model1->getConcreteModelObjectByName("Space 1-6"); ASSERT_TRUE(space6); auto space12 = model1->getConcreteModelObjectByName("Space 1-12"); ASSERT_TRUE(space12); - + // Check the wall surfaces for space 6 auto space6Surfaces = space6->surfaces(); auto space6Walls = std::count_if(space6Surfaces.begin(), space6Surfaces.end(), [](const auto& s) { return s.surfaceType() == "Wall"; }); @@ -1481,8 +1481,8 @@ TEST_F(ModelFixture, FloorspaceReverseTranslator_Issue_4766) { auto space6InternalWalls1 = std::count_if(space6Surfaces.begin(), space6Surfaces.end(), [](const auto& s) { return s.surfaceType() == "Wall" && s.outsideBoundaryCondition() == "Surface"; }); EXPECT_EQ(space6InternalWalls1, 3); - auto space6InternalWalls2 = std::count_if(space6Surfaces.begin(), space6Surfaces.end(), - [](const auto& s) { return s.surfaceType() == "Wall" && s.adjacentSurface(); }); + auto space6InternalWalls2 = + std::count_if(space6Surfaces.begin(), space6Surfaces.end(), [](const auto& s) { return s.surfaceType() == "Wall" && s.adjacentSurface(); }); EXPECT_EQ(space6InternalWalls2, 3); // Check the wall surfaces for space 12 @@ -1490,10 +1490,10 @@ TEST_F(ModelFixture, FloorspaceReverseTranslator_Issue_4766) { auto space12Walls = std::count_if(space12Surfaces.begin(), space12Surfaces.end(), [](const auto& s) { return s.surfaceType() == "Wall"; }); EXPECT_EQ(space12Walls, 5); auto space12InternalWalls1 = std::count_if(space12Surfaces.begin(), space12Surfaces.end(), - [](const auto& s) { return s.surfaceType() == "Wall" && s.outsideBoundaryCondition() == "Surface"; }); + [](const auto& s) { return s.surfaceType() == "Wall" && s.outsideBoundaryCondition() == "Surface"; }); EXPECT_EQ(space12InternalWalls1, 2); - auto space12InternalWalls2 = std::count_if(space12Surfaces.begin(), space12Surfaces.end(), - [](const auto& s) { return s.surfaceType() == "Wall" && s.adjacentSurface(); }); + auto space12InternalWalls2 = + std::count_if(space12Surfaces.begin(), space12Surfaces.end(), [](const auto& s) { return s.surfaceType() == "Wall" && s.adjacentSurface(); }); EXPECT_EQ(space12InternalWalls2, 2); CompareTwoModels(*model1, *model); @@ -1620,7 +1620,7 @@ TEST_F(ModelFixture, FloorspaceReverseTranslator_Issue_4222) { const auto& surfaces1 = space1->surfaces(); nRoofs = std::count_if(surfaces1.begin(), surfaces1.end(), [](const auto& s) { return s.surfaceType() == "RoofCeiling"; }); EXPECT_EQ(nRoofs, 3); - + CompareTwoModels(*model1, *model); } @@ -1784,9 +1784,9 @@ TEST_F(ModelFixture, FloorspaceReverseTranslator_Issue_4776) { void ValidateIssue4323(Model& model) { // All floor surfaces on story 1 are "Ground", all roof/ceiling surfaces are "Surface" - boost::optionalstory1 = model.getConcreteModelObjectByName("Story 1"); + boost::optional story1 = model.getConcreteModelObjectByName("Story 1"); ASSERT_TRUE(story1.has_value()); - for (const Space& space :story1->spaces()) { + for (const Space& space : story1->spaces()) { for (const Surface& surface : space.surfaces()) { if (surface.surfaceType() == "Floor") { EXPECT_EQ(surface.outsideBoundaryCondition(), "Ground") << surface.nameString(); @@ -1798,7 +1798,7 @@ void ValidateIssue4323(Model& model) { } } - // All floor surfaces on story 3 are "Surface", all roof/ceiling surfaces are "Outdoors" + // All floor surfaces on story 3 are "Surface", all roof/ceiling surfaces are "Outdoors" boost::optional story3 = model.getConcreteModelObjectByName("Story 3"); ASSERT_TRUE(story3.has_value()); for (const Space& space : story3->spaces()) { diff --git a/src/utilities/geometry/Intersection.cpp b/src/utilities/geometry/Intersection.cpp index 3578d133056..be8298c3944 100644 --- a/src/utilities/geometry/Intersection.cpp +++ b/src/utilities/geometry/Intersection.cpp @@ -192,7 +192,7 @@ std::vector removeSpikesEx(const BoostPolygon& polygon) { if (extraLogging) { shrinkExpand.push_back(resultExpand[0]); } - + // Very small tolerance to remove artifacts from the inflate double tol1 = 0.001; boost::geometry::simplify(resultExpand, result, tol1); @@ -449,7 +449,8 @@ boost::optional nonIntersectingBoostRingFromVertices(const std::vecto } // convert a boost polygon to vertices -std::vector verticesFromBoostPolygon(const BoostPolygon& polygon, std::vector& allPoints, double tol, bool removeCollinear = false) { +std::vector verticesFromBoostPolygon(const BoostPolygon& polygon, std::vector& allPoints, double tol, + bool removeCollinear = false) { std::vector result; tol = 0.001; BoostRing outer = polygon.outer(); @@ -476,8 +477,7 @@ std::vector verticesFromBoostPolygon(const BoostPolygon& polygon, std:: "Converting polygon with " << polygon.inners().size() << " inner loops to OpenStudio vertices, inner loops ignored"); } - if (removeCollinear) - result = removeCollinearLegacy(result); + if (removeCollinear) result = removeCollinearLegacy(result); // don't keep repeated vertices if (result.front() == result.back()) { @@ -951,7 +951,7 @@ boost::optional intersect(const std::vector& polygo continue; } else if (*testArea < tol * tol) { LOG_FREE(Info, "utilities.geometry.intersect", - "Face difference has very small area of " << *testArea << " m^2, result will not include this polygon, " << newPolygon1); + "Face difference has very small area of " << *testArea << " m^2, result will not include this polygon, " << newPolygon1); continue; } try { From 594182f475d5f7457cdd41059990dc64e4fae0e9 Mon Sep 17 00:00:00 2001 From: ggartside Date: Tue, 17 Jan 2023 16:07:07 -0600 Subject: [PATCH 09/22] Issue with cmake file --- resources/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/CMakeLists.txt b/resources/CMakeLists.txt index 55cc6fe03f1..602b80b5714 100644 --- a/resources/CMakeLists.txt +++ b/resources/CMakeLists.txt @@ -71,7 +71,7 @@ set(utilities_resources_src utilities/Geometry/issue-4222.json utilities/Geometry/issue-4312.json utilities/Geometry/issue-4203.json - utilities/geometry/issue-4488.json + utilities/Geometry/issue-4488.json utilities/Geometry/issue-4670.json utilities/Geometry/issue-4313.json utilities/Geometry/floorplan_mcve.json From 5ea06a4145515de886d07bfa672b6daaa29b1486 Mon Sep 17 00:00:00 2001 From: ggartside Date: Wed, 18 Jan 2023 11:35:33 -0600 Subject: [PATCH 10/22] cpp-check --- src/model/FloorspaceReverseTranslator.cpp | 7 +------ src/utilities/geometry/Intersection.cpp | 8 +++++++- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/model/FloorspaceReverseTranslator.cpp b/src/model/FloorspaceReverseTranslator.cpp index 1830c16ed1e..7e185c5ff54 100644 --- a/src/model/FloorspaceReverseTranslator.cpp +++ b/src/model/FloorspaceReverseTranslator.cpp @@ -533,16 +533,11 @@ namespace model { return; } - // We need the face to be oriented anti-clockwise to guarantee that wall - // surfaces are generated correctly. If the orientation is reversed then - // we will reverse the sense of the edge when extracting vertices - bool reversed = outwardNormal->z() < 0; - // Construct the vertices for the lower face createFloorSurface(osSpace, faceVertices, minZ, openToBelow); createRoofSurface(osSpace, faceVertices, maxZ); - for (int i = 0; i < faceVertices.size(); i++) { + for (unsigned int i = 0; i < faceVertices.size(); i++) { const Point3d& p1 = faceVertices[i]; const Point3d& p2 = faceVertices[(i + 1) % faceVertices.size()]; createWallSurface(osSpace, fsSpace, p1, p2, minZ, maxZ, typeOfSpace == SpaceTypeEnum::ABOVEFLOOR); diff --git a/src/utilities/geometry/Intersection.cpp b/src/utilities/geometry/Intersection.cpp index be8298c3944..bb89906685c 100644 --- a/src/utilities/geometry/Intersection.cpp +++ b/src/utilities/geometry/Intersection.cpp @@ -103,7 +103,7 @@ inline bool has_self_intersections(Geometry const& geometry, bool throw_on_self_ // Some operators for Boost data types that are useful for extra logging std::ostream& operator<<(std::ostream& os, const BoostRing& boostRing) { os << "["; - for (int i = 0; i < boostRing.size(); i++) { + for (unsigned int i = 0; i < boostRing.size(); i++) { os << "{"; os << "\"X\":" << boostRing[i].x() << ","; os << "\"Y\":" << boostRing[i].y() << ","; @@ -176,19 +176,23 @@ std::vector removeSpikesEx(const BoostPolygon& polygon) { // cppcheck-suppress constStatement BoostMultiPolygon result; // Used for extra logging + // cppcheck-suppress constStatement BoostMultiPolygon shrinkExpand; + // cppcheck-suppress knownConditionTrueFalse if (extraLogging) { shrinkExpand.push_back(polygon); } // Shrink the polygon boost::geometry::buffer(polygon, resultShrink, shrink, side_strategy, join_strategy, end_strategy, point_strategy); + // cppcheck-suppress knownConditionTrueFalse if (extraLogging) { shrinkExpand.push_back(resultShrink[0]); } // Inflate the polygon boost::geometry::buffer(resultShrink, resultExpand, expand, side_strategy, join_strategy, end_strategy, point_strategy); + // cppcheck-suppress knownConditionTrueFalse if (extraLogging) { shrinkExpand.push_back(resultExpand[0]); } @@ -196,6 +200,7 @@ std::vector removeSpikesEx(const BoostPolygon& polygon) { // Very small tolerance to remove artifacts from the inflate double tol1 = 0.001; boost::geometry::simplify(resultExpand, result, tol1); + // cppcheck-suppress knownConditionTrueFalse if (extraLogging) { shrinkExpand.push_back(result[0]); LOG_FREE(Debug, "Shrink/Expand", shrinkExpand); @@ -1039,6 +1044,7 @@ std::vector> subtract(const std::vector& polygon, // Remove the holes and spikes and convert back to our data types for (const BoostPolygon& boostPolygon : boostPolygons) { + // cppcheck-suppress constStatement BoostPolygon removedSpikes = removeSpikes(boostPolygon); std::vector removedHoles = removeHoles(removedSpikes); for (const BoostPolygon& removedHole : removedHoles) { From 633d51c3702607b1799814eb9f2ecddfa9f15fa9 Mon Sep 17 00:00:00 2001 From: Julien Marrec Date: Wed, 15 Feb 2023 10:28:16 +0100 Subject: [PATCH 11/22] Minor changes --- src/utilities/geometry/Intersection.cpp | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/src/utilities/geometry/Intersection.cpp b/src/utilities/geometry/Intersection.cpp index 52497bbe381..69e41ac0ef5 100644 --- a/src/utilities/geometry/Intersection.cpp +++ b/src/utilities/geometry/Intersection.cpp @@ -524,7 +524,7 @@ std::vector verticesFromBoostRing(const BoostRing& ring, std::vector(); + return {}; } return result; @@ -846,8 +846,8 @@ boost::optional intersect(const std::vector& polygo } BoostMultiPolygon polys; - boost::optional poly = boostPolygonFromVertices(polygon2, allPoints, tol); if (extraLogging) { + boost::optional poly = boostPolygonFromVertices(polygon2, allPoints, tol); polys.push_back(*poly); } @@ -871,7 +871,7 @@ boost::optional intersect(const std::vector& polygo } intersectionResult = removeSpikes(intersectionResult); - if (intersectionResult.size() == 0) { + if (intersectionResult.empty()) { return boost::none; } if (extraLogging) { @@ -1068,12 +1068,9 @@ bool selfIntersects(const std::vector& polygon, double tol) { std::vector allPoints; // cppcheck-suppress constStatement - boost::optional bp = nonIntersectingBoostPolygonFromVertices(polygon, allPoints, tol); - if (bp) { - // able to get a non intersecting polygon, so does not self intersect - return false; - } - return true; + const boost::optional bp = nonIntersectingBoostPolygonFromVertices(polygon, allPoints, tol); + // if bp has a value, we're able to get a non intersecting polygon, so does not self intersect + return !bp.has_value(); } bool intersects(const std::vector& polygon1, const std::vector& polygon2, double tol) { @@ -1211,10 +1208,11 @@ std::vector simplify(const std::vector& vertices, bool removeC // this uses the Douglas-Peucker algorithm with a max difference of 0 so no non-collinear points will be removed // if we want to allow this algorithm to be called with a non-zero value I suggest naming it "approximate" or something - if (!removeCollinear) + if (!removeCollinear) { boost::geometry::simplify(*bp, out, 0.0); - else + } else { boost::geometry::simplify(*bp, out, tol); // points within tol would already be merged + } std::vector tmp = verticesFromBoostPolygon(out, allPoints, tol, removeCollinear); @@ -1526,7 +1524,7 @@ boost::optional> buffer(const std::vector& polygon return boost::none; } - const double miterLimit = 15; + constexpr double miterLimit = 15; //const double buffer_distance = 1.0; //const int points_per_circle = 36; boost::geometry::strategy::buffer::distance_symmetric distance_strategy(amount); @@ -1561,7 +1559,7 @@ boost::optional>> buffer(const std::vector distance_strategy(amount); boost::geometry::strategy::buffer::join_miter join_strategy(miterLimit); boost::geometry::strategy::buffer::end_flat end_strategy; From db79456fe87054ed8957888e22f329598bdcec6f Mon Sep 17 00:00:00 2001 From: Julien Marrec Date: Wed, 15 Feb 2023 12:15:03 +0100 Subject: [PATCH 12/22] More minor changes --- src/model/FloorspaceReverseTranslator.cpp | 23 +++++++++++------------ src/model/Space.cpp | 17 ++++++----------- src/model/Surface.cpp | 23 ++++++++++------------- src/utilities/geometry/Intersection.cpp | 10 ++++------ src/utilities/geometry/Point3d.hpp | 6 +++--- 5 files changed, 34 insertions(+), 45 deletions(-) diff --git a/src/model/FloorspaceReverseTranslator.cpp b/src/model/FloorspaceReverseTranslator.cpp index f6515804550..378852fc82b 100644 --- a/src/model/FloorspaceReverseTranslator.cpp +++ b/src/model/FloorspaceReverseTranslator.cpp @@ -561,16 +561,15 @@ namespace model { void FloorspaceReverseTranslator_Impl::createWallSurface(Space& osSpace, const FSSpace& fsSpace, const Point3d& p1, const Point3d& p2, double minZ, double maxZ, bool createSubsurfaces) { - double tol = 0.001; + constexpr double tol = 0.001; Point3dVector wallVertices; - wallVertices.push_back(Point3d(p2.x(), p2.y(), maxZ)); - wallVertices.push_back(Point3d(p1.x(), p1.y(), maxZ)); - wallVertices.push_back(Point3d(p1.x(), p1.y(), minZ)); - wallVertices.push_back(Point3d(p2.x(), p2.y(), minZ)); - Point3dVector wallSegment; - wallSegment.push_back(p1); - wallSegment.push_back(p2); + wallVertices.reserve(4); + wallVertices.emplace_back(p2.x(), p2.y(), maxZ); + wallVertices.emplace_back(p1.x(), p1.y(), maxZ); + wallVertices.emplace_back(p1.x(), p1.y(), minZ); + wallVertices.emplace_back(p2.x(), p2.y(), minZ); + const Point3dVector wallSegment{p1, p2}; Surface surface(wallVertices, m_model); surface.setName("Face " + std::to_string(m_nSurfaces++)); @@ -585,8 +584,8 @@ namespace model { // Get window's x/y position which is the alpha based on its edge // windows can have multiple alphas but we only need one auto edge = *window.edge(); - double alpha = window.alphas()[0]; - Point3d pp = window.centerVertex(alpha); + const double alpha = window.alphas()[0]; + const Point3d pp = window.centerVertex(alpha); if (getDistancePointToLineSegment(pp, wallSegment) < tol) { createWindowSubsurface(window, surface, edge, minZ, maxZ); @@ -596,8 +595,8 @@ namespace model { // Create a door subsurface for every window that is on this edge for (const auto& door : m_currentFSStory->doors()) { auto edge = *door.edge(); - double alpha = door.alphas()[0]; - Point3d pp = door.centerVertex(alpha); + const double alpha = door.alphas()[0]; + const Point3d pp = door.centerVertex(alpha); if (getDistancePointToLineSegment(pp, wallSegment) < tol) { createDoorSubsurface(door, surface, edge, minZ); diff --git a/src/model/Space.cpp b/src/model/Space.cpp index 334fa407bb9..9ffdb0b73b5 100644 --- a/src/model/Space.cpp +++ b/src/model/Space.cpp @@ -2314,7 +2314,9 @@ namespace model { Transformation transformation = this->transformation().inverse() * other.transformation(); for (Surface surface : this->surfaces()) { - if (surface.adjacentSurface()) continue; + if (surface.adjacentSurface()) { + continue; + } std::vector vertices = surface.vertices(); boost::optional outwardNormal = getOutwardNormal(vertices); if (!outwardNormal) { @@ -2322,7 +2324,9 @@ namespace model { } for (Surface otherSurface : other.surfaces()) { - if (otherSurface.adjacentSurface()) continue; + if (otherSurface.adjacentSurface()) { + continue; + } std::vector otherVertices = transformation * otherSurface.vertices(); boost::optional otherOutwardNormal = getOutwardNormal(otherVertices); if (!otherOutwardNormal) { @@ -2394,8 +2398,6 @@ namespace model { for (Surface surface : surfaces) { std::string surfaceHandle = toString(surface.handle()); - std::string surfaceName = surface.nameString(); - std::string surfaceType = surface.surfaceType(); if (hasSubSurfaceMap.find(surfaceHandle) == hasSubSurfaceMap.end()) { hasSubSurfaceMap[surfaceHandle] = !surface.subSurfaces().empty(); @@ -2408,8 +2410,6 @@ namespace model { for (Surface otherSurface : otherSurfaces) { std::string otherSurfaceHandle = toString(otherSurface.handle()); - std::string otherSurfaceName = otherSurface.nameString(); - std::string otherSurfaceType = otherSurface.surfaceType(); if (hasSubSurfaceMap.find(otherSurfaceHandle) == hasSubSurfaceMap.end()) { hasSubSurfaceMap[otherSurfaceHandle] = !otherSurface.subSurfaces().empty(); @@ -2417,11 +2417,6 @@ namespace model { } if (hasSubSurfaceMap[otherSurfaceHandle] || hasAdjacentSurfaceMap[otherSurfaceHandle]) { - - auto subSurfaces = otherSurface.subSurfaces(); - for (auto subSurface : subSurfaces) { - std::string subSurfaceName = subSurface.nameString(); - } continue; } diff --git a/src/model/Surface.cpp b/src/model/Surface.cpp index 684e82158af..fa4e12fb99c 100644 --- a/src/model/Surface.cpp +++ b/src/model/Surface.cpp @@ -90,7 +90,8 @@ #include "../utilities/sql/SqlFile.hpp" -#include // std::accumulate +#include // std::make_move_iterator +#include // std::accumulate using boost::to_upper_copy; @@ -1017,17 +1018,14 @@ namespace model { bool Surface_Impl::intersect(Surface& otherSurface) { boost::optional intersection = computeIntersection(otherSurface); - if (intersection) { - return true; - } - return false; + return intersection.has_value(); } boost::optional Surface_Impl::computeIntersection(Surface& otherSurface) { double tol = 0.01; // 1 cm tolerance double areaTol = 0.001; // 10 cm2 tolerance - bool extraLogging = false; + constexpr bool extraLogging = false; boost::optional space = this->space(); boost::optional otherSpace = otherSurface.space(); @@ -1090,10 +1088,8 @@ namespace model { //std::reverse(otherFaceVertices.begin(), otherFaceVertices.end()); //LOG(Info, "Trying intersection of '" << this->name().get() << "' with '" << otherSurface.name().get()); - if (extraLogging) { - Point3dVectorVector tmp; - tmp.push_back(faceVertices); - tmp.push_back(otherFaceVertices); + if constexpr (extraLogging) { + Point3dVectorVector tmp{faceVertices, otherFaceVertices}; LOG(Debug, tmp); } boost::optional intersection = openstudio::intersect(faceVertices, otherFaceVertices, tol); @@ -1102,11 +1098,12 @@ namespace model { return boost::none; } - if (extraLogging) { + if constexpr (extraLogging) { Point3dVectorVector tmp; + Point3dVectorVector newPolys = intersection->newPolygons2(); + tmp.reserve(newPolys.size() + 1); tmp.push_back(intersection->polygon2()); - for (auto& polygon : intersection->newPolygons2()) - tmp.push_back(polygon); + tmp.insert(tmp.end(), std::make_move_iterator(newPolys.begin()), std::make_move_iterator(newPolys.end())); LOG(Debug, tmp); } diff --git a/src/utilities/geometry/Intersection.cpp b/src/utilities/geometry/Intersection.cpp index 69e41ac0ef5..a500e7e0663 100644 --- a/src/utilities/geometry/Intersection.cpp +++ b/src/utilities/geometry/Intersection.cpp @@ -92,7 +92,7 @@ inline bool has_self_intersections(Geometry const& geometry, bool throw_on_self_ using point_type = typename boost::geometry::point_type::type; using rescale_policy_type = typename boost::geometry::rescale_policy_type::type; - typename boost::geometry::strategies::relate::services::default_strategy::type strategy; + typename boost::geometry::strategies::relate::services::default_strategy::type const strategy; // typename boost::geometry::strategy::intersection::services::default_strategy::type>::type strategy; @@ -907,10 +907,6 @@ boost::optional intersect(const std::vector& polygo return boost::none; }; - // intersections are the same - std::vector resultPolygon1 = intersectionVertices; - std::vector resultPolygon2 = intersectionVertices; - std::vector> newPolygons1; newPolygons1.reserve(intersectionResult.size() - 1); @@ -1006,7 +1002,9 @@ boost::optional intersect(const std::vector& polygo newPolygons2.push_back(std::move(newPolygon2)); } - IntersectionResult result(std::move(resultPolygon1), std::move(resultPolygon2), std::move(newPolygons1), std::move(newPolygons2)); + // intersections are the same + std::vector resultPolygon1 = intersectionVertices; + IntersectionResult result(std::move(resultPolygon1), std::move(intersectionVertices), std::move(newPolygons1), std::move(newPolygons2)); //std::cout << "Result area1 " << result.area1() << '\n'; //std::cout << "Result area2 " << result.area2() << '\n'; diff --git a/src/utilities/geometry/Point3d.hpp b/src/utilities/geometry/Point3d.hpp index ba4ca5a226d..77b56d3d3d5 100644 --- a/src/utilities/geometry/Point3d.hpp +++ b/src/utilities/geometry/Point3d.hpp @@ -93,13 +93,13 @@ UTILITIES_API std::ostream& operator<<(std::ostream& os, const std::vector>& pointVectorVector); // optional Point3d -typedef boost::optional OptionalPoint3d; +using OptionalPoint3d = boost::optional; // vector of Point3d -typedef std::vector Point3dVector; +using Point3dVector = std::vector; // vector of Point3dVector -typedef std::vector Point3dVectorVector; +using Point3dVectorVector = std::vector; } // namespace openstudio From 853811433efa6480d6b14f252d22ed3642b2e6b2 Mon Sep 17 00:00:00 2001 From: Julien Marrec Date: Wed, 15 Feb 2023 16:13:29 +0100 Subject: [PATCH 13/22] Add missing 4237 + Fix wrong path in test --- resources/CMakeLists.txt | 7 ++++--- src/model/test/FloorspaceReverseTranslator_GTest.cpp | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/resources/CMakeLists.txt b/resources/CMakeLists.txt index fa2e27fbf0a..d55ae26b0d5 100644 --- a/resources/CMakeLists.txt +++ b/resources/CMakeLists.txt @@ -68,13 +68,14 @@ set(utilities_resources_src utilities/Geometry/surface_match_floorplan.json utilities/Geometry/threejs.json utilities/Geometry/window_floorplan.json + utilities/Geometry/issue-4203.json utilities/Geometry/issue-4222.json - utilities/Geometry/issue-4323.json + utilities/Geometry/issue-4237.json utilities/Geometry/issue-4312.json - utilities/Geometry/issue-4203.json + utilities/Geometry/issue-4313.json + utilities/Geometry/issue-4323.json utilities/Geometry/issue-4488.json utilities/Geometry/issue-4670.json - utilities/Geometry/issue-4313.json utilities/Geometry/floorplan_mcve.json utilities/Geometry/shadingtest.json utilities/Geometry/minimal_GLTF_File.gltf diff --git a/src/model/test/FloorspaceReverseTranslator_GTest.cpp b/src/model/test/FloorspaceReverseTranslator_GTest.cpp index efda6eee04f..19a251090d0 100644 --- a/src/model/test/FloorspaceReverseTranslator_GTest.cpp +++ b/src/model/test/FloorspaceReverseTranslator_GTest.cpp @@ -1740,7 +1740,7 @@ TEST_F(ModelFixture, FloorspaceReverseTranslator_Issue_4237) { ThreeJSReverseTranslator rt; - openstudio::path p = resourcesPath() / toPath("utilities/Geometry/issue_4237.json"); + openstudio::path p = resourcesPath() / toPath("utilities/Geometry/issue-4237.json"); ASSERT_TRUE(exists(p)); boost::optional floorPlan = FloorplanJS::load(toString(p)); From 2cca961e2235296f840dc89c1664a97571ea77eb Mon Sep 17 00:00:00 2001 From: Julien Marrec Date: Wed, 15 Feb 2023 16:13:58 +0100 Subject: [PATCH 14/22] Modernize entire code in Intersection.cpp + suppress constStatement misfire at file level for cppcheck --- .github/workflows/cppcheck.yml | 1 + src/utilities/geometry/Intersection.cpp | 230 +++++++++++------------- 2 files changed, 108 insertions(+), 123 deletions(-) diff --git a/.github/workflows/cppcheck.yml b/.github/workflows/cppcheck.yml index 91f88a1e3e5..826c4bffeda 100644 --- a/.github/workflows/cppcheck.yml +++ b/.github/workflows/cppcheck.yml @@ -33,6 +33,7 @@ jobs: --suppress=functionConst:src/utilities/filetypes/WorkflowStep.hpp \ --suppress=functionConst:src/utilities/filetypes/WorkflowStepResult.hpp \ --suppress=redundantAssignment:src/utilities/sql/SqlFile.hpp \ + --suppress=constStatement:src/utilities/geometry/Intersection.cpp \ --inline-suppr \ --inconclusive \ --template='[{file}:{line}]:({severity}),[{id}],{message}' \ diff --git a/src/utilities/geometry/Intersection.cpp b/src/utilities/geometry/Intersection.cpp index a500e7e0663..18d8c1888f2 100644 --- a/src/utilities/geometry/Intersection.cpp +++ b/src/utilities/geometry/Intersection.cpp @@ -106,9 +106,9 @@ std::ostream& operator<<(std::ostream& os, const BoostRing& boostRing) { os << "["; for (unsigned int i = 0; i < boostRing.size(); i++) { os << "{"; - os << "\"X\":" << boostRing[i].x() << ","; - os << "\"Y\":" << boostRing[i].y() << ","; - os << "\"Z\":0.0},"; + os << R"("X":)" << boostRing[i].x() << ","; + os << R"("Y":)" << boostRing[i].y() << ","; + os << R"("Z":0.0},)"; } os << "],"; return os; @@ -125,11 +125,9 @@ std::ostream& operator<<(std::ostream& os, const std::vector& boostRi std::ostream& operator<<(std::ostream& os, const BoostPolygon& boostPolygon) { os << "{"; - os << "\"Color\":\"Black\","; - os << "\"OuterPath\":"; - os << boostPolygon.outer(); - os << "\"InnerPaths\":"; - os << boostPolygon.inners(); + os << R"("Color":"Black",)"; + os << R"("OuterPath":)" << boostPolygon.outer(); + os << R"("InnerPaths":)" << boostPolygon.inners(); os << "},"; return os; } @@ -157,57 +155,53 @@ std::vector removeSpikesEx(const BoostPolygon& polygon) { //const double buffer_distance = 1.0; //const int points_per_circle = 36; - bool extraLogging = false; + constexpr bool extraLogging = false; // The amount to shrink and expand the polygons by - const double offsetBy = 0.01; - const double tol = offsetBy; + constexpr double offsetBy = 0.01; + constexpr double tol = offsetBy; // Sets the limit to how far miters are extended for sharp corners - const double mitreLimit = 15; - boost::geometry::strategy::buffer::distance_symmetric expand(offsetBy); - boost::geometry::strategy::buffer::distance_symmetric shrink(-offsetBy); - boost::geometry::strategy::buffer::join_miter join_strategy(mitreLimit); - boost::geometry::strategy::buffer::end_flat end_strategy; - boost::geometry::strategy::buffer::side_straight side_strategy; - boost::geometry::strategy::buffer::point_circle point_strategy; - - // cppcheck-suppress constStatement + constexpr double mitreLimit = 15; + const boost::geometry::strategy::buffer::distance_symmetric expand(offsetBy); + const boost::geometry::strategy::buffer::distance_symmetric shrink(-offsetBy); + const boost::geometry::strategy::buffer::join_miter join_strategy(mitreLimit); + const boost::geometry::strategy::buffer::end_flat end_strategy; + const boost::geometry::strategy::buffer::side_straight side_strategy; + const boost::geometry::strategy::buffer::point_circle point_strategy; + BoostMultiPolygon resultExpand; - // cppcheck-suppress constStatement BoostMultiPolygon resultShrink; - // cppcheck-suppress constStatement BoostMultiPolygon result; + // Used for extra logging - // cppcheck-suppress constStatement BoostMultiPolygon shrinkExpand; // cppcheck-suppress knownConditionTrueFalse - if (extraLogging) { + if constexpr (extraLogging) { shrinkExpand.push_back(polygon); } // Shrink the polygon boost::geometry::buffer(polygon, resultShrink, shrink, side_strategy, join_strategy, end_strategy, point_strategy); // cppcheck-suppress knownConditionTrueFalse - if (extraLogging) { + if constexpr (extraLogging) { shrinkExpand.push_back(resultShrink[0]); } // Inflate the polygon boost::geometry::buffer(resultShrink, resultExpand, expand, side_strategy, join_strategy, end_strategy, point_strategy); // cppcheck-suppress knownConditionTrueFalse - if (extraLogging) { + if constexpr (extraLogging) { shrinkExpand.push_back(resultExpand[0]); } // Very small tolerance to remove artifacts from the inflate - double tol1 = 0.001; + constexpr double tol1 = 0.001; boost::geometry::simplify(resultExpand, result, tol1); // cppcheck-suppress knownConditionTrueFalse - if (extraLogging) { + if constexpr (extraLogging) { shrinkExpand.push_back(result[0]); LOG_FREE(Debug, "Shrink/Expand", shrinkExpand); } - // cppcheck-suppress constStatement std::vector solution; if (result.empty()) { // There's no result because the polygon was completely removed so return nothing @@ -220,20 +214,21 @@ std::vector removeSpikesEx(const BoostPolygon& polygon) { for (auto& boostPolygon : result) { // The returned points are adjusted to the input polygon (which defines the canonical set) - for (unsigned i = 0; i < boostPolygon.outer().size(); ++i) { - Point3d point3d(boostPolygon.outer()[i].x(), boostPolygon.outer()[i].y(), 0.0); + for (auto& cleanedRing : boostPolygon.outer()) { + const Point3d point3d(cleanedRing.x(), cleanedRing.y(), 0.0); // Outer ring of the original polygon - for (unsigned j = 0; j < polygon.outer().size(); j++) { - Point3d p1(polygon.outer()[j].x(), polygon.outer()[j].y(), 0); + for (const auto& oriRing : polygon.outer()) { + const Point3d p1(oriRing.x(), oriRing.y(), 0); // Two points are within tolerance set the result to the original input point if (getDistance(point3d, p1) <= tol) { - boostPolygon.outer()[i].x(polygon.outer()[j].x()); - boostPolygon.outer()[i].y(polygon.outer()[j].y()); + cleanedRing.x(oriRing.x()); + cleanedRing.y(oriRing.y()); break; } } } + solution.push_back(boostPolygon); } return solution; @@ -276,7 +271,7 @@ std::vector removeHoles(const BoostPolygon& boostPolygon) { outerPoly.SetOrientation(TPPL_CCW); polys.push_back(outerPoly); - std::vector inners = boostPolygon.inners(); + const std::vector& inners = boostPolygon.inners(); for (const BoostRing& inner : inners) { if (inner.size() < 3) { continue; @@ -298,7 +293,7 @@ std::vector removeHoles(const BoostPolygon& boostPolygon) { // do partitioning TPPLPartition pp; std::list resultPolys; - int test = pp.ConvexPartition_HM(&polys, &resultPolys); + const int test = pp.ConvexPartition_HM(&polys, &resultPolys); if (test == 0) { LOG_FREE(Error, "utilities.geometry.removeHoles", "Failed to partition polygon"); return result; @@ -311,11 +306,11 @@ std::vector removeHoles(const BoostPolygon& boostPolygon) { BoostPolygon newBoostPolygon; //std::cout << "result :"; for (long i = 0; i < it->GetNumPoints(); ++i) { - TPPLPoint point = it->GetPoint(i); + const TPPLPoint& point = it->GetPoint(i); boost::geometry::append(newBoostPolygon, boost::make_tuple(point.x, point.y)); //std::cout << "(" << point.x << ", " << point.y << ") "; } - TPPLPoint point = it->GetPoint(0); + const TPPLPoint& point = it->GetPoint(0); boost::geometry::append(newBoostPolygon, boost::make_tuple(point.x, point.y)); //std::cout << "(" << point.x << ", " << point.y << ") "; //std::cout << '\n'; @@ -334,7 +329,6 @@ std::vector removeHoles(const std::vector& polygons) // DLM: might also want to partition if this polygon is self intersecting? result.push_back(polygon); } else { - // cppcheck-suppress constStatement std::vector temp = removeHoles(polygon); result.insert(result.end(), temp.begin(), temp.end()); } @@ -350,7 +344,7 @@ boost::tuple boostPointFromPoint3d(const Point3d& point3d, std:: //return boost::make_tuple(point3d.x(), point3d.y()); // detailed method, try to combine points within tolerance - Point3d resultPoint = getCombinedPoint(point3d, allPoints, tol); + const Point3d resultPoint = getCombinedPoint(point3d, allPoints, tol); return boost::make_tuple(resultPoint.x(), resultPoint.y()); } @@ -365,7 +359,7 @@ boost::optional boostPolygonFromVertices(const std::vector tol) { LOG_FREE(Error, "utilities.geometry.boostPolygonFromVertices", "All points must be on z = 0 plane"); return boost::none; @@ -391,7 +385,6 @@ boost::optional boostPolygonFromVertices(const std::vector nonIntersectingBoostPolygonFromVertices(const std::vector& polygon, std::vector& allPoints, double tol) { - // cppcheck-suppress constStatement boost::optional result = boostPolygonFromVertices(polygon, allPoints, tol); if (!result) { return boost::none; @@ -416,7 +409,7 @@ boost::optional boostRingFromVertices(const std::vector& ver for (const Point3d& vertex : vertices) { // should all have zero z coordinate now - double z = vertex.z(); + const double z = vertex.z(); if (std::abs(z) > tol) { LOG_FREE(Error, "utilities.geometry.boostRingFromVertices", "All points must be on z = 0 plane"); return boost::none; @@ -467,7 +460,7 @@ std::vector verticesFromBoostPolygon(const BoostPolygon& polygon, std:: // add point for each vertex except final vertex for (unsigned i = 0; i < outer.size() - 1; ++i) { - Point3d point3d(outer[i].x(), outer[i].y(), 0.0); + const Point3d point3d(outer[i].x(), outer[i].y(), 0.0); // try to combine points within tolerance Point3d resultPoint = getCombinedPoint(point3d, allPoints, tol); @@ -476,7 +469,7 @@ std::vector verticesFromBoostPolygon(const BoostPolygon& polygon, std:: if ((i > 0) && (result.back() == resultPoint)) { continue; } - result.push_back(resultPoint); + result.emplace_back(std::move(resultPoint)); } if (!polygon.inners().empty()) { @@ -484,7 +477,9 @@ std::vector verticesFromBoostPolygon(const BoostPolygon& polygon, std:: "Converting polygon with " << polygon.inners().size() << " inner loops to OpenStudio vertices, inner loops ignored"); } - if (removeCollinear) result = removeCollinearLegacy(result); + if (removeCollinear) { + result = removeCollinearLegacy(result); + } // don't keep repeated vertices if (result.front() == result.back()) { @@ -504,7 +499,7 @@ std::vector verticesFromBoostRing(const BoostRing& ring, std::vector verticesFromBoostRing(const BoostRing& ring, std::vector 0) && (result.back() == resultPoint)) { continue; } - result.push_back(resultPoint); + result.emplace_back(std::move(resultPoint)); } result = removeCollinearLegacy(result); @@ -619,13 +614,12 @@ std::vector removeSpikes(const std::vector& polygon, double to // convert vertices to boost rings std::vector allPoints; - // cppcheck-suppress constStatement boost::optional boostPolygon = boostPolygonFromVertices(polygon, allPoints, tol); if (!boostPolygon) { return {}; } - BoostPolygon boostResult = removeSpikes(*boostPolygon); + const BoostPolygon boostResult = removeSpikes(*boostPolygon); std::vector result = verticesFromBoostPolygon(boostResult, allPoints, tol); @@ -654,8 +648,8 @@ bool polygonInPolygon(std::vector& points, const std::vector& for (const Point3d& point : points) { boost::tuple p = boostPointFromPoint3d(point, allPoints, tol); - BoostPoint boostPoint(p.get<0>(), p.get<1>()); - double distance = boost::geometry::distance(boostPoint, *boostPolygon); + const BoostPoint boostPoint(p.get<0>(), p.get<1>()); + const double distance = boost::geometry::distance(boostPoint, *boostPolygon); if (distance >= 0.0001) { return false; } @@ -677,7 +671,7 @@ bool pointInPolygon(const Point3d& point, const std::vector& polygon, d } boost::tuple p = boostPointFromPoint3d(point, allPoints, tol); - BoostPoint boostPoint(p.get<0>(), p.get<1>()); + const BoostPoint boostPoint(p.get<0>(), p.get<1>()); //boost::geometry::strategy::within::winding strategy; //boost::geometry::strategy::within::franklin strategy; @@ -688,8 +682,8 @@ bool pointInPolygon(const Point3d& point, const std::vector& polygon, d //bool result = boost::geometry::overlaps(boostPoint, *boostPolygon); - double distance = boost::geometry::distance(boostPoint, *boostPolygon); - bool result = (distance <= 0.0001); + const double distance = boost::geometry::distance(boostPoint, *boostPolygon); + const bool result = (distance <= 0.0001); return result; } @@ -722,9 +716,7 @@ boost::optional> join(const std::vector& polygon1, // should not be any holes, check for that below // check that union is ok - if (unionResult.empty()) { - return boost::none; - } else if (unionResult.size() > 1) { + if (unionResult.empty() or (unionResult.size() > 1)) { return boost::none; } else if (!unionResult[0].inners().empty()) { // check for holes @@ -758,7 +750,7 @@ boost::optional> join(const std::vector& polygon1, std::vector> joinAll(const std::vector>& polygons, double tol) { std::vector> result; - size_t N = polygons.size(); + const size_t N = polygons.size(); if (N <= 1) { return polygons; } @@ -783,7 +775,7 @@ std::vector> joinAll(const std::vector } } - std::vector> connectedComponents = findConnectedComponents(A); + const std::vector> connectedComponents = findConnectedComponents(A); for (const std::vector& component : connectedComponents) { std::vector orderedComponent(component); std::sort(orderedComponent.begin(), orderedComponent.end(), [&polygonAreas](int ia, int ib) { return polygonAreas[ia] > polygonAreas[ib]; }); @@ -795,7 +787,7 @@ std::vector> joinAll(const std::vector for (unsigned n = 0; n < component.size(); ++n) { // loop over polygons to join in order - for (unsigned i : orderedComponent) { + for (const unsigned i : orderedComponent) { if (points.empty()) { points = polygons[i]; joinedComponents.insert(i); @@ -828,7 +820,7 @@ std::vector> joinAll(const std::vector boost::optional intersect(const std::vector& polygon1, const std::vector& polygon2, double tol) { - bool extraLogging = false; + constexpr bool extraLogging = false; //std::cout << "Initial polygon1 area " << getArea(polygon1).get() << '\n'; //std::cout << "Initial polygon2 area " << getArea(polygon2).get() << '\n'; @@ -846,7 +838,7 @@ boost::optional intersect(const std::vector& polygo } BoostMultiPolygon polys; - if (extraLogging) { + if constexpr (extraLogging) { boost::optional poly = boostPolygonFromVertices(polygon2, allPoints, tol); polys.push_back(*poly); } @@ -860,7 +852,7 @@ boost::optional intersect(const std::vector& polygo return boost::none; } - if (extraLogging) { + if constexpr (extraLogging) { polys.push_back(intersectionResult[0]); } @@ -874,7 +866,7 @@ boost::optional intersect(const std::vector& polygo if (intersectionResult.empty()) { return boost::none; } - if (extraLogging) { + if constexpr (extraLogging) { polys.push_back(intersectionResult[0]); LOG_FREE(Debug, "intersection result", polys); } @@ -1018,28 +1010,23 @@ std::vector> subtract(const std::vector& polygon, // convert vertices to boost rings std::vector allPoints; - // cppcheck-suppress constStatement boost::optional initialBoostPolygon = nonIntersectingBoostPolygonFromVertices(polygon, allPoints, tol); if (!initialBoostPolygon) { return result; } - // cppcheck-suppress constStatement std::vector boostPolygons; boostPolygons.push_back(*initialBoostPolygon); for (const auto& hole : holes) { - // cppcheck-suppress constStatement boost::optional boostHole = nonIntersectingBoostPolygonFromVertices(hole, allPoints, tol); if (!boostHole) { return result; } - // cppcheck-suppress constStatement std::vector newBoostPolygons; for (const BoostPolygon& boostPolygon : boostPolygons) { - // cppcheck-suppress constStatement std::vector diffResult; boost::geometry::difference(boostPolygon, *boostHole, diffResult); newBoostPolygons.reserve(newBoostPolygons.size() + diffResult.size()); @@ -1065,7 +1052,6 @@ bool selfIntersects(const std::vector& polygon, double tol) { // convert vertices to boost rings std::vector allPoints; - // cppcheck-suppress constStatement const boost::optional bp = nonIntersectingBoostPolygonFromVertices(polygon, allPoints, tol); // if bp has a value, we're able to get a non intersecting polygon, so does not self intersect return !bp.has_value(); @@ -1086,7 +1072,7 @@ bool intersects(const std::vector& polygon1, const std::vector } bool within(const Point3d& point1, const std::vector& polygon2, double tol) { - std::vector geometry1 = {point1}; + const std::vector geometry1 = {point1}; return within(geometry1, polygon2, tol); } @@ -1100,7 +1086,7 @@ bool within(const std::vector& geometry1, const std::vector& p } boost::tuple p = boostPointFromPoint3d(geometry1[0], allPoints, tol); - BoostPoint boostPoint(p.get<0>(), p.get<1>()); + const BoostPoint boostPoint(p.get<0>(), p.get<1>()); boost::optional bp2 = boostPolygonFromVertices(polygon2, allPoints, tol); @@ -1128,7 +1114,7 @@ bool within(const std::vector& geometry1, const std::vector& p if (bp2) { for (const Point3d& point : geometry1) { boost::tuple p = boostPointFromPoint3d(point, allPoints, tol); - BoostPoint boostPoint(p.get<0>(), p.get<1>()); + const BoostPoint boostPoint(p.get<0>(), p.get<1>()); if (!boost::geometry::within(boostPoint, *bp2)) { return false; @@ -1144,14 +1130,14 @@ bool within(const std::vector& geometry1, const std::vector& p boost::optional getLinearAlpha(const Point3d& point0, const Point3d& point1, const Point3d& test) { // test = point0 + a*(point1 - point0) Vector3d diff1 = point1 - point0; - Vector3d diffTest = test - point0; + const Vector3d diffTest = test - point0; - double length = diff1.length(); + const double length = diff1.length(); if (length < 0.001) { return boost::none; } - double a; + double a = 0.0; if (std::abs(diff1.x()) > std::abs(diff1.y())) { if (std::abs(diff1.x()) > std::abs(diff1.z())) { a = diffTest.x() / diff1.x(); @@ -1167,8 +1153,8 @@ boost::optional getLinearAlpha(const Point3d& point0, const Point3d& poi } diff1.setLength(a * length); - Point3d test2 = point0 + diff1; - double d = getDistance(test, test2); + const Point3d test2 = point0 + diff1; + const double d = getDistance(test, test2); if (d < 0.001) { if (a > 0 && a < 1) { return a; @@ -1184,7 +1170,7 @@ std::vector simplify(const std::vector& vertices, bool removeC bool reversed = false; boost::optional outwardNormal = getOutwardNormal(vertices); if (!outwardNormal) { - return std::vector(); + return {}; } else if (outwardNormal->z() > 0) { reversed = true; } @@ -1197,7 +1183,7 @@ std::vector simplify(const std::vector& vertices, bool removeC } if (!bp) { - return std::vector(); + return {}; } boost::geometry::remove_spikes(*bp); @@ -1248,10 +1234,10 @@ std::vector simplify(const std::vector& vertices, bool removeC for (size_t i = 1; i < tmp.size(); ++i) { // see which remaining points fit in this segment, double is index in allPoints, alpha along line std::vector> pointsInSegment; - for (size_t j : pointsToAdd) { + for (const size_t j : pointsToAdd) { boost::optional alpha = getLinearAlpha(tmp[i - 1], tmp[i], allPoints[j]); if (alpha) { - pointsInSegment.push_back(std::make_pair(j, *alpha)); + pointsInSegment.emplace_back(j, *alpha); } } @@ -1269,10 +1255,10 @@ std::vector simplify(const std::vector& vertices, bool removeC // now check between last point and first point std::vector> pointsInSegment; - for (size_t j : pointsToAdd) { + for (const size_t j : pointsToAdd) { boost::optional alpha = getLinearAlpha(tmp[tmp.size() - 1], tmp[0], allPoints[j]); if (alpha) { - pointsInSegment.push_back(std::make_pair(j, *alpha)); + pointsInSegment.emplace_back(j, *alpha); } } @@ -1322,13 +1308,13 @@ Polygon3d PolygonFromBoostPolygon(const BoostPolygon& boostPolygon, Point3dVecto Point3dVector points; for (unsigned i = 0; i < outer.size() - 1; ++i) { - Point3d point3d(outer[i].x(), outer[i].y(), 0.0); + const Point3d point3d(outer[i].x(), outer[i].y(), 0.0); Point3d resultPoint = getCombinedPoint(point3d, allPoints, tol); // don't keep repeated vertices if ((i > 0) && (points.back() == resultPoint)) { continue; } - points.push_back(resultPoint); + points.emplace_back(std::move(resultPoint)); } points = removeCollinearLegacy(points); @@ -1340,12 +1326,13 @@ Polygon3d PolygonFromBoostPolygon(const BoostPolygon& boostPolygon, Point3dVecto Point3dVector hole; for (unsigned i = 0; i < inner.size() - 1; ++i) { Point3d point3d(inner[i].x(), inner[i].y(), 0.0); - Point3d resultPoint = getCombinedPoint(point3d, allPoints, tol); + const Point3d resultPoint = getCombinedPoint(point3d, allPoints, tol); // don't keep repeated vertices if ((i > 0) && (hole.back() == resultPoint)) { continue; } - hole.push_back(point3d); + // TODO: shouldn't this be resultPoint instead?! Or maybe the repeated check should use point3d in which case resultPoint is pointless + hole.emplace_back(std::move(point3d)); } p.addHole(hole); } @@ -1357,7 +1344,7 @@ Polygon3d PolygonFromBoostPolygon(const BoostPolygon& boostPolygon, Point3dVecto boost::optional join(const Polygon3d& polygon1, const Polygon3d& polygon2) { Point3dVector allPoints; - double tol = 0.01; + constexpr double tol = 0.01; // Convert polygons to boost polygon (not ring obvs) boost::optional boostPolygon1 = BoostPolygonFromPolygon(polygon1, allPoints, tol); @@ -1382,9 +1369,7 @@ boost::optional join(const Polygon3d& polygon1, const Polygon3d& poly unionResult = removeSpikes(unionResult); // Check the result - we do not have to bail for holes but we bail for > 1 poly - if (unionResult.empty()) { - return boost::none; - } else if (unionResult.size() > 1) { + if (unionResult.empty() or (unionResult.size() > 1)) { return boost::none; } @@ -1408,11 +1393,11 @@ std::vector joinAllPolygons(const std::vector>& return joinAll(inputPolygons, tol); } -std::vector joinAll(const std::vector& polygons, double tol) { +std::vector joinAll(const std::vector& polygons, double /*tol*/) { std::vector result; - size_t N = polygons.size(); + const size_t N = polygons.size(); if (N <= 1) { return polygons; } @@ -1437,7 +1422,7 @@ std::vector joinAll(const std::vector& polygons, double to } } - std::vector> connectedComponents = findConnectedComponents(A); + const std::vector> connectedComponents = findConnectedComponents(A); for (const std::vector& component : connectedComponents) { std::vector orderedComponent(component); @@ -1449,7 +1434,7 @@ std::vector joinAll(const std::vector& polygons, double to for (unsigned n = 0; n < component.size(); ++n) { // loop over polygons to join in order - for (unsigned i : orderedComponent) { + for (const unsigned i : orderedComponent) { if (polygon.getOuterPath().empty()) { polygon = polygons[i]; joinedComponents.insert(i); @@ -1485,17 +1470,16 @@ std::vector bufferAll(const std::vector& polygons, double std::vector allPoints; for (const Polygon3d& polygon : polygons) { - // cppcheck-suppress constStatement boost::optional boostPolygon = BoostPolygonFromPolygon(polygon, allPoints, tol); source.push_back(*boostPolygon); } - boost::geometry::strategy::buffer::distance_symmetric expand(tol); - boost::geometry::strategy::buffer::distance_symmetric shrink(-tol); - boost::geometry::strategy::buffer::join_miter join_strategy; - boost::geometry::strategy::buffer::end_flat end_strategy; - boost::geometry::strategy::buffer::side_straight side_strategy; - boost::geometry::strategy::buffer::point_circle point_strategy; + const boost::geometry::strategy::buffer::distance_symmetric expand(tol); + const boost::geometry::strategy::buffer::distance_symmetric shrink(-tol); + const boost::geometry::strategy::buffer::join_miter join_strategy; + const boost::geometry::strategy::buffer::end_flat end_strategy; + const boost::geometry::strategy::buffer::side_straight side_strategy; + const boost::geometry::strategy::buffer::point_circle point_strategy; BoostMultiPolygon resultExpand; BoostMultiPolygon resultShrink; @@ -1503,11 +1487,11 @@ std::vector bufferAll(const std::vector& polygons, double boost::geometry::buffer(resultExpand, resultShrink, shrink, side_strategy, join_strategy, end_strategy, point_strategy); std::vector result; + result.reserve(resultShrink.size()); for (const auto& boostPolygon : resultShrink) { BoostPolygon simplified; boost::geometry::simplify(boostPolygon, simplified, tol); - auto polygon = PolygonFromBoostPolygon(simplified, allPoints, tol); - result.push_back(polygon); + result.push_back(PolygonFromBoostPolygon(simplified, allPoints, tol)); } return result; @@ -1525,11 +1509,11 @@ boost::optional> buffer(const std::vector& polygon constexpr double miterLimit = 15; //const double buffer_distance = 1.0; //const int points_per_circle = 36; - boost::geometry::strategy::buffer::distance_symmetric distance_strategy(amount); - boost::geometry::strategy::buffer::join_miter join_strategy(miterLimit); - boost::geometry::strategy::buffer::end_flat end_strategy; - boost::geometry::strategy::buffer::side_straight side_strategy; - boost::geometry::strategy::buffer::point_circle point_strategy; + const boost::geometry::strategy::buffer::distance_symmetric distance_strategy(amount); + const boost::geometry::strategy::buffer::join_miter join_strategy(miterLimit); + const boost::geometry::strategy::buffer::end_flat end_strategy; + const boost::geometry::strategy::buffer::side_straight side_strategy; + const boost::geometry::strategy::buffer::point_circle point_strategy; BoostMultiPolygon polygons; polygons.push_back(*boostPolygon1); @@ -1548,8 +1532,8 @@ boost::optional>> buffer(const std::vector allPoints; BoostMultiPolygon boostPolygons; + boostPolygons.reserve(polygons.size()); for (const auto& polygon : polygons) { - // cppcheck-suppress constStatement boost::optional boostPolygon = nonIntersectingBoostPolygonFromVertices(polygon, allPoints, tol); if (!boostPolygon) { return boost::none; @@ -1558,11 +1542,11 @@ boost::optional>> buffer(const std::vector distance_strategy(amount); - boost::geometry::strategy::buffer::join_miter join_strategy(miterLimit); - boost::geometry::strategy::buffer::end_flat end_strategy; - boost::geometry::strategy::buffer::side_straight side_strategy; - boost::geometry::strategy::buffer::point_circle point_strategy; + const boost::geometry::strategy::buffer::distance_symmetric distance_strategy(amount); + const boost::geometry::strategy::buffer::join_miter join_strategy(miterLimit); + const boost::geometry::strategy::buffer::end_flat end_strategy; + const boost::geometry::strategy::buffer::side_straight side_strategy; + const boost::geometry::strategy::buffer::point_circle point_strategy; BoostMultiPolygon offset; BoostMultiPolygon result; @@ -1570,9 +1554,9 @@ boost::optional>> buffer(const std::vector results; + results.reserve(result.size()); for (const auto& boostPolygon : result) { - std::vector points = verticesFromBoostPolygon(boostPolygon, allPoints, tol); - results.push_back(points); + results.push_back(verticesFromBoostPolygon(boostPolygon, allPoints, tol)); } return results; } @@ -1581,7 +1565,7 @@ boost::optional>> buffer(const std::vector> joinAllWithBuffer(const std::vector>& polygons, double offset, double tol) { std::vector> result; - size_t N = polygons.size(); + const size_t N = polygons.size(); if (N <= 1) { return polygons; } @@ -1612,7 +1596,7 @@ std::vector> joinAllWithBuffer(const std::vector> connectedComponents = findConnectedComponents(A); + const std::vector> connectedComponents = findConnectedComponents(A); for (const std::vector& component : connectedComponents) { std::vector orderedComponent(component); std::sort(orderedComponent.begin(), orderedComponent.end(), [&polygonAreas](int ia, int ib) { return polygonAreas[ia] > polygonAreas[ib]; }); @@ -1624,7 +1608,7 @@ std::vector> joinAllWithBuffer(const std::vector Date: Wed, 15 Feb 2023 15:41:52 -0600 Subject: [PATCH 15/22] Vector initializer & operator << for list of point3d vectort --- src/utilities/geometry/Point3d.cpp | 19 ++++++-------- .../geometry/Test/Intersection_GTest.cpp | 25 ++++++++----------- 2 files changed, 18 insertions(+), 26 deletions(-) diff --git a/src/utilities/geometry/Point3d.cpp b/src/utilities/geometry/Point3d.cpp index 1ed6a74b4c9..6a4d7ff18bc 100644 --- a/src/utilities/geometry/Point3d.cpp +++ b/src/utilities/geometry/Point3d.cpp @@ -114,20 +114,15 @@ std::ostream& operator<<(std::ostream& os, const std::vector& pointVect } // Writes a json string representing the vector of point vectors -// Will deserialize in to a simple class that defines three double properties X,Y,Z +// Will deserialize in to a simple class that defines three double properties for X,Y,Z std::ostream& operator<<(std::ostream& os, const std::vector>& pointVectorVector) { - os << "["; - for (unsigned i = 0; i < pointVectorVector.size(); i++) { - os << "["; - Point3dVector points = pointVectorVector[i]; - for (unsigned j = 0; j < points.size(); j++) { - os << "{"; - os << "\"X\":" << points[j].x() << ","; - os << "\"Y\":" << points[j].y() << ","; - os << "\"Z\":" << points[j].z(); - os << "},"; + os << "[\n"; + for (const auto& points : pointVectorVector) { + os << " ["; + for (const auto& point : points) { + os << "\n " << point << ", "; } - os << "],"; + os << "\n ],\n"; } os << "]"; diff --git a/src/utilities/geometry/Test/Intersection_GTest.cpp b/src/utilities/geometry/Test/Intersection_GTest.cpp index c0be646eb9b..41fca2a2eb3 100644 --- a/src/utilities/geometry/Test/Intersection_GTest.cpp +++ b/src/utilities/geometry/Test/Intersection_GTest.cpp @@ -2336,7 +2336,7 @@ TEST_F(GeometryFixture, JoinAll_2527) { /// /// Tests the offset buffer method -/// Noyte the two tests are taken from +/// Note the two tests are taken from /// https://www.boost.org/doc/libs/1_65_0/libs/geometry/doc/html/geometry/reference/strategies/strategy_buffer_join_miter.html /// /// @@ -2344,22 +2344,19 @@ TEST_F(GeometryFixture, JoinAll_2527) { TEST_F(GeometryFixture, Offset) { // A simple rectangle, when offset should produce a polygon with four points - Point3dVector poly1; - poly1.push_back(Point3d(8, 7, 0)); - poly1.push_back(Point3d(8, 10, 0)); - poly1.push_back(Point3d(11, 10, 0)); - poly1.push_back(Point3d(11, 7, 0)); - Point3dVector poly2; - poly2.push_back(Point3d(7.5, 10.5, 0)); - poly2.push_back(Point3d(11.5, 10.5, 0)); - poly2.push_back(Point3d(11.5, 6.5, 0)); - poly2.push_back(Point3d(7.5, 6.5, 0)); + Point3dVector poly1 { + {8, 7, 0}, {8, 10, 0}, {11, 10, 0}, {11, 7, 0} + }; + Point3dVector poly2{ + {7.5, 10.5, 0.0}, + {11.5, 10.5, 0.0}, + {11.5, 6.5, 0.0}, + {7.5, 6.5, 0.0}, + }; boost::optional> result1 = openstudio::buffer(poly1, 0.5, 0.01); ASSERT_TRUE(result1); - Point3dVectorVector tmp; - tmp.push_back(poly1); - tmp.push_back(*result1); + Point3dVectorVector tmp{poly1, *result1}; LOG(Debug, tmp); ASSERT_EQ(4, result1.get().size()); From fed66ef873281f1af933b929ed52c53bafee7e23 Mon Sep 17 00:00:00 2001 From: ggartside Date: Wed, 15 Feb 2023 15:42:29 -0600 Subject: [PATCH 16/22] Corrected triangle count for test for 4738 --- src/utilities/geometry/Test/Geometry_GTest.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/utilities/geometry/Test/Geometry_GTest.cpp b/src/utilities/geometry/Test/Geometry_GTest.cpp index 708ce030878..f715d946b46 100644 --- a/src/utilities/geometry/Test/Geometry_GTest.cpp +++ b/src/utilities/geometry/Test/Geometry_GTest.cpp @@ -1088,7 +1088,8 @@ TEST_F(GeometryFixture, Triangulate_Windows_4783) { subSurfaceVertices.push_back(tmp8); std::vector> triangles = computeTriangulation(surfaceVertices, subSurfaceVertices); - ASSERT_EQ(triangles.size(), 47); + //LOG(Debug, triangles); + ASSERT_EQ(triangles.size(), 48); } TEST_F(GeometryFixture, PointLatLon) { From c8d2e2155d94370318a18c05b40e56724f32b47a Mon Sep 17 00:00:00 2001 From: ggartside Date: Wed, 15 Feb 2023 15:58:00 -0600 Subject: [PATCH 17/22] cppcheck and clang changes --- src/utilities/geometry/Geometry.cpp | 8 ++++---- src/utilities/geometry/Intersection.cpp | 7 ++++--- src/utilities/geometry/Polygon3d.cpp | 6 +++--- src/utilities/geometry/Polygon3d.hpp | 6 +++--- src/utilities/geometry/Test/Intersection_GTest.cpp | 4 +--- 5 files changed, 15 insertions(+), 16 deletions(-) diff --git a/src/utilities/geometry/Geometry.cpp b/src/utilities/geometry/Geometry.cpp index 92b49159196..1d89719c7c4 100644 --- a/src/utilities/geometry/Geometry.cpp +++ b/src/utilities/geometry/Geometry.cpp @@ -606,7 +606,7 @@ std::vector reverse(const Point3dVector& vertices) { bool applyViewAndDaylightingGlassRatios(double viewGlassToWallRatio, double daylightingGlassToWallRatio, double desiredViewGlassSillHeight, double desiredDaylightingGlassHeaderHeight, double exteriorShadingProjectionFactor, - double interiorShelfProjectionFactor, const Point3dVector& vertices, Point3dVector& viewVertices, + double interiorShelfProjectionFactor, const Point3dVector& surfaceVvertices, Point3dVector& viewVertices, Point3dVector& daylightingVertices, Point3dVector& exteriorShadingVertices, Point3dVector& interiorShelfVertices) { // check inputs for reasonableness @@ -618,13 +618,13 @@ bool applyViewAndDaylightingGlassRatios(double viewGlassToWallRatio, double dayl return false; } - boost::optional grossArea = getArea(vertices); + boost::optional grossArea = getArea(surfaceVvertices); if (!grossArea) { return false; } - Transformation transformation = Transformation::alignFace(vertices); - Point3dVector faceVertices = transformation.inverse() * vertices; + Transformation transformation = Transformation::alignFace(surfaceVvertices); + Point3dVector faceVertices = transformation.inverse() * surfaceVvertices; if (faceVertices.empty()) { return false; diff --git a/src/utilities/geometry/Intersection.cpp b/src/utilities/geometry/Intersection.cpp index 18d8c1888f2..385361f0813 100644 --- a/src/utilities/geometry/Intersection.cpp +++ b/src/utilities/geometry/Intersection.cpp @@ -840,7 +840,9 @@ boost::optional intersect(const std::vector& polygo BoostMultiPolygon polys; if constexpr (extraLogging) { boost::optional poly = boostPolygonFromVertices(polygon2, allPoints, tol); - polys.push_back(*poly); + if (poly.has_value()) { + polys.push_back(*poly); + } } // intersect the points in face coordinates, @@ -1331,8 +1333,7 @@ Polygon3d PolygonFromBoostPolygon(const BoostPolygon& boostPolygon, Point3dVecto if ((i > 0) && (hole.back() == resultPoint)) { continue; } - // TODO: shouldn't this be resultPoint instead?! Or maybe the repeated check should use point3d in which case resultPoint is pointless - hole.emplace_back(std::move(point3d)); + hole.emplace_back(std::move(resultPoint)); } p.addHole(hole); } diff --git a/src/utilities/geometry/Polygon3d.cpp b/src/utilities/geometry/Polygon3d.cpp index 4d827b91d32..827d66e5dd3 100644 --- a/src/utilities/geometry/Polygon3d.cpp +++ b/src/utilities/geometry/Polygon3d.cpp @@ -108,7 +108,7 @@ double Polygon3d::netArea() { return netArea; } -double Polygon3d::perimeter() { +double Polygon3d::perimeter() const { double perimeter = 0; for (size_t i = 0; i < m_outerPath.size(); i++) { @@ -169,11 +169,11 @@ bool Polygon3d::inside(const Point3d& point, double tol) { return pointInPolygon(point, tol) || within(point, tol); } -size_t Polygon3d::getSize() { +size_t Polygon3d::getSize() const { return m_outerPath.size(); } -Point3dVector Polygon3d::getEdge(size_t i) { +Point3dVector Polygon3d::getEdge(size_t i) const { Point3d p1 = m_outerPath[i]; Point3d p2 = m_outerPath[(i + 1) % m_outerPath.size()]; return Point3dVector{p1, p2}; diff --git a/src/utilities/geometry/Polygon3d.hpp b/src/utilities/geometry/Polygon3d.hpp index 36aabe548f9..ecd0859d329 100644 --- a/src/utilities/geometry/Polygon3d.hpp +++ b/src/utilities/geometry/Polygon3d.hpp @@ -79,7 +79,7 @@ class UTILITIES_API Polygon3d double netArea(); // Gets the perimeter of the outer path of the polygon - double perimeter(); + double perimeter() const; // Determines whether the polygon os clockwise (normal down) or anti-clockwise (normal up) bool isClockwise(); @@ -97,10 +97,10 @@ class UTILITIES_API Polygon3d bool inside(const Point3d& point, double tol = 0.01); // gets the size of the outer path - size_t getSize(); + size_t getSize() const; // gets an edge on thge outer path - Point3dVector getEdge(size_t i); + Point3dVector getEdge(size_t i) const; // Returns the ovelapping segments between this polygon and the line std::vector overlap(const Point3dVector& line) const; diff --git a/src/utilities/geometry/Test/Intersection_GTest.cpp b/src/utilities/geometry/Test/Intersection_GTest.cpp index 41fca2a2eb3..48cf1fd6124 100644 --- a/src/utilities/geometry/Test/Intersection_GTest.cpp +++ b/src/utilities/geometry/Test/Intersection_GTest.cpp @@ -2344,9 +2344,7 @@ TEST_F(GeometryFixture, JoinAll_2527) { TEST_F(GeometryFixture, Offset) { // A simple rectangle, when offset should produce a polygon with four points - Point3dVector poly1 { - {8, 7, 0}, {8, 10, 0}, {11, 10, 0}, {11, 7, 0} - }; + Point3dVector poly1{{8, 7, 0}, {8, 10, 0}, {11, 10, 0}, {11, 7, 0}}; Point3dVector poly2{ {7.5, 10.5, 0.0}, {11.5, 10.5, 0.0}, From f6e7e42cd99d964b39d658ac133a1e5527c08c0d Mon Sep 17 00:00:00 2001 From: Julien Marrec Date: Thu, 16 Feb 2023 09:41:03 +0100 Subject: [PATCH 18/22] fixup cppcheck --- src/utilities/geometry/Geometry.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/utilities/geometry/Geometry.cpp b/src/utilities/geometry/Geometry.cpp index 1d89719c7c4..89c3ddb2646 100644 --- a/src/utilities/geometry/Geometry.cpp +++ b/src/utilities/geometry/Geometry.cpp @@ -606,7 +606,7 @@ std::vector reverse(const Point3dVector& vertices) { bool applyViewAndDaylightingGlassRatios(double viewGlassToWallRatio, double daylightingGlassToWallRatio, double desiredViewGlassSillHeight, double desiredDaylightingGlassHeaderHeight, double exteriorShadingProjectionFactor, - double interiorShelfProjectionFactor, const Point3dVector& surfaceVvertices, Point3dVector& viewVertices, + double interiorShelfProjectionFactor, const Point3dVector& surfaceVertices, Point3dVector& viewVertices, Point3dVector& daylightingVertices, Point3dVector& exteriorShadingVertices, Point3dVector& interiorShelfVertices) { // check inputs for reasonableness @@ -618,13 +618,13 @@ bool applyViewAndDaylightingGlassRatios(double viewGlassToWallRatio, double dayl return false; } - boost::optional grossArea = getArea(surfaceVvertices); + boost::optional grossArea = getArea(surfaceVertices); if (!grossArea) { return false; } - Transformation transformation = Transformation::alignFace(surfaceVvertices); - Point3dVector faceVertices = transformation.inverse() * surfaceVvertices; + Transformation transformation = Transformation::alignFace(surfaceVertices); + Point3dVector faceVertices = transformation.inverse() * surfaceVertices; if (faceVertices.empty()) { return false; From 5e62c3511af5ea9d8c2f364d1c1559a5ed6a041c Mon Sep 17 00:00:00 2001 From: ggartside Date: Thu, 16 Feb 2023 11:57:10 -0600 Subject: [PATCH 19/22] Resolving final issues related to PR 4777 --- src/model/FloorspaceReverseTranslator.cpp | 28 +++++++++++++---------- src/utilities/geometry/Intersection.cpp | 1 - 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/src/model/FloorspaceReverseTranslator.cpp b/src/model/FloorspaceReverseTranslator.cpp index 378852fc82b..68b407a2e69 100644 --- a/src/model/FloorspaceReverseTranslator.cpp +++ b/src/model/FloorspaceReverseTranslator.cpp @@ -583,23 +583,27 @@ namespace model { for (const auto& window : m_currentFSStory->windows()) { // Get window's x/y position which is the alpha based on its edge // windows can have multiple alphas but we only need one - auto edge = *window.edge(); - const double alpha = window.alphas()[0]; - const Point3d pp = window.centerVertex(alpha); - - if (getDistancePointToLineSegment(pp, wallSegment) < tol) { - createWindowSubsurface(window, surface, edge, minZ, maxZ); + if (window.edge().has_value()) { + auto edge = *window.edge(); + const double alpha = window.alphas()[0]; + const Point3d pp = window.centerVertex(alpha); + + if (getDistancePointToLineSegment(pp, wallSegment) < tol) { + createWindowSubsurface(window, surface, edge, minZ, maxZ); + } } } // Create a door subsurface for every window that is on this edge for (const auto& door : m_currentFSStory->doors()) { - auto edge = *door.edge(); - const double alpha = door.alphas()[0]; - const Point3d pp = door.centerVertex(alpha); - - if (getDistancePointToLineSegment(pp, wallSegment) < tol) { - createDoorSubsurface(door, surface, edge, minZ); + if (door.edge().has_value()) { + auto edge = *door.edge(); + const double alpha = door.alphas()[0]; + const Point3d pp = door.centerVertex(alpha); + + if (getDistancePointToLineSegment(pp, wallSegment) < tol) { + createDoorSubsurface(door, surface, edge, minZ); + } } } } diff --git a/src/utilities/geometry/Intersection.cpp b/src/utilities/geometry/Intersection.cpp index 385361f0813..35afb5099fb 100644 --- a/src/utilities/geometry/Intersection.cpp +++ b/src/utilities/geometry/Intersection.cpp @@ -452,7 +452,6 @@ boost::optional nonIntersectingBoostRingFromVertices(const std::vecto std::vector verticesFromBoostPolygon(const BoostPolygon& polygon, std::vector& allPoints, double tol, bool removeCollinear = false) { std::vector result; - tol = 0.001; BoostRing outer = polygon.outer(); if (outer.empty()) { return result; From 247b2bf076903a435951bde65bc6322ca9b84949 Mon Sep 17 00:00:00 2001 From: ggartside Date: Mon, 20 Feb 2023 16:44:08 -0600 Subject: [PATCH 20/22] Changing meter limit to fix the area after intersection errrors caused by the shringk/inflate to remove spikes. Usually an issue at vertices with a very small internal angle (pointy) --- src/utilities/geometry/Intersection.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utilities/geometry/Intersection.cpp b/src/utilities/geometry/Intersection.cpp index 35afb5099fb..75f2963b57f 100644 --- a/src/utilities/geometry/Intersection.cpp +++ b/src/utilities/geometry/Intersection.cpp @@ -160,7 +160,7 @@ std::vector removeSpikesEx(const BoostPolygon& polygon) { constexpr double offsetBy = 0.01; constexpr double tol = offsetBy; // Sets the limit to how far miters are extended for sharp corners - constexpr double mitreLimit = 15; + constexpr double mitreLimit = 100; const boost::geometry::strategy::buffer::distance_symmetric expand(offsetBy); const boost::geometry::strategy::buffer::distance_symmetric shrink(-offsetBy); const boost::geometry::strategy::buffer::join_miter join_strategy(mitreLimit); From 65f0544347a147c4570d263a63b4b0b7f51dac37 Mon Sep 17 00:00:00 2001 From: ggartside Date: Wed, 1 Mar 2023 15:19:09 -0600 Subject: [PATCH 21/22] Applies a scale factor to the polygon data as it is converted between boost and openstudio formats all boost valculations are effectively performed in mm and not m as the scale factor is 1000 --- src/model/Surface.cpp | 18 ++++++++++ src/utilities/geometry/Intersection.cpp | 46 +++++++++++++++---------- 2 files changed, 45 insertions(+), 19 deletions(-) diff --git a/src/model/Surface.cpp b/src/model/Surface.cpp index fa4e12fb99c..d8a523d0a6b 100644 --- a/src/model/Surface.cpp +++ b/src/model/Surface.cpp @@ -1116,12 +1116,30 @@ namespace model { if (std::abs(area1.get() - intersection->area1()) > areaTol) { LOG(Error, "Initial area of surface '" << this->nameString() << "' " << area1.get() << " does not equal post intersection area " << intersection->area1()); + if constexpr (extraLogging) { + Point3dVectorVector tmp1{faceVertices, otherFaceVertices}; + LOG(Debug, tmp1); + Point3dVectorVector tmp; + tmp.push_back(intersection->polygon1()); + for (auto& x : intersection->newPolygons1()) + tmp.push_back(x); + LOG(Debug, tmp); + } } } if (area2) { if (std::abs(area2.get() - intersection->area2()) > areaTol) { LOG(Error, "Initial area of other surface '" << otherSurface.nameString() << "' " << area2.get() << " does not equal post intersection area " << intersection->area2()); + if constexpr (extraLogging) { + Point3dVectorVector tmp1{faceVertices, otherFaceVertices}; + LOG(Debug, tmp1); + Point3dVectorVector tmp; + tmp.push_back(intersection->polygon2()); + for (auto& x : intersection->newPolygons2()) + tmp.push_back(x); + LOG(Debug, tmp); + } } } diff --git a/src/utilities/geometry/Intersection.cpp b/src/utilities/geometry/Intersection.cpp index 75f2963b57f..1e131bf6760 100644 --- a/src/utilities/geometry/Intersection.cpp +++ b/src/utilities/geometry/Intersection.cpp @@ -150,6 +150,9 @@ std::ostream& operator<<(std::ostream& os, const BoostMultiPolygon& boostPolygon return os; } +// Scale factor for parameters passed to boost +double scaleBy = 1000.0; + // Cleans a polygon by shrinking and expanding. Can return multiple polygons std::vector removeSpikesEx(const BoostPolygon& polygon) { @@ -161,9 +164,9 @@ std::vector removeSpikesEx(const BoostPolygon& polygon) { constexpr double tol = offsetBy; // Sets the limit to how far miters are extended for sharp corners constexpr double mitreLimit = 100; - const boost::geometry::strategy::buffer::distance_symmetric expand(offsetBy); - const boost::geometry::strategy::buffer::distance_symmetric shrink(-offsetBy); - const boost::geometry::strategy::buffer::join_miter join_strategy(mitreLimit); + const boost::geometry::strategy::buffer::distance_symmetric expand(offsetBy * scaleBy); + const boost::geometry::strategy::buffer::distance_symmetric shrink(-offsetBy * scaleBy); + const boost::geometry::strategy::buffer::join_miter join_strategy(mitreLimit * scaleBy); const boost::geometry::strategy::buffer::end_flat end_strategy; const boost::geometry::strategy::buffer::side_straight side_strategy; const boost::geometry::strategy::buffer::point_circle point_strategy; @@ -195,7 +198,7 @@ std::vector removeSpikesEx(const BoostPolygon& polygon) { // Very small tolerance to remove artifacts from the inflate constexpr double tol1 = 0.001; - boost::geometry::simplify(resultExpand, result, tol1); + boost::geometry::simplify(resultExpand, result, tol1 * scaleBy); // cppcheck-suppress knownConditionTrueFalse if constexpr (extraLogging) { shrinkExpand.push_back(result[0]); @@ -221,7 +224,7 @@ std::vector removeSpikesEx(const BoostPolygon& polygon) { for (const auto& oriRing : polygon.outer()) { const Point3d p1(oriRing.x(), oriRing.y(), 0); // Two points are within tolerance set the result to the original input point - if (getDistance(point3d, p1) <= tol) { + if (getDistance(point3d, p1) <= tol * scaleBy) { cleanedRing.x(oriRing.x()); cleanedRing.y(oriRing.y()); break; @@ -262,6 +265,7 @@ std::vector removeHoles(const BoostPolygon& boostPolygon) { outerPoly.Init(outer.size() - 1); outerPoly.SetHole(false); //std::cout << "outer :"; + // Note - no scaling conversion here as this accepts boost data and returns boost data for (size_t i = 0; i < outer.size() - 1; ++i) { outerPoly[i].x = outer[i].x(); outerPoly[i].y = outer[i].y(); @@ -280,6 +284,7 @@ std::vector removeHoles(const BoostPolygon& boostPolygon) { innerPoly.Init(inner.size() - 1); innerPoly.SetHole(true); //std::cout << "inner :"; + // Note - no scaling conversion here as this accepts boost data and returns boost data for (unsigned i = 0; i < inner.size() - 1; ++i) { innerPoly[i].x = inner[i].x(); innerPoly[i].y = inner[i].y(); @@ -346,7 +351,7 @@ boost::tuple boostPointFromPoint3d(const Point3d& point3d, std:: // detailed method, try to combine points within tolerance const Point3d resultPoint = getCombinedPoint(point3d, allPoints, tol); - return boost::make_tuple(resultPoint.x(), resultPoint.y()); + return boost::make_tuple(resultPoint.x() * scaleBy, resultPoint.y() * scaleBy); } // convert vertices to a boost polygon, all vertices must lie on z = 0 plane @@ -459,7 +464,7 @@ std::vector verticesFromBoostPolygon(const BoostPolygon& polygon, std:: // add point for each vertex except final vertex for (unsigned i = 0; i < outer.size() - 1; ++i) { - const Point3d point3d(outer[i].x(), outer[i].y(), 0.0); + const Point3d point3d(outer[i].x() / scaleBy, outer[i].y() / scaleBy, 0.0); // try to combine points within tolerance Point3d resultPoint = getCombinedPoint(point3d, allPoints, tol); @@ -838,9 +843,13 @@ boost::optional intersect(const std::vector& polygo BoostMultiPolygon polys; if constexpr (extraLogging) { - boost::optional poly = boostPolygonFromVertices(polygon2, allPoints, tol); - if (poly.has_value()) { - polys.push_back(*poly); + boost::optional poly1 = boostPolygonFromVertices(polygon1, allPoints, tol); + if (poly1.has_value()) { + polys.push_back(*poly1); + } + boost::optional poly2 = boostPolygonFromVertices(polygon2, allPoints, tol); + if (poly2.has_value()) { + polys.push_back(*poly2); } } @@ -1309,7 +1318,7 @@ Polygon3d PolygonFromBoostPolygon(const BoostPolygon& boostPolygon, Point3dVecto Point3dVector points; for (unsigned i = 0; i < outer.size() - 1; ++i) { - const Point3d point3d(outer[i].x(), outer[i].y(), 0.0); + const Point3d point3d(outer[i].x() / scaleBy, outer[i].y() / scaleBy, 0.0); Point3d resultPoint = getCombinedPoint(point3d, allPoints, tol); // don't keep repeated vertices if ((i > 0) && (points.back() == resultPoint)) { @@ -1326,7 +1335,7 @@ Polygon3d PolygonFromBoostPolygon(const BoostPolygon& boostPolygon, Point3dVecto for (const auto& inner : boostPolygon.inners()) { Point3dVector hole; for (unsigned i = 0; i < inner.size() - 1; ++i) { - Point3d point3d(inner[i].x(), inner[i].y(), 0.0); + Point3d point3d(inner[i].x() / scaleBy, inner[i].y() / scaleBy, 0.0); const Point3d resultPoint = getCombinedPoint(point3d, allPoints, tol); // don't keep repeated vertices if ((i > 0) && (hole.back() == resultPoint)) { @@ -1474,8 +1483,8 @@ std::vector bufferAll(const std::vector& polygons, double source.push_back(*boostPolygon); } - const boost::geometry::strategy::buffer::distance_symmetric expand(tol); - const boost::geometry::strategy::buffer::distance_symmetric shrink(-tol); + const boost::geometry::strategy::buffer::distance_symmetric expand(tol * scaleBy); + const boost::geometry::strategy::buffer::distance_symmetric shrink(-tol * scaleBy); const boost::geometry::strategy::buffer::join_miter join_strategy; const boost::geometry::strategy::buffer::end_flat end_strategy; const boost::geometry::strategy::buffer::side_straight side_strategy; @@ -1498,7 +1507,6 @@ std::vector bufferAll(const std::vector& polygons, double } boost::optional> buffer(const std::vector& polygon1, double amount, double tol) { - std::vector allPoints; boost::optional boostPolygon1 = nonIntersectingBoostPolygonFromVertices(polygon1, allPoints, tol); @@ -1509,8 +1517,8 @@ boost::optional> buffer(const std::vector& polygon constexpr double miterLimit = 15; //const double buffer_distance = 1.0; //const int points_per_circle = 36; - const boost::geometry::strategy::buffer::distance_symmetric distance_strategy(amount); - const boost::geometry::strategy::buffer::join_miter join_strategy(miterLimit); + const boost::geometry::strategy::buffer::distance_symmetric distance_strategy(amount * scaleBy); + const boost::geometry::strategy::buffer::join_miter join_strategy(miterLimit * scaleBy); const boost::geometry::strategy::buffer::end_flat end_strategy; const boost::geometry::strategy::buffer::side_straight side_strategy; const boost::geometry::strategy::buffer::point_circle point_strategy; @@ -1542,8 +1550,8 @@ boost::optional>> buffer(const std::vector distance_strategy(amount); - const boost::geometry::strategy::buffer::join_miter join_strategy(miterLimit); + const boost::geometry::strategy::buffer::distance_symmetric distance_strategy(amount * scaleBy); + const boost::geometry::strategy::buffer::join_miter join_strategy(miterLimit * scaleBy); const boost::geometry::strategy::buffer::end_flat end_strategy; const boost::geometry::strategy::buffer::side_straight side_strategy; const boost::geometry::strategy::buffer::point_circle point_strategy; From cc46ff57df011882c2fa39681df3cbaaacf4f474 Mon Sep 17 00:00:00 2001 From: ggartside Date: Fri, 3 Mar 2023 08:11:00 -0600 Subject: [PATCH 22/22] Update src/utilities/geometry/Intersection.cpp Co-authored-by: Julien Marrec --- src/utilities/geometry/Intersection.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/utilities/geometry/Intersection.cpp b/src/utilities/geometry/Intersection.cpp index fe29aac9de5..bd5f71ec94f 100644 --- a/src/utilities/geometry/Intersection.cpp +++ b/src/utilities/geometry/Intersection.cpp @@ -151,8 +151,11 @@ std::ostream& operator<<(std::ostream& os, const BoostMultiPolygon& boostPolygon return os; } -// Scale factor for parameters passed to boost -double scaleBy = 1000.0; +// Scale factor for parameters when converting between openstudio and boost data formats to improve the numerical accuracy of the boolean operations. +// Idea came from this comment in the boostorg/geometry repo: https://github.com/boostorg/geometry/issues/1034#issuecomment-1284180101 +// where the author indicates that scaling the values by 10 improved the result and talks about rounding to an integer grid, +// so by increasing the range of values we pass to boost we should be improving the resolution of the integer rounding +static constexpr double scaleBy = 1000.0; // Cleans a polygon by shrinking and expanding. Can return multiple polygons std::vector removeSpikesEx(const BoostPolygon& polygon) {