浏览代码

Add pipettes

master
Fen Dweller 3 年前
父节点
当前提交
21e86ccbc6
共有 6 个文件被更改,包括 181 次插入1 次删除
  1. +10
    -0
      media/attribution.js
  2. +64
    -0
      media/objects/Pipettes/Transfer Pipette-Bottom.svg
  3. +52
    -0
      media/objects/Pipettes/Transfer Pipette-Front.svg
  4. +52
    -0
      media/objects/Pipettes/Transfer Pipette-Top.svg
  5. +1
    -0
      presets/objects.js
  6. +2
    -1
      scripts/blender-model.py

+ 10
- 0
media/attribution.js 查看文件

@@ -19939,6 +19939,16 @@ const attributionData = {
"https://bascousa.com/blog/55-gallon-drum-dimensions-height-weight/"
]
},
{
prefix: "./media/objects/Pipettes/",
all: null,
authors: [
"chemicalcrux"
],
citations: [
"https://www.fishersci.com/shop/products/fisherbrand-standard-disposable-transfer-pipettes/137117M/",
]
},
{
prefix: "./media/real-buildings/",
all: "https://wiki.openstreetmap.org/wiki/Blender",


+ 64
- 0
media/objects/Pipettes/Transfer Pipette-Bottom.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 64.137665 64.090065"
height="64.090065pt"
width="64.137665pt"
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,-467.86234,532)">
<path
id="path4"
d="m 4874,5296 c -61,-28 -140,-109 -171,-174 -35,-73 -32,-178 7,-260 16,-34 37,-65 47,-69 10,-4 29,-20 42,-36 66,-78 222,-102 331,-51 73,34 126,86 161,159 24,50 29,73 29,135 0,62 -5,85 -29,135 -57,119 -161,185 -291,185 -58,0 -87,-6 -126,-24 z" />
</g>
<g
style="fill:#1a1a1a;stroke:none"
id="g14"
transform="matrix(0.1,0,0,-0.1,-467.86234,532)">
<path
id="path8"
d="m 4890,5249 c -101,-45 -160,-138 -160,-249 1,-156 115,-270 270,-270 155,0 269,114 270,270 0,155 -114,270 -270,270 -44,0 -80,-7 -110,-21 z m 183,-53 c 34,-14 126,-106 128,-128 1,-7 3,-29 5,-48 8,-60 -14,-114 -64,-163 -54,-51 -102,-70 -164,-63 -24,3 -47,5 -51,5 -18,2 -111,98 -123,128 -17,39 -18,101 -3,140 13,37 86,112 124,129 39,17 107,18 148,0 z" />
<path
id="path10"
d="m 4935,5146 c -92,-41 -121,-157 -63,-242 63,-92 208,-80 265,21 42,74 23,155 -49,208 -34,25 -113,32 -153,13 z m 99,-70 c 100,-42 38,-190 -65,-154 -67,23 -71,125 -5,154 38,16 31,16 70,0 z" />
<path
id="path12"
d="m 4976,5024 c -9,-8 -16,-19 -16,-24 0,-5 7,-16 16,-24 8,-9 19,-16 24,-16 5,0 16,7 24,16 9,8 16,19 16,24 0,5 -7,16 -16,24 -8,9 -19,16 -24,16 -5,0 -16,-7 -24,-16 z" />
</g>
<g
style="fill:#333333;stroke:none"
id="g22"
transform="matrix(0.1,0,0,-0.1,-467.86234,532)">
<path
id="path16"
d="m 4885,5243 c -44,-23 -104,-82 -126,-125 -14,-28 -19,-58 -19,-118 0,-92 12,-124 69,-183 57,-61 97,-77 191,-77 94,0 134,16 191,77 57,59 69,91 69,183 0,60 -5,90 -19,118 -23,44 -83,103 -128,126 -43,22 -186,21 -228,-1 z m 198,-47 c 39,-17 102,-81 116,-119 27,-71 5,-173 -49,-227 -54,-54 -156,-76 -227,-49 -38,14 -102,77 -119,116 -30,69 -11,177 39,232 51,55 168,78 240,47 z" />
<path
id="path18"
d="m 4894,5106 c -42,-42 -44,-46 -44,-103 0,-45 5,-67 20,-86 11,-14 20,-29 20,-34 0,-14 63,-33 111,-33 88,0 149,65 149,159 0,50 -3,57 -44,97 -42,43 -45,44 -106,44 -61,0 -64,-1 -106,-44 z m 144,-27 c 67,-23 65,-137 -4,-159 -80,-27 -141,34 -114,114 16,48 61,65 118,45 z" />
<path
id="path20"
d="m 4974,5016 c -10,-26 4,-48 28,-44 17,2 23,10 23,28 0,18 -6,26 -23,28 -13,2 -25,-3 -28,-12 z" />
</g>
</svg>

+ 52
- 0
media/objects/Pipettes/Transfer Pipette-Front.svg 查看文件

