From a531988b9998b8a6fd0897368945086f060d45b8 Mon Sep 17 00:00:00 2001 From: Fen Dweller Date: Tue, 15 Sep 2020 15:55:44 -0400 Subject: [PATCH] Start adding auto-generated silhouettes of building models -- 10 from Chicago --- macrovision.html | 1 + macrovision.js | 3 +- media/attribution.js | 11 + .../Chase Tower-North (Top).svg | 39 +++ media/real-buildings/Chase Tower-North.svg | 23 ++ .../real-buildings/Chase Tower-Northwest.svg | 53 +++ .../real-buildings/Chase Tower-West (Top).svg | 36 ++ media/real-buildings/Chase Tower-West.svg | 52 +++ ...in Communications Building-North (Top).svg | 31 ++ .../Crain Communications Building-North.svg | 36 ++ ...rain Communications Building-Northwest.svg | 36 ++ ...ain Communications Building-West (Top).svg | 28 ++ .../Crain Communications Building-West.svg | 39 +++ .../Harbor Point-North (Top).svg | 45 +++ media/real-buildings/Harbor Point-North.svg | 27 ++ .../real-buildings/Harbor Point-Northwest.svg | 23 ++ .../Harbor Point-West (Top).svg | 45 +++ media/real-buildings/Harbor Point-West.svg | 28 ++ ...ck Place Convention Center-North (Top).svg | 141 ++++++++ ...cCormick Place Convention Center-North.svg | 67 ++++ ...mick Place Convention Center-Northwest.svg | 51 +++ ...ick Place Convention Center-West (Top).svg | 141 ++++++++ ...McCormick Place Convention Center-West.svg | 38 +++ .../North Harbor Tower-North (Top).svg | 71 ++++ .../North Harbor Tower-North.svg | 46 +++ .../North Harbor Tower-Northwest.svg | 115 +++++++ .../North Harbor Tower-West (Top).svg | 72 ++++ .../North Harbor Tower-West.svg | 80 +++++ .../One Museum Park East-North (Top).svg | 33 ++ .../One Museum Park East-North.svg | 29 ++ .../One Museum Park East-Northwest.svg | 25 ++ .../One Museum Park East-West (Top).svg | 33 ++ .../One Museum Park East-West.svg | 19 ++ .../Soldier Field-North (Top).svg | 314 +++++++++++++++++ media/real-buildings/Soldier Field-North.svg | 109 ++++++ .../Soldier Field-Northwest.svg | 98 ++++++ .../Soldier Field-West (Top).svg | 320 ++++++++++++++++++ media/real-buildings/Soldier Field-West.svg | 74 ++++ .../The Merchandise Mart-North (Top).svg | 44 +++ .../The Merchandise Mart-North.svg | 21 ++ .../The Merchandise Mart-Northwest.svg | 14 + .../The Merchandise Mart-West (Top).svg | 43 +++ .../The Merchandise Mart-West.svg | 23 ++ ...onal Hotel & Tower Chicago-North (Top).svg | 54 +++ ...ernational Hotel & Tower Chicago-North.svg | 44 +++ ...tional Hotel & Tower Chicago-Northwest.svg | 65 ++++ ...ional Hotel & Tower Chicago-West (Top).svg | 53 +++ ...ternational Hotel & Tower Chicago-West.svg | 74 ++++ .../Willis Tower-North (Top).svg | 34 ++ media/real-buildings/Willis Tower-North.svg | 42 +++ .../real-buildings/Willis Tower-Northwest.svg | 59 ++++ .../Willis Tower-West (Top).svg | 33 ++ media/real-buildings/Willis Tower-West.svg | 38 +++ presets/real-buildings.js | 84 +++++ scripts/blender-building.py | 41 +++ scripts/combine-svg.py | 61 ++++ 56 files changed, 3258 insertions(+), 1 deletion(-) create mode 100644 media/real-buildings/Chase Tower-North (Top).svg create mode 100644 media/real-buildings/Chase Tower-North.svg create mode 100644 media/real-buildings/Chase Tower-Northwest.svg create mode 100644 media/real-buildings/Chase Tower-West (Top).svg create mode 100644 media/real-buildings/Chase Tower-West.svg create mode 100644 media/real-buildings/Crain Communications Building-North (Top).svg create mode 100644 media/real-buildings/Crain Communications Building-North.svg create mode 100644 media/real-buildings/Crain Communications Building-Northwest.svg create mode 100644 media/real-buildings/Crain Communications Building-West (Top).svg create mode 100644 media/real-buildings/Crain Communications Building-West.svg create mode 100644 media/real-buildings/Harbor Point-North (Top).svg create mode 100644 media/real-buildings/Harbor Point-North.svg create mode 100644 media/real-buildings/Harbor Point-Northwest.svg create mode 100644 media/real-buildings/Harbor Point-West (Top).svg create mode 100644 media/real-buildings/Harbor Point-West.svg create mode 100644 media/real-buildings/McCormick Place Convention Center-North (Top).svg create mode 100644 media/real-buildings/McCormick Place Convention Center-North.svg create mode 100644 media/real-buildings/McCormick Place Convention Center-Northwest.svg create mode 100644 media/real-buildings/McCormick Place Convention Center-West (Top).svg create mode 100644 media/real-buildings/McCormick Place Convention Center-West.svg create mode 100644 media/real-buildings/North Harbor Tower-North (Top).svg create mode 100644 media/real-buildings/North Harbor Tower-North.svg create mode 100644 media/real-buildings/North Harbor Tower-Northwest.svg create mode 100644 media/real-buildings/North Harbor Tower-West (Top).svg create mode 100644 media/real-buildings/North Harbor Tower-West.svg create mode 100644 media/real-buildings/One Museum Park East-North (Top).svg create mode 100644 media/real-buildings/One Museum Park East-North.svg create mode 100644 media/real-buildings/One Museum Park East-Northwest.svg create mode 100644 media/real-buildings/One Museum Park East-West (Top).svg create mode 100644 media/real-buildings/One Museum Park East-West.svg create mode 100644 media/real-buildings/Soldier Field-North (Top).svg create mode 100644 media/real-buildings/Soldier Field-North.svg create mode 100644 media/real-buildings/Soldier Field-Northwest.svg create mode 100644 media/real-buildings/Soldier Field-West (Top).svg create mode 100644 media/real-buildings/Soldier Field-West.svg create mode 100644 media/real-buildings/The Merchandise Mart-North (Top).svg create mode 100644 media/real-buildings/The Merchandise Mart-North.svg create mode 100644 media/real-buildings/The Merchandise Mart-Northwest.svg create mode 100644 media/real-buildings/The Merchandise Mart-West (Top).svg create mode 100644 media/real-buildings/The Merchandise Mart-West.svg create mode 100644 media/real-buildings/Trump International Hotel & Tower Chicago-North (Top).svg create mode 100644 media/real-buildings/Trump International Hotel & Tower Chicago-North.svg create mode 100644 media/real-buildings/Trump International Hotel & Tower Chicago-Northwest.svg create mode 100644 media/real-buildings/Trump International Hotel & Tower Chicago-West (Top).svg create mode 100644 media/real-buildings/Trump International Hotel & Tower Chicago-West.svg create mode 100644 media/real-buildings/Willis Tower-North (Top).svg create mode 100644 media/real-buildings/Willis Tower-North.svg create mode 100644 media/real-buildings/Willis Tower-Northwest.svg create mode 100644 media/real-buildings/Willis Tower-West (Top).svg create mode 100644 media/real-buildings/Willis Tower-West.svg create mode 100644 presets/real-buildings.js create mode 100644 scripts/blender-building.py create mode 100644 scripts/combine-svg.py diff --git a/macrovision.html b/macrovision.html index 395fe2b8..f9b89cbd 100644 --- a/macrovision.html +++ b/macrovision.html @@ -10,6 +10,7 @@ + diff --git a/macrovision.js b/macrovision.js index fe85a478..fb301c4d 100644 --- a/macrovision.js +++ b/macrovision.js @@ -2936,13 +2936,14 @@ function prepareEntities() { availableEntities["buildings"] = makeBuildings(); availableEntities["characters"] = makeCharacters(); availableEntities["cities"] = makeCities(); + availableEntities["dildos"] = makeDildos(); availableEntities["fiction"] = makeFiction(); availableEntities["food"] = makeFood(); availableEntities["landmarks"] = makeLandmarks(); availableEntities["naturals"] = makeNaturals(); availableEntities["objects"] = makeObjects(); - availableEntities["dildos"] = makeDildos(); availableEntities["pokemon"] = makePokemon(); + availableEntities["real-buildings"] = makeRealBuildings(); availableEntities["species"] = makeSpecies(); availableEntities["vehicles"] = makeVehicles(); diff --git a/media/attribution.js b/media/attribution.js index da66b1f9..ef471950 100644 --- a/media/attribution.js +++ b/media/attribution.js @@ -11725,6 +11725,13 @@ const attributionData = { "dimensions-guide" ] }, + { + prefix: "./media/real-buildings/", + all: "https://wiki.openstreetmap.org/wiki/Blender", + authors: [ + "openstreetmap" + ] + }, { prefix: "./media/species/synx/", files: [ @@ -15653,6 +15660,10 @@ const attributionData = { "name": "qundium", "url": "https://www.furaffinity.net/user/qundium" }, + "openstreetmap": { + "name": "OpenStreetMap", + "url": "https://openstreetmap.org" + }, } } diff --git a/media/real-buildings/Chase Tower-North (Top).svg b/media/real-buildings/Chase Tower-North (Top).svg new file mode 100644 index 00000000..fca62a7d --- /dev/null +++ b/media/real-buildings/Chase Tower-North (Top).svg @@ -0,0 +1,39 @@ + + + + + + + + + + + diff --git a/media/real-buildings/Chase Tower-North.svg b/media/real-buildings/Chase Tower-North.svg new file mode 100644 index 00000000..4c37f3c1 --- /dev/null +++ b/media/real-buildings/Chase Tower-North.svg @@ -0,0 +1,23 @@ + + + + + + + + diff --git a/media/real-buildings/Chase Tower-Northwest.svg b/media/real-buildings/Chase Tower-Northwest.svg new file mode 100644 index 00000000..d2f043c9 --- /dev/null +++ b/media/real-buildings/Chase Tower-Northwest.svg @@ -0,0 +1,53 @@ + + + + + + + + + + diff --git a/media/real-buildings/Chase Tower-West (Top).svg b/media/real-buildings/Chase Tower-West (Top).svg new file mode 100644 index 00000000..1ca9965e --- /dev/null +++ b/media/real-buildings/Chase Tower-West (Top).svg @@ -0,0 +1,36 @@ + + + + + + + + + + diff --git a/media/real-buildings/Chase Tower-West.svg b/media/real-buildings/Chase Tower-West.svg new file mode 100644 index 00000000..ba280c15 --- /dev/null +++ b/media/real-buildings/Chase Tower-West.svg @@ -0,0 +1,52 @@ + + + + + + + + + + + diff --git a/media/real-buildings/Crain Communications Building-North (Top).svg b/media/real-buildings/Crain Communications Building-North (Top).svg new file mode 100644 index 00000000..cc204c0b --- /dev/null +++ b/media/real-buildings/Crain Communications Building-North (Top).svg @@ -0,0 +1,31 @@ + + + + + + + + + diff --git a/media/real-buildings/Crain Communications Building-North.svg b/media/real-buildings/Crain Communications Building-North.svg new file mode 100644 index 00000000..1cb2106b --- /dev/null +++ b/media/real-buildings/Crain Communications Building-North.svg @@ -0,0 +1,36 @@ + + + + + + + + + diff --git a/media/real-buildings/Crain Communications Building-Northwest.svg b/media/real-buildings/Crain Communications Building-Northwest.svg new file mode 100644 index 00000000..949b6e09 --- /dev/null +++ b/media/real-buildings/Crain Communications Building-Northwest.svg @@ -0,0 +1,36 @@ + + + + + + + + + diff --git a/media/real-buildings/Crain Communications Building-West (Top).svg b/media/real-buildings/Crain Communications Building-West (Top).svg new file mode 100644 index 00000000..f0429a6f --- /dev/null +++ b/media/real-buildings/Crain Communications Building-West (Top).svg @@ -0,0 +1,28 @@ + + + + + + + + + diff --git a/media/real-buildings/Crain Communications Building-West.svg b/media/real-buildings/Crain Communications Building-West.svg new file mode 100644 index 00000000..6c930067 --- /dev/null +++ b/media/real-buildings/Crain Communications Building-West.svg @@ -0,0 +1,39 @@ + + + + + + + + + + + diff --git a/media/real-buildings/Harbor Point-North (Top).svg b/media/real-buildings/Harbor Point-North (Top).svg new file mode 100644 index 00000000..1f380d0e --- /dev/null +++ b/media/real-buildings/Harbor Point-North (Top).svg @@ -0,0 +1,45 @@ + + + + + + + + diff --git a/media/real-buildings/Harbor Point-North.svg b/media/real-buildings/Harbor Point-North.svg new file mode 100644 index 00000000..cd698509 --- /dev/null +++ b/media/real-buildings/Harbor Point-North.svg @@ -0,0 +1,27 @@ + + + + + + + + + diff --git a/media/real-buildings/Harbor Point-Northwest.svg b/media/real-buildings/Harbor Point-Northwest.svg new file mode 100644 index 00000000..3343f48b --- /dev/null +++ b/media/real-buildings/Harbor Point-Northwest.svg @@ -0,0 +1,23 @@ + + + + + + + + + diff --git a/media/real-buildings/Harbor Point-West (Top).svg b/media/real-buildings/Harbor Point-West (Top).svg new file mode 100644 index 00000000..6e58c793 --- /dev/null +++ b/media/real-buildings/Harbor Point-West (Top).svg @@ -0,0 +1,45 @@ + + + + + + + + diff --git a/media/real-buildings/Harbor Point-West.svg b/media/real-buildings/Harbor Point-West.svg new file mode 100644 index 00000000..d88b6a1d --- /dev/null +++ b/media/real-buildings/Harbor Point-West.svg @@ -0,0 +1,28 @@ + + + + + + + + + + diff --git a/media/real-buildings/McCormick Place Convention Center-North (Top).svg b/media/real-buildings/McCormick Place Convention Center-North (Top).svg new file mode 100644 index 00000000..38b509f9 --- /dev/null +++ b/media/real-buildings/McCormick Place Convention Center-North (Top).svg @@ -0,0 +1,141 @@ + + + + + + + + + + + + + diff --git a/media/real-buildings/McCormick Place Convention Center-North.svg b/media/real-buildings/McCormick Place Convention Center-North.svg new file mode 100644 index 00000000..0583cf10 --- /dev/null +++ b/media/real-buildings/McCormick Place Convention Center-North.svg @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/real-buildings/McCormick Place Convention Center-Northwest.svg b/media/real-buildings/McCormick Place Convention Center-Northwest.svg new file mode 100644 index 00000000..a9199f9a --- /dev/null +++ b/media/real-buildings/McCormick Place Convention Center-Northwest.svg @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + diff --git a/media/real-buildings/McCormick Place Convention Center-West (Top).svg b/media/real-buildings/McCormick Place Convention Center-West (Top).svg new file mode 100644 index 00000000..9b8c7dd6 --- /dev/null +++ b/media/real-buildings/McCormick Place Convention Center-West (Top).svg @@ -0,0 +1,141 @@ + + + + + + + + + + + + + diff --git a/media/real-buildings/McCormick Place Convention Center-West.svg b/media/real-buildings/McCormick Place Convention Center-West.svg new file mode 100644 index 00000000..3b86de74 --- /dev/null +++ b/media/real-buildings/McCormick Place Convention Center-West.svg @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + diff --git a/media/real-buildings/North Harbor Tower-North (Top).svg b/media/real-buildings/North Harbor Tower-North (Top).svg new file mode 100644 index 00000000..f58c718a --- /dev/null +++ b/media/real-buildings/North Harbor Tower-North (Top).svg @@ -0,0 +1,71 @@ + + + + + + + diff --git a/media/real-buildings/North Harbor Tower-North.svg b/media/real-buildings/North Harbor Tower-North.svg new file mode 100644 index 00000000..240e7b36 --- /dev/null +++ b/media/real-buildings/North Harbor Tower-North.svg @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + diff --git a/media/real-buildings/North Harbor Tower-Northwest.svg b/media/real-buildings/North Harbor Tower-Northwest.svg new file mode 100644 index 00000000..b1694358 --- /dev/null +++ b/media/real-buildings/North Harbor Tower-Northwest.svg @@ -0,0 +1,115 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/real-buildings/North Harbor Tower-West (Top).svg b/media/real-buildings/North Harbor Tower-West (Top).svg new file mode 100644 index 00000000..45fca689 --- /dev/null +++ b/media/real-buildings/North Harbor Tower-West (Top).svg @@ -0,0 +1,72 @@ + + + + + + + diff --git a/media/real-buildings/North Harbor Tower-West.svg b/media/real-buildings/North Harbor Tower-West.svg new file mode 100644 index 00000000..4515902e --- /dev/null +++ b/media/real-buildings/North Harbor Tower-West.svg @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/real-buildings/One Museum Park East-North (Top).svg b/media/real-buildings/One Museum Park East-North (Top).svg new file mode 100644 index 00000000..023cafec --- /dev/null +++ b/media/real-buildings/One Museum Park East-North (Top).svg @@ -0,0 +1,33 @@ + + + + + + + diff --git a/media/real-buildings/One Museum Park East-North.svg b/media/real-buildings/One Museum Park East-North.svg new file mode 100644 index 00000000..cf6cc146 --- /dev/null +++ b/media/real-buildings/One Museum Park East-North.svg @@ -0,0 +1,29 @@ + + + + + + + + + + + diff --git a/media/real-buildings/One Museum Park East-Northwest.svg b/media/real-buildings/One Museum Park East-Northwest.svg new file mode 100644 index 00000000..c39d3299 --- /dev/null +++ b/media/real-buildings/One Museum Park East-Northwest.svg @@ -0,0 +1,25 @@ + + + + + + + + + + diff --git a/media/real-buildings/One Museum Park East-West (Top).svg b/media/real-buildings/One Museum Park East-West (Top).svg new file mode 100644 index 00000000..6d12eeed --- /dev/null +++ b/media/real-buildings/One Museum Park East-West (Top).svg @@ -0,0 +1,33 @@ + + + + + + + diff --git a/media/real-buildings/One Museum Park East-West.svg b/media/real-buildings/One Museum Park East-West.svg new file mode 100644 index 00000000..acf8a71b --- /dev/null +++ b/media/real-buildings/One Museum Park East-West.svg @@ -0,0 +1,19 @@ + + + + + + + + diff --git a/media/real-buildings/Soldier Field-North (Top).svg b/media/real-buildings/Soldier Field-North (Top).svg new file mode 100644 index 00000000..6645ecf2 --- /dev/null +++ b/media/real-buildings/Soldier Field-North (Top).svg @@ -0,0 +1,314 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/real-buildings/Soldier Field-North.svg b/media/real-buildings/Soldier Field-North.svg new file mode 100644 index 00000000..c19a83c9 --- /dev/null +++ b/media/real-buildings/Soldier Field-North.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/real-buildings/Soldier Field-Northwest.svg b/media/real-buildings/Soldier Field-Northwest.svg new file mode 100644 index 00000000..f50aa9f4 --- /dev/null +++ b/media/real-buildings/Soldier Field-Northwest.svg @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/real-buildings/Soldier Field-West (Top).svg b/media/real-buildings/Soldier Field-West (Top).svg new file mode 100644 index 00000000..649ed328 --- /dev/null +++ b/media/real-buildings/Soldier Field-West (Top).svg @@ -0,0 +1,320 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/real-buildings/Soldier Field-West.svg b/media/real-buildings/Soldier Field-West.svg new file mode 100644 index 00000000..68f0fead --- /dev/null +++ b/media/real-buildings/Soldier Field-West.svg @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/real-buildings/The Merchandise Mart-North (Top).svg b/media/real-buildings/The Merchandise Mart-North (Top).svg new file mode 100644 index 00000000..2ee8ffa9 --- /dev/null +++ b/media/real-buildings/The Merchandise Mart-North (Top).svg @@ -0,0 +1,44 @@ + + + + + + + diff --git a/media/real-buildings/The Merchandise Mart-North.svg b/media/real-buildings/The Merchandise Mart-North.svg new file mode 100644 index 00000000..9ed55740 --- /dev/null +++ b/media/real-buildings/The Merchandise Mart-North.svg @@ -0,0 +1,21 @@ + + + + + + + + diff --git a/media/real-buildings/The Merchandise Mart-Northwest.svg b/media/real-buildings/The Merchandise Mart-Northwest.svg new file mode 100644 index 00000000..e71c4545 --- /dev/null +++ b/media/real-buildings/The Merchandise Mart-Northwest.svg @@ -0,0 +1,14 @@ + + + + + + + diff --git a/media/real-buildings/The Merchandise Mart-West (Top).svg b/media/real-buildings/The Merchandise Mart-West (Top).svg new file mode 100644 index 00000000..9a4184aa --- /dev/null +++ b/media/real-buildings/The Merchandise Mart-West (Top).svg @@ -0,0 +1,43 @@ + + + + + + + diff --git a/media/real-buildings/The Merchandise Mart-West.svg b/media/real-buildings/The Merchandise Mart-West.svg new file mode 100644 index 00000000..f8f583b1 --- /dev/null +++ b/media/real-buildings/The Merchandise Mart-West.svg @@ -0,0 +1,23 @@ + + + + + + + + + diff --git a/media/real-buildings/Trump International Hotel & Tower Chicago-North (Top).svg b/media/real-buildings/Trump International Hotel & Tower Chicago-North (Top).svg new file mode 100644 index 00000000..c917e428 --- /dev/null +++ b/media/real-buildings/Trump International Hotel & Tower Chicago-North (Top).svg @@ -0,0 +1,54 @@ + + + + + + + + + + + diff --git a/media/real-buildings/Trump International Hotel & Tower Chicago-North.svg b/media/real-buildings/Trump International Hotel & Tower Chicago-North.svg new file mode 100644 index 00000000..e5a82b44 --- /dev/null +++ b/media/real-buildings/Trump International Hotel & Tower Chicago-North.svg @@ -0,0 +1,44 @@ + + + + + + + + + + + + diff --git a/media/real-buildings/Trump International Hotel & Tower Chicago-Northwest.svg b/media/real-buildings/Trump International Hotel & Tower Chicago-Northwest.svg new file mode 100644 index 00000000..2a2b059f --- /dev/null +++ b/media/real-buildings/Trump International Hotel & Tower Chicago-Northwest.svg @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/media/real-buildings/Trump International Hotel & Tower Chicago-West (Top).svg b/media/real-buildings/Trump International Hotel & Tower Chicago-West (Top).svg new file mode 100644 index 00000000..0030ee8e --- /dev/null +++ b/media/real-buildings/Trump International Hotel & Tower Chicago-West (Top).svg @@ -0,0 +1,53 @@ + + + + + + + + + + + diff --git a/media/real-buildings/Trump International Hotel & Tower Chicago-West.svg b/media/real-buildings/Trump International Hotel & Tower Chicago-West.svg new file mode 100644 index 00000000..5b6847f1 --- /dev/null +++ b/media/real-buildings/Trump International Hotel & Tower Chicago-West.svg @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/real-buildings/Willis Tower-North (Top).svg b/media/real-buildings/Willis Tower-North (Top).svg new file mode 100644 index 00000000..9526e31a --- /dev/null +++ b/media/real-buildings/Willis Tower-North (Top).svg @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + diff --git a/media/real-buildings/Willis Tower-North.svg b/media/real-buildings/Willis Tower-North.svg new file mode 100644 index 00000000..0499dffc --- /dev/null +++ b/media/real-buildings/Willis Tower-North.svg @@ -0,0 +1,42 @@ + + + + + + + + + + + + + diff --git a/media/real-buildings/Willis Tower-Northwest.svg b/media/real-buildings/Willis Tower-Northwest.svg new file mode 100644 index 00000000..73206951 --- /dev/null +++ b/media/real-buildings/Willis Tower-Northwest.svg @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + diff --git a/media/real-buildings/Willis Tower-West (Top).svg b/media/real-buildings/Willis Tower-West (Top).svg new file mode 100644 index 00000000..fd0d26d3 --- /dev/null +++ b/media/real-buildings/Willis Tower-West (Top).svg @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + diff --git a/media/real-buildings/Willis Tower-West.svg b/media/real-buildings/Willis Tower-West.svg new file mode 100644 index 00000000..8442da8c --- /dev/null +++ b/media/real-buildings/Willis Tower-West.svg @@ -0,0 +1,38 @@ + + + + + + + + + + + + + diff --git a/presets/real-buildings.js b/presets/real-buildings.js new file mode 100644 index 00000000..e35d59c3 --- /dev/null +++ b/presets/real-buildings.js @@ -0,0 +1,84 @@ +function makeRealBuilding(name, sides) { + let views = {}; + + sides.forEach(side => { + views[side[0]] = { + attributes: { + height: { + name: "Height", + power: 1, + type: "length", + base: math.unit(side[1], "meters") + } + }, + image: { source: "./media/real-buildings/" + side[0] + ".svg" }, + name: side[0], + rename: true + } + }) + + return { + name: name, + constructor: () => makeEntity({ name: name }, views) + } +} + +function makeRealBuildings() { + const results = []; results.push(makeRealBuilding( + "Chicago Buildings", + [ + ["Chase Tower-North", 259.0], + ["Chase Tower-Northwest", 259.0], + ["Chase Tower-West", 259.0], + ["Chase Tower-North (Top)", 59.5516357421875], + ["Chase Tower-West (Top)", 95.609619140625], + ["Crain Communications Building-North", 177.39999389648438], + ["Crain Communications Building-Northwest", 177.39999389648438], + ["Crain Communications Building-West", 177.39999389648438], + ["Crain Communications Building-North (Top)", 46.27587890625], + ["Crain Communications Building-West (Top)", 38.86086654663086], + ["Harbor Point-North", 168.0], + ["Harbor Point-Northwest", 168.0], + ["Harbor Point-West", 168.0], + ["Harbor Point-North (Top)", 56.6817626953125], + ["Harbor Point-West (Top)", 59.33990478515625], + ["McCormick Place Convention Center-North", 50.0], + ["McCormick Place Convention Center-Northwest", 50.0], + ["McCormick Place Convention Center-West", 50.0], + ["McCormick Place Convention Center-North (Top)", 835.5029296875], + ["McCormick Place Convention Center-West (Top)", 959.2711181640625], + ["North Harbor Tower-North", 163.0], + ["North Harbor Tower-Northwest", 163.0], + ["North Harbor Tower-West", 163.0], + ["North Harbor Tower-North (Top)", 51.142578125], + ["North Harbor Tower-West (Top)", 26.57373046875], + ["One Museum Park East-North", 221.0], + ["One Museum Park East-Northwest", 221.0], + ["One Museum Park East-West", 221.0], + ["One Museum Park East-North (Top)", 49.270263671875], + ["One Museum Park East-West (Top)", 50.97662353515625], + ["Soldier Field-North", 60.0], + ["Soldier Field-Northwest", 60.0], + ["Soldier Field-West", 60.0], + ["Soldier Field-North (Top)", 356.93212890625], + ["Soldier Field-West (Top)", 218.7261962890625], + ["The Merchandise Mart-North", 104.0], + ["The Merchandise Mart-Northwest", 104.0], + ["The Merchandise Mart-West", 104.0], + ["The Merchandise Mart-North (Top)", 102.9521484375], + ["The Merchandise Mart-West (Top)", 221.81201171875], + ["Trump International Hotel & Tower Chicago-North", 423.0], + ["Trump International Hotel & Tower Chicago-Northwest", 423.0], + ["Trump International Hotel & Tower Chicago-West", 423.0], + ["Trump International Hotel & Tower Chicago-North (Top)", 98.48388671875], + ["Trump International Hotel & Tower Chicago-West (Top)", 76.71368408203125], + ["Willis Tower-North", 527.0], + ["Willis Tower-Northwest", 527.0], + ["Willis Tower-West", 527.0], + ["Willis Tower-North (Top)", 72.828125], + ["Willis Tower-West (Top)", 71.40435791015625] + ] + )) + + return results; +} diff --git a/scripts/blender-building.py b/scripts/blender-building.py new file mode 100644 index 00000000..2df26854 --- /dev/null +++ b/scripts/blender-building.py @@ -0,0 +1,41 @@ +import bpy +from mathutils import Vector, Euler +from math import pi +import json + +buildings = bpy.data.objects["map"].children +c = bpy.data.objects["cam"] +#s = bpy.data.objects["sun"] + +selected = bpy.context.selected_objects[0] + +data = {} +data["name"] = selected.name +data["place"] = ["Chicago"] +data["views"] = {} + +for b in buildings: + pick = b.name == data["name"] + if not pick: + b.hide_render = True + else: + b.hide_render = False + +b = selected + +for angles in [[0, 1, 2, "North"], [0.5, 1, 2, "Northwest"], [1, 1, 2, "West"], [0, 0, 1, "North (Top)"], [1, 0, 0, "West (Top)"]]: + local_bbox_center = 0.125 * sum((Vector(box) for box in b.bound_box), Vector()) + global_bbox_center = b.matrix_world @ local_bbox_center + c.location = global_bbox_center + c.data.ortho_scale = max(b.dimensions) * 1.1 + c.rotation_euler = Euler([angles[1] * pi / 2, 0, angles[0] * pi / 2]) + rot = c.rotation_euler.to_matrix() + rot.invert() + c.location = c.location + Vector([0, 0, 10000]) @ rot + data["views"][angles[3]] = b.dimensions[angles[2]] + #s.rotation_euler = c.rotation_euler + bpy.context.scene.render.filepath = f"C:/Users/hausss/Desktop/osm/{data['name']}-{angles[3]}.png" + bpy.ops.render.render(write_still = True) + +with open(f"C:/Users/hausss/Desktop/osm/{data['name']}-data.json", "w") as file: + json.dump(data, file) \ No newline at end of file diff --git a/scripts/combine-svg.py b/scripts/combine-svg.py new file mode 100644 index 00000000..1cb22649 --- /dev/null +++ b/scripts/combine-svg.py @@ -0,0 +1,61 @@ +import sys +import re +import json +import glob + +# here's the import workflow: + +# 1. import buildings into blender +# 2. use the blender-building.py script in blender while selecting a building to export images +# 3. batch-trace and color the overlay images +# 4. batch-trace the base images +# 5. batch-expand all of the images +# 6. use this script to combine the images and record the building data +# 7. batch-crop the combined images + +# this script smashes two svgs together in a way that is, +# to be frank, sacrilege + +def combine(base_path, highlight_path, output_path): + base = open(base_path, "r", encoding="utf-8").read() + highlight = open(highlight_path, "r", encoding="utf-8").read() + + base_data = re.search("", base)[0][:-6] + + highlight_data = highlight.replace("", "" + base_data) + + with open(output_path, "w", encoding="utf-8") as f: + f.write(highlight_data) + +if len(sys.argv) <= 1: + print(f"Usage: {sys.argv[0]} [location name]") + sys.exit(1) + +sides = [ + "North", + "Northwest", + "West", + "North (Top)", + "West (Top)" +] +template = """ results.push(makeRealBuilding( + "{0}", + [ +{1} + ] + )) +""" + +side_strings = [] +for path in glob.glob("*.json"): + with open(path, "r") as f: + data = json.load(f) + if data["place"] == [sys.argv[1]]: + name = "./svgs/" + data["name"] + for side in sides: + base = name + "-" + side + "-base-01.svg" + highlight = name + "-" + side + "-highlight-01.svg" + result = name + "-" + side + ".svg" + combine(base, highlight, result) + side_strings.append(" [\"{0}\", {1}]".format(data["name"] + "-" + side, data["views"][side])) +print(template.format(sys.argv[1] + " Buildings", ",\n".join(side_strings)))