diff --git a/macrovision.js b/macrovision.js
index 505652b6..ea535c2c 100644
--- a/macrovision.js
+++ b/macrovision.js
@@ -3400,8 +3400,6 @@ document.addEventListener("DOMContentLoaded", () => {
const entity = entities[selected.dataset.key];
entity.form = e.target.value;
entity.view = entity.formViews[entity.form];
- console.log(entity)
- console.log(entity.formSizes)
if (Object.keys(entity.forms).length > 0)
entity.views[entity.view].height = entity.formSizes[entity.form].height;
diff --git a/media/attribution.js b/media/attribution.js
index 40e648b4..edf1a9b2 100644
--- a/media/attribution.js
+++ b/media/attribution.js
@@ -18713,6 +18713,13 @@ const attributionData = {
"https://westerncontainersales.com/shipping-container-dimensions/"
]
},
+ {
+ prefix: "./media/objects/Dice/",
+ all: "https://blendswap.com/blend/16634",
+ authors: [
+ "lifeenjoyer"
+ ]
+ },
{
prefix: "./media/real-buildings/",
all: "https://wiki.openstreetmap.org/wiki/Blender",
@@ -25032,6 +25039,10 @@ const attributionData = {
"name": "Ravenous-Rampage",
"url": "https://www.furaffinity.net/user/ravenous-rampage/"
},
+ "lifeenjoyer": {
+ "name": "lifeenjoyer",
+ "url": "https://blendswap.com/profile/61749"
+ },
}
}
diff --git a/media/objects/Dice/D10 Percentile-Front.svg b/media/objects/Dice/D10 Percentile-Front.svg
new file mode 100644
index 00000000..aa29dc32
--- /dev/null
+++ b/media/objects/Dice/D10 Percentile-Front.svg
@@ -0,0 +1,95 @@
+
+
diff --git a/media/objects/Dice/D10 Percentile-Side.svg b/media/objects/Dice/D10 Percentile-Side.svg
new file mode 100644
index 00000000..90fcef60
--- /dev/null
+++ b/media/objects/Dice/D10 Percentile-Side.svg
@@ -0,0 +1,176 @@
+
+
diff --git a/media/objects/Dice/D10 Percentile-Top.svg b/media/objects/Dice/D10 Percentile-Top.svg
new file mode 100644
index 00000000..58d3024e
--- /dev/null
+++ b/media/objects/Dice/D10 Percentile-Top.svg
@@ -0,0 +1,125 @@
+
+
diff --git a/media/objects/Dice/D10-Front.svg b/media/objects/Dice/D10-Front.svg
new file mode 100644
index 00000000..72f1656b
--- /dev/null
+++ b/media/objects/Dice/D10-Front.svg
@@ -0,0 +1,68 @@
+
+
diff --git a/media/objects/Dice/D10-Side.svg b/media/objects/Dice/D10-Side.svg
new file mode 100644
index 00000000..fcce59d0
--- /dev/null
+++ b/media/objects/Dice/D10-Side.svg
@@ -0,0 +1,167 @@
+
+
diff --git a/media/objects/Dice/D10-Top.svg b/media/objects/Dice/D10-Top.svg
new file mode 100644
index 00000000..f9b9eb56
--- /dev/null
+++ b/media/objects/Dice/D10-Top.svg
@@ -0,0 +1,95 @@
+
+
diff --git a/media/objects/Dice/D12-Front.svg b/media/objects/Dice/D12-Front.svg
new file mode 100644
index 00000000..0f54e2ef
--- /dev/null
+++ b/media/objects/Dice/D12-Front.svg
@@ -0,0 +1,62 @@
+
+
diff --git a/media/objects/Dice/D12-Side.svg b/media/objects/Dice/D12-Side.svg
new file mode 100644
index 00000000..51c6b074
--- /dev/null
+++ b/media/objects/Dice/D12-Side.svg
@@ -0,0 +1,95 @@
+
+
diff --git a/media/objects/Dice/D12-Top.svg b/media/objects/Dice/D12-Top.svg
new file mode 100644
index 00000000..93f7e80c
--- /dev/null
+++ b/media/objects/Dice/D12-Top.svg
@@ -0,0 +1,176 @@
+
+
diff --git a/media/objects/Dice/D20-Front.svg b/media/objects/Dice/D20-Front.svg
new file mode 100644
index 00000000..cbb9ef58
--- /dev/null
+++ b/media/objects/Dice/D20-Front.svg
@@ -0,0 +1,95 @@
+
+
diff --git a/media/objects/Dice/D20-Side.svg b/media/objects/Dice/D20-Side.svg
new file mode 100644
index 00000000..2e452446
--- /dev/null
+++ b/media/objects/Dice/D20-Side.svg
@@ -0,0 +1,83 @@
+
+
diff --git a/media/objects/Dice/D20-Top.svg b/media/objects/Dice/D20-Top.svg
new file mode 100644
index 00000000..d412ae2a
--- /dev/null
+++ b/media/objects/Dice/D20-Top.svg
@@ -0,0 +1,104 @@
+
+
diff --git a/media/objects/Dice/D4-Front.svg b/media/objects/Dice/D4-Front.svg
new file mode 100644
index 00000000..4816cc48
--- /dev/null
+++ b/media/objects/Dice/D4-Front.svg
@@ -0,0 +1,62 @@
+
+
diff --git a/media/objects/Dice/D4-Side.svg b/media/objects/Dice/D4-Side.svg
new file mode 100644
index 00000000..3f5605ee
--- /dev/null
+++ b/media/objects/Dice/D4-Side.svg
@@ -0,0 +1,53 @@
+
+
diff --git a/media/objects/Dice/D4-Top.svg b/media/objects/Dice/D4-Top.svg
new file mode 100644
index 00000000..4f81d930
--- /dev/null
+++ b/media/objects/Dice/D4-Top.svg
@@ -0,0 +1,71 @@
+
+
diff --git a/media/objects/Dice/D6 Dotted-Front.svg b/media/objects/Dice/D6 Dotted-Front.svg
new file mode 100644
index 00000000..7657f464
--- /dev/null
+++ b/media/objects/Dice/D6 Dotted-Front.svg
@@ -0,0 +1,56 @@
+
+
diff --git a/media/objects/Dice/D6 Dotted-Side.svg b/media/objects/Dice/D6 Dotted-Side.svg
new file mode 100644
index 00000000..144cc9d9
--- /dev/null
+++ b/media/objects/Dice/D6 Dotted-Side.svg
@@ -0,0 +1,59 @@
+
+
diff --git a/media/objects/Dice/D6 Dotted-Top.svg b/media/objects/Dice/D6 Dotted-Top.svg
new file mode 100644
index 00000000..1e46c363
--- /dev/null
+++ b/media/objects/Dice/D6 Dotted-Top.svg
@@ -0,0 +1,62 @@
+
+
diff --git a/media/objects/Dice/D6 Numbered-Front.svg b/media/objects/Dice/D6 Numbered-Front.svg
new file mode 100644
index 00000000..48913a29
--- /dev/null
+++ b/media/objects/Dice/D6 Numbered-Front.svg
@@ -0,0 +1,47 @@
+
+
diff --git a/media/objects/Dice/D6 Numbered-Side.svg b/media/objects/Dice/D6 Numbered-Side.svg
new file mode 100644
index 00000000..69ee73d7
--- /dev/null
+++ b/media/objects/Dice/D6 Numbered-Side.svg
@@ -0,0 +1,47 @@
+
+
diff --git a/media/objects/Dice/D6 Numbered-Top.svg b/media/objects/Dice/D6 Numbered-Top.svg
new file mode 100644
index 00000000..e30ccc12
--- /dev/null
+++ b/media/objects/Dice/D6 Numbered-Top.svg
@@ -0,0 +1,50 @@
+
+
diff --git a/media/objects/Dice/D8-Front.svg b/media/objects/Dice/D8-Front.svg
new file mode 100644
index 00000000..29767047
--- /dev/null
+++ b/media/objects/Dice/D8-Front.svg
@@ -0,0 +1,62 @@
+
+
diff --git a/media/objects/Dice/D8-Side.svg b/media/objects/Dice/D8-Side.svg
new file mode 100644
index 00000000..e63fd983
--- /dev/null
+++ b/media/objects/Dice/D8-Side.svg
@@ -0,0 +1,53 @@
+
+
diff --git a/media/objects/Dice/D8-Top.svg b/media/objects/Dice/D8-Top.svg
new file mode 100644
index 00000000..2a9a0f22
--- /dev/null
+++ b/media/objects/Dice/D8-Top.svg
@@ -0,0 +1,59 @@
+
+
diff --git a/presets/objects.js b/presets/objects.js
index 0bbb815a..98794af4 100644
--- a/presets/objects.js
+++ b/presets/objects.js
@@ -148,6 +148,51 @@ function makeHeightWeightSphere(info, category, prefix = "", type = "objects") {
}
}
+function makeModel(data) {
+ const views = {};
+ const forms = {};
+
+ data.forms.forEach(form => {
+ forms[form.name] = { name: form.name }
+ form.views.forEach(view => {
+ const viewId = form.name + view.name
+ views[viewId] = {
+ name: view.name,
+ attributes: {
+ height: {
+ name: "Height",
+ power: 1,
+ type: "length",
+ base: math.unit(view.height, "meters")
+ }
+ },
+ form: form.name
+ }
+
+ if (view.image) {
+ views[viewId].image = view.image
+ } else {
+ views[viewId].image = {
+ source: "./media/" + data.kind + "/" + data.name + "/" + form.name + "-" + view.name + ".svg"
+ }
+ }
+ })
+ });
+
+ console.log(views)
+ console.log(forms)
+
+ return {
+ name: data.name,
+ constructor: () => makeEntity(
+ {name: data.name},
+ views,
+ [],
+ forms
+ )
+ }
+}
+
function makeObjects() {
const results = [];
@@ -825,5 +870,7 @@ function makeObjects() {
"SD Cards",
""
))
+
+ results.push(makeModel({"name": "Dice", "kind": "objects", "forms": [{"name": "D6 Dotted", "views": [{"name": "Front", "height": 0.01415012776851654}, {"name": "Side", "height": 0.01415012776851654}, {"name": "Top", "height": 0.01415012776851654}]}, {"name": "D4", "views": [{"name": "Front", "height": 0.01699800044298172}, {"name": "Side", "height": 0.01699800044298172}, {"name": "Top", "height": 0.017878876999020576}]}, {"name": "D8", "views": [{"name": "Front", "height": 0.013862096704542637}, {"name": "Side", "height": 0.013862096704542637}, {"name": "Top", "height": 0.01808309182524681}]}, {"name": "D10", "views": [{"name": "Front", "height": 0.015351179987192154}, {"name": "Side", "height": 0.015351179987192154}, {"name": "Top", "height": 0.016876159235835075}]}, {"name": "D10 Percentile", "views": [{"name": "Front", "height": 0.015358946286141872}, {"name": "Side", "height": 0.015358946286141872}, {"name": "Top", "height": 0.016862813383340836}]}, {"name": "D12", "views": [{"name": "Front", "height": 0.017607660964131355}, {"name": "Side", "height": 0.017607660964131355}, {"name": "Top", "height": 0.02110980451107025}]}, {"name": "D20", "views": [{"name": "Front", "height": 0.01964765228331089}, {"name": "Side", "height": 0.01964765228331089}, {"name": "Top", "height": 0.023235414177179337}]}, {"name": "D6 Numbered", "views": [{"name": "Front", "height": 0.014152487739920616}, {"name": "Side", "height": 0.014152487739920616}, {"name": "Top", "height": 0.014152484014630318}]}]}))
return results;
}