From 6c31fe22a6381acc901f19f7622a601ed10aad78 Mon Sep 17 00:00:00 2001 From: Fen Dweller Date: Mon, 6 Dec 2021 13:43:01 -0500 Subject: [PATCH] Add doors and fix some bugs Auto prey capacity was getting set to false, rather than 'off'. It was also showing up when it shouldn't have. The blender script ignores spaces in the view list now. makeModel wasn't including mass correcetly. --- macrovision.js | 4 +- media/attribution.js | 12 ++ media/objects/Doors/6 Panel Door-Angled.svg | 172 ++++++++++++++++++ media/objects/Doors/6 Panel Door-Front.svg | 178 +++++++++++++++++++ media/objects/Doors/6 Panel Door-Side.svg | 52 ++++++ media/objects/Doors/6 Panel Door-Top.svg | 52 ++++++ media/objects/Doors/Fire Door-Angled.svg | 64 +++++++ media/objects/Doors/Fire Door-Front.svg | 58 ++++++ media/objects/Doors/Fire Door-Side.svg | 55 ++++++ media/objects/Doors/Fire Door-Top.svg | 61 +++++++ media/objects/Doors/French Door-Angled.svg | 154 ++++++++++++++++ media/objects/Doors/French Door-Front.svg | 52 ++++++ media/objects/Doors/French Door-Side.svg | 52 ++++++ media/objects/Doors/French Door-Top.svg | 52 ++++++ media/objects/Doors/Interior Door-Angled.svg | 172 ++++++++++++++++++ media/objects/Doors/Interior Door-Front.svg | 178 +++++++++++++++++++ media/objects/Doors/Interior Door-Side.svg | 52 ++++++ media/objects/Doors/Interior Door-Top.svg | 52 ++++++ presets/objects.js | 10 ++ scripts/blender-model.py | 2 +- 20 files changed, 1481 insertions(+), 3 deletions(-) create mode 100644 media/objects/Doors/6 Panel Door-Angled.svg create mode 100644 media/objects/Doors/6 Panel Door-Front.svg create mode 100644 media/objects/Doors/6 Panel Door-Side.svg create mode 100644 media/objects/Doors/6 Panel Door-Top.svg create mode 100644 media/objects/Doors/Fire Door-Angled.svg create mode 100644 media/objects/Doors/Fire Door-Front.svg create mode 100644 media/objects/Doors/Fire Door-Side.svg create mode 100644 media/objects/Doors/Fire Door-Top.svg create mode 100644 media/objects/Doors/French Door-Angled.svg create mode 100644 media/objects/Doors/French Door-Front.svg create mode 100644 media/objects/Doors/French Door-Side.svg create mode 100644 media/objects/Doors/French Door-Top.svg create mode 100644 media/objects/Doors/Interior Door-Angled.svg create mode 100644 media/objects/Doors/Interior Door-Front.svg create mode 100644 media/objects/Doors/Interior Door-Side.svg create mode 100644 media/objects/Doors/Interior Door-Top.svg diff --git a/macrovision.js b/macrovision.js index abb43809..82119e40 100644 --- a/macrovision.js +++ b/macrovision.js @@ -537,7 +537,7 @@ const config = { drawXAxis: false, autoMass: "off", autoFoodIntake: false, - autoPreyCapacity: false + autoPreyCapacity: "off" } const availableEntities = { @@ -1389,7 +1389,7 @@ function makeEntity(info, views, sizes, forms = {}) { } } - if (config.autoPreyCapacity !== "none" && view.attributes.weight !== undefined && view.attributes.preyCapacity === undefined) { + if (config.autoPreyCapacity !== "off" && view.attributes.weight !== undefined && view.attributes.preyCapacity === undefined) { view.attributes.preyCapacity = { name: "Prey Capacity", power: 3, diff --git a/media/attribution.js b/media/attribution.js index fddd89ef..57e90185 100644 --- a/media/attribution.js +++ b/media/attribution.js @@ -20303,6 +20303,18 @@ const attributionData = { "https://www.mint.go.jp/eng/operations-eng/eng_operations_coin_index.html" ] }, + { + prefix: "./media/objects/Doors/", + all: null, + authors: [ + "chemicalcrux" + ], + citations: [ + "https://www.homedepot.com/p/JELD-WEN-32-in-x-80-in-Colonist-Primed-Textured-Molded-Composite-MDF-Interior-Door-Slab-THDQC236300004/202036885", + "https://www.homedepot.com/p/eightdoors-32-in-x-80-in-Clear-Glass-15-Lite-True-Divided-White-Finished-Solid-French-Interior-Door-Slab-50688019803235/313763821", + "https://www.homedepot.com/p/L-I-F-Industries-36-in-x-80-in-Gray-Flush-Exit-Left-Hand-Fire-Proof-Steel-Prehung-Commercial-Door-with-Welded-Frame-UWX3680L/202510508" + ] + }, { prefix: "./media/real-buildings/", all: "https://wiki.openstreetmap.org/wiki/Blender", diff --git a/media/objects/Doors/6 Panel Door-Angled.svg b/media/objects/Doors/6 Panel Door-Angled.svg new file mode 100644 index 00000000..e074e238 --- /dev/null +++ b/media/objects/Doors/6 Panel Door-Angled.svg @@ -0,0 +1,172 @@ + + + + +Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/objects/Doors/6 Panel Door-Front.svg b/media/objects/Doors/6 Panel Door-Front.svg new file mode 100644 index 00000000..f25c0925 --- /dev/null +++ b/media/objects/Doors/6 Panel Door-Front.svg @@ -0,0 +1,178 @@ + + + + +Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/objects/Doors/6 Panel Door-Side.svg b/media/objects/Doors/6 Panel Door-Side.svg new file mode 100644 index 00000000..fb343def --- /dev/null +++ b/media/objects/Doors/6 Panel Door-Side.svg @@ -0,0 +1,52 @@ + + + + +Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + image/svg+xml + + + + + + + + + + + + + + diff --git a/media/objects/Doors/6 Panel Door-Top.svg b/media/objects/Doors/6 Panel Door-Top.svg new file mode 100644 index 00000000..42829135 --- /dev/null +++ b/media/objects/Doors/6 Panel Door-Top.svg @@ -0,0 +1,52 @@ + + + + +Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + image/svg+xml + + + + + + + + + + + + + + diff --git a/media/objects/Doors/Fire Door-Angled.svg b/media/objects/Doors/Fire Door-Angled.svg new file mode 100644 index 00000000..c1c1498c --- /dev/null +++ b/media/objects/Doors/Fire Door-Angled.svg @@ -0,0 +1,64 @@ + + + + +Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + image/svg+xml + + + + + + + + + + + + + + + + + + diff --git a/media/objects/Doors/Fire Door-Front.svg b/media/objects/Doors/Fire Door-Front.svg new file mode 100644 index 00000000..32fb0d12 --- /dev/null +++ b/media/objects/Doors/Fire Door-Front.svg @@ -0,0 +1,58 @@ + + + + +Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + image/svg+xml + + + + + + + + + + + + + + + + diff --git a/media/objects/Doors/Fire Door-Side.svg b/media/objects/Doors/Fire Door-Side.svg new file mode 100644 index 00000000..3d3f204b --- /dev/null +++ b/media/objects/Doors/Fire Door-Side.svg @@ -0,0 +1,55 @@ + + + + +Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + image/svg+xml + + + + + + + + + + + + + + + diff --git a/media/objects/Doors/Fire Door-Top.svg b/media/objects/Doors/Fire Door-Top.svg new file mode 100644 index 00000000..c81d2f40 --- /dev/null +++ b/media/objects/Doors/Fire Door-Top.svg @@ -0,0 +1,61 @@ + + + + +Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + image/svg+xml + + + + + + + + + + + + + + + + + diff --git a/media/objects/Doors/French Door-Angled.svg b/media/objects/Doors/French Door-Angled.svg new file mode 100644 index 00000000..d7092a5f --- /dev/null +++ b/media/objects/Doors/French Door-Angled.svg @@ -0,0 +1,154 @@ + + + + +Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/objects/Doors/French Door-Front.svg b/media/objects/Doors/French Door-Front.svg new file mode 100644 index 00000000..0645ced4 --- /dev/null +++ b/media/objects/Doors/French Door-Front.svg @@ -0,0 +1,52 @@ + + + + +Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + image/svg+xml + + + + + + + + + + + + + + diff --git a/media/objects/Doors/French Door-Side.svg b/media/objects/Doors/French Door-Side.svg new file mode 100644 index 00000000..fb343def --- /dev/null +++ b/media/objects/Doors/French Door-Side.svg @@ -0,0 +1,52 @@ + + + + +Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + image/svg+xml + + + + + + + + + + + + + + diff --git a/media/objects/Doors/French Door-Top.svg b/media/objects/Doors/French Door-Top.svg new file mode 100644 index 00000000..4330bfca --- /dev/null +++ b/media/objects/Doors/French Door-Top.svg @@ -0,0 +1,52 @@ + + + + +Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + image/svg+xml + + + + + + + + + + + + + + diff --git a/media/objects/Doors/Interior Door-Angled.svg b/media/objects/Doors/Interior Door-Angled.svg new file mode 100644 index 00000000..e074e238 --- /dev/null +++ b/media/objects/Doors/Interior Door-Angled.svg @@ -0,0 +1,172 @@ + + + + +Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/objects/Doors/Interior Door-Front.svg b/media/objects/Doors/Interior Door-Front.svg new file mode 100644 index 00000000..f25c0925 --- /dev/null +++ b/media/objects/Doors/Interior Door-Front.svg @@ -0,0 +1,178 @@ + + + + +Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/objects/Doors/Interior Door-Side.svg b/media/objects/Doors/Interior Door-Side.svg new file mode 100644 index 00000000..fb343def --- /dev/null +++ b/media/objects/Doors/Interior Door-Side.svg @@ -0,0 +1,52 @@ + + + + +Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + image/svg+xml + + + + + + + + + + + + + + diff --git a/media/objects/Doors/Interior Door-Top.svg b/media/objects/Doors/Interior Door-Top.svg new file mode 100644 index 00000000..42829135 --- /dev/null +++ b/media/objects/Doors/Interior Door-Top.svg @@ -0,0 +1,52 @@ + + + + +Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + image/svg+xml + + + + + + + + + + + + + + diff --git a/presets/objects.js b/presets/objects.js index c957b042..90e94522 100644 --- a/presets/objects.js +++ b/presets/objects.js @@ -187,6 +187,15 @@ function makeModel(data) { } } + if (view.mass) { + views[viewId].attributes["weight"] = { + name: "Mass", + power: 3, + type: "mass", + base: math.unit(view.mass, "kg") + } + } + if (view.image) { views[viewId].image = view.image } else { @@ -909,6 +918,7 @@ function makeObjects() { /* ***Pipettes*** */ results.push(makeModel({"name": "Pipettes", "kind": "objects", "forms": [{"name": "Transfer Pipette", "views": [{"name": "Front", "height": 0.1491980254650116, "volume": 0.20819799602031708}, {"name": "Top", "height": 0.010719738900661469, "volume": 0.20819799602031708}, {"name": "Bottom", "height": 0.010719738900661469, "volume": 0.20819799602031708}]}]})); /* ***Straws*** */ results.push(makeModel({"name": "Straws", "kind": "objects", "forms": [{"name": "Normal", "views": [{"name": "Front", "height": 0.2159000039100647}, {"name": "Top", "height": 0.006095999851822853}]}, {"name": "Wide", "views": [{"name": "Front", "height": 0.2159000039100647}, {"name": "Top", "height": 0.008127997629344463}]}, {"name": "Smoothie", "views": [{"name": "Front", "height": 0.2159000039100647}, {"name": "Top", "height": 0.00914399977773428}]}, {"name": "Boba", "views": [{"name": "Front", "height": 0.2159000039100647}, {"name": "Top", "height": 0.012191999703645706}]}]})); /* ***Coins*** */ results.push(makeModel({"name": "Coins", "kind": "objects", "forms": [{"name": "U.S. Dollar", "views": [{"name": "Top", "height": 0.026492198929190636, "mass": 0.008100000210106373}, {"name": "Side", "height": 0.0020000000949949026, "mass": 0.008100000210106373}]}, {"name": "U.S. Half Dollar", "views": [{"name": "Top", "height": 0.03060699999332428, "mass": 0.011339999735355377}, {"name": "Side", "height": 0.00215000007301569, "mass": 0.011339999735355377}]}, {"name": "U.S. Quarter", "views": [{"name": "Top", "height": 0.024257000535726547, "mass": 0.005669999867677689}, {"name": "Side", "height": 0.0017500000540167093, "mass": 0.005669999867677689}]}, {"name": "U.S. Dime", "views": [{"name": "Top", "height": 0.017906999215483665, "mass": 0.002268000040203333}, {"name": "Side", "height": 0.0013500000350177288, "mass": 0.002268000040203333}]}, {"name": "U.S. Nickel", "views": [{"name": "Top", "height": 0.021208999678492546, "mass": 0.004999999888241291}, {"name": "Side", "height": 0.0019500000635161996, "mass": 0.004999999888241291}]}, {"name": "U.S. Penny", "views": [{"name": "Top", "height": 0.019050000235438347, "mass": 0.0024999999441206455}, {"name": "Side", "height": 0.0015200000489130616, "mass": 0.0024999999441206455}]}, {"name": "UK \u00a35", "views": [{"name": "Top", "height": 0.028400002047419548, "mass": 0.028279999271035194}, {"name": "Side", "height": 0.0028900043107569218, "mass": 0.028279999271035194}]}, {"name": "UK \u00a32", "views": [{"name": "Top", "height": 0.028400002047419548, "mass": 0.012000000104308128}, {"name": "Side", "height": 0.0025000039022415876, "mass": 0.012000000104308128}]}, {"name": "UK \u00a31", "views": [{"name": "Top", "height": 0.023430000990629196, "mass": 0.008750000037252903}, {"name": "Side", "height": 0.0028000001329928637, "mass": 0.008750000037252903}]}, {"name": "UK 50p", "views": [{"name": "Top", "height": 0.027300003916025162, "mass": 0.00800000037997961}, {"name": "Side", "height": 0.0017800000496208668, "mass": 0.00800000037997961}]}, {"name": "UK 20p", "views": [{"name": "Top", "height": 0.021400000900030136, "mass": 0.004999999888241291}, {"name": "Side", "height": 0.0017000001389533281, "mass": 0.004999999888241291}]}, {"name": "UK 10p", "views": [{"name": "Top", "height": 0.024500001221895218, "mass": 0.006500000134110451}, {"name": "Side", "height": 0.0018500001169741154, "mass": 0.006500000134110451}]}, {"name": "UK 5p", "views": [{"name": "Top", "height": 0.018000001087784767, "mass": 0.0032500000670552254}, {"name": "Side", "height": 0.0017000001389533281, "mass": 0.0032500000670552254}]}, {"name": "UK 2p", "views": [{"name": "Top", "height": 0.02590000070631504, "mass": 0.007120000198483467}, {"name": "Side", "height": 0.00203000009059906, "mass": 0.007120000198483467}]}, {"name": "UK 1p", "views": [{"name": "Top", "height": 0.0203000009059906, "mass": 0.0035600000992417336}, {"name": "Side", "height": 0.0016500001074746251, "mass": 0.0035600000992417336}]}, {"name": "Canadian Two Dollar", "views": [{"name": "Top", "height": 0.02800000086426735, "mass": 0.007300000172108412}, {"name": "Side", "height": 0.0018000000854954123, "mass": 0.007300000172108412}]}, {"name": "Canadian Dollar", "views": [{"name": "Top", "height": 0.026500001549720764, "mass": 0.0062699997797608376}, {"name": "Side", "height": 0.0019500007620081306, "mass": 0.0062699997797608376}]}, {"name": "2 Euro", "views": [{"name": "Top", "height": 0.02575000189244747, "mass": 0.008500000461935997}, {"name": "Side", "height": 0.0022000002209097147, "mass": 0.008500000461935997}]}, {"name": "1 Euro", "views": [{"name": "Top", "height": 0.023250000551342964, "mass": 0.007499999832361937}, {"name": "Side", "height": 0.0023300000466406345, "mass": 0.007499999832361937}]}, {"name": "500 Yen", "views": [{"name": "Top", "height": 0.026500001549720764, "mass": 0.0071000000461936}, {"name": "Side", "height": 0.0018100000452250242, "mass": 0.0071000000461936}]}, {"name": "50 Yen", "views": [{"name": "Top", "height": 0.021000003442168236, "mass": 0.004000000189989805}, {"name": "Side", "height": 0.0015100002055987716, "mass": 0.004000000189989805}]}, {"name": "5 Yen", "views": [{"name": "Top", "height": 0.02200000174343586, "mass": 0.0037499999161809683}, {"name": "Side", "height": 0.0015100002055987716, "mass": 0.0037499999161809683}]}]})); + /* ***Doors*** */ results.push(makeModel({"name": "Doors", "kind": "objects", "forms": [{"name": "6 Panel Door", "views": [{"name": "Front", "height": 2.0320000648498535, "mass": 11.793399810791016}, {"name": "Angled", "height": 2.0320000648498535, "mass": 11.793399810791016}, {"name": "Side", "height": 2.0320000648498535, "mass": 11.793399810791016}, {"name": "Top", "height": 0.03492499887943268, "mass": 11.793399810791016}]}, {"name": "French Door", "views": [{"name": "Front", "height": 2.0320000648498535, "mass": 31.75149917602539}, {"name": "Angled", "height": 2.0320000648498535, "mass": 31.75149917602539}, {"name": "Side", "height": 2.0320000648498535, "mass": 31.75149917602539}, {"name": "Top", "height": 0.03492499887943268, "mass": 31.75149917602539}]}, {"name": "Fire Door", "views": [{"name": "Front", "height": 2.0320000648498535, "mass": 54.54545593261719}, {"name": "Angled", "height": 2.0320000648498535, "mass": 54.54545593261719}, {"name": "Side", "height": 2.0320000648498535, "mass": 54.54545593261719}, {"name": "Top", "height": 0.10518216341733932, "mass": 54.54545593261719}]}]})); /* ***INSERT HERE*** */ return results; } diff --git a/scripts/blender-model.py b/scripts/blender-model.py index 135eeb55..d8e52985 100644 --- a/scripts/blender-model.py +++ b/scripts/blender-model.py @@ -63,7 +63,7 @@ all_data["forms"] = [] default_views = [] for view in mv["MVViews"].split(","): - default_views.append(VIEW_DATA[view]) + default_views.append(VIEW_DATA[view.strip()]) workdir = pathlib.Path(parent_workdir).joinpath(all_data["name"])