소스 검색

Add barrels

Also updates the Blender script.
master
Fen Dweller 3 년 전
부모
커밋
23627a5597
9개의 변경된 파일453개의 추가작업 그리고 16개의 파일을 삭제
  1. +11
    -0
      media/attribution.js
  2. +76
    -0
      media/objects/Barrels/55 Gallon Drum-Front.svg
  3. +58
    -0
      media/objects/Barrels/55 Gallon Drum-Top.svg
  4. +79
    -0
      media/objects/Barrels/Half Barrel Keg-Front.svg
  5. +70
    -0
      media/objects/Barrels/Half Barrel Keg-Top.svg
  6. +73
    -0
      media/objects/Barrels/Sixer Keg-Front.svg
  7. +64
    -0
      media/objects/Barrels/Sixer Keg-Top.svg
  8. +1
    -0
      presets/objects.js
  9. +21
    -16
      scripts/blender-model.py

+ 11
- 0
media/attribution.js 파일 보기

@@ -19928,6 +19928,17 @@ const attributionData = {
"https://www.homedepot.com/p/8-in-x-4-in-x-2-in-Clay-Brick-20050276/100570450#product-overview"
]
},
{
prefix: "./media/objects/Barrels/",
all: null,
authors: [
"chemicalcrux"
],
citations: [
"https://learn.kegerator.com/keg-sizes/",
"https://bascousa.com/blog/55-gallon-drum-dimensions-height-weight/"
]
},
{
prefix: "./media/real-buildings/",
all: "https://wiki.openstreetmap.org/wiki/Blender",


+ 76
- 0
media/objects/Barrels/55 Gallon Drum-Front.svg 파일 보기

@@ -0,0 +1,76 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
id="svg32"
preserveAspectRatio="xMidYMid meet"
viewBox="0 0 594.42999 837.93414"
height="837.93414pt"
width="594.42999pt"
version="1.0">
<defs
id="defs36" />
<metadata
id="metadata2">
Created by potrace 1.16, written by Peter Selinger 2001-2019
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
style="fill:#000000;stroke:none"
id="g6"
transform="matrix(0.1,0,0,-0.1,-202.79169,918.92245)">
<path
id="path4"
d="m 2125,9180 c -31,-13 -84,-73 -94,-106 -4,-16 -4,-42 0,-58 12,-42 75,-103 115,-111 l 34,-6 V 7710 6520 h -25 c -34,0 -113,-73 -123,-114 -17,-63 39,-147 110,-167 l 38,-10 V 4991 3752 l -33,-6 c -40,-7 -104,-69 -116,-112 -4,-16 -4,-42 0,-58 12,-42 75,-103 115,-111 l 34,-6 V 2290 1121 l -38,-10 c -43,-12 -95,-62 -109,-106 -14,-43 1,-85 44,-127 76,-74 -183,-68 2921,-68 2563,0 2798,1 2845,16 101,32 147,107 119,192 -16,49 -48,78 -103,92 l -39,11 v 1168 1169 l 43,10 c 77,20 124,97 105,172 -13,50 -62,97 -109,105 l -39,7 v 1239 1239 l 44,11 c 109,27 143,153 63,237 -20,21 -45,35 -69,39 l -38,6 v 1187 1188 l 43,10 c 134,34 147,214 20,268 -27,12 -490,14 -2885,13 -1569,0 -2862,-4 -2873,-9 z" />
</g>
<g
style="fill:#1a1a1a;stroke:none"
id="g22"
transform="matrix(0.1,0,0,-0.1,-202.79169,918.92245)">
<path
id="path8"
d="m 2270,9133 c -121,-3 -137,-6 -157,-25 -33,-31 -32,-96 3,-129 l 26,-24 h 2858 2858 l 26,24 c 36,34 36,98 0,132 l -26,24 -2726,1 c -1500,0 -2788,-1 -2862,-3 z" />
<path
id="path10"
d="M 2230,7710 V 6520 H 5000 7770 V 7710 8900 H 5000 2230 Z" />
<path
id="path12"
d="m 2270,6463 c -122,-3 -137,-6 -158,-25 -34,-33 -28,-103 11,-132 l 28,-21 h 2849 2849 l 28,21 c 22,17 29,30 31,65 2,37 -1,49 -23,69 l -27,25 -2726,1 c -1500,0 -2788,-1 -2862,-3 z" />
<path
id="path14"
d="M 2230,4990 V 3750 H 5000 7770 V 4990 6230 H 5000 2230 Z" />
<path
id="path16"
d="m 2270,3693 c -121,-3 -137,-6 -157,-25 -33,-31 -32,-96 3,-129 l 26,-24 h 2858 2858 l 26,24 c 36,34 36,98 0,132 l -26,24 -2726,1 c -1500,0 -2788,-1 -2862,-3 z" />
<path
id="path18"
d="M 2230,2290 V 1120 H 5000 7770 V 2290 3460 H 5000 2230 Z" />
<path
id="path20"
d="m 2283,1061 c -132,-6 -143,-8 -167,-30 -37,-35 -36,-91 3,-123 28,-24 36,-25 232,-31 266,-9 4998,-9 5283,0 212,6 219,7 247,31 41,34 41,90 0,124 -28,24 -35,25 -241,31 -252,8 -5150,6 -5357,-2 z" />
</g>
<g
style="fill:#333333;stroke:none"
id="g30"
transform="matrix(0.1,0,0,-0.1,-202.79169,918.92245)">
<path
id="path24"
d="m 2288,8893 -46,-4 -7,-102 c -9,-145 -2,-2244 8,-2254 11,-11 5503,-11 5514,0 11,11 11,2343 0,2354 -8,8 -5372,14 -5469,6 z" />
<path
id="path26"
d="m 2288,6223 -46,-4 -7,-102 c -9,-146 -2,-2344 8,-2354 11,-11 5503,-11 5514,0 11,11 11,2443 0,2454 -8,8 -5372,14 -5469,6 z" />
<path
id="path28"
d="m 2288,3453 -46,-4 -7,-102 c -9,-145 -2,-2204 8,-2214 11,-11 5503,-11 5514,0 11,11 11,2303 0,2314 -8,8 -5372,14 -5469,6 z" />
</g>
</svg>

+ 58
- 0
media/objects/Barrels/55 Gallon Drum-Top.svg 파일 보기

@@ -0,0 +1,58 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
id="svg20"
preserveAspectRatio="xMidYMid meet"
viewBox="0 0 593.88995 594.21179"
height="594.21179pt"
width="593.88995pt"
version="1.0">
<defs
id="defs24" />
<metadata
id="metadata2">
Created by potrace 1.16, written by Peter Selinger 2001-2019
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
style="fill:#000000;stroke:none"
id="g6"
transform="matrix(0.1,0,0,-0.1,-203.07203,797.34444)">
<path
id="path4"
d="M 4806,7963 C 3881,7899 3057,7425 2538,6660 2173,6122 1994,5460 2037,4808 c 62,-924 537,-1750 1303,-2270 765,-520 1755,-649 2632,-344 1264,440 2080,1669 1991,2998 -62,923 -537,1749 -1303,2270 -420,286 -941,466 -1439,498 -91,6 -179,12 -196,13 -16,2 -115,-3 -219,-10 z" />
</g>
<g
style="fill:#1a1a1a;stroke:none"
id="g12"
transform="matrix(0.1,0,0,-0.1,-203.07203,797.34444)">
<path
id="path8"
d="M 4755,7905 C 3880,7833 3085,7365 2578,6620 2361,6302 2222,5966 2145,5575 c -82,-419 -82,-731 0,-1150 33,-168 58,-260 103,-391 289,-824 962,-1497 1786,-1786 131,-45 223,-70 391,-103 419,-82 731,-82 1150,0 168,33 260,58 391,103 821,288 1498,965 1786,1786 80,230 141,534 158,789 17,256 1,465 -55,752 -78,396 -216,726 -440,1056 -509,745 -1298,1204 -2190,1274 -211,17 -256,17 -470,0 z m 650,-264 c 443,-71 837,-238 1202,-507 157,-116 411,-370 527,-527 274,-372 442,-775 512,-1232 27,-171 27,-579 0,-750 -70,-457 -238,-860 -512,-1232 -116,-157 -370,-411 -527,-527 -372,-274 -775,-442 -1232,-512 -171,-27 -579,-27 -750,0 -458,70 -861,238 -1232,512 -157,116 -411,370 -527,527 -224,303 -373,618 -460,972 -59,243 -71,349 -71,635 0,286 12,392 71,635 87,354 236,669 460,972 116,157 370,411 527,527 412,305 887,486 1387,530 117,10 509,-4 625,-23 z" />
<path
id="path10"
d="m 4780,7614 c -264,-31 -457,-73 -650,-141 -916,-327 -1563,-1106 -1722,-2076 -32,-192 -32,-602 0,-794 85,-519 304,-980 646,-1358 406,-449 938,-737 1549,-837 192,-32 602,-32 794,0 439,72 829,236 1175,495 549,412 906,1006 1020,1700 19,112 22,172 22,397 0,225 -3,285 -22,397 -188,1144 -1053,2011 -2190,2194 -94,15 -186,21 -357,24 -126,2 -246,1 -265,-1 z" />
</g>
<g
style="fill:#333333;stroke:none"
id="g18"
transform="matrix(0.1,0,0,-0.1,-203.07203,797.34444)">
<path
id="path14"
d="m 4889,7756 c -2,-2 -56,-6 -119,-10 -140,-8 -454,-67 -570,-107 -47,-17 -125,-43 -175,-60 -195,-64 -609,-300 -750,-428 -22,-20 -67,-58 -100,-86 -331,-277 -641,-745 -788,-1190 -56,-169 -117,-445 -131,-589 -12,-122 -15,-397 -5,-516 8,-102 26,-225 44,-300 6,-28 23,-110 31,-154 11,-63 109,-337 161,-449 81,-177 126,-257 234,-417 515,-765 1402,-1224 2329,-1205 85,2 187,6 225,10 121,11 467,80 532,107 16,6 42,16 58,23 17,7 62,22 100,34 39,12 126,49 195,82 69,33 146,70 172,82 26,12 48,25 48,30 0,4 7,7 15,7 8,0 15,5 15,10 0,6 5,10 10,10 12,0 73,41 78,53 2,4 10,7 17,7 7,0 15,3 17,8 4,9 54,44 93,65 17,9 44,28 60,42 17,14 52,45 79,68 55,47 86,76 177,163 59,56 84,83 181,198 18,22 42,49 53,60 11,12 26,33 34,47 7,14 23,38 37,54 13,15 26,36 29,46 4,11 11,19 16,19 5,0 9,5 9,10 0,6 5,16 10,23 70,81 236,424 304,627 434,1306 -162,2734 -1394,3341 -288,141 -636,244 -920,270 -113,10 -404,21 -411,15 z m 541,-114 c 617,-108 1149,-399 1558,-851 345,-383 570,-855 659,-1386 26,-159 26,-651 0,-810 C 7450,3419 6581,2550 5405,2353 c -89,-15 -165,-18 -405,-18 -327,0 -400,8 -650,71 -959,240 -1704,985 -1944,1944 -63,250 -71,323 -71,650 0,240 3,316 18,405 165,987 807,1770 1727,2106 161,59 364,111 515,133 61,9 121,18 135,20 14,2 151,3 305,1 227,-2 302,-6 395,-23 z" />
<path
id="path16"
d="M 4830,7609 C 4254,7578 3694,7342 3252,6944 2733,6476 2423,5832 2391,5155 c -22,-468 54,-870 237,-1260 411,-873 1269,-1457 2212,-1503 468,-24 874,52 1265,236 871,410 1457,1272 1503,2212 24,468 -52,874 -236,1265 -263,558 -709,1004 -1267,1267 -279,131 -615,219 -889,233 -212,11 -245,11 -386,4 z" />
</g>
</svg>

+ 79
- 0
media/objects/Barrels/Half Barrel Keg-Front.svg 파일 보기

@@ -0,0 +1,79 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
id="svg34"
preserveAspectRatio="xMidYMid meet"
viewBox="0 0 596 837.86969"
height="837.86969pt"
width="596pt"
version="1.0">
<defs
id="defs38" />
<metadata
id="metadata2">
Created by potrace 1.16, written by Peter Selinger 2001-2019
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
style="fill:#000000;stroke:none"
id="g6"
transform="matrix(0.1,0,0,-0.1,-202,918.86969)">
<path
id="path4"
d="m 2105,9178 c -3,-7 -4,-303 -3,-658 l 3,-645 73,-3 72,-3 v -44 -44 l -57,-6 c -32,-3 -65,-7 -73,-8 -13,-2 -16,-77 -20,-582 l -5,-580 -37,-99 -38,-98 v -203 -202 l 40,-107 40,-106 V 4540 3290 l -40,-106 -40,-107 v -203 -204 l 40,-106 40,-107 v -559 -558 l -35,-70 c -34,-68 -35,-72 -35,-191 V 957 l 41,-73 40,-74 h 2889 2889 l 40,74 41,73 v 122 c 0,119 -1,123 -35,191 l -35,70 v 558 559 l 40,107 40,106 v 204 203 l -40,107 -40,106 v 1250 1250 l 40,106 40,107 v 202 203 l -37,98 -38,99 -5,580 c -4,505 -7,580 -20,582 -8,1 -41,5 -72,8 l -58,6 v 44 44 l 73,3 72,3 v 655 655 l -2893,3 c -2309,2 -2894,0 -2897,-10 z m 2495,-694 v -375 l -47,6 c -125,16 -272,49 -350,77 -70,25 -97,41 -148,90 -74,68 -96,116 -96,203 0,87 22,135 96,203 51,49 78,65 148,90 88,32 275,72 380,81 16,1 17,-23 17,-375 z m 937,360 c 333,-49 488,-152 501,-333 15,-221 -157,-335 -595,-395 l -43,-6 v 375 c 0,323 2,375 15,375 8,0 63,-7 122,-16 z" />
</g>
<g
style="fill:#1a1a1a;stroke:none"
id="g24"
transform="matrix(0.1,0,0,-0.1,-202,918.86969)">
<path
id="path8"
d="m 2213,9133 -51,-4 -7,-112 c -9,-150 -2,-1073 8,-1084 11,-11 5663,-11 5674,0 11,11 11,1183 0,1194 -8,8 -5516,14 -5624,6 z m 3321,-233 c 241,-38 365,-86 459,-178 72,-71 97,-132 97,-237 0,-221 -157,-342 -525,-405 -349,-60 -965,-50 -1246,20 -148,37 -235,77 -303,141 -84,78 -110,135 -110,244 -1,73 2,87 34,150 44,88 107,141 221,185 106,41 206,65 349,84 165,23 189,24 555,21 282,-2 350,-6 469,-25 z" />
<path
id="path10"
d="m 4733,8873 -83,-4 v -383 -384 l 168,-7 c 159,-7 488,0 518,12 12,4 14,66 14,383 v 377 l -107,6 c -103,7 -343,6 -510,0 z" />
<path
id="path12"
d="m 2363,7863 c -53,-4 -69,-18 -58,-53 5,-15 23,-19 108,-25 56,-3 1264,-5 2685,-3 2283,3 2584,5 2592,18 12,19 12,31 0,50 -8,13 -313,15 -2642,16 -1448,0 -2656,-1 -2685,-3 z" />
<path
id="path14"
d="m 2213,7713 -51,-4 -7,-104 c -9,-136 -2,-931 8,-942 11,-11 5663,-10 5674,0 11,11 11,1033 0,1044 -8,8 -5516,14 -5624,6 z" />
<path
id="path16"
d="m 2106,6498 -36,-103 v -191 c 0,-203 -1,-199 62,-356 l 10,-28 h 2858 2858 l 10,28 c 63,157 62,153 62,356 v 191 l -36,103 -37,102 H 5000 2143 Z" />
<path
id="path18"
d="m 2208,5763 -46,-4 -7,-102 c -9,-145 -2,-2314 8,-2324 11,-11 5663,-11 5674,0 11,11 11,2413 0,2424 -8,8 -5532,14 -5629,6 z" />
<path
id="path20"
d="m 2107,3168 -37,-103 v -190 -190 l 36,-102 37,-103 h 2857 2857 l 37,103 36,102 v 190 190 l -37,103 -37,102 H 5000 2144 Z" />
<path
id="path22"
d="m 2214,2423 -51,-4 -7,-76 c -3,-42 -6,-291 -6,-555 v -478 l -30,-53 c -29,-51 -30,-58 -30,-176 0,-113 2,-126 25,-165 l 25,-43 188,-6 c 244,-9 5066,-9 5329,0 l 203,6 25,43 c 23,39 25,52 25,165 0,117 -1,125 -29,174 l -29,52 -4,551 c -2,303 -7,554 -11,559 -8,8 -5516,14 -5623,6 z" />
</g>
<g
style="fill:#333333;stroke:none"
id="g32"
transform="matrix(0.1,0,0,-0.1,-202,918.86969)">
<path
id="path26"
d="m 4833,8870 c -89,-3 -165,-9 -170,-13 -11,-11 -11,-733 0,-744 19,-19 655,-18 675,1 9,9 15,545 7,649 -6,88 -9,97 -28,102 -36,7 -312,10 -484,5 z" />
<path
id="path28"
d="m 2199,6593 -57,-4 -32,-89 -31,-89 v -208 c 0,-206 1,-209 30,-287 16,-43 33,-81 36,-85 9,-8 5701,-8 5710,0 3,4 20,42 36,85 29,78 30,81 30,287 v 208 l -31,88 -32,88 -75,7 c -77,6 -5481,5 -5584,-1 z" />
<path
id="path30"
d="m 2199,3263 -55,-4 -33,-90 -32,-90 v -205 c 0,-205 0,-206 31,-293 l 32,-88 81,-7 c 107,-8 5461,-8 5560,0 l 75,7 32,88 c 31,88 31,89 31,293 v 205 l -32,89 -32,89 -81,7 c -83,6 -5476,5 -5577,-1 z" />
</g>
</svg>

+ 70
- 0
media/objects/Barrels/Half Barrel Keg-Top.svg 파일 보기

@@ -0,0 +1,70 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
id="svg28"
preserveAspectRatio="xMidYMid meet"
viewBox="0 0 594.27997 594.5285"
height="594.5285pt"
width="594.27997pt"
version="1.0">
<defs
id="defs32" />
<metadata
id="metadata2">
Created by potrace 1.16, written by Peter Selinger 2001-2019
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
style="fill:#000000;stroke:none"
id="g6"
transform="matrix(0.1,0,0,-0.1,-202.87007,797.37846)">
<path
id="path4"
d="M 4854,7969 C 3661,7908 2618,7139 2209,6020 1901,5179 1991,4245 2453,3468 c 235,-396 619,-780 1015,-1015 951,-566 2113,-566 3064,0 396,235 780,619 1015,1015 566,951 566,2113 0,3064 -235,396 -619,780 -1015,1015 -415,247 -909,399 -1356,419 -67,2 -134,6 -151,7 -16,2 -93,0 -171,-4 z" />
</g>
<g
style="fill:#1a1a1a;stroke:none"
id="g18"
transform="matrix(0.1,0,0,-0.1,-202.87007,797.37846)">
<path
id="path8"
d="M 4846,7919 C 4120,7878 3448,7578 2935,7065 1792,5922 1792,4078 2935,2935 c 1143,-1143 2987,-1143 4130,0 949,949 1131,2415 442,3565 -100,167 -205,309 -345,465 -491,549 -1244,913 -1967,950 -60,3 -132,7 -160,9 -27,1 -112,-1 -189,-5 z m 549,-51 c 491,-66 959,-261 1365,-568 164,-123 417,-376 540,-540 307,-407 497,-864 570,-1370 33,-228 32,-579 -3,-805 -78,-504 -264,-943 -567,-1345 -123,-164 -376,-417 -540,-540 -407,-307 -864,-498 -1370,-570 -125,-18 -200,-23 -390,-23 -190,0 -265,5 -390,23 -506,72 -968,265 -1370,570 -163,123 -417,377 -540,540 -305,402 -498,864 -570,1370 -32,221 -32,559 0,780 72,506 265,968 570,1370 123,163 377,417 540,540 620,471 1387,673 2155,568 z" />
<path
id="path10"
d="m 4730,7830 c -139,-14 -274,-38 -439,-80 -497,-125 -921,-369 -1296,-745 -443,-442 -703,-954 -807,-1589 -19,-112 -22,-171 -22,-416 0,-323 12,-424 84,-710 156,-618 525,-1171 1041,-1560 310,-233 642,-391 1019,-484 268,-67 390,-81 690,-81 301,0 423,14 690,81 512,127 934,367 1315,749 445,444 706,960 807,1593 19,118 22,176 22,417 0,241 -4,299 -23,415 -105,636 -363,1144 -810,1591 -372,372 -795,614 -1294,740 -250,63 -386,80 -657,84 -129,2 -273,0 -320,-5 z m 675,-329 c 586,-103 1070,-366 1469,-799 332,-361 552,-822 633,-1329 25,-157 25,-594 0,-748 -92,-556 -334,-1033 -716,-1416 -383,-382 -870,-628 -1418,-716 -157,-25 -593,-25 -748,1 -600,99 -1099,367 -1504,809 -329,359 -546,818 -628,1322 -25,159 -25,595 0,750 92,556 334,1033 716,1416 418,417 947,667 1556,733 22,2 150,2 285,0 185,-2 272,-8 355,-23 z" />
<path
id="path12"
d="m 4765,7464 c -585,-60 -1094,-302 -1511,-718 -386,-387 -615,-838 -701,-1381 -25,-157 -25,-574 0,-733 87,-546 316,-993 706,-1383 161,-160 292,-264 463,-367 282,-170 574,-275 910,-329 161,-25 575,-25 736,0 543,87 991,315 1378,701 386,387 614,835 701,1378 25,159 25,576 0,733 -86,546 -316,996 -706,1386 -161,160 -292,264 -463,367 -279,168 -574,275 -903,328 -96,15 -514,28 -610,18 z m 394,-2046 c 57,-19 78,-34 151,-108 75,-75 89,-94 110,-155 45,-129 27,-295 -43,-400 -55,-82 -127,-139 -222,-175 -87,-34 -215,-34 -310,0 -61,21 -80,35 -155,110 -75,75 -89,94 -110,155 -45,129 -27,295 43,400 69,103 182,176 307,199 50,9 165,-4 229,-26 z" />
<path
id="path14"
d="m 4942,5389 c -121,-16 -246,-110 -299,-225 -128,-281 106,-595 413,-553 80,11 172,59 228,119 255,273 28,709 -342,659 z m 188,-90 c 61,-27 144,-111 171,-173 31,-71 31,-182 0,-251 -29,-66 -111,-148 -175,-176 -71,-31 -181,-31 -252,0 -64,28 -146,110 -175,176 -31,69 -31,181 0,250 26,59 100,138 154,166 81,42 191,45 277,8 z" />
<path
id="path16"
d="m 4928,5266 c -139,-37 -227,-180 -198,-320 31,-149 177,-247 324,-216 149,31 247,177 216,324 -22,105 -99,186 -202,213 -62,16 -79,16 -140,-1 z" />
</g>
<g
style="fill:#333333;stroke:none"
id="g26"
transform="matrix(0.1,0,0,-0.1,-202.87007,797.37846)">
<path
id="path20"
d="M 4767,7909 C 4080,7856 3438,7558 2940,7060 2203,6323 1918,5286 2175,4271 c 93,-368 259,-709 504,-1036 130,-174 376,-422 547,-552 719,-546 1625,-730 2503,-508 828,209 1553,813 1919,1600 358,769 358,1681 0,2450 -137,294 -311,546 -588,848 -33,36 -216,191 -310,262 -125,95 -350,231 -500,302 -451,215 -973,311 -1483,272 z m 678,-43 c 196,-31 356,-73 540,-140 455,-165 820,-409 1159,-774 382,-413 635,-945 727,-1532 20,-125 23,-183 23,-420 0,-237 -3,-295 -23,-420 -78,-498 -270,-951 -571,-1350 -123,-163 -367,-407 -530,-530 -399,-301 -852,-493 -1350,-571 -125,-20 -183,-23 -420,-23 -237,0 -295,3 -420,23 -682,107 -1260,416 -1729,924 -379,411 -630,943 -722,1527 -20,125 -23,183 -23,420 0,237 3,295 23,420 78,498 270,951 571,1350 123,163 367,407 530,530 400,302 870,500 1350,569 198,29 213,29 480,25 187,-3 266,-8 385,-28 z" />
<path
id="path22"
d="m 4912,5380 c -104,-22 -220,-120 -270,-227 -23,-50 -26,-71 -27,-153 0,-88 3,-101 32,-161 40,-81 121,-160 200,-197 50,-23 71,-26 153,-27 88,0 101,3 161,32 81,40 160,121 197,200 23,50 26,71 26,153 0,82 -3,103 -26,153 -36,77 -117,160 -192,197 -68,33 -177,46 -254,30 z m 220,-78 c 66,-29 141,-102 169,-165 35,-77 34,-201 -2,-278 -33,-71 -87,-125 -158,-158 -75,-35 -201,-37 -273,-4 -189,87 -254,319 -138,494 80,122 264,173 402,111 z" />
<path
id="path24"
d="m 4921,5261 c -47,-13 -111,-62 -148,-115 -57,-82 -56,-210 1,-294 111,-163 340,-162 452,1 47,68 57,192 21,262 -22,44 -71,97 -112,121 -48,28 -153,40 -214,25 z" />
</g>
</svg>

+ 73
- 0
media/objects/Barrels/Sixer Keg-Front.svg 파일 보기

@@ -0,0 +1,73 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
id="svg30"
preserveAspectRatio="xMidYMid meet"
viewBox="0 0 334 838"
height="838pt"
width="334pt"
version="1.0">
<defs
id="defs34" />
<metadata
id="metadata2">
Created by potrace 1.16, written by Peter Selinger 2001-2019
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
style="fill:#000000;stroke:none"
id="g6"
transform="matrix(0.1,0,0,-0.1,-333,919)">
<path
id="path4"
d="m 3330,8549 v -640 l 30,-10 c 24,-9 30,-17 30,-39 0,-21 -7,-30 -30,-40 l -30,-12 V 6490 5173 l 55,-19 56,-18 -3,-39 c -3,-37 -6,-40 -55,-59 l -53,-19 V 3295 c 0,-1633 1,-1724 18,-1729 9,-2 41,-8 70,-11 46,-6 52,-10 52,-30 0,-20 -6,-23 -57,-30 -31,-4 -62,-9 -70,-12 -10,-4 -13,-69 -13,-339 V 810 h 1670 1670 v 334 c 0,270 -3,335 -13,339 -8,3 -39,8 -70,12 -51,7 -57,10 -57,30 0,20 6,24 53,30 28,3 60,9 69,11 17,5 18,96 18,1729 v 1724 l -52,19 c -50,19 -53,22 -56,59 l -3,39 56,18 55,19 v 1317 1318 l -30,12 c -23,10 -30,19 -30,40 0,22 6,30 30,39 l 30,10 v 640 641 H 5000 3330 Z m 1970,438 c 61,-14 41,-15 -295,-15 -355,0 -386,4 -220,28 88,13 438,4 515,-13 z m -722,-80 c 21,-32 22,-40 22,-286 v -252 l -22,7 c -86,26 -179,113 -199,185 -17,63 -15,156 4,215 17,49 68,108 127,148 34,22 42,21 68,-17 z m 934,4 c 82,-52 118,-128 118,-250 -1,-127 -51,-208 -165,-262 l -60,-29 -3,252 c -2,247 -2,252 20,285 13,18 28,33 34,33 5,0 31,-13 56,-29 z" />
</g>
<g
style="fill:#1a1a1a;stroke:none"
id="g24"
transform="matrix(0.1,0,0,-0.1,-333,919)">
<path
id="path8"
d="m 3443,9133 -51,-4 -7,-112 c -9,-150 -2,-1043 8,-1054 11,-11 3203,-11 3214,0 11,11 11,1153 0,1164 -8,8 -3058,14 -3164,6 z m 1911,-102 c 114,-30 184,-65 239,-119 65,-64 87,-126 87,-246 0,-110 -17,-167 -67,-226 -48,-56 -97,-85 -201,-120 -132,-44 -222,-53 -469,-47 -234,5 -312,18 -429,71 -71,33 -147,105 -173,166 -31,71 -38,181 -17,255 38,130 101,192 249,241 141,47 202,54 462,50 207,-3 251,-6 319,-25 z" />
<path
id="path10"
d="m 4640,8901 c 6,-12 10,-121 10,-284 v -265 l 73,-14 c 98,-18 447,-18 550,1 l 77,14 v 264 c 0,163 4,272 10,284 10,19 3,19 -360,19 -363,0 -370,0 -360,-19 z" />
<path
id="path12"
d="m 3508,7873 c -32,-2 -58,-8 -58,-13 0,-4 26,-10 58,-13 95,-8 3030,-3 3038,6 4,4 4,10 0,15 -8,7 -2929,12 -3038,5 z" />
<path
id="path14"
d="m 3448,7753 -56,-4 -7,-122 c -9,-172 -2,-2384 8,-2394 11,-11 3203,-11 3214,0 11,11 11,2503 0,2514 -8,8 -3041,14 -3159,6 z" />
<path
id="path16"
d="m 3553,5123 c -43,-3 -53,-7 -53,-22 0,-15 12,-19 77,-25 99,-8 2747,-8 2846,0 63,6 77,10 77,24 0,14 -14,18 -77,24 -78,6 -2775,5 -2870,-1 z" />
<path
id="path18"
d="m 3448,4973 -56,-4 -7,-102 c -9,-147 -2,-3224 8,-3234 11,-11 3203,-11 3214,0 11,11 11,3323 0,3334 -8,8 -3042,14 -3159,6 z" />
<path
id="path20"
d="m 3585,1531 -60,-6 55,-6 c 81,-9 2704,-10 2807,-2 l 88,8 -60,6 c -75,8 -2748,8 -2830,0 z" />
<path
id="path22"
d="m 3448,1433 -56,-4 -7,-117 c -8,-118 0,-430 11,-441 9,-9 3201,-7 3211,2 11,11 11,543 0,554 -8,8 -3041,14 -3159,6 z" />
</g>
<g
style="fill:#333333;stroke:none"
id="g28"
transform="matrix(0.1,0,0,-0.1,-333,919)">
<path
id="path26"
d="m 4773,8913 -123,-4 v -188 c 0,-103 3,-228 6,-278 l 7,-90 82,-12 c 107,-16 390,-16 504,0 l 88,12 7,81 c 3,45 6,169 6,277 v 196 l -172,6 c -95,4 -198,6 -228,5 -30,-1 -110,-4 -177,-5 z" />
</g>
</svg>

+ 64
- 0
media/objects/Barrels/Sixer Keg-Top.svg 파일 보기

@@ -0,0 +1,64 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
id="svg24"
preserveAspectRatio="xMidYMid meet"
viewBox="0 0 332.80002 333.00406"
height="333.00406pt"
width="332.80002pt"
version="1.0">
<defs
id="defs28" />
<metadata
id="metadata2">
Created by potrace 1.16, written by Peter Selinger 2001-2019
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
style="fill:#000000;stroke:none"
id="g6"
transform="matrix(0.1,0,0,-0.1,-333.6,666.60405)">
<path
id="path4"
d="m 4805,6663 c -326,-50 -594,-161 -828,-340 -79,-61 -238,-220 -300,-300 -156,-203 -259,-431 -319,-704 -19,-90 -22,-133 -22,-319 0,-186 3,-229 22,-319 51,-230 132,-427 253,-611 86,-131 328,-373 459,-459 184,-121 381,-202 611,-253 90,-19 133,-22 319,-22 236,0 316,11 519,75 494,157 913,576 1070,1070 64,203 75,283 75,519 0,236 -11,316 -75,519 -157,494 -576,913 -1070,1070 -187,59 -277,73 -489,76 -107,2 -208,1 -225,-2 z" />
</g>
<g
style="fill:#1a1a1a;stroke:none"
id="g16"
transform="matrix(0.1,0,0,-0.1,-333.6,666.60405)">
<path
id="path8"
d="m 4875,6610 c -702,-46 -1312,-579 -1456,-1271 -56,-275 -37,-613 51,-864 162,-467 540,-844 1005,-1005 316,-110 733,-110 1052,0 460,159 843,543 1003,1005 109,314 110,738 1,1049 -100,286 -286,552 -513,733 -250,199 -570,331 -848,348 -47,3 -107,7 -135,9 -27,1 -99,-1 -160,-4 z m 415,-185 c 187,-40 395,-131 545,-237 99,-70 256,-220 327,-313 140,-185 249,-452 277,-685 31,-249 2,-487 -89,-723 -191,-494 -646,-846 -1175,-908 -123,-15 -351,-7 -460,16 -187,39 -398,129 -550,237 -99,70 -256,220 -327,313 -140,185 -249,452 -277,685 -74,590 206,1158 714,1449 151,86 357,158 521,180 100,14 404,5 494,-14 z" />
<path
id="path10"
d="m 4755,6371 c -130,-23 -196,-43 -305,-91 -406,-176 -719,-554 -812,-980 -19,-89 -22,-135 -22,-300 0,-165 3,-211 22,-300 59,-269 193,-502 408,-710 203,-196 435,-313 716,-361 167,-29 401,-23 560,15 255,59 483,191 674,388 142,146 231,282 303,463 68,170 86,277 85,510 0,181 -2,211 -26,311 -45,191 -128,366 -249,524 -65,85 -219,239 -294,292 -146,103 -325,185 -493,225 -148,34 -419,41 -567,14 z m 404,-953 c 57,-19 78,-34 151,-108 75,-75 89,-94 110,-155 45,-129 27,-295 -43,-400 -55,-82 -127,-139 -222,-175 -87,-34 -215,-34 -310,0 -61,21 -80,35 -155,110 -75,75 -89,94 -110,155 -45,129 -27,295 43,400 69,103 182,176 307,199 50,9 165,-4 229,-26 z" />
<path
id="path12"
d="m 4942,5389 c -121,-16 -246,-110 -299,-225 -128,-281 106,-595 413,-553 80,11 172,59 228,119 255,273 28,709 -342,659 z m 188,-90 c 61,-27 144,-111 171,-173 31,-71 31,-182 0,-251 -29,-66 -111,-148 -175,-176 -71,-31 -181,-31 -252,0 -64,28 -146,110 -175,176 -31,69 -31,181 0,250 26,59 100,138 154,166 81,42 191,45 277,8 z" />
<path
id="path14"
d="m 4928,5266 c -139,-37 -227,-180 -198,-320 31,-149 177,-247 324,-216 149,31 247,177 216,324 -22,105 -99,186 -202,213 -62,16 -79,16 -140,-1 z" />
</g>
<g
style="fill:#333333;stroke:none"
id="g22"
transform="matrix(0.1,0,0,-0.1,-333.6,666.60405)">
<path
id="path18"
d="m 4912,5380 c -104,-22 -220,-120 -270,-227 -23,-50 -26,-71 -27,-153 0,-88 3,-101 32,-161 40,-81 121,-160 200,-197 50,-23 71,-26 153,-27 88,0 101,3 161,32 81,40 160,121 197,200 23,50 26,71 26,153 0,82 -3,103 -26,153 -36,77 -117,160 -192,197 -68,33 -177,46 -254,30 z m 220,-78 c 66,-29 141,-102 169,-165 35,-77 34,-201 -2,-278 -33,-71 -87,-125 -158,-158 -75,-35 -201,-37 -273,-4 -189,87 -254,319 -138,494 80,122 264,173 402,111 z" />
<path
id="path20"
d="m 4921,5261 c -47,-13 -111,-62 -148,-115 -57,-82 -56,-210 1,-294 111,-163 340,-162 452,1 47,68 57,192 21,262 -22,44 -71,97 -112,121 -48,28 -153,40 -214,25 z" />
</g>
</svg>

+ 1
- 0
presets/objects.js 파일 보기

@@ -949,6 +949,7 @@ function makeObjects() {
/* ***Sex Toys*** */ results.push(makeModel({"name": "Sex Toys", "kind": "objects", "forms": [{"name": "Chance", "views": [{"name": "Front", "height": 0.44450023770332336, "volume": 0.0024940192673095084}, {"name": "Side", "height": 0.44450023770332336, "volume": 0.0024940192673095084}, {"name": "Top", "height": 0.18736252188682556, "volume": 0.0024940192673095084}]}, {"name": "Fenrir", "views": [{"name": "Front", "height": 0.32130947709083557, "volume": 0.0014611460855557515}, {"name": "Side", "height": 0.32130947709083557, "volume": 0.0014611460855557515}, {"name": "Top", "height": 0.11701348423957825, "volume": 0.0014611460855557515}]}]}));
/* ***LEGO*** */ results.push(makeModel({"name": "LEGO", "kind": "objects", "forms": [{"name": "1x1", "views": [{"name": "Front", "height": 0.01119999960064888, "volume": 3.3640754098503267e-07}, {"name": "Angled", "height": 0.01119999960064888, "volume": 3.3640754098503267e-07}, {"name": "Side", "height": 0.01119999960064888, "volume": 3.3640754098503267e-07}, {"name": "Top", "height": 0.00800000037997961, "volume": 3.3640754098503267e-07}, {"name": "Bottom", "height": 0.00800000037997961, "volume": 3.3640754098503267e-07}]}, {"name": "1x2", "views": [{"name": "Front", "height": 0.011200000531971455, "volume": 5.669391684500056e-07}, {"name": "Angled", "height": 0.011200000531971455, "volume": 5.669391684500056e-07}, {"name": "Side", "height": 0.011200000531971455, "volume": 5.669391684500056e-07}, {"name": "Top", "height": 0.00800000037997961, "volume": 5.669391684500056e-07}, {"name": "Bottom", "height": 0.00800000037997961, "volume": 5.669391684500056e-07}]}, {"name": "2x2", "views": [{"name": "Front", "height": 0.01119999960064888, "volume": 1.0245981619502385e-06}, {"name": "Angled", "height": 0.01119999960064888, "volume": 1.0245981619502385e-06}, {"name": "Side", "height": 0.01119999960064888, "volume": 1.0245981619502385e-06}, {"name": "Top", "height": 0.01600000075995922, "volume": 1.0245981619502385e-06}, {"name": "Bottom", "height": 0.01600000075995922, "volume": 1.0245981619502385e-06}]}, {"name": "2x4", "views": [{"name": "Front", "height": 0.011200000531971455, "volume": 1.939916458324457e-06}, {"name": "Angled", "height": 0.011200000531971455, "volume": 1.939916458324457e-06}, {"name": "Side", "height": 0.011200000531971455, "volume": 1.939916458324457e-06}, {"name": "Top", "height": 0.01600000075995922, "volume": 1.939916458324457e-06}, {"name": "Bottom", "height": 0.01600000075995922, "volume": 1.939916458324457e-06}]}]}));
/* ***Bricks*** */ results.push(makeModel({"name": "Bricks", "kind": "objects", "forms": [{"name": "Cinderblock", "views": [{"name": "Front", "height": 0.1936749964952469, "volume": 0.0072986710396893105}, {"name": "Angled", "height": 0.1936749964952469, "volume": 0.0072986710396893105}, {"name": "Side", "height": 0.1936749964952469, "volume": 0.0072986710396893105}, {"name": "Top", "height": 0.1936749964952469, "volume": 0.0072986710396893105}]}, {"name": "Clay Brick", "views": [{"name": "Front", "height": 0.05714999884366989, "volume": 0.0008421204681292792}, {"name": "Angled", "height": 0.05714999884366989, "volume": 0.0008421204681292792}, {"name": "Side", "height": 0.05714999884366989, "volume": 0.0008421204681292792}, {"name": "Top", "height": 0.10159999877214432, "volume": 0.0008421204681292792}]}]}));
/* ***Barrels*** */ results.push(makeModel({"name": "Barrels", "kind": "objects", "forms": [{"name": "55 Gallon Drum", "views": [{"name": "Front", "height": 0.8716663122177124, "volume": 0.20819799602031708}, {"name": "Top", "height": 0.617232084274292, "volume": 0.20819799602031708}]}, {"name": "Sixer Keg", "views": [{"name": "Front", "height": 0.5937249660491943, "volume": 0.02345781959593296}, {"name": "Top", "height": 0.2349499762058258, "volume": 0.02345781959593296}]}, {"name": "Half Barrel Keg", "views": [{"name": "Front", "height": 0.5937249660491943, "volume": 0.07046438753604889}, {"name": "Top", "height": 0.42044833302497864, "volume": 0.07046438753604889}]}]}));
/* ***INSERT HERE*** */
return results;
}

+ 21
- 16
scripts/blender-model.py 파일 보기

@@ -4,7 +4,14 @@ from math import pi, sqrt
import json
import os
import pathlib
import bmesh

VIEW_DATA = {
"Front": [0, 1, 2, "Front"],
"Angled": [0.5, 1, 2, "Angled"],
"Side": [1, 1, 2, "Side"],
"Back": [2, 1, 2, "Back"],
"Top": [0, 0, 1, "Top"]
}

def get_bounds(objects):
xl = []
@@ -12,11 +19,12 @@ def get_bounds(objects):
zl = []
for obj in objects:
for bounds in obj.bound_box:
v = obj.matrix_world @ Vector(bounds)
xl += [v[0] for c in obj.bound_box]
yl += [v[1] for c in obj.bound_box]
zl += [v[2] for c in obj.bound_box]
if not obj.hide_render:
for bounds in obj.bound_box:
v = obj.matrix_world @ Vector(bounds)
xl += [v[0] for c in obj.bound_box]
yl += [v[1] for c in obj.bound_box]
zl += [v[2] for c in obj.bound_box]
return (
Vector([min(xl), min(yl), min(zl)]),
@@ -50,18 +58,15 @@ all_data["name"] = mv["MVName"]
all_data["kind"] = mv["MVKind"]
all_data["forms"] = []

default_views = []

for view in mv["MVViews"].split(","):
default_views.append(VIEW_DATA[view])

workdir = pathlib.Path(parent_workdir).joinpath(all_data["name"])

os.makedirs(workdir, exist_ok=True)

VIEW_DATA = {
"Front": [0, 1, 2, "Front"],
"Angled": [0.5, 1, 2, "Angled"],
"Side": [1, 1, 2, "Side"],
"Back": [2, 1, 2, "Back"],
"Top": [0, 0, 1, "Top"]
}

for coll in collections:
coll.hide_render = True

@@ -89,7 +94,7 @@ for coll in collections:
for view in coll["Views"].split(","):
view_list.append(VIEW_DATA[view])
else:
view_list = [VIEW_DATA["Front"]]
view_list = default_views

for angles in view_list:
c.location = global_bbox_center
@@ -108,7 +113,7 @@ for coll in collections:
"height": dimensions[angles[2]]
})

if coll["Volume"]:
if "Volume" in coll:
data["views"][-1]["volume"] = coll["Volume"]

filename = f"{coll.name}-{angles[3]}.png"


불러오는 중...
취소
저장