@@ -0,0 +1,52 @@
<?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="svg16"
preserveAspectRatio="xMidYMid meet"
viewBox="0 0 64 837.03156"
height="837.03156pt"
width="64pt"
version="1.0">
<defs
id="defs20" />
<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,-468,918.53154)">
<path
id="path4"
d="m 4923,9181 c -22,-4 -58,-15 -80,-26 -49,-23 -131,-113 -149,-162 -10,-31 -13,-179 -14,-762 v -723 l 57,-106 56,-105 -2,-1761 -2,-1761 51,-805 c 50,-789 51,-818 58,-1480 l 7,-675 h 95 95 l 7,675 c 7,662 8,691 58,1480 l 51,805 -2,1761 -2,1761 57,106 56,106 -2,738 c -3,735 -3,738 -25,778 -29,54 -89,110 -143,134 -51,22 -164,33 -227,22 z" />
</g>
<g
style="fill:#1a1a1a;stroke:none"
id="g10"
transform="matrix(0.1,0,0,-0.1,-468,918.53154)">
<path
id="path8"
d="m 4923,9130 c -23,-5 -55,-15 -70,-24 -44,-22 -100,-89 -112,-133 -7,-25 -11,-278 -11,-746 v -708 l 56,-105 57,-106 -2,-1772 -2,-1771 51,-795 c 50,-778 51,-809 57,-1453 l 6,-657 h 47 47 l 6,657 c 6,644 7,675 57,1453 l 51,795 -2,1771 -2,1772 57,106 56,105 v 708 c 0,468 -4,721 -11,746 -13,49 -73,115 -124,138 -49,22 -155,31 -212,19 z" />
</g>
<g
style="fill:#333333;stroke:none"
id="g14"
transform="matrix(0.1,0,0,-0.1,-468,918.53154)">
<path
id="path12"
d="m 4925,9126 c -5,-2 -23,-7 -38,-11 -40,-8 -123,-89 -139,-133 -10,-29 -13,-191 -13,-752 l 1,-715 54,-100 54,-100 1,-1820 V 3675 l 48,-715 c 48,-705 49,-724 55,-1398 8,-725 6,-702 52,-702 46,0 44,-22 52,702 7,673 7,694 55,1398 l 48,715 v 1820 l 1,1820 54,100 54,100 1,705 c 0,388 -4,722 -8,743 -9,43 -73,119 -121,144 -28,15 -186,29 -211,19 z" />
</g>
</svg>

+ 52
- 0
media/objects/Pipettes/Transfer Pipette-Top.svg 查看文件

@@ -0,0 +1,52 @@
<?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="svg16"
preserveAspectRatio="xMidYMid meet"
viewBox="0 0 64 64"
height="64pt"
width="64pt"
version="1.0">
<defs
id="defs20" />
<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,-468,532)">
<path
id="path4"
d="m 4874,5296 c -61,-28 -140,-109 -171,-174 -17,-36 -23,-65 -23,-122 0,-93 26,-154 96,-224 70,-70 131,-96 224,-96 130,0 234,66 291,185 24,50 29,73 29,135 0,62 -5,85 -29,135 -57,119 -161,185 -291,185 -58,0 -87,-6 -126,-24 z" />
</g>
<g
style="fill:#1a1a1a;stroke:none"
id="g10"
transform="matrix(0.1,0,0,-0.1,-468,532)">
<path
id="path8"
d="m 4890,5249 c -101,-45 -160,-138 -160,-249 1,-156 115,-270 270,-270 155,0 269,114 270,270 0,155 -114,270 -270,270 -44,0 -80,-7 -110,-21 z" />
</g>
<g
style="fill:#333333;stroke:none"
id="g14"
transform="matrix(0.1,0,0,-0.1,-468,532)">
<path
id="path12"
d="m 4885,5243 c -44,-23 -104,-82 -126,-125 -14,-28 -19,-58 -19,-118 0,-92 12,-124 69,-183 57,-61 97,-77 191,-77 94,0 134,16 191,77 57,59 69,91 69,183 0,60 -5,90 -19,118 -23,44 -83,103 -128,126 -43,22 -186,21 -228,-1 z" />
</g>
</svg>

+ 1
- 0
presets/objects.js 查看文件

@@ -950,6 +950,7 @@ function makeObjects() {
/* ***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}]}]}));
/* ***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}]}]}));
/* ***INSERT HERE*** */
return results;
}

+ 2
- 1
scripts/blender-model.py 查看文件

@@ -10,7 +10,8 @@ VIEW_DATA = {
"Angled": [0.5, 1, 2, "Angled"],
"Side": [1, 1, 2, "Side"],
"Back": [2, 1, 2, "Back"],
"Top": [0, 0, 1, "Top"]
"Top": [0, 0, 1, "Top"],
"Bottom": [0, 2, 1, "Bottom"]
}

def get_bounds(objects):


正在加载...
取消
保存