Add bioplastic factory page with 7-station continuous-flow production line
6 Graphviz diagrams, product catalog, factory economics, distributed hub replication model. Caddy basic auth snippet for pre-market access control. Factory link added to bottom nav on process & homeschool pages.
7
caddy/factory-auth.caddy
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
handle /hemp-bioplastic/process/factory/* {
|
||||
basicauth {
|
||||
# Generate a hash: caddy hash-password
|
||||
# Then add a line here: username <hash>
|
||||
}
|
||||
file_server
|
||||
}
|
||||
60
hemp-bioplastic/process/factory/img/distributed-hub.dot
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
digraph distributed_hub {
|
||||
bgcolor="#1a1a2e"
|
||||
rankdir=TB
|
||||
node [fontname="Helvetica" fontsize=10 style=filled shape=box]
|
||||
edge [color="#888888" fontname="Helvetica" fontsize=9 fontcolor="#aaaaaa"]
|
||||
|
||||
label=<<B><FONT COLOR="#cccccc" POINT-SIZE="14">distributed hub replication model</FONT></B>>
|
||||
labelloc=t
|
||||
|
||||
subgraph cluster_model {
|
||||
label="LOCAL FIBER, STANDARDIZED PROCESS, LOCAL PRODUCTS" fontcolor="#cccccc" fontsize=11 fontname="Helvetica Bold"
|
||||
color="#555555" style=dashed
|
||||
|
||||
subgraph cluster_local_in {
|
||||
label="LOCAL INPUTS" fontcolor="#4CAF50" fontsize=10 fontname="Helvetica Bold"
|
||||
color="#4CAF50" style=dashed
|
||||
|
||||
farm1 [label="local hemp farm" fillcolor="#2E7D32" fontcolor="white"]
|
||||
farm2 [label="nettle foraging\ncommunity land" fillcolor="#388E3C" fontcolor="white"]
|
||||
farm3 [label="sawmill refuse\nlocal timber" fillcolor="#4E342E" fontcolor="white"]
|
||||
}
|
||||
|
||||
subgraph cluster_standard {
|
||||
label="STANDARDIZED PROCESSING" fontcolor="#2196F3" fontsize=10 fontname="Helvetica Bold"
|
||||
color="#2196F3" style=dashed
|
||||
|
||||
process [label="7-station factory\nstandard equipment\nstandard recipes\nstandard quality checks" fillcolor="#1565C0" fontcolor="white"]
|
||||
}
|
||||
|
||||
subgraph cluster_local_out {
|
||||
label="LOCAL PRODUCTS" fontcolor="#FF9800" fontsize=10 fontname="Helvetica Bold"
|
||||
color="#FF9800" style=dashed
|
||||
|
||||
market [label="local farm market\ndirect to consumer" fillcolor="#E65100" fontcolor="white"]
|
||||
coop [label="food co-ops\nzero waste shops" fillcolor="#F57C00" fontcolor="white"]
|
||||
school [label="schools & community\neducation programs" fillcolor="#FF9800" fontcolor="white"]
|
||||
}
|
||||
}
|
||||
|
||||
farm1 -> process
|
||||
farm2 -> process
|
||||
farm3 -> process
|
||||
process -> market
|
||||
process -> coop
|
||||
process -> school
|
||||
|
||||
subgraph cluster_hubs {
|
||||
label="HUB NETWORK" fontcolor="#8E24AA" fontsize=11 fontname="Helvetica Bold"
|
||||
color="#8E24AA" style=dashed
|
||||
|
||||
hub1 [label="Hub A\nrural village\nhemp focus" fillcolor="#6A1B9A" fontcolor="white"]
|
||||
hub2 [label="Hub B\ncoastal town\nnettle focus" fillcolor="#7B1FA2" fontcolor="white"]
|
||||
hub3 [label="Hub C\nforest region\nwood refuse focus" fillcolor="#8E24AA" fontcolor="white"]
|
||||
hub4 [label="Hub D\nyour community\n?" fillcolor="#9C27B0" fontcolor="white"]
|
||||
}
|
||||
|
||||
hub1 -> hub2 -> hub3 -> hub4 [style=dashed color="#8E24AA" label="shared\nknowledge"]
|
||||
|
||||
replicate [label="each hub adapts\nfiber sources to local ecology\nproducts to local demand\npricing to local economy" fillcolor="#263238" fontcolor="#CDDC39" shape=note fontsize=9]
|
||||
}
|
||||
BIN
hemp-bioplastic/process/factory/img/distributed-hub.png
Normal file
|
After Width: | Height: | Size: 78 KiB |
192
hemp-bioplastic/process/factory/img/distributed-hub.svg
Normal file
|
|
@ -0,0 +1,192 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.43.0 (0)
|
||||
-->
|
||||
<!-- Title: distributed_hub Pages: 1 -->
|
||||
<svg width="702pt" height="489pt"
|
||||
viewBox="0.00 0.00 702.00 489.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 485)">
|
||||
<title>distributed_hub</title>
|
||||
<polygon fill="#1a1a2e" stroke="transparent" points="-4,4 -4,-485 698,-485 698,4 -4,4"/>
|
||||
<text text-anchor="start" x="213.5" y="-466.8" font-family="Times,serif" font-weight="bold" font-size="14.00" fill="#cccccc">distributed hub replication model</text>
|
||||
<g id="clust1" class="cluster">
|
||||
<title>cluster_model</title>
|
||||
<polygon fill="#1a1a2e" stroke="#555555" stroke-dasharray="5,2" points="8,-103 8,-450 408,-450 408,-103 8,-103"/>
|
||||
<text text-anchor="middle" x="208" y="-437.2" font-family="Helvetica Bold" font-size="11.00" fill="#cccccc">LOCAL FIBER, STANDARDIZED PROCESS, LOCAL PRODUCTS</text>
|
||||
</g>
|
||||
<g id="clust2" class="cluster">
|
||||
<title>cluster_local_in</title>
|
||||
<polygon fill="#1a1a2e" stroke="#4caf50" stroke-dasharray="5,2" points="30,-351 30,-422 364,-422 364,-351 30,-351"/>
|
||||
<text text-anchor="middle" x="197" y="-410" font-family="Helvetica Bold" font-size="10.00" fill="#4caf50">LOCAL INPUTS</text>
|
||||
</g>
|
||||
<g id="clust3" class="cluster">
|
||||
<title>cluster_standard</title>
|
||||
<polygon fill="#1a1a2e" stroke="#2196f3" stroke-dasharray="5,2" points="118,-220 118,-307 284,-307 284,-220 118,-220"/>
|
||||
<text text-anchor="middle" x="201" y="-295" font-family="Helvetica Bold" font-size="10.00" fill="#2196f3">STANDARDIZED PROCESSING</text>
|
||||
</g>
|
||||
<g id="clust4" class="cluster">
|
||||
<title>cluster_local_out</title>
|
||||
<polygon fill="#1a1a2e" stroke="#ff9800" stroke-dasharray="5,2" points="16,-111 16,-182 400,-182 400,-111 16,-111"/>
|
||||
<text text-anchor="middle" x="208" y="-170" font-family="Helvetica Bold" font-size="10.00" fill="#ff9800">LOCAL PRODUCTS</text>
|
||||
</g>
|
||||
<g id="clust5" class="cluster">
|
||||
<title>cluster_hubs</title>
|
||||
<polygon fill="#1a1a2e" stroke="#8e24aa" stroke-dasharray="5,2" points="416,-8 416,-425.5 538,-425.5 538,-8 416,-8"/>
|
||||
<text text-anchor="middle" x="477" y="-412.7" font-family="Helvetica Bold" font-size="11.00" fill="#8e24aa">HUB NETWORK</text>
|
||||
</g>
|
||||
<!-- farm1 -->
|
||||
<g id="node1" class="node">
|
||||
<title>farm1</title>
|
||||
<polygon fill="#2e7d32" stroke="black" points="134.5,-395 37.5,-395 37.5,-359 134.5,-359 134.5,-395"/>
|
||||
<text text-anchor="middle" x="86" y="-374.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">local hemp farm</text>
|
||||
</g>
|
||||
<!-- process -->
|
||||
<g id="node4" class="node">
|
||||
<title>process</title>
|
||||
<polygon fill="#1565c0" stroke="black" points="267.5,-280 134.5,-280 134.5,-228 267.5,-228 267.5,-280"/>
|
||||
<text text-anchor="middle" x="201" y="-268" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">7-station factory</text>
|
||||
<text text-anchor="middle" x="201" y="-257" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">standard equipment</text>
|
||||
<text text-anchor="middle" x="201" y="-246" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">standard recipes</text>
|
||||
<text text-anchor="middle" x="201" y="-235" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">standard quality checks</text>
|
||||
</g>
|
||||
<!-- farm1->process -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>farm1->process</title>
|
||||
<path fill="none" stroke="#888888" d="M102.23,-358.92C119.7,-340.54 147.9,-310.87 169.71,-287.92"/>
|
||||
<polygon fill="#888888" stroke="#888888" points="172.48,-290.09 176.83,-280.43 167.41,-285.26 172.48,-290.09"/>
|
||||
</g>
|
||||
<!-- farm2 -->
|
||||
<g id="node2" class="node">
|
||||
<title>farm2</title>
|
||||
<polygon fill="#388e3c" stroke="black" points="249,-395 153,-395 153,-359 249,-359 249,-395"/>
|
||||
<text text-anchor="middle" x="201" y="-380" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">nettle foraging</text>
|
||||
<text text-anchor="middle" x="201" y="-369" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">community land</text>
|
||||
</g>
|
||||
<!-- farm2->process -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>farm2->process</title>
|
||||
<path fill="none" stroke="#888888" d="M201,-358.92C201,-341.26 201,-313.17 201,-290.65"/>
|
||||
<polygon fill="#888888" stroke="#888888" points="204.5,-290.43 201,-280.43 197.5,-290.43 204.5,-290.43"/>
|
||||
</g>
|
||||
<!-- farm3 -->
|
||||
<g id="node3" class="node">
|
||||
<title>farm3</title>
|
||||
<polygon fill="#4e342e" stroke="black" points="356.5,-395 267.5,-395 267.5,-359 356.5,-359 356.5,-395"/>
|
||||
<text text-anchor="middle" x="312" y="-380" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">sawmill refuse</text>
|
||||
<text text-anchor="middle" x="312" y="-369" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">local timber</text>
|
||||
</g>
|
||||
<!-- farm3->process -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>farm3->process</title>
|
||||
<path fill="none" stroke="#888888" d="M296.33,-358.92C279.47,-340.54 252.25,-310.87 231.2,-287.92"/>
|
||||
<polygon fill="#888888" stroke="#888888" points="233.66,-285.43 224.33,-280.43 228.51,-290.16 233.66,-285.43"/>
|
||||
</g>
|
||||
<!-- market -->
|
||||
<g id="node5" class="node">
|
||||
<title>market</title>
|
||||
<polygon fill="#e65100" stroke="black" points="132,-155 24,-155 24,-119 132,-119 132,-155"/>
|
||||
<text text-anchor="middle" x="78" y="-140" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">local farm market</text>
|
||||
<text text-anchor="middle" x="78" y="-129" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">direct to consumer</text>
|
||||
</g>
|
||||
<!-- process->market -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>process->market</title>
|
||||
<path fill="none" stroke="#888888" d="M174.01,-227.76C153.19,-208.3 124.57,-181.54 104,-162.31"/>
|
||||
<polygon fill="#888888" stroke="#888888" points="106.24,-159.62 96.55,-155.34 101.46,-164.73 106.24,-159.62"/>
|
||||
</g>
|
||||
<!-- coop -->
|
||||
<g id="node6" class="node">
|
||||
<title>coop</title>
|
||||
<polygon fill="#f57c00" stroke="black" points="251.5,-155 150.5,-155 150.5,-119 251.5,-119 251.5,-155"/>
|
||||
<text text-anchor="middle" x="201" y="-140" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">food co-ops</text>
|
||||
<text text-anchor="middle" x="201" y="-129" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">zero waste shops</text>
|
||||
</g>
|
||||
<!-- process->coop -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>process->coop</title>
|
||||
<path fill="none" stroke="#888888" d="M201,-227.76C201,-209.33 201,-184.35 201,-165.42"/>
|
||||
<polygon fill="#888888" stroke="#888888" points="204.5,-165.34 201,-155.34 197.5,-165.34 204.5,-165.34"/>
|
||||
</g>
|
||||
<!-- school -->
|
||||
<g id="node7" class="node">
|
||||
<title>school</title>
|
||||
<polygon fill="#ff9800" stroke="black" points="392,-155 270,-155 270,-119 392,-119 392,-155"/>
|
||||
<text text-anchor="middle" x="331" y="-140" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">schools & community</text>
|
||||
<text text-anchor="middle" x="331" y="-129" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">education programs</text>
|
||||
</g>
|
||||
<!-- process->school -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>process->school</title>
|
||||
<path fill="none" stroke="#888888" d="M229.53,-227.76C251.63,-208.21 282.05,-181.31 303.8,-162.06"/>
|
||||
<polygon fill="#888888" stroke="#888888" points="306.22,-164.59 311.39,-155.34 301.59,-159.35 306.22,-164.59"/>
|
||||
</g>
|
||||
<!-- hub1 -->
|
||||
<g id="node8" class="node">
|
||||
<title>hub1</title>
|
||||
<polygon fill="#6a1b9a" stroke="black" points="514.5,-397.5 439.5,-397.5 439.5,-356.5 514.5,-356.5 514.5,-397.5"/>
|
||||
<text text-anchor="middle" x="477" y="-385.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">Hub A</text>
|
||||
<text text-anchor="middle" x="477" y="-374.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">rural village</text>
|
||||
<text text-anchor="middle" x="477" y="-363.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">hemp focus</text>
|
||||
</g>
|
||||
<!-- hub2 -->
|
||||
<g id="node9" class="node">
|
||||
<title>hub2</title>
|
||||
<polygon fill="#7b1fa2" stroke="black" points="516.5,-274.5 437.5,-274.5 437.5,-233.5 516.5,-233.5 516.5,-274.5"/>
|
||||
<text text-anchor="middle" x="477" y="-262.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">Hub B</text>
|
||||
<text text-anchor="middle" x="477" y="-251.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">coastal town</text>
|
||||
<text text-anchor="middle" x="477" y="-240.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">nettle focus</text>
|
||||
</g>
|
||||
<!-- hub1->hub2 -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>hub1->hub2</title>
|
||||
<path fill="none" stroke="#8e24aa" stroke-dasharray="5,2" d="M477,-356.29C477,-336.95 477,-307.21 477,-284.95"/>
|
||||
<polygon fill="#8e24aa" stroke="#8e24aa" points="480.5,-284.7 477,-274.7 473.5,-284.7 480.5,-284.7"/>
|
||||
<text text-anchor="middle" x="501.5" y="-327.8" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#aaaaaa">shared</text>
|
||||
<text text-anchor="middle" x="501.5" y="-317.8" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#aaaaaa">knowledge</text>
|
||||
</g>
|
||||
<!-- hub3 -->
|
||||
<g id="node10" class="node">
|
||||
<title>hub3</title>
|
||||
<polygon fill="#8e24aa" stroke="black" points="530,-157.5 424,-157.5 424,-116.5 530,-116.5 530,-157.5"/>
|
||||
<text text-anchor="middle" x="477" y="-145.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">Hub C</text>
|
||||
<text text-anchor="middle" x="477" y="-134.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">forest region</text>
|
||||
<text text-anchor="middle" x="477" y="-123.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">wood refuse focus</text>
|
||||
</g>
|
||||
<!-- hub2->hub3 -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>hub2->hub3</title>
|
||||
<path fill="none" stroke="#8e24aa" stroke-dasharray="5,2" d="M477,-233.49C477,-215.48 477,-188.48 477,-167.77"/>
|
||||
<polygon fill="#8e24aa" stroke="#8e24aa" points="480.5,-167.6 477,-157.6 473.5,-167.6 480.5,-167.6"/>
|
||||
<text text-anchor="middle" x="501.5" y="-202.8" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#aaaaaa">shared</text>
|
||||
<text text-anchor="middle" x="501.5" y="-192.8" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#aaaaaa">knowledge</text>
|
||||
</g>
|
||||
<!-- hub4 -->
|
||||
<g id="node11" class="node">
|
||||
<title>hub4</title>
|
||||
<polygon fill="#9c27b0" stroke="black" points="525.5,-57 428.5,-57 428.5,-16 525.5,-16 525.5,-57"/>
|
||||
<text text-anchor="middle" x="477" y="-45" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">Hub D</text>
|
||||
<text text-anchor="middle" x="477" y="-34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">your community</text>
|
||||
<text text-anchor="middle" x="477" y="-23" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">?</text>
|
||||
</g>
|
||||
<!-- hub3->hub4 -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>hub3->hub4</title>
|
||||
<path fill="none" stroke="#8e24aa" stroke-dasharray="5,2" d="M477,-116.07C477,-102.09 477,-83.16 477,-67.39"/>
|
||||
<polygon fill="#8e24aa" stroke="#8e24aa" points="480.5,-67.07 477,-57.07 473.5,-67.07 480.5,-67.07"/>
|
||||
<text text-anchor="middle" x="501.5" y="-87.8" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#aaaaaa">shared</text>
|
||||
<text text-anchor="middle" x="501.5" y="-77.8" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#aaaaaa">knowledge</text>
|
||||
</g>
|
||||
<!-- replicate -->
|
||||
<g id="node12" class="node">
|
||||
<title>replicate</title>
|
||||
<polygon fill="#263238" stroke="black" points="688,-401 546,-401 546,-353 694,-353 694,-395 688,-401"/>
|
||||
<polyline fill="none" stroke="black" points="688,-401 688,-395 "/>
|
||||
<polyline fill="none" stroke="black" points="694,-395 688,-395 "/>
|
||||
<text text-anchor="middle" x="620" y="-389.8" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#cddc39">each hub adapts</text>
|
||||
<text text-anchor="middle" x="620" y="-379.8" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#cddc39">fiber sources to local ecology</text>
|
||||
<text text-anchor="middle" x="620" y="-369.8" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#cddc39">products to local demand</text>
|
||||
<text text-anchor="middle" x="620" y="-359.8" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#cddc39">pricing to local economy</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 12 KiB |
45
hemp-bioplastic/process/factory/img/extraction-station.dot
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
digraph extraction_station {
|
||||
bgcolor="#1a1a2e"
|
||||
rankdir=TB
|
||||
node [fontname="Helvetica" fontsize=10 style=filled shape=box]
|
||||
edge [color="#888888" fontname="Helvetica" fontsize=9 fontcolor="#aaaaaa"]
|
||||
|
||||
label=<<B><FONT COLOR="#cccccc" POINT-SIZE="14">station 2: extraction (two paths)</FONT></B>>
|
||||
labelloc=t
|
||||
|
||||
fiber_in [label="PREPARED FIBER\nfrom Station 1" fillcolor="#66BB6A" fontcolor="white"]
|
||||
|
||||
subgraph cluster_naoh {
|
||||
label="PATH A: NaOH EXTRACTION" fontcolor="#2196F3" fontsize=11 fontname="Helvetica Bold"
|
||||
color="#2196F3" style=dashed
|
||||
|
||||
naoh_dissolve [label="dissolve NaOH\n5-12% solution" fillcolor="#1565C0" fontcolor="white"]
|
||||
naoh_soak [label="soak fiber\n80C for 2-3 hours\nor room temp 4 hours" fillcolor="#1976D2" fontcolor="white"]
|
||||
naoh_filter [label="filter & wash\nuntil pH neutral" fillcolor="#1E88E5" fontcolor="white"]
|
||||
naoh_dissolve -> naoh_soak -> naoh_filter
|
||||
}
|
||||
|
||||
subgraph cluster_citric {
|
||||
label="PATH B: CITRIC ACID CROSSLINK" fontcolor="#FF9800" fontsize=11 fontname="Helvetica Bold"
|
||||
color="#FF9800" style=dashed
|
||||
|
||||
citric_paper [label="spread fiber\npress into sheets" fillcolor="#E65100" fontcolor="white"]
|
||||
citric_soak [label="soak in\ncitric acid + glycerol" fillcolor="#F57C00" fontcolor="white"]
|
||||
citric_cure [label="cure at 140C\nunder pressure" fillcolor="#FF9800" fontcolor="white"]
|
||||
citric_paper -> citric_soak -> citric_cure
|
||||
}
|
||||
|
||||
fiber_in -> naoh_dissolve [label="higher purity\nmore waste"]
|
||||
fiber_in -> citric_paper [label="less waste\nsimpler setup"]
|
||||
|
||||
cellulose_out [label="RAW CELLULOSE\nto Station 3" fillcolor="#64B5F6" fontcolor="#1a1a2e" shape=doubleoctagon]
|
||||
naoh_filter -> cellulose_out
|
||||
citric_cure -> cellulose_out
|
||||
|
||||
waste_a [label="NaOH waste liquor\nneutralize before disposal" fillcolor="#37474F" fontcolor="#aaaaaa" shape=ellipse]
|
||||
naoh_soak -> waste_a [style=dashed color="#555555"]
|
||||
|
||||
note_citric [label="citric acid path\nproduces less waste\n& avoids NaOH hazards" fillcolor="#263238" fontcolor="#CDDC39" shape=note fontsize=9]
|
||||
|
||||
rotation [label="continuous operation:\n3-4 reaction vessels\nrotating through stages" fillcolor="#263238" fontcolor="#CDDC39" shape=note fontsize=9]
|
||||
}
|
||||
BIN
hemp-bioplastic/process/factory/img/extraction-station.png
Normal file
|
After Width: | Height: | Size: 74 KiB |
167
hemp-bioplastic/process/factory/img/extraction-station.svg
Normal file
|
|
@ -0,0 +1,167 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.43.0 (0)
|
||||
-->
|
||||
<!-- Title: extraction_station Pages: 1 -->
|
||||
<svg width="632pt" height="427pt"
|
||||
viewBox="0.00 0.00 631.50 427.35" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 423.35)">
|
||||
<title>extraction_station</title>
|
||||
<polygon fill="#1a1a2e" stroke="transparent" points="-4,4 -4,-423.35 627.5,-423.35 627.5,4 -4,4"/>
|
||||
<text text-anchor="start" x="184.25" y="-405.15" font-family="Times,serif" font-weight="bold" font-size="14.00" fill="#cccccc">station 2: extraction (two paths)</text>
|
||||
<g id="clust1" class="cluster">
|
||||
<title>cluster_naoh</title>
|
||||
<polygon fill="#1a1a2e" stroke="#2196f3" stroke-dasharray="5,2" points="8,-86.14 8,-312.35 177,-312.35 177,-86.14 8,-86.14"/>
|
||||
<text text-anchor="middle" x="92.5" y="-299.55" font-family="Helvetica Bold" font-size="11.00" fill="#2196f3">PATH A: NaOH EXTRACTION</text>
|
||||
</g>
|
||||
<g id="clust2" class="cluster">
|
||||
<title>cluster_citric</title>
|
||||
<polygon fill="#1a1a2e" stroke="#ff9800" stroke-dasharray="5,2" points="395,-86.14 395,-312.35 594,-312.35 594,-86.14 395,-86.14"/>
|
||||
<text text-anchor="middle" x="494.5" y="-299.55" font-family="Helvetica Bold" font-size="11.00" fill="#ff9800">PATH B: CITRIC ACID CROSSLINK</text>
|
||||
</g>
|
||||
<!-- fiber_in -->
|
||||
<g id="node1" class="node">
|
||||
<title>fiber_in</title>
|
||||
<polygon fill="#66bb6a" stroke="black" points="339.5,-395.35 240.5,-395.35 240.5,-359.35 339.5,-359.35 339.5,-395.35"/>
|
||||
<text text-anchor="middle" x="290" y="-380.35" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">PREPARED FIBER</text>
|
||||
<text text-anchor="middle" x="290" y="-369.35" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">from Station 1</text>
|
||||
</g>
|
||||
<!-- naoh_dissolve -->
|
||||
<g id="node2" class="node">
|
||||
<title>naoh_dissolve</title>
|
||||
<polygon fill="#1565c0" stroke="black" points="165,-284.35 75,-284.35 75,-248.35 165,-248.35 165,-284.35"/>
|
||||
<text text-anchor="middle" x="120" y="-269.35" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">dissolve NaOH</text>
|
||||
<text text-anchor="middle" x="120" y="-258.35" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">5-12% solution</text>
|
||||
</g>
|
||||
<!-- fiber_in->naoh_dissolve -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>fiber_in->naoh_dissolve</title>
|
||||
<path fill="none" stroke="#888888" d="M263.44,-359.32C234.33,-340.65 187.5,-310.63 155.32,-289.99"/>
|
||||
<polygon fill="#888888" stroke="#888888" points="156.96,-286.89 146.66,-284.44 153.19,-292.78 156.96,-286.89"/>
|
||||
<text text-anchor="middle" x="260" y="-333.15" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#aaaaaa">higher purity</text>
|
||||
<text text-anchor="middle" x="260" y="-323.15" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#aaaaaa">more waste</text>
|
||||
</g>
|
||||
<!-- citric_paper -->
|
||||
<g id="node5" class="node">
|
||||
<title>citric_paper</title>
|
||||
<polygon fill="#e65100" stroke="black" points="507,-284.35 407,-284.35 407,-248.35 507,-248.35 507,-284.35"/>
|
||||
<text text-anchor="middle" x="457" y="-269.35" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">spread fiber</text>
|
||||
<text text-anchor="middle" x="457" y="-258.35" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">press into sheets</text>
|
||||
</g>
|
||||
<!-- fiber_in->citric_paper -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>fiber_in->citric_paper</title>
|
||||
<path fill="none" stroke="#888888" d="M316.09,-359.32C344.69,-340.65 390.69,-310.63 422.3,-289.99"/>
|
||||
<polygon fill="#888888" stroke="#888888" points="424.35,-292.84 430.81,-284.44 420.53,-286.97 424.35,-292.84"/>
|
||||
<text text-anchor="middle" x="404" y="-333.15" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#aaaaaa">less waste</text>
|
||||
<text text-anchor="middle" x="404" y="-323.15" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#aaaaaa">simpler setup</text>
|
||||
</g>
|
||||
<!-- naoh_soak -->
|
||||
<g id="node3" class="node">
|
||||
<title>naoh_soak</title>
|
||||
<polygon fill="#1976d2" stroke="black" points="169,-211.35 47,-211.35 47,-170.35 169,-170.35 169,-211.35"/>
|
||||
<text text-anchor="middle" x="108" y="-199.35" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">soak fiber</text>
|
||||
<text text-anchor="middle" x="108" y="-188.35" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">80C for 2-3 hours</text>
|
||||
<text text-anchor="middle" x="108" y="-177.35" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">or room temp 4 hours</text>
|
||||
</g>
|
||||
<!-- naoh_dissolve->naoh_soak -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>naoh_dissolve->naoh_soak</title>
|
||||
<path fill="none" stroke="#888888" d="M117.22,-248.3C115.91,-240.29 114.31,-230.51 112.82,-221.35"/>
|
||||
<polygon fill="#888888" stroke="#888888" points="116.26,-220.71 111.19,-211.4 109.35,-221.83 116.26,-220.71"/>
|
||||
</g>
|
||||
<!-- naoh_filter -->
|
||||
<g id="node4" class="node">
|
||||
<title>naoh_filter</title>
|
||||
<polygon fill="#1e88e5" stroke="black" points="163,-130.14 71,-130.14 71,-94.14 163,-94.14 163,-130.14"/>
|
||||
<text text-anchor="middle" x="117" y="-115.14" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">filter & wash</text>
|
||||
<text text-anchor="middle" x="117" y="-104.14" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">until pH neutral</text>
|
||||
</g>
|
||||
<!-- naoh_soak->naoh_filter -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>naoh_soak->naoh_filter</title>
|
||||
<path fill="none" stroke="#888888" d="M110.32,-170.09C111.38,-161.03 112.66,-150.14 113.81,-140.32"/>
|
||||
<polygon fill="#888888" stroke="#888888" points="117.31,-140.56 115,-130.22 110.35,-139.74 117.31,-140.56"/>
|
||||
</g>
|
||||
<!-- waste_a -->
|
||||
<g id="node9" class="node">
|
||||
<title>waste_a</title>
|
||||
<ellipse fill="#37474f" stroke="black" cx="286" cy="-112.14" rx="101.23" ry="21.43"/>
|
||||
<text text-anchor="middle" x="286" y="-115.14" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#aaaaaa">NaOH waste liquor</text>
|
||||
<text text-anchor="middle" x="286" y="-104.14" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#aaaaaa">neutralize before disposal</text>
|
||||
</g>
|
||||
<!-- naoh_soak->waste_a -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>naoh_soak->waste_a</title>
|
||||
<path fill="none" stroke="#555555" stroke-dasharray="5,2" d="M153.38,-170.29C178.05,-159.66 208.68,-146.46 234.28,-135.43"/>
|
||||
<polygon fill="#555555" stroke="#555555" points="235.66,-138.64 243.46,-131.47 232.89,-132.21 235.66,-138.64"/>
|
||||
</g>
|
||||
<!-- cellulose_out -->
|
||||
<g id="node8" class="node">
|
||||
<title>cellulose_out</title>
|
||||
<polygon fill="#64b5f6" stroke="black" points="365.01,-17.46 365.01,-36.46 321.07,-49.89 258.93,-49.89 214.99,-36.46 214.99,-17.46 258.93,-4.03 321.07,-4.03 365.01,-17.46"/>
|
||||
<polygon fill="none" stroke="black" points="369.01,-14.51 369.01,-39.41 321.67,-53.88 258.33,-53.88 210.99,-39.41 210.99,-14.51 258.33,-0.04 321.67,-0.04 369.01,-14.51"/>
|
||||
<text text-anchor="middle" x="290" y="-29.96" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#1a1a2e">RAW CELLULOSE</text>
|
||||
<text text-anchor="middle" x="290" y="-18.96" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#1a1a2e">to Station 3</text>
|
||||
</g>
|
||||
<!-- naoh_filter->cellulose_out -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>naoh_filter->cellulose_out</title>
|
||||
<path fill="none" stroke="#888888" d="M152.43,-94.1C176.21,-82.67 208.03,-67.37 235.07,-54.37"/>
|
||||
<polygon fill="#888888" stroke="#888888" points="236.92,-57.36 244.42,-49.88 233.89,-51.05 236.92,-57.36"/>
|
||||
</g>
|
||||
<!-- citric_soak -->
|
||||
<g id="node6" class="node">
|
||||
<title>citric_soak</title>
|
||||
<polygon fill="#f57c00" stroke="black" points="520.5,-208.85 403.5,-208.85 403.5,-172.85 520.5,-172.85 520.5,-208.85"/>
|
||||
<text text-anchor="middle" x="462" y="-193.85" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">soak in</text>
|
||||
<text text-anchor="middle" x="462" y="-182.85" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">citric acid + glycerol</text>
|
||||
</g>
|
||||
<!-- citric_paper->citric_soak -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>citric_paper->citric_soak</title>
|
||||
<path fill="none" stroke="#888888" d="M458.16,-248.3C458.75,-239.64 459.48,-228.91 460.14,-219.14"/>
|
||||
<polygon fill="#888888" stroke="#888888" points="463.64,-219.27 460.83,-209.06 456.66,-218.8 463.64,-219.27"/>
|
||||
</g>
|
||||
<!-- citric_cure -->
|
||||
<g id="node7" class="node">
|
||||
<title>citric_cure</title>
|
||||
<polygon fill="#ff9800" stroke="black" points="500.5,-130.14 411.5,-130.14 411.5,-94.14 500.5,-94.14 500.5,-130.14"/>
|
||||
<text text-anchor="middle" x="456" y="-115.14" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">cure at 140C</text>
|
||||
<text text-anchor="middle" x="456" y="-104.14" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">under pressure</text>
|
||||
</g>
|
||||
<!-- citric_soak->citric_cure -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>citric_soak->citric_cure</title>
|
||||
<path fill="none" stroke="#888888" d="M460.67,-172.82C459.93,-163.35 458.99,-151.34 458.15,-140.58"/>
|
||||
<polygon fill="#888888" stroke="#888888" points="461.62,-140.07 457.35,-130.38 454.64,-140.62 461.62,-140.07"/>
|
||||
</g>
|
||||
<!-- citric_cure->cellulose_out -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>citric_cure->cellulose_out</title>
|
||||
<path fill="none" stroke="#888888" d="M422.01,-94.1C399.45,-82.8 369.37,-67.73 343.62,-54.83"/>
|
||||
<polygon fill="#888888" stroke="#888888" points="344.86,-51.54 334.35,-50.18 341.73,-57.79 344.86,-51.54"/>
|
||||
</g>
|
||||
<!-- note_citric -->
|
||||
<g id="node10" class="node">
|
||||
<title>note_citric</title>
|
||||
<polygon fill="#263238" stroke="black" points="474,-396.35 358,-396.35 358,-358.35 480,-358.35 480,-390.35 474,-396.35"/>
|
||||
<polyline fill="none" stroke="black" points="474,-396.35 474,-390.35 "/>
|
||||
<polyline fill="none" stroke="black" points="480,-390.35 474,-390.35 "/>
|
||||
<text text-anchor="middle" x="419" y="-385.15" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#cddc39">citric acid path</text>
|
||||
<text text-anchor="middle" x="419" y="-375.15" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#cddc39">produces less waste</text>
|
||||
<text text-anchor="middle" x="419" y="-365.15" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#cddc39">& avoids NaOH hazards</text>
|
||||
</g>
|
||||
<!-- rotation -->
|
||||
<g id="node11" class="node">
|
||||
<title>rotation</title>
|
||||
<polygon fill="#263238" stroke="black" points="617.5,-396.35 498.5,-396.35 498.5,-358.35 623.5,-358.35 623.5,-390.35 617.5,-396.35"/>
|
||||
<polyline fill="none" stroke="black" points="617.5,-396.35 617.5,-390.35 "/>
|
||||
<polyline fill="none" stroke="black" points="623.5,-390.35 617.5,-390.35 "/>
|
||||
<text text-anchor="middle" x="561" y="-385.15" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#cddc39">continuous operation:</text>
|
||||
<text text-anchor="middle" x="561" y="-375.15" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#cddc39">3-4 reaction vessels</text>
|
||||
<text text-anchor="middle" x="561" y="-365.15" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#cddc39">rotating through stages</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 11 KiB |
33
hemp-bioplastic/process/factory/img/factory-flow.dot
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
digraph factory_flow {
|
||||
bgcolor="#1a1a2e"
|
||||
rankdir=TB
|
||||
node [fontname="Helvetica" fontsize=10 style=filled shape=box]
|
||||
edge [color="#888888" fontname="Helvetica" fontsize=9 fontcolor="#aaaaaa"]
|
||||
|
||||
label=<<B><FONT COLOR="#cccccc" POINT-SIZE="14">continuous-flow bioplastic factory: 7 stations</FONT></B>>
|
||||
labelloc=t
|
||||
|
||||
s1 [label="STATION 1\nFiber Intake & Prep\nhemp, nettle, wood refuse" fillcolor="#2E7D32" fontcolor="white"]
|
||||
s2 [label="STATION 2\nExtraction\nNaOH or citric acid" fillcolor="#1565C0" fontcolor="white"]
|
||||
s3 [label="STATION 3\nWashing & Drying\ncounter-current wash" fillcolor="#1976D2" fontcolor="white"]
|
||||
s4 [label="STATION 4\nMixing\ncellulose + glycerol + pigment" fillcolor="#7B1FA2" fontcolor="white"]
|
||||
s5 [label="STATION 5\nPressing & Molding\nhot press 150-240C" fillcolor="#E65100" fontcolor="white"]
|
||||
s6 [label="STATION 6\nFinishing\ntrim, inspect, stamp" fillcolor="#FF9800" fontcolor="white"]
|
||||
s7 [label="COMPOST DEMO\ndisplay only\nhot aerobic 60-70C" fillcolor="#795548" fontcolor="white"]
|
||||
|
||||
s1 -> s2 [label="prepared\nfiber"]
|
||||
s2 -> s3 [label="raw\ncellulose"]
|
||||
s3 -> s4 [label="dry\ncellulose"]
|
||||
s4 -> s5 [label="mixed\ncompound"]
|
||||
s5 -> s6 [label="pressed\nproducts"]
|
||||
s6 -> s7 [label="demo\nsamples"]
|
||||
|
||||
fiber [label="local fiber sources\nhemp, nettle, wood refuse" fillcolor="#263238" fontcolor="#CDDC39" shape=note fontsize=9]
|
||||
fiber -> s1 [style=dashed color="#66BB6A"]
|
||||
|
||||
products [label="durable products\nkitchen, garden, storage\nyears of daily use" fillcolor="#263238" fontcolor="#CDDC39" shape=note fontsize=9]
|
||||
s6 -> products [style=dashed color="#FFC107"]
|
||||
|
||||
compost [label="end of life\nhot aerobic compost only\n60-70C, 12-24 weeks" fillcolor="#263238" fontcolor="#CDDC39" shape=note fontsize=9]
|
||||
s7 -> compost [style=dashed color="#795548"]
|
||||
}
|
||||
BIN
hemp-bioplastic/process/factory/img/factory-flow.png
Normal file
|
After Width: | Height: | Size: 61 KiB |
165
hemp-bioplastic/process/factory/img/factory-flow.svg
Normal file
|
|
@ -0,0 +1,165 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.43.0 (0)
|
||||
-->
|
||||
<!-- Title: factory_flow Pages: 1 -->
|
||||
<svg width="379pt" height="802pt"
|
||||
viewBox="0.00 0.00 379.00 802.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 798)">
|
||||
<title>factory_flow</title>
|
||||
<polygon fill="#1a1a2e" stroke="transparent" points="-4,4 -4,-798 375,-798 375,4 -4,4"/>
|
||||
<text text-anchor="start" x="8" y="-779.8" font-family="Times,serif" font-weight="bold" font-size="14.00" fill="#cccccc">continuous-flow bioplastic factory: 7 stations</text>
|
||||
<!-- s1 -->
|
||||
<g id="node1" class="node">
|
||||
<title>s1</title>
|
||||
<polygon fill="#2e7d32" stroke="black" points="259.25,-698 114.25,-698 114.25,-657 259.25,-657 259.25,-698"/>
|
||||
<text text-anchor="middle" x="186.75" y="-686" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">STATION 1</text>
|
||||
<text text-anchor="middle" x="186.75" y="-675" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">Fiber Intake & Prep</text>
|
||||
<text text-anchor="middle" x="186.75" y="-664" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">hemp, nettle, wood refuse</text>
|
||||
</g>
|
||||
<!-- s2 -->
|
||||
<g id="node2" class="node">
|
||||
<title>s2</title>
|
||||
<polygon fill="#1565c0" stroke="black" points="240.75,-601 132.75,-601 132.75,-560 240.75,-560 240.75,-601"/>
|
||||
<text text-anchor="middle" x="186.75" y="-589" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">STATION 2</text>
|
||||
<text text-anchor="middle" x="186.75" y="-578" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">Extraction</text>
|
||||
<text text-anchor="middle" x="186.75" y="-567" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">NaOH or citric acid</text>
|
||||
</g>
|
||||
<!-- s1->s2 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>s1->s2</title>
|
||||
<path fill="none" stroke="#888888" d="M186.75,-656.82C186.75,-643.7 186.75,-626.2 186.75,-611.38"/>
|
||||
<polygon fill="#888888" stroke="#888888" points="190.25,-611.16 186.75,-601.16 183.25,-611.16 190.25,-611.16"/>
|
||||
<text text-anchor="middle" x="207.75" y="-631.8" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#aaaaaa">prepared</text>
|
||||
<text text-anchor="middle" x="207.75" y="-621.8" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#aaaaaa">fiber</text>
|
||||
</g>
|
||||
<!-- s3 -->
|
||||
<g id="node3" class="node">
|
||||
<title>s3</title>
|
||||
<polygon fill="#1976d2" stroke="black" points="246.75,-504 126.75,-504 126.75,-463 246.75,-463 246.75,-504"/>
|
||||
<text text-anchor="middle" x="186.75" y="-492" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">STATION 3</text>
|
||||
<text text-anchor="middle" x="186.75" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">Washing & Drying</text>
|
||||
<text text-anchor="middle" x="186.75" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">counter-current wash</text>
|
||||
</g>
|
||||
<!-- s2->s3 -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>s2->s3</title>
|
||||
<path fill="none" stroke="#888888" d="M186.75,-559.82C186.75,-546.7 186.75,-529.2 186.75,-514.38"/>
|
||||
<polygon fill="#888888" stroke="#888888" points="190.25,-514.16 186.75,-504.16 183.25,-514.16 190.25,-514.16"/>
|
||||
<text text-anchor="middle" x="206.25" y="-534.8" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#aaaaaa">raw</text>
|
||||
<text text-anchor="middle" x="206.25" y="-524.8" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#aaaaaa">cellulose</text>
|
||||
</g>
|
||||
<!-- s4 -->
|
||||
<g id="node4" class="node">
|
||||
<title>s4</title>
|
||||
<polygon fill="#7b1fa2" stroke="black" points="270.75,-407 102.75,-407 102.75,-366 270.75,-366 270.75,-407"/>
|
||||
<text text-anchor="middle" x="186.75" y="-395" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">STATION 4</text>
|
||||
<text text-anchor="middle" x="186.75" y="-384" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">Mixing</text>
|
||||
<text text-anchor="middle" x="186.75" y="-373" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">cellulose + glycerol + pigment</text>
|
||||
</g>
|
||||
<!-- s3->s4 -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>s3->s4</title>
|
||||
<path fill="none" stroke="#888888" d="M186.75,-462.82C186.75,-449.7 186.75,-432.2 186.75,-417.38"/>
|
||||
<polygon fill="#888888" stroke="#888888" points="190.25,-417.16 186.75,-407.16 183.25,-417.16 190.25,-417.16"/>
|
||||
<text text-anchor="middle" x="206.25" y="-437.8" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#aaaaaa">dry</text>
|
||||
<text text-anchor="middle" x="206.25" y="-427.8" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#aaaaaa">cellulose</text>
|
||||
</g>
|
||||
<!-- s5 -->
|
||||
<g id="node5" class="node">
|
||||
<title>s5</title>
|
||||
<polygon fill="#e65100" stroke="black" points="242.25,-310 131.25,-310 131.25,-269 242.25,-269 242.25,-310"/>
|
||||
<text text-anchor="middle" x="186.75" y="-298" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">STATION 5</text>
|
||||
<text text-anchor="middle" x="186.75" y="-287" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">Pressing & Molding</text>
|
||||
<text text-anchor="middle" x="186.75" y="-276" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">hot press 150-240C</text>
|
||||
</g>
|
||||
<!-- s4->s5 -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>s4->s5</title>
|
||||
<path fill="none" stroke="#888888" d="M186.75,-365.82C186.75,-352.7 186.75,-335.2 186.75,-320.38"/>
|
||||
<polygon fill="#888888" stroke="#888888" points="190.25,-320.16 186.75,-310.16 183.25,-320.16 190.25,-320.16"/>
|
||||
<text text-anchor="middle" x="211.25" y="-340.8" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#aaaaaa">mixed</text>
|
||||
<text text-anchor="middle" x="211.25" y="-330.8" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#aaaaaa">compound</text>
|
||||
</g>
|
||||
<!-- s6 -->
|
||||
<g id="node6" class="node">
|
||||
<title>s6</title>
|
||||
<polygon fill="#ff9800" stroke="black" points="244.25,-213 129.25,-213 129.25,-172 244.25,-172 244.25,-213"/>
|
||||
<text text-anchor="middle" x="186.75" y="-201" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">STATION 6</text>
|
||||
<text text-anchor="middle" x="186.75" y="-190" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">Finishing</text>
|
||||
<text text-anchor="middle" x="186.75" y="-179" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">trim, inspect, stamp</text>
|
||||
</g>
|
||||
<!-- s5->s6 -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>s5->s6</title>
|
||||
<path fill="none" stroke="#888888" d="M186.75,-268.82C186.75,-255.7 186.75,-238.2 186.75,-223.38"/>
|
||||
<polygon fill="#888888" stroke="#888888" points="190.25,-223.16 186.75,-213.16 183.25,-223.16 190.25,-223.16"/>
|
||||
<text text-anchor="middle" x="207.25" y="-243.8" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#aaaaaa">pressed</text>
|
||||
<text text-anchor="middle" x="207.25" y="-233.8" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#aaaaaa">products</text>
|
||||
</g>
|
||||
<!-- s7 -->
|
||||
<g id="node7" class="node">
|
||||
<title>s7</title>
|
||||
<polygon fill="#795548" stroke="black" points="172.25,-116 63.25,-116 63.25,-75 172.25,-75 172.25,-116"/>
|
||||
<text text-anchor="middle" x="117.75" y="-104" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">COMPOST DEMO</text>
|
||||
<text text-anchor="middle" x="117.75" y="-93" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">display only</text>
|
||||
<text text-anchor="middle" x="117.75" y="-82" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">hot aerobic 60-70C</text>
|
||||
</g>
|
||||
<!-- s6->s7 -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>s6->s7</title>
|
||||
<path fill="none" stroke="#888888" d="M172.45,-171.82C162.55,-158.19 149.23,-139.84 138.21,-124.67"/>
|
||||
<polygon fill="#888888" stroke="#888888" points="140.74,-122.19 132.03,-116.16 135.07,-126.31 140.74,-122.19"/>
|
||||
<text text-anchor="middle" x="177.25" y="-146.8" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#aaaaaa">demo</text>
|
||||
<text text-anchor="middle" x="177.25" y="-136.8" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#aaaaaa">samples</text>
|
||||
</g>
|
||||
<!-- products -->
|
||||
<g id="node9" class="node">
|
||||
<title>products</title>
|
||||
<polygon fill="#263238" stroke="black" points="312.75,-114.5 190.75,-114.5 190.75,-76.5 318.75,-76.5 318.75,-108.5 312.75,-114.5"/>
|
||||
<polyline fill="none" stroke="black" points="312.75,-114.5 312.75,-108.5 "/>
|
||||
<polyline fill="none" stroke="black" points="318.75,-108.5 312.75,-108.5 "/>
|
||||
<text text-anchor="middle" x="254.75" y="-103.3" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#cddc39">durable products</text>
|
||||
<text text-anchor="middle" x="254.75" y="-93.3" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#cddc39">kitchen, garden, storage</text>
|
||||
<text text-anchor="middle" x="254.75" y="-83.3" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#cddc39">years of daily use</text>
|
||||
</g>
|
||||
<!-- s6->products -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>s6->products</title>
|
||||
<path fill="none" stroke="#ffc107" stroke-dasharray="5,2" d="M200.84,-171.82C211.01,-157.6 224.86,-138.25 235.98,-122.73"/>
|
||||
<polygon fill="#ffc107" stroke="#ffc107" points="238.85,-124.72 241.83,-114.55 233.16,-120.65 238.85,-124.72"/>
|
||||
</g>
|
||||
<!-- compost -->
|
||||
<g id="node10" class="node">
|
||||
<title>compost</title>
|
||||
<polygon fill="#263238" stroke="black" points="177.25,-38 52.25,-38 52.25,0 183.25,0 183.25,-32 177.25,-38"/>
|
||||
<polyline fill="none" stroke="black" points="177.25,-38 177.25,-32 "/>
|
||||
<polyline fill="none" stroke="black" points="183.25,-32 177.25,-32 "/>
|
||||
<text text-anchor="middle" x="117.75" y="-26.8" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#cddc39">end of life</text>
|
||||
<text text-anchor="middle" x="117.75" y="-16.8" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#cddc39">hot aerobic compost only</text>
|
||||
<text text-anchor="middle" x="117.75" y="-6.8" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#cddc39">60-70C, 12-24 weeks</text>
|
||||
</g>
|
||||
<!-- s7->compost -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>s7->compost</title>
|
||||
<path fill="none" stroke="#795548" stroke-dasharray="5,2" d="M117.75,-74.93C117.75,-66.83 117.75,-57.29 117.75,-48.46"/>
|
||||
<polygon fill="#795548" stroke="#795548" points="121.25,-48.17 117.75,-38.17 114.25,-48.17 121.25,-48.17"/>
|
||||
</g>
|
||||
<!-- fiber -->
|
||||
<g id="node8" class="node">
|
||||
<title>fiber</title>
|
||||
<polygon fill="#263238" stroke="black" points="248.75,-771 118.75,-771 118.75,-735 254.75,-735 254.75,-765 248.75,-771"/>
|
||||
<polyline fill="none" stroke="black" points="248.75,-771 248.75,-765 "/>
|
||||
<polyline fill="none" stroke="black" points="254.75,-765 248.75,-765 "/>
|
||||
<text text-anchor="middle" x="186.75" y="-755.8" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#cddc39">local fiber sources</text>
|
||||
<text text-anchor="middle" x="186.75" y="-745.8" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#cddc39">hemp, nettle, wood refuse</text>
|
||||
</g>
|
||||
<!-- fiber->s1 -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>fiber->s1</title>
|
||||
<path fill="none" stroke="#66bb6a" stroke-dasharray="5,2" d="M186.75,-734.95C186.75,-727.03 186.75,-717.37 186.75,-708.29"/>
|
||||
<polygon fill="#66bb6a" stroke="#66bb6a" points="190.25,-708.05 186.75,-698.05 183.25,-708.05 190.25,-708.05"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 11 KiB |
50
hemp-bioplastic/process/factory/img/fiber-intake.dot
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
digraph fiber_intake {
|
||||
bgcolor="#1a1a2e"
|
||||
rankdir=TB
|
||||
node [fontname="Helvetica" fontsize=10 style=filled shape=box]
|
||||
edge [color="#888888" fontname="Helvetica" fontsize=9 fontcolor="#aaaaaa"]
|
||||
|
||||
label=<<B><FONT COLOR="#cccccc" POINT-SIZE="14">station 1: fiber intake & prep</FONT></B>>
|
||||
labelloc=t
|
||||
|
||||
subgraph cluster_hemp {
|
||||
label="HEMP" fontcolor="#4CAF50" fontsize=11 fontname="Helvetica Bold"
|
||||
color="#4CAF50" style=dashed
|
||||
|
||||
hemp_in [label="hemp stalks\nbast fiber, 77% cellulose" fillcolor="#2E7D32" fontcolor="white"]
|
||||
hemp_ret [label="ret 3-45 days\nor water ret 10 days" fillcolor="#388E3C" fontcolor="white"]
|
||||
hemp_dec [label="decorticate\nseparate bast from hurd" fillcolor="#43A047" fontcolor="white"]
|
||||
hemp_in -> hemp_ret -> hemp_dec
|
||||
}
|
||||
|
||||
subgraph cluster_nettle {
|
||||
label="NETTLE" fontcolor="#66BB6A" fontsize=11 fontname="Helvetica Bold"
|
||||
color="#66BB6A" style=dashed
|
||||
|
||||
nettle_in [label="nettle stalks\nbast fiber, 65% cellulose" fillcolor="#2E7D32" fontcolor="white"]
|
||||
nettle_ret [label="water ret 7-14 days\nfaster than hemp" fillcolor="#388E3C" fontcolor="white"]
|
||||
nettle_dec [label="strip bast fiber\nby hand or machine" fillcolor="#43A047" fontcolor="white"]
|
||||
nettle_in -> nettle_ret -> nettle_dec
|
||||
}
|
||||
|
||||
subgraph cluster_wood {
|
||||
label="WOOD REFUSE" fontcolor="#8D6E63" fontsize=11 fontname="Helvetica Bold"
|
||||
color="#8D6E63" style=dashed
|
||||
|
||||
wood_in [label="sawmill offcuts\nchips, shavings, dust" fillcolor="#4E342E" fontcolor="white"]
|
||||
wood_chip [label="chip to uniform size\n2-5 mm pieces" fillcolor="#5D4037" fontcolor="white"]
|
||||
wood_sort [label="remove bark, knots\nsort by species" fillcolor="#6D4C41" fontcolor="white"]
|
||||
wood_in -> wood_chip -> wood_sort
|
||||
}
|
||||
|
||||
chop [label="chop to 2-3 cm\nuniform fiber length" fillcolor="#66BB6A" fontcolor="white"]
|
||||
weigh [label="weigh & batch\nrecord fiber source ratio" fillcolor="#81C784" fontcolor="#1a1a2e"]
|
||||
prepared [label="PREPARED FIBER\nready for extraction" fillcolor="#A5D6A7" fontcolor="#1a1a2e" shape=doubleoctagon]
|
||||
|
||||
hemp_dec -> chop
|
||||
nettle_dec -> chop
|
||||
wood_sort -> chop
|
||||
chop -> weigh -> prepared
|
||||
|
||||
equip [label="equipment:\ndecorticator, chopper\nretting tanks, sorting table\nscale" fillcolor="#263238" fontcolor="#CDDC39" shape=note fontsize=9]
|
||||
}
|
||||
BIN
hemp-bioplastic/process/factory/img/fiber-intake.png
Normal file
|
After Width: | Height: | Size: 61 KiB |
191
hemp-bioplastic/process/factory/img/fiber-intake.svg
Normal file
|
|
@ -0,0 +1,191 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.43.0 (0)
|
||||
-->
|
||||
<!-- Title: fiber_intake Pages: 1 -->
|
||||
<svg width="624pt" height="487pt"
|
||||
viewBox="0.00 0.00 624.00 486.92" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 482.92)">
|
||||
<title>fiber_intake</title>
|
||||
<polygon fill="#1a1a2e" stroke="transparent" points="-4,4 -4,-482.92 620,-482.92 620,4 -4,4"/>
|
||||
<text text-anchor="start" x="193.5" y="-464.72" font-family="Times,serif" font-weight="bold" font-size="14.00" fill="#cccccc">station 1: fiber intake & prep</text>
|
||||
<g id="clust1" class="cluster">
|
||||
<title>cluster_hemp</title>
|
||||
<polygon fill="#1a1a2e" stroke="#4caf50" stroke-dasharray="5,2" points="8,-225.92 8,-447.92 162,-447.92 162,-225.92 8,-225.92"/>
|
||||
<text text-anchor="middle" x="85" y="-435.12" font-family="Helvetica Bold" font-size="11.00" fill="#4caf50">HEMP</text>
|
||||
</g>
|
||||
<g id="clust2" class="cluster">
|
||||
<title>cluster_nettle</title>
|
||||
<polygon fill="#1a1a2e" stroke="#66bb6a" stroke-dasharray="5,2" points="170,-225.92 170,-447.92 324,-447.92 324,-225.92 170,-225.92"/>
|
||||
<text text-anchor="middle" x="247" y="-435.12" font-family="Helvetica Bold" font-size="11.00" fill="#66bb6a">NETTLE</text>
|
||||
</g>
|
||||
<g id="clust3" class="cluster">
|
||||
<title>cluster_wood</title>
|
||||
<polygon fill="#1a1a2e" stroke="#8d6e63" stroke-dasharray="5,2" points="332,-225.92 332,-447.92 468,-447.92 468,-225.92 332,-225.92"/>
|
||||
<text text-anchor="middle" x="400" y="-435.12" font-family="Helvetica Bold" font-size="11.00" fill="#8d6e63">WOOD REFUSE</text>
|
||||
</g>
|
||||
<!-- hemp_in -->
|
||||
<g id="node1" class="node">
|
||||
<title>hemp_in</title>
|
||||
<polygon fill="#2e7d32" stroke="black" points="153.5,-419.92 16.5,-419.92 16.5,-383.92 153.5,-383.92 153.5,-419.92"/>
|
||||
<text text-anchor="middle" x="85" y="-404.92" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">hemp stalks</text>
|
||||
<text text-anchor="middle" x="85" y="-393.92" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">bast fiber, 77% cellulose</text>
|
||||
</g>
|
||||
<!-- hemp_ret -->
|
||||
<g id="node2" class="node">
|
||||
<title>hemp_ret</title>
|
||||
<polygon fill="#388e3c" stroke="black" points="142.5,-341.92 27.5,-341.92 27.5,-305.92 142.5,-305.92 142.5,-341.92"/>
|
||||
<text text-anchor="middle" x="85" y="-326.92" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">ret 3-45 days</text>
|
||||
<text text-anchor="middle" x="85" y="-315.92" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">or water ret 10 days</text>
|
||||
</g>
|
||||
<!-- hemp_in->hemp_ret -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>hemp_in->hemp_ret</title>
|
||||
<path fill="none" stroke="#888888" d="M85,-383.68C85,-374.45 85,-362.86 85,-352.42"/>
|
||||
<polygon fill="#888888" stroke="#888888" points="88.5,-352.1 85,-342.1 81.5,-352.1 88.5,-352.1"/>
|
||||
</g>
|
||||
<!-- hemp_dec -->
|
||||
<g id="node3" class="node">
|
||||
<title>hemp_dec</title>
|
||||
<polygon fill="#43a047" stroke="black" points="153,-269.92 19,-269.92 19,-233.92 153,-233.92 153,-269.92"/>
|
||||
<text text-anchor="middle" x="86" y="-254.92" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">decorticate</text>
|
||||
<text text-anchor="middle" x="86" y="-243.92" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">separate bast from hurd</text>
|
||||
</g>
|
||||
<!-- hemp_ret->hemp_dec -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>hemp_ret->hemp_dec</title>
|
||||
<path fill="none" stroke="#888888" d="M85.25,-305.62C85.36,-297.9 85.49,-288.63 85.61,-280.03"/>
|
||||
<polygon fill="#888888" stroke="#888888" points="89.11,-280.08 85.76,-270.03 82.11,-279.98 89.11,-280.08"/>
|
||||
</g>
|
||||
<!-- chop -->
|
||||
<g id="node10" class="node">
|
||||
<title>chop</title>
|
||||
<polygon fill="#66bb6a" stroke="black" points="303.5,-197.92 190.5,-197.92 190.5,-161.92 303.5,-161.92 303.5,-197.92"/>
|
||||
<text text-anchor="middle" x="247" y="-182.92" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">chop to 2-3 cm</text>
|
||||
<text text-anchor="middle" x="247" y="-171.92" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">uniform fiber length</text>
|
||||
</g>
|
||||
<!-- hemp_dec->chop -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>hemp_dec->chop</title>
|
||||
<path fill="none" stroke="#888888" d="M125.39,-233.8C147.39,-224.23 175.01,-212.22 198.36,-202.07"/>
|
||||
<polygon fill="#888888" stroke="#888888" points="199.97,-205.19 207.74,-197.99 197.18,-198.77 199.97,-205.19"/>
|
||||
</g>
|
||||
<!-- nettle_in -->
|
||||
<g id="node4" class="node">
|
||||
<title>nettle_in</title>
|
||||
<polygon fill="#2e7d32" stroke="black" points="315.5,-419.92 178.5,-419.92 178.5,-383.92 315.5,-383.92 315.5,-419.92"/>
|
||||
<text text-anchor="middle" x="247" y="-404.92" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">nettle stalks</text>
|
||||
<text text-anchor="middle" x="247" y="-393.92" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">bast fiber, 65% cellulose</text>
|
||||
</g>
|
||||
<!-- nettle_ret -->
|
||||
<g id="node5" class="node">
|
||||
<title>nettle_ret</title>
|
||||
<polygon fill="#388e3c" stroke="black" points="303,-341.92 191,-341.92 191,-305.92 303,-305.92 303,-341.92"/>
|
||||
<text text-anchor="middle" x="247" y="-326.92" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">water ret 7-14 days</text>
|
||||
<text text-anchor="middle" x="247" y="-315.92" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">faster than hemp</text>
|
||||
</g>
|
||||
<!-- nettle_in->nettle_ret -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>nettle_in->nettle_ret</title>
|
||||
<path fill="none" stroke="#888888" d="M247,-383.68C247,-374.45 247,-362.86 247,-352.42"/>
|
||||
<polygon fill="#888888" stroke="#888888" points="250.5,-352.1 247,-342.1 243.5,-352.1 250.5,-352.1"/>
|
||||
</g>
|
||||
<!-- nettle_dec -->
|
||||
<g id="node6" class="node">
|
||||
<title>nettle_dec</title>
|
||||
<polygon fill="#43a047" stroke="black" points="303.5,-269.92 190.5,-269.92 190.5,-233.92 303.5,-233.92 303.5,-269.92"/>
|
||||
<text text-anchor="middle" x="247" y="-254.92" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">strip bast fiber</text>
|
||||
<text text-anchor="middle" x="247" y="-243.92" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">by hand or machine</text>
|
||||
</g>
|
||||
<!-- nettle_ret->nettle_dec -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>nettle_ret->nettle_dec</title>
|
||||
<path fill="none" stroke="#888888" d="M247,-305.62C247,-297.9 247,-288.63 247,-280.03"/>
|
||||
<polygon fill="#888888" stroke="#888888" points="250.5,-280.03 247,-270.03 243.5,-280.03 250.5,-280.03"/>
|
||||
</g>
|
||||
<!-- nettle_dec->chop -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>nettle_dec->chop</title>
|
||||
<path fill="none" stroke="#888888" d="M247,-233.62C247,-225.9 247,-216.63 247,-208.03"/>
|
||||
<polygon fill="#888888" stroke="#888888" points="250.5,-208.03 247,-198.03 243.5,-208.03 250.5,-208.03"/>
|
||||
</g>
|
||||
<!-- wood_in -->
|
||||
<g id="node7" class="node">
|
||||
<title>wood_in</title>
|
||||
<polygon fill="#4e342e" stroke="black" points="459.5,-419.92 340.5,-419.92 340.5,-383.92 459.5,-383.92 459.5,-419.92"/>
|
||||
<text text-anchor="middle" x="400" y="-404.92" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">sawmill offcuts</text>
|
||||
<text text-anchor="middle" x="400" y="-393.92" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">chips, shavings, dust</text>
|
||||
</g>
|
||||
<!-- wood_chip -->
|
||||
<g id="node8" class="node">
|
||||
<title>wood_chip</title>
|
||||
<polygon fill="#5d4037" stroke="black" points="454.5,-341.92 341.5,-341.92 341.5,-305.92 454.5,-305.92 454.5,-341.92"/>
|
||||
<text text-anchor="middle" x="398" y="-326.92" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">chip to uniform size</text>
|
||||
<text text-anchor="middle" x="398" y="-315.92" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">2-5 mm pieces</text>
|
||||
</g>
|
||||
<!-- wood_in->wood_chip -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>wood_in->wood_chip</title>
|
||||
<path fill="none" stroke="#888888" d="M399.55,-383.68C399.3,-374.45 399,-362.86 398.72,-352.42"/>
|
||||
<polygon fill="#888888" stroke="#888888" points="402.21,-352 398.45,-342.1 395.22,-352.19 402.21,-352"/>
|
||||
</g>
|
||||
<!-- wood_sort -->
|
||||
<g id="node9" class="node">
|
||||
<title>wood_sort</title>
|
||||
<polygon fill="#6d4c41" stroke="black" points="453,-269.92 341,-269.92 341,-233.92 453,-233.92 453,-269.92"/>
|
||||
<text text-anchor="middle" x="397" y="-254.92" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">remove bark, knots</text>
|
||||
<text text-anchor="middle" x="397" y="-243.92" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">sort by species</text>
|
||||
</g>
|
||||
<!-- wood_chip->wood_sort -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>wood_chip->wood_sort</title>
|
||||
<path fill="none" stroke="#888888" d="M397.75,-305.62C397.64,-297.9 397.51,-288.63 397.39,-280.03"/>
|
||||
<polygon fill="#888888" stroke="#888888" points="400.89,-279.98 397.24,-270.03 393.89,-280.08 400.89,-279.98"/>
|
||||
</g>
|
||||
<!-- wood_sort->chop -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>wood_sort->chop</title>
|
||||
<path fill="none" stroke="#888888" d="M360.31,-233.8C339.98,-224.31 314.53,-212.44 292.9,-202.34"/>
|
||||
<polygon fill="#888888" stroke="#888888" points="294.12,-199.05 283.57,-197.99 291.16,-205.39 294.12,-199.05"/>
|
||||
</g>
|
||||
<!-- weigh -->
|
||||
<g id="node11" class="node">
|
||||
<title>weigh</title>
|
||||
<polygon fill="#81c784" stroke="black" points="313.5,-125.92 180.5,-125.92 180.5,-89.92 313.5,-89.92 313.5,-125.92"/>
|
||||
<text text-anchor="middle" x="247" y="-110.92" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#1a1a2e">weigh & batch</text>
|
||||
<text text-anchor="middle" x="247" y="-99.92" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#1a1a2e">record fiber source ratio</text>
|
||||
</g>
|
||||
<!-- chop->weigh -->
|
||||
<g id="edge10" class="edge">
|
||||
<title>chop->weigh</title>
|
||||
<path fill="none" stroke="#888888" d="M247,-161.62C247,-153.9 247,-144.63 247,-136.03"/>
|
||||
<polygon fill="#888888" stroke="#888888" points="250.5,-136.03 247,-126.03 243.5,-136.03 250.5,-136.03"/>
|
||||
</g>
|
||||
<!-- prepared -->
|
||||
<g id="node12" class="node">
|
||||
<title>prepared</title>
|
||||
<polygon fill="#a5d6a7" stroke="black" points="333.47,-17.46 333.47,-36.46 282.82,-49.89 211.18,-49.89 160.53,-36.46 160.53,-17.46 211.18,-4.03 282.82,-4.03 333.47,-17.46"/>
|
||||
<polygon fill="none" stroke="black" points="337.47,-14.39 337.47,-39.53 283.34,-53.88 210.66,-53.88 156.53,-39.53 156.53,-14.39 210.66,-0.04 283.34,-0.04 337.47,-14.39"/>
|
||||
<text text-anchor="middle" x="247" y="-29.96" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#1a1a2e">PREPARED FIBER</text>
|
||||
<text text-anchor="middle" x="247" y="-18.96" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#1a1a2e">ready for extraction</text>
|
||||
</g>
|
||||
<!-- weigh->prepared -->
|
||||
<g id="edge11" class="edge">
|
||||
<title>weigh->prepared</title>
|
||||
<path fill="none" stroke="#888888" d="M247,-89.79C247,-82.29 247,-73.19 247,-64.3"/>
|
||||
<polygon fill="#888888" stroke="#888888" points="250.5,-64.07 247,-54.07 243.5,-64.07 250.5,-64.07"/>
|
||||
</g>
|
||||
<!-- equip -->
|
||||
<g id="node13" class="node">
|
||||
<title>equip</title>
|
||||
<polygon fill="#263238" stroke="black" points="610,-425.92 478,-425.92 478,-377.92 616,-377.92 616,-419.92 610,-425.92"/>
|
||||
<polyline fill="none" stroke="black" points="610,-425.92 610,-419.92 "/>
|
||||
<polyline fill="none" stroke="black" points="616,-419.92 610,-419.92 "/>
|
||||
<text text-anchor="middle" x="547" y="-414.72" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#cddc39">equipment:</text>
|
||||
<text text-anchor="middle" x="547" y="-404.72" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#cddc39">decorticator, chopper</text>
|
||||
<text text-anchor="middle" x="547" y="-394.72" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#cddc39">retting tanks, sorting table</text>
|
||||
<text text-anchor="middle" x="547" y="-384.72" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#cddc39">scale</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 12 KiB |
40
hemp-bioplastic/process/factory/img/pressing-station.dot
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
digraph pressing_station {
|
||||
bgcolor="#1a1a2e"
|
||||
rankdir=LR
|
||||
node [fontname="Helvetica" fontsize=10 style=filled shape=box]
|
||||
edge [color="#888888" fontname="Helvetica" fontsize=9 fontcolor="#aaaaaa"]
|
||||
|
||||
label=<<B><FONT COLOR="#cccccc" POINT-SIZE="14">station 5: pressing & mold rotation</FONT></B>>
|
||||
labelloc=t
|
||||
|
||||
compound [label="MIXED COMPOUND\nfrom Station 4" fillcolor="#7B1FA2" fontcolor="white"]
|
||||
|
||||
subgraph cluster_rotation {
|
||||
label="MOLD ROTATION CYCLE" fontcolor="#FF9800" fontsize=11 fontname="Helvetica Bold"
|
||||
color="#FF9800" style=dashed
|
||||
|
||||
load [label="LOAD\nfill mold with compound\ncompress, add lid" fillcolor="#E65100" fontcolor="white"]
|
||||
cure [label="CURE\nhot press 150-240C\n10-30 min under pressure" fillcolor="#FF6F00" fontcolor="white"]
|
||||
cool [label="COOL\nslow cool in mold\nprevent cracking" fillcolor="#FF9800" fontcolor="white"]
|
||||
demold [label="DEMOLD\nrelease product\nclean mold for reuse" fillcolor="#FFC107" fontcolor="#1a1a2e"]
|
||||
|
||||
load -> cure -> cool -> demold
|
||||
demold -> load [label="mold returns\nto loading" style=dashed color="#FFC107"]
|
||||
}
|
||||
|
||||
compound -> load
|
||||
|
||||
products [label="PRESSED PRODUCTS\nto Station 6" fillcolor="#FFC107" fontcolor="#1a1a2e" shape=doubleoctagon]
|
||||
demold -> products
|
||||
|
||||
subgraph cluster_molds {
|
||||
label="PRODUCT MOLDS" fontcolor="#aaaaaa" fontsize=11 fontname="Helvetica Bold"
|
||||
color="#555555" style=dashed
|
||||
|
||||
bowls [label="bowls & plates\n150-180C, 20 min" fillcolor="#E65100" fontcolor="white"]
|
||||
pots [label="garden pots\n160-200C, 25 min" fillcolor="#F57C00" fontcolor="white"]
|
||||
boxes [label="storage boxes\n180-240C, 30 min" fillcolor="#FF9800" fontcolor="white"]
|
||||
}
|
||||
|
||||
note [label="multiple mold sets\nrotate through cycle\n4-6 presses per day\nper mold" fillcolor="#263238" fontcolor="#CDDC39" shape=note fontsize=9]
|
||||
}
|
||||
BIN
hemp-bioplastic/process/factory/img/pressing-station.png
Normal file
|
After Width: | Height: | Size: 62 KiB |
141
hemp-bioplastic/process/factory/img/pressing-station.svg
Normal file
|
|
@ -0,0 +1,141 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.43.0 (0)
|
||||
-->
|
||||
<!-- Title: pressing_station Pages: 1 -->
|
||||
<svg width="1058pt" height="347pt"
|
||||
viewBox="0.00 0.00 1057.63 347.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 343)">
|
||||
<title>pressing_station</title>
|
||||
<polygon fill="#1a1a2e" stroke="transparent" points="-4,4 -4,-343 1053.63,-343 1053.63,4 -4,4"/>
|
||||
<text text-anchor="start" x="386.31" y="-324.8" font-family="Times,serif" font-weight="bold" font-size="14.00" fill="#cccccc">station 5: pressing & mold rotation</text>
|
||||
<g id="clust1" class="cluster">
|
||||
<title>cluster_rotation</title>
|
||||
<polygon fill="#1a1a2e" stroke="#ff9800" stroke-dasharray="5,2" points="152,-8 152,-106 832,-106 832,-8 152,-8"/>
|
||||
<text text-anchor="middle" x="492" y="-93.2" font-family="Helvetica Bold" font-size="11.00" fill="#ff9800">MOLD ROTATION CYCLE</text>
|
||||
</g>
|
||||
<g id="clust2" class="cluster">
|
||||
<title>cluster_molds</title>
|
||||
<polygon fill="#1a1a2e" stroke="#555555" stroke-dasharray="5,2" points="8,-80 8,-260 127,-260 127,-80 8,-80"/>
|
||||
<text text-anchor="middle" x="67.5" y="-247.2" font-family="Helvetica Bold" font-size="11.00" fill="#aaaaaa">PRODUCT MOLDS</text>
|
||||
</g>
|
||||
<!-- compound -->
|
||||
<g id="node1" class="node">
|
||||
<title>compound</title>
|
||||
<polygon fill="#7b1fa2" stroke="black" points="123,-70 12,-70 12,-34 123,-34 123,-70"/>
|
||||
<text text-anchor="middle" x="67.5" y="-55" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">MIXED COMPOUND</text>
|
||||
<text text-anchor="middle" x="67.5" y="-44" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">from Station 4</text>
|
||||
</g>
|
||||
<!-- load -->
|
||||
<g id="node2" class="node">
|
||||
<title>load</title>
|
||||
<polygon fill="#e65100" stroke="black" points="294,-72.5 160,-72.5 160,-31.5 294,-31.5 294,-72.5"/>
|
||||
<text text-anchor="middle" x="227" y="-60.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">LOAD</text>
|
||||
<text text-anchor="middle" x="227" y="-49.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">fill mold with compound</text>
|
||||
<text text-anchor="middle" x="227" y="-38.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">compress, add lid</text>
|
||||
</g>
|
||||
<!-- compound->load -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>compound->load</title>
|
||||
<path fill="none" stroke="#888888" d="M123.14,-52C131.73,-52 140.74,-52 149.7,-52"/>
|
||||
<polygon fill="#888888" stroke="#888888" points="149.78,-55.5 159.78,-52 149.78,-48.5 149.78,-55.5"/>
|
||||
</g>
|
||||
<!-- cure -->
|
||||
<g id="node3" class="node">
|
||||
<title>cure</title>
|
||||
<polygon fill="#ff6f00" stroke="black" points="473,-57.5 331,-57.5 331,-16.5 473,-16.5 473,-57.5"/>
|
||||
<text text-anchor="middle" x="402" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">CURE</text>
|
||||
<text text-anchor="middle" x="402" y="-34.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">hot press 150-240C</text>
|
||||
<text text-anchor="middle" x="402" y="-23.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">10-30 min under pressure</text>
|
||||
</g>
|
||||
<!-- load->cure -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>load->cure</title>
|
||||
<path fill="none" stroke="#888888" d="M294.39,-46.24C302.95,-45.5 311.79,-44.73 320.55,-43.98"/>
|
||||
<polygon fill="#888888" stroke="#888888" points="321.11,-47.44 330.77,-43.09 320.5,-40.47 321.11,-47.44"/>
|
||||
</g>
|
||||
<!-- cool -->
|
||||
<g id="node4" class="node">
|
||||
<title>cool</title>
|
||||
<polygon fill="#ff9800" stroke="black" points="670,-57.5 568,-57.5 568,-16.5 670,-16.5 670,-57.5"/>
|
||||
<text text-anchor="middle" x="619" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">COOL</text>
|
||||
<text text-anchor="middle" x="619" y="-34.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">slow cool in mold</text>
|
||||
<text text-anchor="middle" x="619" y="-23.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">prevent cracking</text>
|
||||
</g>
|
||||
<!-- cure->cool -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>cure->cool</title>
|
||||
<path fill="none" stroke="#888888" d="M473.1,-37C500.36,-37 531.29,-37 557.55,-37"/>
|
||||
<polygon fill="#888888" stroke="#888888" points="557.74,-40.5 567.74,-37 557.74,-33.5 557.74,-40.5"/>
|
||||
</g>
|
||||
<!-- demold -->
|
||||
<g id="node5" class="node">
|
||||
<title>demold</title>
|
||||
<polygon fill="#ffc107" stroke="black" points="824,-67.5 707,-67.5 707,-26.5 824,-26.5 824,-67.5"/>
|
||||
<text text-anchor="middle" x="765.5" y="-55.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#1a1a2e">DEMOLD</text>
|
||||
<text text-anchor="middle" x="765.5" y="-44.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#1a1a2e">release product</text>
|
||||
<text text-anchor="middle" x="765.5" y="-33.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#1a1a2e">clean mold for reuse</text>
|
||||
</g>
|
||||
<!-- cool->demold -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>cool->demold</title>
|
||||
<path fill="none" stroke="#888888" d="M670.13,-40.47C678.72,-41.06 687.77,-41.69 696.73,-42.31"/>
|
||||
<polygon fill="#888888" stroke="#888888" points="696.55,-45.81 706.77,-43 697.04,-38.82 696.55,-45.81"/>
|
||||
</g>
|
||||
<!-- demold->load -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>demold->load</title>
|
||||
<path fill="none" stroke="#ffc107" stroke-dasharray="5,2" d="M706.8,-60.49C694.71,-62.78 681.99,-64.81 670,-66 520.07,-80.92 481.32,-76.17 331,-66 322.3,-65.41 313.22,-64.55 304.2,-63.53"/>
|
||||
<polygon fill="#ffc107" stroke="#ffc107" points="304.42,-60.03 294.08,-62.33 303.59,-66.98 304.42,-60.03"/>
|
||||
<text text-anchor="middle" x="520.5" y="-87.8" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#aaaaaa">mold returns</text>
|
||||
<text text-anchor="middle" x="520.5" y="-77.8" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#aaaaaa">to loading</text>
|
||||
</g>
|
||||
<!-- products -->
|
||||
<g id="node6" class="node">
|
||||
<title>products</title>
|
||||
<polygon fill="#ffc107" stroke="black" points="1045.45,-37.5 1045.45,-56.5 992.65,-69.93 917.98,-69.93 865.18,-56.5 865.18,-37.5 917.98,-24.07 992.65,-24.07 1045.45,-37.5"/>
|
||||
<polygon fill="none" stroke="black" points="1049.44,-34.4 1049.44,-59.6 993.15,-73.92 917.48,-73.92 861.19,-59.6 861.19,-34.4 917.48,-20.08 993.15,-20.08 1049.44,-34.4"/>
|
||||
<text text-anchor="middle" x="955.31" y="-50" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#1a1a2e">PRESSED PRODUCTS</text>
|
||||
<text text-anchor="middle" x="955.31" y="-39" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#1a1a2e">to Station 6</text>
|
||||
</g>
|
||||
<!-- demold->products -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>demold->products</title>
|
||||
<path fill="none" stroke="#888888" d="M824.13,-47C832.76,-47 841.87,-47 851.11,-47"/>
|
||||
<polygon fill="#888888" stroke="#888888" points="851.16,-50.5 861.16,-47 851.16,-43.5 851.16,-50.5"/>
|
||||
</g>
|
||||
<!-- bowls -->
|
||||
<g id="node7" class="node">
|
||||
<title>bowls</title>
|
||||
<polygon fill="#e65100" stroke="black" points="119,-232 16,-232 16,-196 119,-196 119,-232"/>
|
||||
<text text-anchor="middle" x="67.5" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">bowls & plates</text>
|
||||
<text text-anchor="middle" x="67.5" y="-206" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">150-180C, 20 min</text>
|
||||
</g>
|
||||
<!-- pots -->
|
||||
<g id="node8" class="node">
|
||||
<title>pots</title>
|
||||
<polygon fill="#f57c00" stroke="black" points="119,-178 16,-178 16,-142 119,-142 119,-178"/>
|
||||
<text text-anchor="middle" x="67.5" y="-163" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">garden pots</text>
|
||||
<text text-anchor="middle" x="67.5" y="-152" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">160-200C, 25 min</text>
|
||||
</g>
|
||||
<!-- boxes -->
|
||||
<g id="node9" class="node">
|
||||
<title>boxes</title>
|
||||
<polygon fill="#ff9800" stroke="black" points="119,-124 16,-124 16,-88 119,-88 119,-124"/>
|
||||
<text text-anchor="middle" x="67.5" y="-109" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">storage boxes</text>
|
||||
<text text-anchor="middle" x="67.5" y="-98" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">180-240C, 30 min</text>
|
||||
</g>
|
||||
<!-- note -->
|
||||
<g id="node10" class="node">
|
||||
<title>note</title>
|
||||
<polygon fill="#263238" stroke="black" points="116.5,-316 12.5,-316 12.5,-268 122.5,-268 122.5,-310 116.5,-316"/>
|
||||
<polyline fill="none" stroke="black" points="116.5,-316 116.5,-310 "/>
|
||||
<polyline fill="none" stroke="black" points="122.5,-310 116.5,-310 "/>
|
||||
<text text-anchor="middle" x="67.5" y="-304.8" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#cddc39">multiple mold sets</text>
|
||||
<text text-anchor="middle" x="67.5" y="-294.8" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#cddc39">rotate through cycle</text>
|
||||
<text text-anchor="middle" x="67.5" y="-284.8" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#cddc39">4-6 presses per day</text>
|
||||
<text text-anchor="middle" x="67.5" y="-274.8" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#cddc39">per mold</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 8.9 KiB |
43
hemp-bioplastic/process/factory/img/product-catalog.dot
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
digraph product_catalog {
|
||||
bgcolor="#1a1a2e"
|
||||
rankdir=TB
|
||||
node [fontname="Helvetica" fontsize=10 style=filled shape=box]
|
||||
edge [style=invis]
|
||||
|
||||
label=<<B><FONT COLOR="#cccccc" POINT-SIZE="14">product catalog: three categories</FONT></B>>
|
||||
labelloc=t
|
||||
|
||||
subgraph cluster_kitchen {
|
||||
label="KITCHEN & DINING" fontcolor="#FF9800" fontsize=11 fontname="Helvetica Bold"
|
||||
color="#FF9800" style=dashed
|
||||
|
||||
bowls [label="bowls\n15 cm, 80g\n20% glycerol" fillcolor="#E65100" fontcolor="white"]
|
||||
plates [label="plates\n22 cm, 120g\n15% glycerol" fillcolor="#F57C00" fontcolor="white"]
|
||||
cups [label="cups\n250 mL, 60g\n20% glycerol" fillcolor="#FF9800" fontcolor="white"]
|
||||
trivets [label="trivets\n18 cm, 150g\n15% glycerol" fillcolor="#FFA726" fontcolor="white"]
|
||||
bowls -> plates -> cups -> trivets
|
||||
}
|
||||
|
||||
subgraph cluster_garden {
|
||||
label="GARDEN & GROWING" fontcolor="#4CAF50" fontsize=11 fontname="Helvetica Bold"
|
||||
color="#4CAF50" style=dashed
|
||||
|
||||
pots [label="plant pots\n10-15 cm, 90g\n15% glycerol" fillcolor="#2E7D32" fontcolor="white"]
|
||||
trays [label="seed trays\n30x20 cm, 200g\n15% glycerol" fillcolor="#388E3C" fontcolor="white"]
|
||||
labels [label="plant labels\n12x3 cm, 10g\n15% glycerol" fillcolor="#43A047" fontcolor="white"]
|
||||
pots -> trays -> labels
|
||||
}
|
||||
|
||||
subgraph cluster_storage {
|
||||
label="STORAGE & ORGANIZATION" fontcolor="#8E24AA" fontsize=11 fontname="Helvetica Bold"
|
||||
color="#8E24AA" style=dashed
|
||||
|
||||
lidbox [label="lidded boxes\n15x15x8 cm, 180g\n20% glycerol" fillcolor="#6A1B9A" fontcolor="white"]
|
||||
organizer [label="desk organizers\n25x10x8 cm, 160g\n15% glycerol" fillcolor="#7B1FA2" fontcolor="white"]
|
||||
lidbox -> organizer
|
||||
}
|
||||
|
||||
lifespan [label="all products:\n3-5 years daily use\nbiodegrade in hot compost\n60-70C, 12-24 weeks" fillcolor="#263238" fontcolor="#CDDC39" shape=note fontsize=9]
|
||||
|
||||
care [label="care: hand wash\ndo NOT dishwasher >60C\ndo NOT microwave\ndo NOT soak overnight" fillcolor="#263238" fontcolor="#CDDC39" shape=note fontsize=9]
|
||||
}
|
||||
BIN
hemp-bioplastic/process/factory/img/product-catalog.png
Normal file
|
After Width: | Height: | Size: 70 KiB |
129
hemp-bioplastic/process/factory/img/product-catalog.svg
Normal file
|
|
@ -0,0 +1,129 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.43.0 (0)
|
||||
-->
|
||||
<!-- Title: product_catalog Pages: 1 -->
|
||||
<svg width="752pt" height="359pt"
|
||||
viewBox="0.00 0.00 752.00 358.50" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 354.5)">
|
||||
<title>product_catalog</title>
|
||||
<polygon fill="#1a1a2e" stroke="transparent" points="-4,4 -4,-354.5 748,-354.5 748,4 -4,4"/>
|
||||
<text text-anchor="start" x="241" y="-336.3" font-family="Times,serif" font-weight="bold" font-size="14.00" fill="#cccccc">product catalog: three categories</text>
|
||||
<g id="clust1" class="cluster">
|
||||
<title>cluster_kitchen</title>
|
||||
<polygon fill="#1a1a2e" stroke="#ff9800" stroke-dasharray="5,2" points="8,-8 8,-319.5 128,-319.5 128,-8 8,-8"/>
|
||||
<text text-anchor="middle" x="68" y="-306.7" font-family="Helvetica Bold" font-size="11.00" fill="#ff9800">KITCHEN & DINING</text>
|
||||
</g>
|
||||
<g id="clust2" class="cluster">
|
||||
<title>cluster_garden</title>
|
||||
<polygon fill="#1a1a2e" stroke="#4caf50" stroke-dasharray="5,2" points="136,-85 136,-319.5 270,-319.5 270,-85 136,-85"/>
|
||||
<text text-anchor="middle" x="203" y="-306.7" font-family="Helvetica Bold" font-size="11.00" fill="#4caf50">GARDEN & GROWING</text>
|
||||
</g>
|
||||
<g id="clust3" class="cluster">
|
||||
<title>cluster_storage</title>
|
||||
<polygon fill="#1a1a2e" stroke="#8e24aa" stroke-dasharray="5,2" points="278,-162 278,-319.5 446,-319.5 446,-162 278,-162"/>
|
||||
<text text-anchor="middle" x="362" y="-306.7" font-family="Helvetica Bold" font-size="11.00" fill="#8e24aa">STORAGE & ORGANIZATION</text>
|
||||
</g>
|
||||
<!-- bowls -->
|
||||
<g id="node1" class="node">
|
||||
<title>bowls</title>
|
||||
<polygon fill="#e65100" stroke="black" points="108,-291.5 28,-291.5 28,-250.5 108,-250.5 108,-291.5"/>
|
||||
<text text-anchor="middle" x="68" y="-279.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">bowls</text>
|
||||
<text text-anchor="middle" x="68" y="-268.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">15 cm, 80g</text>
|
||||
<text text-anchor="middle" x="68" y="-257.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">20% glycerol</text>
|
||||
</g>
|
||||
<!-- plates -->
|
||||
<g id="node2" class="node">
|
||||
<title>plates</title>
|
||||
<polygon fill="#f57c00" stroke="black" points="108,-211 28,-211 28,-170 108,-170 108,-211"/>
|
||||
<text text-anchor="middle" x="68" y="-199" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">plates</text>
|
||||
<text text-anchor="middle" x="68" y="-188" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">22 cm, 120g</text>
|
||||
<text text-anchor="middle" x="68" y="-177" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">15% glycerol</text>
|
||||
</g>
|
||||
<!-- bowls->plates -->
|
||||
<!-- cups -->
|
||||
<g id="node3" class="node">
|
||||
<title>cups</title>
|
||||
<polygon fill="#ff9800" stroke="black" points="108,-134 28,-134 28,-93 108,-93 108,-134"/>
|
||||
<text text-anchor="middle" x="68" y="-122" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">cups</text>
|
||||
<text text-anchor="middle" x="68" y="-111" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">250 mL, 60g</text>
|
||||
<text text-anchor="middle" x="68" y="-100" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">20% glycerol</text>
|
||||
</g>
|
||||
<!-- plates->cups -->
|
||||
<!-- trivets -->
|
||||
<g id="node4" class="node">
|
||||
<title>trivets</title>
|
||||
<polygon fill="#ffa726" stroke="black" points="108,-57 28,-57 28,-16 108,-16 108,-57"/>
|
||||
<text text-anchor="middle" x="68" y="-45" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">trivets</text>
|
||||
<text text-anchor="middle" x="68" y="-34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">18 cm, 150g</text>
|
||||
<text text-anchor="middle" x="68" y="-23" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">15% glycerol</text>
|
||||
</g>
|
||||
<!-- cups->trivets -->
|
||||
<!-- pots -->
|
||||
<g id="node5" class="node">
|
||||
<title>pots</title>
|
||||
<polygon fill="#2e7d32" stroke="black" points="246,-291.5 160,-291.5 160,-250.5 246,-250.5 246,-291.5"/>
|
||||
<text text-anchor="middle" x="203" y="-279.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">plant pots</text>
|
||||
<text text-anchor="middle" x="203" y="-268.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">10-15 cm, 90g</text>
|
||||
<text text-anchor="middle" x="203" y="-257.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">15% glycerol</text>
|
||||
</g>
|
||||
<!-- trays -->
|
||||
<g id="node6" class="node">
|
||||
<title>trays</title>
|
||||
<polygon fill="#388e3c" stroke="black" points="250.5,-211 155.5,-211 155.5,-170 250.5,-170 250.5,-211"/>
|
||||
<text text-anchor="middle" x="203" y="-199" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">seed trays</text>
|
||||
<text text-anchor="middle" x="203" y="-188" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">30x20 cm, 200g</text>
|
||||
<text text-anchor="middle" x="203" y="-177" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">15% glycerol</text>
|
||||
</g>
|
||||
<!-- pots->trays -->
|
||||
<!-- labels -->
|
||||
<g id="node7" class="node">
|
||||
<title>labels</title>
|
||||
<polygon fill="#43a047" stroke="black" points="244.5,-134 161.5,-134 161.5,-93 244.5,-93 244.5,-134"/>
|
||||
<text text-anchor="middle" x="203" y="-122" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">plant labels</text>
|
||||
<text text-anchor="middle" x="203" y="-111" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">12x3 cm, 10g</text>
|
||||
<text text-anchor="middle" x="203" y="-100" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">15% glycerol</text>
|
||||
</g>
|
||||
<!-- trays->labels -->
|
||||
<!-- lidbox -->
|
||||
<g id="node8" class="node">
|
||||
<title>lidbox</title>
|
||||
<polygon fill="#6a1b9a" stroke="black" points="414.5,-291.5 307.5,-291.5 307.5,-250.5 414.5,-250.5 414.5,-291.5"/>
|
||||
<text text-anchor="middle" x="361" y="-279.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">lidded boxes</text>
|
||||
<text text-anchor="middle" x="361" y="-268.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">15x15x8 cm, 180g</text>
|
||||
<text text-anchor="middle" x="361" y="-257.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">20% glycerol</text>
|
||||
</g>
|
||||
<!-- organizer -->
|
||||
<g id="node9" class="node">
|
||||
<title>organizer</title>
|
||||
<polygon fill="#7b1fa2" stroke="black" points="414.5,-211 307.5,-211 307.5,-170 414.5,-170 414.5,-211"/>
|
||||
<text text-anchor="middle" x="361" y="-199" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">desk organizers</text>
|
||||
<text text-anchor="middle" x="361" y="-188" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">25x10x8 cm, 160g</text>
|
||||
<text text-anchor="middle" x="361" y="-177" font-family="Helvetica,sans-Serif" font-size="10.00" fill="white">15% glycerol</text>
|
||||
</g>
|
||||
<!-- lidbox->organizer -->
|
||||
<!-- lifespan -->
|
||||
<g id="node10" class="node">
|
||||
<title>lifespan</title>
|
||||
<polygon fill="#263238" stroke="black" points="587.5,-295 454.5,-295 454.5,-247 593.5,-247 593.5,-289 587.5,-295"/>
|
||||
<polyline fill="none" stroke="black" points="587.5,-295 587.5,-289 "/>
|
||||
<polyline fill="none" stroke="black" points="593.5,-289 587.5,-289 "/>
|
||||
<text text-anchor="middle" x="524" y="-283.8" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#cddc39">all products:</text>
|
||||
<text text-anchor="middle" x="524" y="-273.8" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#cddc39">3-5 years daily use</text>
|
||||
<text text-anchor="middle" x="524" y="-263.8" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#cddc39">biodegrade in hot compost</text>
|
||||
<text text-anchor="middle" x="524" y="-253.8" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#cddc39">60-70C, 12-24 weeks</text>
|
||||
</g>
|
||||
<!-- care -->
|
||||
<g id="node11" class="node">
|
||||
<title>care</title>
|
||||
<polygon fill="#263238" stroke="black" points="738,-295 612,-295 612,-247 744,-247 744,-289 738,-295"/>
|
||||
<polyline fill="none" stroke="black" points="738,-295 738,-289 "/>
|
||||
<polyline fill="none" stroke="black" points="744,-289 738,-289 "/>
|
||||
<text text-anchor="middle" x="678" y="-283.8" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#cddc39">care: hand wash</text>
|
||||
<text text-anchor="middle" x="678" y="-273.8" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#cddc39">do NOT dishwasher >60C</text>
|
||||
<text text-anchor="middle" x="678" y="-263.8" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#cddc39">do NOT microwave</text>
|
||||
<text text-anchor="middle" x="678" y="-253.8" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#cddc39">do NOT soak overnight</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 8.5 KiB |
554
hemp-bioplastic/process/factory/index.html
Normal file
|
|
@ -0,0 +1,554 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>bioplastic factory — unturf.</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="theme-color" content="#5871ad">
|
||||
<meta charset="utf-8">
|
||||
<link rel="stylesheet" href="/css/chunkfive/stylesheet.css" type="text/css" charset="utf-8" />
|
||||
<link rel="stylesheet" href="/css/pico.classless.min.css">
|
||||
<link rel="stylesheet" href="/css/unturf.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<main class="content-wide">
|
||||
|
||||
<center><a href="/"><h1 class="site-title">unturf.</h1></a></center>
|
||||
<center><h3>grow food not lawn</h3></center>
|
||||
<center class="nav-links"><small><a href="/let-us-define-a-permacomputer/">manifesto</a> · <a href="/eight-forms-of-capital/">eight forms of capital</a> · <a href="/single-use-plastics/">single-use plastics</a> · <a href="/hemp-bioplastic/">hemp bioplastic</a> · <a href="/hemp-bioplastic/process/">recipe</a> · <a href="/hemp-bioplastic/process/homeschool/">homeschool</a> · <a href="/hemp-bioplastic/process/factory/" aria-current="page">factory</a> · <a href="/software/">free software</a></small></center>
|
||||
|
||||
<h2>Bioplastic Factory</h2>
|
||||
|
||||
<p>
|
||||
A continuous-flow factory producing durable everyday products from plant fiber. Not batch processing. Not single-use packaging. Products survive years of daily use but biodegrade fully in hot aerobic compost (60-70C). Three fiber sources feed the same standardized process: hemp, nettle, & wood refuse. Designed for replication as distributed hubs worldwide.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
This page describes a complete 7-station production line. <a href="/hemp-bioplastic/process/">Batch recipes live on a process page</a>. <a href="/hemp-bioplastic/process/homeschool/">A 4-day homeschool curriculum lives on a homeschool page</a>. This factory page covers continuous production at community scale.
|
||||
</p>
|
||||
|
||||
<!-- ============================================================ -->
|
||||
<!-- STATION OVERVIEW -->
|
||||
<!-- ============================================================ -->
|
||||
|
||||
<span class="step-label">OVERVIEW</span>
|
||||
<h3>7-Station Flow</h3>
|
||||
|
||||
<figure class="diagram">
|
||||
<img src="img/factory-flow.svg" alt="7-station continuous-flow bioplastic factory overview">
|
||||
<figcaption>fiber enters at station 1, finished products leave at station 6, compost demo runs at station 7.</figcaption>
|
||||
</figure>
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr><th>Station</th><th>Name</th><th>Input</th><th>Output</th><th>Equipment</th><th>Cycle Time</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr><td>1</td><td>Fiber Intake & Prep</td><td>Raw stalks & wood refuse</td><td>Prepared fiber (chopped, sorted)</td><td>Decorticator, chopper, retting tanks, scale</td><td>Continuous intake</td></tr>
|
||||
<tr><td>2</td><td>Extraction</td><td>Prepared fiber</td><td>Raw cellulose</td><td>Reaction vessels (3-4), filtration, pH meter</td><td>2-4 hours per vessel</td></tr>
|
||||
<tr><td>3</td><td>Washing & Drying</td><td>Raw cellulose</td><td>Dry cellulose</td><td>Counter-current wash line, convection dryer</td><td>4-8 hours</td></tr>
|
||||
<tr><td>4</td><td>Mixing</td><td>Dry cellulose</td><td>Mixed compound</td><td>Heated mixer, scale, pigment dispensers</td><td>60-90 minutes</td></tr>
|
||||
<tr><td>5</td><td>Pressing & Molding</td><td>Mixed compound</td><td>Pressed products</td><td>Hot press, mold sets, temperature controller</td><td>30-60 min per press</td></tr>
|
||||
<tr><td>6</td><td>Finishing</td><td>Pressed products</td><td>Finished goods</td><td>Trim station, inspection table, stamp press</td><td>5-10 min per product</td></tr>
|
||||
<tr><td>7</td><td>Compost Demo</td><td>Demo samples</td><td>Display & education</td><td>Hot compost bin (60-70C), timeline display</td><td>Ongoing display</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<!-- ============================================================ -->
|
||||
<!-- STATION 1: FIBER INTAKE -->
|
||||
<!-- ============================================================ -->
|
||||
|
||||
<span class="step-label">STATION 1</span>
|
||||
<h3>Fiber Intake & Prep</h3>
|
||||
|
||||
<p>
|
||||
Three fiber sources converge into a single "prepared fiber" stream. Each source follows a parallel prep path adapted to its characteristics, then all merge at chopping & weighing.
|
||||
</p>
|
||||
|
||||
<figure class="diagram">
|
||||
<img src="img/fiber-intake.svg" alt="Three fiber sources converging: hemp, nettle, wood refuse">
|
||||
<figcaption>hemp, nettle, & wood refuse follow parallel prep paths before merging.</figcaption>
|
||||
</figure>
|
||||
|
||||
<h4>Hemp (primary source)</h4>
|
||||
<ul>
|
||||
<li>Bast fiber from stalks, 77% cellulose content</li>
|
||||
<li>Ret 3-45 days (depending on temperature) or water ret 10 days</li>
|
||||
<li>Decorticate: separate bast from hurd using decorticator or by hand</li>
|
||||
</ul>
|
||||
|
||||
<h4>Nettle (secondary source)</h4>
|
||||
<ul>
|
||||
<li>Bast fiber from stalks, ~65% cellulose content<sup id="ref1"><a href="#fn1">[1]</a></sup></li>
|
||||
<li>Water ret 7-14 days, faster breakdown than hemp</li>
|
||||
<li>Strip bast fiber by hand or small decorticator</li>
|
||||
<li>Grows wild on marginal land, requires no cultivation</li>
|
||||
</ul>
|
||||
|
||||
<h4>Wood Refuse (supplementary source)</h4>
|
||||
<ul>
|
||||
<li>Sawmill offcuts, chips, shavings from local timber operations</li>
|
||||
<li>Chip to uniform 2-5 mm pieces</li>
|
||||
<li>Sort: remove bark, knots, & resinous species (pine, cedar)</li>
|
||||
<li>Hardwoods preferred: beech, birch, poplar offer 40-50% cellulose<sup id="ref2"><a href="#fn2">[2]</a></sup></li>
|
||||
</ul>
|
||||
|
||||
<h4>Convergence</h4>
|
||||
<ol>
|
||||
<li>Chop all prepared fiber to uniform 2-3 cm lengths</li>
|
||||
<li>Weigh & record source ratio per batch (enables quality tracking)</li>
|
||||
<li>Output: prepared fiber, ready for extraction</li>
|
||||
</ol>
|
||||
|
||||
<div class="recipe-box">
|
||||
<b>Equipment list:</b> decorticator (hand-crank or motorized), fiber chopper, retting tanks (3-4 for rotation), sorting table, digital scale (1g precision), labeled storage bins per fiber source.
|
||||
</div>
|
||||
|
||||
<!-- ============================================================ -->
|
||||
<!-- STATION 2: EXTRACTION -->
|
||||
<!-- ============================================================ -->
|
||||
|
||||
<span class="step-label">STATION 2</span>
|
||||
<h3>Extraction</h3>
|
||||
|
||||
<p>
|
||||
Two extraction paths run as factory alternatives. A hub selects one path based on local chemistry comfort, waste handling capacity, & product goals. Both paths accept the same prepared fiber from Station 1 & output raw cellulose to Station 3.
|
||||
</p>
|
||||
|
||||
<figure class="diagram">
|
||||
<img src="img/extraction-station.svg" alt="NaOH extraction path versus citric acid crosslinking path">
|
||||
<figcaption>each hub chooses one path. both produce usable cellulose for pressing.</figcaption>
|
||||
</figure>
|
||||
|
||||
<h4>Path A: NaOH Extraction</h4>
|
||||
<div class="recipe-box">
|
||||
<b>Process:</b><br>
|
||||
1. Dissolve NaOH in water (5-12% solution depending on fiber source)<br>
|
||||
2. Add prepared fiber. Heat to 80C with stirring for 2-3 hours (or soak at room temperature for 4 hours using 5% NaOH)<sup id="ref3"><a href="#fn3">[3]</a></sup><br>
|
||||
3. Filter. Wash 4-6 times until pH neutral<br>
|
||||
4. Output: purified cellulose (removes lignin, hemicellulose, pectin)<br><br>
|
||||
<b>Continuous operation:</b> rotate 3-4 reaction vessels through stages. While vessel A soaks, vessel B gets filtered, vessel C gets loaded. No downtime.
|
||||
</div>
|
||||
|
||||
<h4>Path B: Citric Acid Crosslinking</h4>
|
||||
<div class="recipe-box">
|
||||
<b>Process:</b><br>
|
||||
1. Spread prepared fiber onto screens, press into sheets<br>
|
||||
2. Soak sheets in citric acid + glycerol solution<br>
|
||||
3. Cure at 140C under pressure<sup id="ref4"><a href="#fn4">[4]</a></sup><br>
|
||||
4. Output: crosslinked cellulose material (up to 70 MPa tensile strength)<br><br>
|
||||
<b>Continuous operation:</b> stagger sheet production. While batch A cures, batch B soaks, batch C gets pressed into sheets.
|
||||
</div>
|
||||
|
||||
<div class="honest-box">
|
||||
<b>Honest comparison:</b> citric acid path produces less chemical waste, avoids NaOH safety hazards, & requires simpler equipment. NaOH path achieves purer cellulose isolation & works better with mixed or lower-quality fiber sources. Neither path stays universally superior.
|
||||
</div>
|
||||
|
||||
<!-- ============================================================ -->
|
||||
<!-- STATION 3: WASHING & DRYING -->
|
||||
<!-- ============================================================ -->
|
||||
|
||||
<span class="step-label">STATION 3</span>
|
||||
<h3>Washing & Drying</h3>
|
||||
|
||||
<p>
|
||||
Buffer station between extraction & pressing. Removes residual chemicals, reduces moisture to pressing readiness.
|
||||
</p>
|
||||
|
||||
<h4>Counter-Current Washing</h4>
|
||||
<p>
|
||||
Fresh water enters at the cleanest stage (final rinse). Used water from each stage flows backward to the dirtiest stage (first rinse). This approach reduces water consumption 3-4x compared to batch rinsing.<sup id="ref5"><a href="#fn5">[5]</a></sup>
|
||||
</p>
|
||||
|
||||
<div class="recipe-box">
|
||||
<b>Wash stages:</b><br>
|
||||
1. First rinse (receives used water from stage 2, removes bulk chemicals)<br>
|
||||
2. Second rinse (receives used water from stage 3)<br>
|
||||
3. Third rinse (receives used water from stage 4)<br>
|
||||
4. Final rinse (receives fresh water only, output at pH 7)<br><br>
|
||||
<b>pH check:</b> test wash water after each stage. Final output must read pH 7 (neutral). Residual NaOH weakens finished products.
|
||||
</div>
|
||||
|
||||
<h4>Drying</h4>
|
||||
<ul>
|
||||
<li><b>Convection dryer:</b> forced hot air at 60-80C, 4-6 hours to bone dry</li>
|
||||
<li><b>Solar tunnel (warm climates):</b> passive solar heat, 8-12 hours, zero energy cost</li>
|
||||
<li><b>Critical check:</b> weigh before & after drying. Weight must stabilize. Wet cellulose produces spongy, voided products when pressed.<sup id="ref6"><a href="#fn6">[6]</a></sup></li>
|
||||
</ul>
|
||||
|
||||
<div class="warning-box">
|
||||
<b>Moisture kills quality.</b> Steam from trapped water creates internal voids during hot pressing. Every batch must reach stable dry weight before advancing to Station 4. This check represents the single most important quality gate in the entire factory.
|
||||
</div>
|
||||
|
||||
<!-- ============================================================ -->
|
||||
<!-- STATION 4: MIXING -->
|
||||
<!-- ============================================================ -->
|
||||
|
||||
<span class="step-label">STATION 4</span>
|
||||
<h3>Mixing</h3>
|
||||
|
||||
<p>
|
||||
Dried cellulose gets combined with glycerol (plasticizer), optional citric acid (water resistance), & optional natural pigments. Glycerol ratio determines product flexibility.
|
||||
</p>
|
||||
|
||||
<h4>Glycerol Ratios</h4>
|
||||
<table>
|
||||
<thead>
|
||||
<tr><th>Glycerol %</th><th>Result</th><th>Products</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr><td>15%</td><td>Rigid</td><td>Plates, trivets, plant labels, seed trays</td></tr>
|
||||
<tr><td>20%</td><td>Semi-flexible</td><td>Bowls, cups, plant pots, lidded boxes</td></tr>
|
||||
<tr><td>30%</td><td>Flexible</td><td>Lids, gaskets, protective wraps</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h4>Optional Additives</h4>
|
||||
<ul>
|
||||
<li><b>Citric acid (5% by weight):</b> improves water resistance 7-fold<sup id="ref4b"><a href="#fn4">[4]</a></sup></li>
|
||||
<li><b>Natural pigments:</b> turmeric (yellow), spirulina (green), charcoal (black), beetroot powder (red)</li>
|
||||
</ul>
|
||||
|
||||
<div class="recipe-box">
|
||||
<b>Mixing process:</b><br>
|
||||
1. Weigh dried cellulose<br>
|
||||
2. Calculate glycerol by target ratio (e.g., 100g cellulose + 20g glycerol for 20% semi-flex)<br>
|
||||
3. Add water to form a workable slurry<br>
|
||||
4. Heat to 80C & stir for 60 minutes until homogeneous<sup id="ref7"><a href="#fn7">[7]</a></sup><br>
|
||||
5. Add citric acid & pigments during last 10 minutes<br>
|
||||
6. Spread on trays, dry at 60C until weight stabilizes<br>
|
||||
7. Grind to breadcrumb consistency<br>
|
||||
8. Output: mixed compound, ready for pressing
|
||||
</div>
|
||||
|
||||
<!-- ============================================================ -->
|
||||
<!-- STATION 5: PRESSING & MOLDING -->
|
||||
<!-- ============================================================ -->
|
||||
|
||||
<span class="step-label">STATION 5</span>
|
||||
<h3>Pressing & Molding</h3>
|
||||
|
||||
<p>
|
||||
Hot press transforms mixed compound into finished shapes. Mold rotation keeps the press running continuously: while one mold cures, another gets loaded, a third cools, a fourth gets demolded.
|
||||
</p>
|
||||
|
||||
<figure class="diagram">
|
||||
<img src="img/pressing-station.svg" alt="Mold rotation cycle: load, cure, cool, demold">
|
||||
<figcaption>mold rotation enables 4-6 press cycles per day per mold set.</figcaption>
|
||||
</figure>
|
||||
|
||||
<h4>Product Mold Catalog</h4>
|
||||
<table>
|
||||
<thead>
|
||||
<tr><th>Product</th><th>Mold Type</th><th>Temp (C)</th><th>Pressure</th><th>Time</th><th>Weight</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr><td>Bowl (15 cm)</td><td>Two-part concave</td><td>160</td><td>Medium</td><td>20 min</td><td>80g</td></tr>
|
||||
<tr><td>Plate (22 cm)</td><td>Flat with rim</td><td>150</td><td>High</td><td>15 min</td><td>120g</td></tr>
|
||||
<tr><td>Cup (250 mL)</td><td>Two-part cylinder</td><td>170</td><td>Medium</td><td>20 min</td><td>60g</td></tr>
|
||||
<tr><td>Trivet (18 cm)</td><td>Flat solid</td><td>180</td><td>High</td><td>25 min</td><td>150g</td></tr>
|
||||
<tr><td>Plant pot (12 cm)</td><td>Two-part tapered</td><td>160</td><td>Medium</td><td>20 min</td><td>90g</td></tr>
|
||||
<tr><td>Seed tray (30x20 cm)</td><td>Multi-cavity</td><td>170</td><td>High</td><td>25 min</td><td>200g</td></tr>
|
||||
<tr><td>Lidded box (15 cm)</td><td>Three-part (base+lid+walls)</td><td>180</td><td>High</td><td>30 min</td><td>180g</td></tr>
|
||||
<tr><td>Desk organizer</td><td>Multi-compartment</td><td>180</td><td>High</td><td>30 min</td><td>160g</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div class="recipe-box">
|
||||
<b>Press cycle:</b><br>
|
||||
1. Coat mold interior with thin vegetable oil layer<br>
|
||||
2. Fill with dry compound, compress lightly by hand, add lid<br>
|
||||
3. Load into hot press at target temperature<br>
|
||||
4. Apply full pressure & hold for target time<br>
|
||||
5. Release pressure<br>
|
||||
6. Remove mold, set on cooling rack<br>
|
||||
7. Slow cool (minimum 30 minutes, longer for thick products)<br>
|
||||
8. Demold when cool to touch<br>
|
||||
9. Clean mold & return to loading station
|
||||
</div>
|
||||
|
||||
<!-- ============================================================ -->
|
||||
<!-- STATION 6: FINISHING -->
|
||||
<!-- ============================================================ -->
|
||||
|
||||
<span class="step-label">STATION 6</span>
|
||||
<h3>Finishing</h3>
|
||||
|
||||
<p>
|
||||
Final quality gate before products leave the factory. Three substations run in sequence.
|
||||
</p>
|
||||
|
||||
<h4>Trimming</h4>
|
||||
<ul>
|
||||
<li>Remove flash (excess material squeezed from mold edges)</li>
|
||||
<li>Sand any rough surfaces or mold lines</li>
|
||||
<li>File edges smooth</li>
|
||||
</ul>
|
||||
|
||||
<h4>Inspection</h4>
|
||||
<table>
|
||||
<thead>
|
||||
<tr><th>Check</th><th>Pass</th><th>Fail (regrind)</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr><td>Surface</td><td>Smooth, uniform color</td><td>Bubbled, porous, discolored</td></tr>
|
||||
<tr><td>Sound (tap test)</td><td>Solid "click"</td><td>Hollow "thud" (internal voids)</td></tr>
|
||||
<tr><td>Flex</td><td>Appropriate for glycerol ratio</td><td>Brittle cracks or too soft</td></tr>
|
||||
<tr><td>Weight</td><td>Within 10% of target</td><td>Under (voids) or over (wet)</td></tr>
|
||||
<tr><td>Water drop</td><td>Beads or absorbs slowly</td><td>Absorbs instantly (needs more citric acid)</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<p>
|
||||
Failed products get reground & returned to Station 4 for remixing. Nothing gets wasted.
|
||||
</p>
|
||||
|
||||
<h4>Stamping</h4>
|
||||
<ul>
|
||||
<li>Production date (month/year)</li>
|
||||
<li>Fiber source (H = hemp, N = nettle, W = wood, or combo)</li>
|
||||
<li>Compost instructions: "HOT COMPOST 60C+ ONLY"</li>
|
||||
<li>Hub identifier code</li>
|
||||
</ul>
|
||||
|
||||
<!-- ============================================================ -->
|
||||
<!-- STATION 7: COMPOST DEMO -->
|
||||
<!-- ============================================================ -->
|
||||
|
||||
<span class="step-label">STATION 7</span>
|
||||
<h3>Compost Demo Station</h3>
|
||||
|
||||
<p>
|
||||
Display, not production. Shows customers & visitors exactly what happens to these products at end of life. A maintained hot compost bin (60-70C) contains products at various stages of decomposition.
|
||||
</p>
|
||||
|
||||
<div class="honest-box">
|
||||
<b>Composting requires specific conditions.</b> These products biodegrade ONLY in hot aerobic compost reaching 60-70C for sustained periods. They do NOT break down in cold compost piles, landfills, waterways, or soil burial at ambient temperature. "Compostable" means compostable under controlled thermophilic conditions, not "throw anywhere & it vanishes."
|
||||
</div>
|
||||
|
||||
<h4>Decomposition Timeline (Hot Aerobic Compost, 60-70C)</h4>
|
||||
<table>
|
||||
<thead>
|
||||
<tr><th>Week</th><th>Observation</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr><td>0-2</td><td>No visible change. Product retains shape & strength.</td></tr>
|
||||
<tr><td>2-4</td><td>Surface softening begins. Color shifts darker.</td></tr>
|
||||
<tr><td>4-8</td><td>Product deforms under compost weight. Surface texture becomes rough.</td></tr>
|
||||
<tr><td>8-12</td><td>Fragmentation begins. Product breaks into large pieces when handled.</td></tr>
|
||||
<tr><td>12-16</td><td>Pieces fragment further. Material becomes indistinguishable from surrounding compost.</td></tr>
|
||||
<tr><td>16-24</td><td>Full decomposition. Only cellulose fibers remain, fully integrated into compost.</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div class="warning-box">
|
||||
<b>NOT cold pile. NOT landfill. NOT water.</b> A cold backyard compost pile rarely exceeds 40C. These products survive cold piles indefinitely (which counts as a feature during their useful life, not a composting failure). Direct customers to municipal hot compost facilities or dedicated thermophilic composting setups.
|
||||
</div>
|
||||
|
||||
<!-- ============================================================ -->
|
||||
<!-- PRODUCT CATALOG -->
|
||||
<!-- ============================================================ -->
|
||||
|
||||
<span class="step-label">PRODUCTS</span>
|
||||
<h3>Product Catalog</h3>
|
||||
|
||||
<figure class="diagram">
|
||||
<img src="img/product-catalog.svg" alt="Three product categories: kitchen, garden, storage">
|
||||
<figcaption>all products share the same base material. glycerol ratio & mold shape create variety.</figcaption>
|
||||
</figure>
|
||||
|
||||
<h4>Kitchen & Dining</h4>
|
||||
<table>
|
||||
<thead>
|
||||
<tr><th>Product</th><th>Dimensions</th><th>Weight</th><th>Glycerol</th><th>Lifespan</th><th>Care</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr><td>Bowl</td><td>15 cm diameter, 7 cm deep</td><td>80g</td><td>20%</td><td>3-5 years</td><td>Hand wash, dry promptly</td></tr>
|
||||
<tr><td>Plate</td><td>22 cm diameter</td><td>120g</td><td>15%</td><td>3-5 years</td><td>Hand wash, dry promptly</td></tr>
|
||||
<tr><td>Cup</td><td>250 mL, 9 cm tall</td><td>60g</td><td>20%</td><td>2-3 years</td><td>Hand wash, no hot liquids above 80C</td></tr>
|
||||
<tr><td>Trivet</td><td>18 cm diameter, 1 cm thick</td><td>150g</td><td>15%</td><td>5+ years</td><td>Wipe clean</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h4>Garden & Growing</h4>
|
||||
<table>
|
||||
<thead>
|
||||
<tr><th>Product</th><th>Dimensions</th><th>Weight</th><th>Glycerol</th><th>Lifespan</th><th>Care</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr><td>Plant pot</td><td>10-15 cm diameter</td><td>90g</td><td>15%</td><td>2-3 seasons outdoors</td><td>None needed (degrades slowly in soil contact)</td></tr>
|
||||
<tr><td>Seed tray</td><td>30x20 cm, 6 cells</td><td>200g</td><td>15%</td><td>3-5 seasons</td><td>Rinse between uses, dry before storing</td></tr>
|
||||
<tr><td>Plant label</td><td>12x3 cm</td><td>10g</td><td>15%</td><td>1-2 seasons</td><td>Write with pencil (survives weathering)</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h4>Storage & Organization</h4>
|
||||
<table>
|
||||
<thead>
|
||||
<tr><th>Product</th><th>Dimensions</th><th>Weight</th><th>Glycerol</th><th>Lifespan</th><th>Care</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr><td>Lidded box</td><td>15x15x8 cm</td><td>180g</td><td>20%</td><td>5+ years</td><td>Wipe clean, keep dry</td></tr>
|
||||
<tr><td>Desk organizer</td><td>25x10x8 cm</td><td>160g</td><td>15%</td><td>5+ years</td><td>Wipe clean</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div class="warning-box">
|
||||
<b>Dishwasher temperatures above 60C soften products.</b> Hand wash only. Products tolerate brief water contact (washing, rain) but should not soak overnight. Prolonged hot water exposure reverses the crosslinking that provides rigidity.
|
||||
</div>
|
||||
|
||||
<!-- ============================================================ -->
|
||||
<!-- FACTORY ECONOMICS -->
|
||||
<!-- ============================================================ -->
|
||||
|
||||
<span class="step-label">ECONOMICS</span>
|
||||
<h3>Factory Economics</h3>
|
||||
|
||||
<h4>Throughput</h4>
|
||||
<table>
|
||||
<thead>
|
||||
<tr><th>Metric</th><th>Daily</th><th>Weekly (5 days)</th><th>Annual (250 days)</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr><td>Fiber processed</td><td>20-30 kg</td><td>100-150 kg</td><td>5,000-7,500 kg</td></tr>
|
||||
<tr><td>Products pressed</td><td>40-80 pieces</td><td>200-400 pieces</td><td>10,000-20,000 pieces</td></tr>
|
||||
<tr><td>Revenue (at $5-15 avg)</td><td>$200-1,200</td><td>$1,000-6,000</td><td>$50,000-300,000</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h4>Equipment Startup Costs</h4>
|
||||
<table>
|
||||
<thead>
|
||||
<tr><th>Item</th><th>Minimum (used/DIY)</th><th>Mid-range</th><th>Professional</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr><td>Decorticator (hand-crank)</td><td>$500</td><td>$2,000</td><td>$8,000</td></tr>
|
||||
<tr><td>Fiber chopper</td><td>$200</td><td>$800</td><td>$3,000</td></tr>
|
||||
<tr><td>Retting tanks (3-4)</td><td>$300</td><td>$1,000</td><td>$4,000</td></tr>
|
||||
<tr><td>Reaction vessels (3-4)</td><td>$600</td><td>$2,500</td><td>$10,000</td></tr>
|
||||
<tr><td>Filtration & wash line</td><td>$400</td><td>$1,500</td><td>$6,000</td></tr>
|
||||
<tr><td>Convection dryer</td><td>$800</td><td>$3,000</td><td>$12,000</td></tr>
|
||||
<tr><td>Heated mixer</td><td>$300</td><td>$1,200</td><td>$5,000</td></tr>
|
||||
<tr><td>Hot press (hydraulic)</td><td>$2,000</td><td>$8,000</td><td>$25,000</td></tr>
|
||||
<tr><td>Mold sets (8 products)</td><td>$1,500</td><td>$4,000</td><td>$12,000</td></tr>
|
||||
<tr><td>Finishing station</td><td>$200</td><td>$500</td><td>$2,000</td></tr>
|
||||
<tr><td>Safety equipment</td><td>$300</td><td>$500</td><td>$1,000</td></tr>
|
||||
<tr><td>Workspace setup</td><td>$5,000</td><td>$10,000</td><td>$25,000</td></tr>
|
||||
<tr><td><b>Total</b></td><td><b>$12,100</b></td><td><b>$35,000</b></td><td><b>$113,000</b></td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h4>Labor</h4>
|
||||
<ul>
|
||||
<li><b>Minimum crew:</b> 2 people run all 6 production stations</li>
|
||||
<li><b>Comfortable crew:</b> 3 people (fiber prep, chemistry, pressing)</li>
|
||||
<li><b>Training time:</b> 2-4 weeks from novice to independent operation</li>
|
||||
</ul>
|
||||
|
||||
<!-- ============================================================ -->
|
||||
<!-- DISTRIBUTED HUB MODEL -->
|
||||
<!-- ============================================================ -->
|
||||
|
||||
<span class="step-label">HUBS</span>
|
||||
<h3>Distributed Hub Model</h3>
|
||||
|
||||
<p>
|
||||
One factory proves the concept. Many factories change material culture. Each hub adapts fiber sources to local ecology & product mix to local demand while following a standardized process for quality consistency.
|
||||
</p>
|
||||
|
||||
<figure class="diagram">
|
||||
<img src="img/distributed-hub.svg" alt="Hub replication model: local fiber, standardized process, local products">
|
||||
<figcaption>each hub sources locally, processes consistently, sells locally.</figcaption>
|
||||
</figure>
|
||||
|
||||
<h4>Hub Specification</h4>
|
||||
<table>
|
||||
<thead>
|
||||
<tr><th>Component</th><th>Standardized</th><th>Localized</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr><td>Equipment</td><td>Same specs, same layout</td><td>Sourced from local suppliers where possible</td></tr>
|
||||
<tr><td>Recipes</td><td>Same ratios, temps, times</td><td>Adjusted for local fiber cellulose content</td></tr>
|
||||
<tr><td>Quality checks</td><td>Same inspection criteria</td><td>Same pass/fail thresholds</td></tr>
|
||||
<tr><td>Fiber sources</td><td>Same prep standards</td><td>Whatever grows locally (hemp, nettle, kenaf, jute, wood)</td></tr>
|
||||
<tr><td>Products</td><td>Same mold designs available</td><td>Hub selects product mix based on local demand</td></tr>
|
||||
<tr><td>Pricing</td><td>Cost-plus formula</td><td>Adjusted to local purchasing power</td></tr>
|
||||
<tr><td>Training</td><td>Same curriculum & certification</td><td>Delivered in local language by local trainers</td></tr>
|
||||
<tr><td>Branding</td><td>Shared quality mark</td><td>Hub name & local identity</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div class="recipe-box">
|
||||
<b>Replication Checklist</b><br><br>
|
||||
☐ Identify local fiber sources (minimum 2 for supply resilience)<br>
|
||||
☐ Secure workspace: 80-150 m2, ventilated, water access, 3-phase power<br>
|
||||
☐ Source or build equipment (see startup cost table)<br>
|
||||
☐ Recruit & train crew of 2-3 people (2-4 week training program)<br>
|
||||
☐ Run 50 test batches before selling (refine recipes for local fiber)<br>
|
||||
☐ Establish local fiber supply agreements with farmers or foragers<br>
|
||||
☐ Set up composting partnership (municipal or dedicated facility)<br>
|
||||
☐ Launch with 3-4 products, expand based on demand<br>
|
||||
☐ Document local adaptations & share with hub network
|
||||
</div>
|
||||
|
||||
<!-- ============================================================ -->
|
||||
<!-- HONEST SUMMARY -->
|
||||
<!-- ============================================================ -->
|
||||
|
||||
<hr>
|
||||
|
||||
<h3>Honest Summary</h3>
|
||||
|
||||
<p>
|
||||
A bioplastic factory at community scale requires real investment ($12k-113k), real labor (2-3 full-time people), & real fiber supply chains. Products compete on durability & compostability, not on price. A bowl that lasts 5 years & composts afterward occupies a different market than a $1 petroleum plastic bowl that persists for centuries.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The distributed hub model works only if each hub achieves consistent quality. Standardized recipes & inspection criteria make that possible. Local fiber sourcing makes each hub resilient to supply disruption. The goal: dozens of hubs producing everyday objects from local plant fiber, each adapted to its ecology & economy.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
None of this replaces reducing consumption. Using fewer things remains better than producing more compostable things. But for everyday objects that communities need regardless, growing the material locally & composting it locally closes a cycle that petroleum never can.
|
||||
</p>
|
||||
|
||||
<!-- ============================================================ -->
|
||||
<!-- SOURCES -->
|
||||
<!-- ============================================================ -->
|
||||
|
||||
<hr>
|
||||
|
||||
<h3>Sources</h3>
|
||||
|
||||
<div class="footnotes">
|
||||
<ol>
|
||||
<li id="fn1">Bodros & Baley (2008), "Study of the tensile properties of stinging nettle fibres (<i>Urtica dioica</i>)," <i>Materials Letters</i>. Nettle bast fiber composition & mechanical properties. <a href="#ref1">↩</a></li>
|
||||
|
||||
<li id="fn2">Rowell et al. (2005), "Cell Wall Chemistry," in <i>Handbook of Wood Chemistry and Wood Composites</i>. Hardwood cellulose content ranges 40-50%. <a href="#ref2">↩</a></li>
|
||||
|
||||
<li id="fn3">Dhakal et al. (2022), <a href="https://pmc.ncbi.nlm.nih.gov/articles/PMC9182753/" target="_blank">PMC 9182753</a>. 5% NaOH treatment of hemp at room temperature for 1-4 hours. Gentlest effective protocol. <a href="#ref3">↩</a></li>
|
||||
|
||||
<li id="fn4">Beluns et al. (2023), "Sustainable hemp-based bioplastics with tunable properties via reversible thermal crosslinking of cellulose," <a href="https://pubmed.ncbi.nlm.nih.gov/37245763/" target="_blank"><i>Int J Biol Macromol</i></a>. Citric acid crosslinking at 140C, up to 70 MPa tensile strength, 7-fold water uptake reduction. <a href="#ref4">↩</a></li>
|
||||
|
||||
<li id="fn5">Geankoplis (2003), <i>Transport Processes and Separation Process Principles</i>. Counter-current washing principles & water reduction factors. <a href="#ref5">↩</a></li>
|
||||
|
||||
<li id="fn6">Robert Murray-Smith, <a href="https://www.youtube.com/watch?v=REqqJOaE30U" target="_blank">"Hot Press Molding Hemp Casein Plastic"</a> (2020). On moisture & pressing: "if it's wet and you heat it and press it, you'll press off a lot of steam and it won't form properly." <a href="#ref6">↩</a></li>
|
||||
|
||||
<li id="fn7"><a href="https://bio-protocol.org/exchange/minidetail?id=21294617&type=30" target="_blank">Bio-protocol</a> (2025). Hemp cellulose + glycerol + NaOH, stirred 60 min at 80C, hot pressed at 240C for 10 min. <a href="#ref7">↩</a></li>
|
||||
</ol>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
<p><a href="/hemp-bioplastic/process/">← recipe (full process)</a> · <a href="/hemp-bioplastic/process/homeschool/">homeschool recipe</a> · <a href="/hemp-bioplastic/">hemp bioplastic overview</a> · <a href="/single-use-plastics/">single-use plastics</a></p>
|
||||
|
||||
</main>
|
||||
|
||||
<footer>
|
||||
<center><a href="/software/" class="unturf-brand">unturf. software</a></center>
|
||||
<center>Russell Ballestrini | <span class="unturf-brand">unturf.</span> © 2025</center>
|
||||
</footer>
|
||||
|
||||
<script src="/js/diagram-zoom.js"></script>
|
||||
<script src="https://uncloseai.com/uncloseai.js" type="module"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -507,7 +507,7 @@ Full chemistry, equipment lists, & scaling details: <a href="/hemp-bioplastic/pr
|
|||
|
||||
<hr>
|
||||
|
||||
<p><a href="/hemp-bioplastic/process/">← recipe (full process)</a> · <a href="/hemp-bioplastic/">hemp bioplastic overview</a> · <a href="/single-use-plastics/">single-use plastics</a></p>
|
||||
<p><a href="/hemp-bioplastic/process/">← recipe (full process)</a> · <a href="/hemp-bioplastic/process/factory/">factory</a> · <a href="/hemp-bioplastic/">hemp bioplastic overview</a> · <a href="/single-use-plastics/">single-use plastics</a></p>
|
||||
|
||||
</main>
|
||||
|
||||
|
|
|
|||
|
|
@ -457,7 +457,7 @@ None of this replaces buying groceries in glass jars or using cloth bags — tho
|
|||
|
||||
<hr>
|
||||
|
||||
<p><a href="/hemp-bioplastic/">← hemp bioplastic overview</a> · <a href="/hemp-bioplastic/process/homeschool/">homeschool recipe</a> · <a href="/single-use-plastics/">single-use plastics</a> · <a href="/let-us-define-a-permacomputer/">manifesto</a></p>
|
||||
<p><a href="/hemp-bioplastic/">← hemp bioplastic overview</a> · <a href="/hemp-bioplastic/process/homeschool/">homeschool recipe</a> · <a href="/hemp-bioplastic/process/factory/">factory</a> · <a href="/single-use-plastics/">single-use plastics</a> · <a href="/let-us-define-a-permacomputer/">manifesto</a></p>
|
||||
|
||||
</main>
|
||||
|
||||
|
|
|
|||