From c2b005f74b1be265a1f00541a70ba4fed109d302 Mon Sep 17 00:00:00 2001 From: Jen Mankoff <jmankoff@cs.washington.edu> Date: Sun, 29 Oct 2023 17:38:10 -0400 Subject: [PATCH] 3d printing deck for Monady --- slides/3dprinting.html | 1089 ++++++++++------------ slides/img/3dprinting/laser-cutting.jpeg | Bin 0 -> 16193 bytes slides/img/3dprinting/laser-cutting.png | Bin 17767 -> 0 bytes slides/laser-cutting.html | 108 +++ 4 files changed, 626 insertions(+), 571 deletions(-) create mode 100644 slides/img/3dprinting/laser-cutting.jpeg delete mode 100644 slides/img/3dprinting/laser-cutting.png create mode 100644 slides/laser-cutting.html diff --git a/slides/3dprinting.html b/slides/3dprinting.html index 0c25113f..c6f55dbd 100644 --- a/slides/3dprinting.html +++ b/slides/3dprinting.html @@ -112,25 +112,20 @@ dating back to the 1890s, it's the work of a German seamstress who had been cons --- [Facebook Fashion Discrimination](https://www.nytimes.com/2021/02/11/style/disabled-fashion-facebook-discrimination.html) - + --- # What is craft? -1000s of years old - -Highly skilled - -Only labeled “arts and crafts†after the industrial revolution - -Often centered in women’s “busy†work - -Sometimes entrepreneurial - -Exceptional at addressing unique and individual needs +- 1000s of years old +- Highly skilled +- Only labeled “arts and crafts†after the industrial revolution +- Often centered in women’s “busy†work +- Sometimes entrepreneurial +- Exceptional at addressing unique and individual needs --- - + --- # Modern crafting technology @@ -153,14 +148,54 @@ count: false ] +--- +# DIY Accessibility + +Rapid iteration can help with accessible design + +.left-column40[ + + + + + +] + +.right-column60[ +![:youtube Xbox adaptive controller intro, 9fcK19CAjWM] +] + +--- +# DIY Accessibility +.right-column60[ + +[Interactiles: 3D Printed Tactile Interfaces to Enhance Mobile Touchscreen Accessibility](https://make4all.org/portfolio/interactiles/) (ASSETS 2018) + + + +] + +.left-column40[ +Combination of materials +- Silicon & sewn conductive thread (could use conductive powder instead) +- Nuts and bolts +] + +--- +# Pause and discuss + +Try to think of some everyday ojects that could be made more accessible (customized through DIY making) + +Post on Ed + --- [//]: # (Outline Slide) -# Who crafts? +# Who makes accessibility happen? (1/2) Crafters with Disabilities --- -# Crafters with disabilities +# Example: Knitters with disabilities We interviewed 16 disabled knitters about their motivations, process, needs, and experiences of bias @@ -174,10 +209,8 @@ We collected data from six forums to extend our sample size and complement our i # Making Patterns Accessible Pattern accessibility was a frequent problem for disabled knitters - -Forum posters mentioned over 40 different pattern formatting guidelines to make patterns more accessible - -Not just about nonvisual access +- Forum posters mentioned over 40 different pattern formatting guidelines to make patterns more accessible +- Not just about nonvisual access For example P14-MC, who wrote out patterns in detail, said: @@ -207,14 +240,12 @@ definitely causes discomfort the fastest. (P3-M)] ] .right-column[ The results of knitting solved accessibility problems for some knitters +- Patterns for toy robots with disabilities to increase the inclusion and representation of disability in the knitting community (P10-M) +- Tops for wheelchair users with a shorter back and longer front -Tops for wheelchair users with a shorter back and longer front +.quote[if your sweater is too long in the back [and] goes underneath you, it's hard to transfer. (P14-M)] -.quote[if your sweater is too long in the back at all and it goes underneath you, it makes it hard to transfer. (P14-M)] - -Patterns for toy robots with disabilities to increase the inclusion and representation of disability in the knitting community (P10-M) ] - --- # Community Ableism @@ -226,7 +257,7 @@ Bias included assumptions about ability and even concerns about image, such as o --- [//]: # (Outline Slide) -# Who crafts? +# Who makes accessibility happen? (2/2) Crafters with Disabilities @@ -241,17 +272,33 @@ Domain Experts **A lot of research is needed here** -Full power of software engineering +- Full power of software engineering +- Equivalent of end user programming +- Production and personalization of interactive systems + - Modularity + - Requirements Specification + - Hybrid Control over AI based systems (e.g. optimization) -Equivalent of end user programming +-- +This is a focus of a lot of my group's work + +--- +# Announcements (1/2) -Production and personalization of interactive systems -- Modularity -- Requirements Specification -- Hybrid Control over AI based systems (e.g. optimization) +- Reminder: This is fabrication week, please come to class prepared to make things :) +- This is also the start of "Module 2", post-gui accessibility. Please fill out our end-of-module survey to give feedback on module 1 (we will post it on Ed this week) --- -This is the focus of a lot of my group's work +--- +# Announcements (2/2) + +- Reminder: accessibility goes both ways in this class. + - You can expect it of us (and correct us if we make a mistake) + - We also expect it of you (it is a requirement for us to assess you) + +- Things that we expect you to do going forward in order to assess you on *other* competencies and give you full credit for participation + - alt text for images + - accessible documents + - accessible presentations --- # Traditional Manufacturing @@ -301,26 +348,23 @@ class E green </div> +--- + <!-- ![:youtube Time lapse video liquid printing, l3TgmvV2ElQ?t=23] --> -<!-- ![:youtube Time lapse video explaining 3D printing, m_QhY1aABsE] --> +![:youtube Time lapse video explaining 3D printing, m_QhY1aABsE] <!-- ![:youtube Time lapse video laser sintering, 9E5MfBAV_tA?t=53] --> - -![:youtube Time lapse video of powder printing, kBHsfNDsbCs?t=7s] +<!-- ![:youtube Time lapse video of powder printing, kBHsfNDsbCs?t=7s] --> --- # Fabrication technologies are not -Not the startrek replicator - -Not as fast as the best manufacturing solutions for bulk manufacturing - -Not as fast as your 2d printer - -Often expensive +- ...the startrek replicator +- ...as fast as the best manufacturing solutions for bulk manufacturing +- ...as fast as your 2d printer +- ...inexpensive +- ...nice to touch (material range is limited) -Material range is limited - -... But they can do a lot of interesting things +**But** they can do a lot of interesting things --- # Additive/Subtractive Manufacturing @@ -340,7 +384,6 @@ class B,D,E,F blue class A,G green </div> -<br> <div class="mermaid"> graph LR A(Design) -->|Prepare| B(Geometry) @@ -348,8 +391,8 @@ B -->|Interpret| D(Manufacturing instructions) D -->|Machine| E(Made Object) E -->|Clean Up| F(Final Object) -class A,B,D blue -class E green +class A,B,D lightblue +class E lightgreen </div> <br> @@ -385,254 +428,133 @@ class E green ![:youtube Video of a person using a CNC machine to make a spoon, caf5WDeBUaA] --- -# Prepare for Printing - -- Create a model using any one of a number of 3D modeling packages such as Sketchup, Open SCAD, -Rhino 3d, Meshmixer, Blender, OnShape, Minecraft, SolidWorks - - Some packages reprsent 3D objects as solids, others as shells and boundaries. -- Or you can find lots of stuff in repositories, like [Thingiverse](http://www.thingiverse.com/) +# Machine Knitting +<div class="mermaid"> +graph LR +A(Materials) --> B(Factory) +B --> D(Shipping) +D --> E(Storage) +E --> F(Shipping) +F --> G(You) -.left-column50[ -__Solids__ (image from [Wikipedia](https://en.wikipedia.org/wiki/Constructive_solid_geometry )) - - -] +classDef blue font-size:14pt; +classDef green font-size:14pt; -.right-column50[ -__Shells/Boundaries__ +class B,D,E,F blue +class A,G green +</div> - - -] +<div class="mermaid"> +graph LR +A(Design) -->|Prepare| B(Geometry) +B -->|Interpret| D(Manufacturing instructions) +D -->|Machine| E(Made Object) +E -->|Clean Up| F(Final Object) ---- -# Example: .stl File (Additive) +class A,B,D lightblue +class E lightgreen +</div> -Almost every software package can save the files as a `.stl` file (stereolithography) +<div class="mermaid"> +graph LR +A(CAD software) -->|Prepare| B(Geometry) +B -->|Slice| D(G-Code) +D -->|3D Printer: additive<BR>CNC:subtractive| E(Plastic/Wood/Metal) +E -->|Snip & Sand & Finish | F(Final Object) -.left-column50[ +class A,B,D lightblue +class E lightgreen +</div> - - +<br> +<div class="mermaid"> +graph LR +A(knit_script) -->|Prepare| B(Knit Graph) +B -->|Compile| D(DAT) +D -->|Knitting Machine| E(Knit Object) +E -->|Cut & Sew| F(Final Object) -] -.right-column50[ -``` -solid OBJECT - facet normal 0 -1 0 - outer loop - vertex 10 -10 0 - vertex 0 -10 10 - vertex 0 -10 0 - endloop - endfacet - facet normal 0 -1 0 - outer loop - vertex 0 -10 10 - vertex 10 -10 20 - vertex 8 -10 20 - endloop - endfacet -``` -] +class A,B,D blue +class E green +</div> --- -# Printer Controller -The printer controller converts the `.stl` file into GCode, commands read by the printer +# Creating Knitted Objects + -.left-column50[ -``` -solid OBJECT - facet normal 0 -1 0 - outer loop - vertex 10 -10 0 - vertex 0 -10 10 - vertex 0 -10 0 - endloop - endfacet - facet normal 0 -1 0 - outer loop - vertex 0 -10 10 - vertex 10 -10 20 - vertex 8 -10 20 - endloop - endfacet -``` -] +<!-- --- --> +<!-- # KnitScript: Striped Sheet --> + +<!-- ```python --> +<!-- import cast_ons; --> +<!-- width = 40; --> +<!-- height = 12; --> + +<!-- def knit_colored_stripe(new_carrier):{ --> +<!-- with Carrier as new_carrier:{ --> +<!-- knit_stripe(); --> +<!-- } --> +<!-- } --> + +<!-- def knit_stripe():{ --> +<!-- for r in range(0, height):{ --> +<!-- in reverse direction:{ --> +<!-- knit Loops; --> +<!-- } --> +<!-- } --> +<!-- } --> + +<!-- with Carrier as c1:{ --> +<!-- cast_ons.alt_tuck_cast_on(width); --> +<!-- knit_stripe(); // uses c1 --> +<!-- knit_colored_stripe(c2); // will use c2 --> +<!-- knit_stripe(); // starts using c1 again --> +<!-- } --> +<!-- ``` --> +<!-- --- --> --- -.right-column50[ +<!-- # Knitting a stripe --> - +<!-- ![:youtube Video a knitting machine, jpDFHhmgsnk] --> -] --- -# Printer Controller - -The printer controller converts the `.stl` file into GCode, commands read by the printer - - -.left-column50[ -``` -solid OBJECT - facet normal 0 -1 0 - outer loop - vertex 10 -10 0 - vertex 0 -10 10 - vertex 0 -10 0 - endloop - endfacet - facet normal 0 -1 0 - outer loop - vertex 0 -10 10 - vertex 10 -10 20 - vertex 8 -10 20 - endloop - endfacet -``` -] +# Creating Knitted Objects -.right-column50[ -``` -G1 X-5.87 Y-12.69 Z0.47 F3360.0 -G1 F1200.0 -G1 E1.0 -G1 F3360.0 -M101 -G1 X-5.87 Y12.69 Z0.47 F381.198 E5.799 -G1 X-2.93 Y12.69 Z0.47 F381.198 E6.354 -G1 X-2.93 Y-12.69 Z0.47 F381.198 E11.152 -G1 X0.0 Y-12.69 Z0.47 F381.198 E11.707 -G1 X0.0 Y12.69 Z0.47 F381.198 E16.506 -G1 X2.93 Y12.69 Z0.47 F381.198 E17.06 -G1 X2.93 Y-12.69 Z0.47 F381.198 E21.859 -G1 X5.87 Y-12.69 Z0.47 F381.198 E22.414 -G1 X5.87 Y12.69 Z0.47 F381.198 E27.213 -G1 X8.8 Y12.69 Z0.47 F381.198 E27.768 -``` -] +![:youtube Video a knitting machine, t2Lpk4Jal6o] --- -# Results - ---- -# Other Materials +# Laser Cutting +<div class="mermaid"> +graph LR +A(Materials) --> B(Factory) +B --> D(Shipping) +D --> E(Storage) +E --> F(Shipping) +F --> G(You) -- [Lisa Harouni Talk](https://www.ted.com/talks/lisa_harouni_a_primer_on_3d_printing#t-120717) (@2:12) -- [Powder printer](https://youtu.be/kBHsfNDsbCs?t=29s) -- [Liquid Based additive printers](https://www.popsci.com/new-liquid-based-3d-printer-takes-minutes-not-hours/) (@1:07) -- [Candy](https://www.youtube.com/watch?time_continue=5&v=rU6RAM0Wrck&feature=emb_logo), -[Chocolate](http://youtu.be/BIFi8but3Vw) other [Confections](https://www.youtube.com/watch?v=U3TmrCzVZ6w) -- [Pancake bot](https://www.youtube.com/watch?v=f3Q8nbtRNT0) -- Cement for houses [old](https://www.youtube.com/watch?v=WzmCnzA7hnE), [new](https://www.youtube.com/watch?v=8zt_3Gs1ksg) -- [MIT’s glass printer](https://gizmodo.com/watching-mits-glass-3d-printer-is-absolutely-mesmerizin-1725433454) -- [Ceramics](https://www.youtube.com/watch?v=1JjaqKUUMMw) (with sound vibrations), [Sample art](https://www.foransuon.com/) +classDef blue font-size:14pt; +classDef green font-size:14pt; ---- -# What not to print +class B,D,E,F blue +class A,G green +</div> -- Food handling articles (unless on a special printer) -- Safety critical strong things -- High heat tolerance things -- Things for chemically harsh environments +<div class="mermaid"> +graph LR +A(Design) -->|Prepare| B(Geometry) +B -->|Interpret| D(Manufacturing instructions) +D -->|Machine| E(Made Object) +E -->|Clean Up| F(Final Object) ---- -# Printing: Beyond plastic +class A,B,D lightblue +class E lightgreen +</div> -.left-column50[ - - - - -] - -.right-column50[ - - - -[Shorey Designs](https://www.shoreydesigns.com/3d-printing-on-fabric) - -] ---- -# Printing with Kinetics - -.left-column-half[ - - -] -.right-column-half[ -![:youtube Examples of embedded fabric, 9xqze9csLmY] -] -??? -- String or wire (like a tendon) - -<!-- --- --> -<!-- # Printing with Kinetics --> - -<!--  --> -<!--  --> -<!--  --> -<!--  --> - - ---- -# Printing new interactions - -<iframe title="vimeo-player" src="https://player.vimeo.com/video/551468278" width="640" height="360" frameborder="0" allowfullscreen></iframe> - - ---- -# More examples! - -<br> -- [3D Printed Medical Device Saves Baby's Life](https://www.youtube.com/watch?v=zr0HGCZSgE4) -- [Prosthetic hand](http://youtu.be/CHPuMCshkLU?t=42s) (up to ~2:10) -- [Prostheic 3D printed Eagle Beak](https://youtu.be/M1jxnogZgd4) -- [3D printed car](https://www.youtube.com/watch?v=daioWlkH7ZI) -- [Lots of examples quickly](https://www.youtube.com/watch?v=X5AZzOw7FwA) -- [3D printers print ten houses in 24 hours](https://www.youtube.com/watch?v=SObzNdyRTBs) -- [Printed body parts](http://youtu.be/jSjW-EgKOhk?t=1m8s) -- [Printed organs](https://www.youtube.com/watch?v=4nqw1yjyKEs) -- [3D printed pizza](http://youtu.be/dvjqmMfMU7w?t=15s) -- [3D printed fashion](http://youtu.be/63Xozzh_uHM) -- [3D Printing a Garden Sprinkler](https://www.youtube.com/watch?v=y9XRD3P2G-E) - ---- - -# Machine Knitting -<div class="mermaid"> -graph LR -A(Materials) --> B(Factory) -B --> D(Shipping) -D --> E(Storage) -E --> F(Shipping) -F --> G(You) - -classDef blue font-size:14pt; -classDef green font-size:14pt; - -class B,D,E,F blue -class A,G green -</div> - -<br> -<div class="mermaid"> -graph LR -A(Design) -->|Prepare| B(Geometry) -B -->|Interpret| D(Manufacturing instructions) -D -->|Machine| E(Made Object) -E -->|Clean Up| F(Final Object) - -class A,B,D blue -class E green -</div> - -<br> <div class="mermaid"> graph LR A(CAD software) -->|Prepare| B(Geometry) @@ -640,11 +562,10 @@ B -->|Slice| D(G-Code) D -->|3D Printer: additive<BR>CNC:subtractive| E(Plastic/Wood/Metal) E -->|Snip & Sand & Finish | F(Final Object) -class A,B,D blue -class E green +class A,B,D lightblue +class E lightgreen </div> -<br> <div class="mermaid"> graph LR A(knit_script) -->|Prepare| B(Knit Graph) @@ -652,435 +573,461 @@ B -->|Compile| D(DAT) D -->|Knitting Machine| E(Knit Object) E -->|Cut & Sew| F(Final Object) +class A,B,D lightblue +class E lightgreen +</div> + +<br> +<div class="mermaid"> +graph LR +A(Adobe/Powerpoint/etc) -->|Prepare| B(DXF or SVG) +B -->|...| D(DXF or SVG) +D -->|Laser Cutter| E(Wood/Cardboard/Leather) + class A,B,D blue class E green </div> --- +# Coming Up -# Creating Knitted Objects - - +- I will briefly introduce Tinkercad (Do the tutorials!) +- You will design something +- You will refine it in lab and we will print it during lab +- Further iteration possible Friday (TBD based on how things go) --- -# KnitScript: Striped Sheet +# Example: Bagholder -```python -import cast_ons; -width = 40; -height = 12; +.left-column[ + +] +.right-column[ +[Instructables project](https://www.instructables.com/Making-a-laser-cut-bag-holder/) -def knit_colored_stripe(new_carrier):{ - with Carrier as new_carrier:{ - knit_stripe(); - } -} +Examples In Tinkercad: [1](https://www.tinkercad.com/things/iR1ogjaD0a9) [2](https://www.tinkercad.com/things/lhLixGNHxFe-bag-holder) [3](https://www.tinkercad.com/things/8Cu8NS0Ws2n) [4](https://www.tinkercad.com/things/3gfeTggL15I) [5](https://www.tinkercad.com/things/h9xkhbg6dgE) [6](https://www.tinkercad.com/things/6OoyVYTHOU4) +How could you modify this to make it more comfortable? -def knit_stripe():{ - for r in range(0, height):{ - in reverse direction:{ - knit Loops; - } - } -} +] -with Carrier as c1:{ - cast_ons.alt_tuck_cast_on(width); - knit_stripe(); // uses c1 - knit_colored_stripe(c2); // will use c2 - knit_stripe(); // starts using c1 again -} -``` --- +# Example: Book Opener ([Etsy](https://www.etsy.com/listing/883330413/book-buddy-book-holder-wood-thumb-page)) -# Knitting a stripe +.left-column50[] +.right-column50[ +Example In Tinkercad: [1](https://www.tinkercad.com/things/a5riyLRKUBU) +] +--- +# Example: Cup Holder ([T:1863196](https://www.thingiverse.com/thing:1863196)) -![:youtube Video a knitting machine, jpDFHhmgsnk] + --- -# Creating Knitted Objects +# Example: Key Guard ([T:1365497](https://www.thingiverse.com/thing:1365497)) -![:youtube Video a knitting machine, t2Lpk4Jal6o] + --- +# Example: Bottle Opener ([T:40131](https://www.thingiverse.com/thing:40131)) + +Example in Tinkercad: [1](https://www.tinkercad.com/things/9SmzdtgJ9Ou) [2](https://www.tinkercad.com/things/gt2P9U1njre) [3](https://www.tinkercad.com/things/kUCNz3pnKIG) [4](https://www.tinkercad.com/things/l7ol57fDvi3) [5](https://www.tinkercad.com/things/lbPdLUKzzoP) -# Laser Cutting -<div class="mermaid"> -graph LR -A(Materials) --> B(Factory) -B --> D(Shipping) -D --> E(Storage) -E --> F(Shipping) -F --> G(You) - -classDef blue font-size:14pt; -classDef green font-size:14pt; +--- +# Example: Key Handle ([T:2802082](https://www.thingiverse.com/thing:2802082)) -class B,D,E,F blue -class A,G green -</div> +.left-column50[ + +] +.right-column50[ +How would you attach this securely? +] + +<!-- --- --> +<!-- # Example: Cookbook Holder ([Home Depot](https://www.homedepot.com/p/Honey-Can-Do-Natural-Acacia-and-Steel-Tablet-or-Cookbook-Stand-KCH-08569/312111086)) --> -<br> -<div class="mermaid"> -graph LR -A(Design) -->|Prepare| B(Geometry) -B -->|Interpret| D(Manufacturing instructions) -D -->|Machine| E(Made Object) -E -->|Clean Up| F(Final Object) +<!--  --> -class A,B,D blue -class E green -</div> +--- +# Example: Pillbox ([Etsy](https://www.etsy.com/listing/1321874671/laser-cut-3-or-4-mm-18-inch-svg-7-days?ga_order=most_relevant&ga_search_type=all&ga_view_type=gallery&ga_search_query=laser+cut+pill&ref=sr_gallery-1-6&organic_search_click=1)) +.left-column50[ + +] +.right-column50[ +Probably made with [boxes.py](https://www.instructables.com/Lasercut-Little-Wood-Boxes/) + +] -<br> -<div class="mermaid"> -graph LR -A(CAD software) -->|Prepare| B(Geometry) -B -->|Slice| D(G-Code) -D -->|3D Printer: additive<BR>CNC:subtractive| E(Plastic/Wood/Metal) -E -->|Snip & Sand & Finish | F(Final Object) -class A,B,D blue -class E green -</div> +--- +# Example: Cutting Board ([rehab-store.com](https://www.rehab-store.com/p-one-handed-deluxe-maple-cutting-board.html)) -<br> -<div class="mermaid"> -graph LR -A(knit_script) -->|Prepare| B(Knit Graph) -B -->|Compile| D(DAT) -D -->|Knitting Machine| E(Knit Object) -E -->|Cut & Sew| F(Final Object) + Examples in Tinkercad: [1](https://www.tinkercad.com/things/iWToRbHgluC) [2](https://www.tinkercad.com/things/eDCKLmKA0MA) -class A,B,D blue -class E green -</div> +--- +# Example: Keyboard Risers ([Amazon](https://www.amazon.com/SUPBEE-Laptop-Computer-Keyboard-Pockets/dp/B0B21VHY57)) -<br> -<div class="mermaid"> -graph LR -A(Adobe/Powerpoint/etc) -->|Prepare| B(DXF or SVG) -B -->|...| D(DXF or SVG) -D -->|Laser Cutter| E(Wood/Cardboard/Leather) + -class A,B,D blue -class E green -</div> +--- +# Next steps -We'll try this out in a sec, but first a few closing thoughts +- Now it's time to think about what you might want to make +- Talk to your neighbor +- Post on Ed! --- -# Manufacturing Accessibility +# If you want more -Rapid iteration can help with accessible design +.left-column50[ -.left-column40[ +[3D printing for health](http://make4all.org/portfolio/3d-printing-for-health/) - - +[More materials](http://make4all.org/portfolio/3d-printing-in-a-range-of-materials/) -(Taylor's research) +[Metamaterials](http://make4all.org/portfolio/metamaterials/) -] +[3D printing for education](http://make4all.org/portfolio/3d-printing-for-education/) -.right-column60[ -![:youtube Xbox adaptive controller intro, 9fcK19CAjWM] ] +.right-column50[ ---- -# Manufacturing Accessibility -.right-column60[ - -[Interactiles: 3D Printed Tactile Interfaces to Enhance Mobile Touchscreen Accessibility](https://make4all.org/portfolio/interactiles/) (ASSETS 2018) - - +[Interactive objects](http://make4all.org/portfolio/3d-printing-of-interactive-objects/) -] +[3D printing and sustainability](http://make4all.org/portfolio/3d-printing-and-sustainability/) -.left-column40[ -Combination of materials -- Silicon & sewn conductive thread (could use conductive powder instead) -- Nuts and bolts +[Options for rapid fabrication with 3D printing](http://make4all.org/portfolio/rapid-fabrication-prototyping/) ] --- -# laser Cutting To Create Access +# The End! -<iframe src="https://embed.polleverywhere.com/free_text_polls/tyAgNOl6sJAzjQ8cwbDcx?controls=none&short_poll=true" width="800px" height="600px"></iframe> +--- --- -# Bagholder +# old slides... -.left-column50[ - -] -.right-column50[ -[Instructables project](https://www.instructables.com/Making-a-laser-cut-bag-holder/) +--- +# Printing to enhance a mobile phone -How could you modify this to make it more comfortable? +.right-column60[ +[Etch a Sketch!](https://www.thingiverse.com/thing:3251892) +![:youtube Mobile phone case to use the phone like an etch a sketch, dcaErURbyIA] ] +-- +count: false +.left-column40[ +New ways of interacting! +- Works by combining condutive plastic with custom interactor +- Looks like touch input to the software +- Gears control motion options mechanically +] --- -# Book Opener ([Etsy](https://www.etsy.com/listing/883330413/book-buddy-book-holder-wood-thumb-page)) +# Mechanically to enhance a mobile phone - +.right-column60[ +[Phone trigger buttons](https://www.thingiverse.com/thing:2960274) +![:youtube Game playing hardware --trigger buttons--,X_C1Qxjg2WI] +] +.left-column40[ +New ways of interacting! +- Similar approach, also conductive +] --- -# Cup Holder ([Thingiverse:1863196](https://www.thingiverse.com/thing:1863196)) +# Printing to enhance a mobile phone +.right-column60[ - +Acoustruments +![:youtube Printed objects whose use can be sensed, C2d1pB1qlvA] +] + +.left-column40[ +New ways of interacting! +- Leverages the phone's microphone +- Uses flexible plastic with holes +- Requires machine learning +] --- -# Key Guard ([Thingiverse:1365497](https://www.thingiverse.com/thing:1365497)) +# Use your phone to control general hardware - +.left-column40[ +[IOIO](https://learn.sparkfun.com/tutorials/ioio-otg-hookup-guide) / +[IOIO wiki](https://github.com/ytai/ioio/wiki) ---- -# Bottle Opener ([Thingiverse:40131](https://www.thingiverse.com/thing:40131)) +[[Arduino](https://www.arduino.cc/) +] - +.right-column60[ + +] --- -# Key Handle ([Thingiverse:2802082](https://www.thingiverse.com/thing:2802082)) +# Printing to enhance a mobile phone -.left-column50[ - -] .right-column50[ -How would you attach this securely? -] - ---- -# Cookbook Holder ([Home Depot](https://www.homedepot.com/p/Honey-Can-Do-Natural-Acacia-and-Steel-Tablet-or-Cookbook-Stand-KCH-08569/312111086)) +[Phone for potentiostatic +control](https://ieeexplore.ieee.org/abstract/document/6916991) + + + ] +.left-column50[ +New ways of interacting - +Phone as embedded computer + +New ways of sensing +- exploits ability to play sounds +- serves basic functions of a potentiostat in controlling an applied + potential to oxidise ECL-active molecules +- resultant photonic signal is monitored using the camera in video + mode. +- combined with paper microfluidic sensors ---- -# Pillbox ([Etsy](https://www.etsy.com/listing/1321874671/laser-cut-3-or-4-mm-18-inch-svg-7-days?ga_order=most_relevant&ga_search_type=all&ga_view_type=gallery&ga_search_query=laser+cut+pill&ref=sr_gallery-1-6&organic_search_click=1)) -.left-column50[ - -] -.right-column50[ -Probably made with [boxes.py](https://www.instructables.com/Lasercut-Little-Wood-Boxes/) - ] +??? +The audio jack supplies the potential to the paper microfluidic +sensor, while the resultant emission is detected by the camera in +video mode. Both the excitation and detection processes are controlled +by a software application which can also transmit the results via +e-mail. The black plastic sleeve surrounding the top of the phone +holds the sensor adjacent to the camera and blocks ambient light. --- -# Cutting Board ([rehab-store.com](https://www.rehab-store.com/p-one-handed-deluxe-maple-cutting-board.html)) +# Moon House Video - +![:youtube Video of a robot 3d printing a round house, 8zt_3Gs1ksg] --- -# Keyboard Risers ([Amazon](https://www.amazon.com/SUPBEE-Laptop-Computer-Keyboard-Pockets/dp/B0B21VHY57)) +# Prepare for Printing - +- Create a model using any one of a number of 3D modeling packages such as Sketchup, Open SCAD, +Rhino 3d, Meshmixer, Blender, OnShape, Minecraft, SolidWorks + - Some packages reprsent 3D objects as solids, others as shells and boundaries. +- Or you can find lots of stuff in repositories, like [Thingiverse](http://www.thingiverse.com/) ---- -# Now it's your turn. Some key things to know .left-column50[ -We're using a [Glowforge](https://glowforge.com/). -- It takes SVGs as input -- It can engrave, cut, etc -- We're providing plywood, 3mm thick [double check with calipers] +__Solids__ (image from [Wikipedia](https://en.wikipedia.org/wiki/Constructive_solid_geometry )) + + ] .right-column50[ -Software options +__Shells/Boundaries__ -- Powerpoint: Can even [merge shapes](https://www.indezine.com/products/powerpoint/learn/shapes/2016/shape-union.html). Probably best for total beginners if you have it. -- [Adobe Illustrator](https://www.adobe.com/products/illustrator.html). Best for most tasks if you have it -- [AutoCAD](https://www.autodesk.com/products/autocad/overview?term=1-YEAR&tab=subscription) (free for students). Probably overkill -- [Inkscape](https://www.autodesk.com/products/autocad/overview?term=1-YEAR&tab=subscription) (free). Best free option + + ] --- -# What can you do? +# Example: .stl File (Additive) -.left-column40[ - -] -.right-column60[ -Cutting: Makes a hole. -- Any line can be cut +Almost every software package can save the files as a `.stl` file (stereolithography) -Scoring: Doesn't cut all the way through. -- Again, any line +.left-column50[ + + + -Engraving: Burns. Can do greyscale. -- Expand with fill -- Images. Make sure they're not too dark. +] +.right-column50[ +``` +solid OBJECT + facet normal 0 -1 0 + outer loop + vertex 10 -10 0 + vertex 0 -10 10 + vertex 0 -10 0 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0 -10 10 + vertex 10 -10 20 + vertex 8 -10 20 + endloop + endfacet +``` ] --- -# Essential Measurements +# Printer Controller -The amount of wood removed by the laser cutter as it burns through the wood. +The printer controller converts the `.stl` file into GCode, commands read by the printer -Should always test for each new type of wood and wood thickness -[Instructable](https://www.instructables.com/How-to-Adjust-for-Wood-Thickness-and-Kerf-on-a-Las/) on how to do this +.left-column50[ +``` +solid OBJECT + facet normal 0 -1 0 + outer loop + vertex 10 -10 0 + vertex 0 -10 10 + vertex 0 -10 0 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0 -10 10 + vertex 10 -10 20 + vertex 8 -10 20 + endloop + endfacet +``` +] -Only an issue if you're making a box or something else that has to assemble +-- +.right-column50[ -Use calipers to measure! + +] --- +# Printer Controller -# Your process - -.left-column50[ -Measure thrice - -Make an svg +The printer controller converts the `.stl` file into GCode, commands read by the printer -Print it on paper -Cut it out and check your measurements AGAIN +.left-column50[ +``` +solid OBJECT + facet normal 0 -1 0 + outer loop + vertex 10 -10 0 + vertex 0 -10 10 + vertex 0 -10 0 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0 -10 10 + vertex 10 -10 20 + vertex 8 -10 20 + endloop + endfacet +``` ] -.right-column50[ -Decorate -Save to SVG -- First "expand" (if needed) -- Include mm as units -- Include images +.right-column50[ +``` +G1 X-5.87 Y-12.69 Z0.47 F3360.0 +G1 F1200.0 +G1 E1.0 +G1 F3360.0 +M101 +G1 X-5.87 Y12.69 Z0.47 F381.198 E5.799 +G1 X-2.93 Y12.69 Z0.47 F381.198 E6.354 +G1 X-2.93 Y-12.69 Z0.47 F381.198 E11.152 +G1 X0.0 Y-12.69 Z0.47 F381.198 E11.707 +G1 X0.0 Y12.69 Z0.47 F381.198 E16.506 +G1 X2.93 Y12.69 Z0.47 F381.198 E17.06 +G1 X2.93 Y-12.69 Z0.47 F381.198 E21.859 +G1 X5.87 Y-12.69 Z0.47 F381.198 E22.414 +G1 X5.87 Y12.69 Z0.47 F381.198 E27.213 +G1 X8.8 Y12.69 Z0.47 F381.198 E27.768 +``` ] ---- --- -# If you want more - -.left-column50[ +# Results -[3D printing for health](http://make4all.org/portfolio/3d-printing-for-health/) + -[More materials](http://make4all.org/portfolio/3d-printing-in-a-range-of-materials/) +--- +# What not to print -[Metamaterials](http://make4all.org/portfolio/metamaterials/) +- Food handling articles (unless on a special printer) +- Safety critical strong things +- High heat tolerance things +- Things for chemically harsh environments -[3D printing for education](http://make4all.org/portfolio/3d-printing-for-education/) +--- +# Other Materials -] -.right-column50[ +- [Lisa Harouni Talk](https://www.ted.com/talks/lisa_harouni_a_primer_on_3d_printing#t-120717) (@2:12) +- [Powder printer](https://youtu.be/kBHsfNDsbCs?t=29s) +- [Liquid Based additive printers](https://www.popsci.com/new-liquid-based-3d-printer-takes-minutes-not-hours/) (@1:07) +- [Candy](https://www.youtube.com/watch?time_continue=5&v=rU6RAM0Wrck&feature=emb_logo), +[Chocolate](http://youtu.be/BIFi8but3Vw) other [Confections](https://www.youtube.com/watch?v=U3TmrCzVZ6w) +- [Pancake bot](https://www.youtube.com/watch?v=f3Q8nbtRNT0) +- Cement for houses [old](https://www.youtube.com/watch?v=WzmCnzA7hnE), [new](https://www.youtube.com/watch?v=8zt_3Gs1ksg) +- [MIT’s glass printer](https://gizmodo.com/watching-mits-glass-3d-printer-is-absolutely-mesmerizin-1725433454) +- [Ceramics](https://www.youtube.com/watch?v=1JjaqKUUMMw) (with sound vibrations), [Sample art](https://www.foransuon.com/) -[Interactive objects](http://make4all.org/portfolio/3d-printing-of-interactive-objects/) +--- +# Printing: Beyond plastic -[3D printing and sustainability](http://make4all.org/portfolio/3d-printing-and-sustainability/) +.left-column50[ + + + -[Options for rapid fabrication with 3D printing](http://make4all.org/portfolio/rapid-fabrication-prototyping/) ] ---- -# The End! +.right-column50[ + + ---- +[Shorey Designs](https://www.shoreydesigns.com/3d-printing-on-fabric) -<!-- --- --> -<!-- # Printing to enhance a mobile phone --> - -<!-- .right-column60[ --> -<!-- [Etch a Sketch!](https://www.thingiverse.com/thing:3251892) --> - -<!-- ![:youtube Mobile phone case to use the phone like an etch a sketch, dcaErURbyIA] --> -<!-- ] --> - -<!-- -- --> -<!-- count: false --> -<!-- .left-column40[ --> -<!-- New ways of interacting! --> -<!-- - Works by combining condutive plastic with custom interactor --> -<!-- - Looks like touch input to the software --> -<!-- - Gears control motion options mechanically --> -<!-- ] --> -<!-- --- --> -<!-- # Mechanically to enhance a mobile phone --> +] +--- +# Printing with Kinetics -<!-- .right-column60[ --> -<!-- [Phone trigger buttons](https://www.thingiverse.com/thing:2960274) --> -<!-- ![:youtube Game playing hardware --trigger buttons--,X_C1Qxjg2WI] --> -<!-- ] --> -<!-- .left-column40[ --> -<!-- New ways of interacting! --> -<!-- - Similar approach, also conductive --> -<!-- ] --> +.left-column-half[ + + +] +.right-column-half[ +![:youtube Examples of embedded fabric, 9xqze9csLmY] +] +??? +- String or wire (like a tendon) <!-- --- --> -<!-- # Printing to enhance a mobile phone --> -<!-- .right-column60[ --> - -<!-- Acoustruments --> -<!-- ![:youtube Printed objects whose use can be sensed, C2d1pB1qlvA] --> -<!-- ] --> +<!-- # Printing with Kinetics --> -<!-- .left-column40[ --> -<!-- New ways of interacting! --> -<!-- - Leverages the phone's microphone --> -<!-- - Uses flexible plastic with holes --> -<!-- - Requires machine learning --> -<!-- ] --> +<!--  --> +<!--  --> +<!--  --> +<!--  --> -<!-- --- --> -<!-- # Use your phone to control general hardware --> -<!-- .left-column40[ --> -<!-- [IOIO](https://learn.sparkfun.com/tutorials/ioio-otg-hookup-guide) / --> -<!-- [IOIO wiki](https://github.com/ytai/ioio/wiki) --> +--- +# Printing new interactions -<!-- [[Arduino](https://www.arduino.cc/) --> -<!-- ] --> +<iframe title="vimeo-player" src="https://player.vimeo.com/video/551468278" width="640" height="360" frameborder="0" allowfullscreen></iframe> -<!-- .right-column60[ --> -<!--  --> -<!-- ] --> -<!-- --- --> -<!-- # Printing to enhance a mobile phone --> - -<!-- .right-column50[ --> -<!-- [Phone for potentiostatic --> -<!-- control](https://ieeexplore.ieee.org/abstract/document/6916991) --> - -<!--  --> -<!-- ] --> -<!-- .left-column50[ --> -<!-- New ways of interacting --> - -<!-- Phone as embedded computer --> - -<!-- New ways of sensing --> -<!-- - exploits ability to play sounds --> -<!-- - serves basic functions of a potentiostat in controlling an applied --> -<!-- potential to oxidise ECL-active molecules --> -<!-- - resultant photonic signal is monitored using the camera in video --> -<!-- mode. --> -<!-- - combined with paper microfluidic sensors --> - -<!-- ] --> -<!-- ??? --> - -<!-- The audio jack supplies the potential to the paper microfluidic --> -<!-- sensor, while the resultant emission is detected by the camera in --> -<!-- video mode. Both the excitation and detection processes are controlled --> -<!-- by a software application which can also transmit the results via --> -<!-- e-mail. The black plastic sleeve surrounding the top of the phone --> -<!-- holds the sensor adjacent to the camera and blocks ambient light. --> +--- +# More examples! -<!-- --- --> -<!-- # Moon House Video --> +<br> +- [3D Printed Medical Device Saves Baby's Life](https://www.youtube.com/watch?v=zr0HGCZSgE4) +- [Prosthetic hand](http://youtu.be/CHPuMCshkLU?t=42s) (up to ~2:10) +- [Prostheic 3D printed Eagle Beak](https://youtu.be/M1jxnogZgd4) +- [3D printed car](https://www.youtube.com/watch?v=daioWlkH7ZI) +- [Lots of examples quickly](https://www.youtube.com/watch?v=X5AZzOw7FwA) +- [3D printers print ten houses in 24 hours](https://www.youtube.com/watch?v=SObzNdyRTBs) +- [Printed body parts](http://youtu.be/jSjW-EgKOhk?t=1m8s) +- [Printed organs](https://www.youtube.com/watch?v=4nqw1yjyKEs) +- [3D printed pizza](http://youtu.be/dvjqmMfMU7w?t=15s) +- [3D printed fashion](http://youtu.be/63Xozzh_uHM) +- [3D Printing a Garden Sprinkler](https://www.youtube.com/watch?v=y9XRD3P2G-E) -<!-- ![:youtube Video of a robot 3d printing a round house, 8zt_3Gs1ksg] --> diff --git a/slides/img/3dprinting/laser-cutting.jpeg b/slides/img/3dprinting/laser-cutting.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..3831c5cc62bb30e8ce501df4036edc0ef9cf1b5e GIT binary patch literal 16193 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 E3lac(F8}}l literal 0 HcmV?d00001 diff --git a/slides/img/3dprinting/laser-cutting.png b/slides/img/3dprinting/laser-cutting.png deleted file mode 100644 index f24b61a61827afc6fd264152ecc451c9292a869c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17767 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 Y*P2X}rK7L-@74eRuKw>Hf$Qo21)pivUjP6A diff --git a/slides/laser-cutting.html b/slides/laser-cutting.html new file mode 100644 index 00000000..5d3a7ac8 --- /dev/null +++ b/slides/laser-cutting.html @@ -0,0 +1,108 @@ +--- +layout: presentation +title: FOOBAR --Week N-- +description: Accessibility +class: middle, center, inverse +--- +background-image: url(img/people.png) + +.left-column50[ +# Welcome to the Future of Access Technologies + +Week N, FOOBAR + +{{site.classnum}}, {{site.quarter}} +] +--- +name: normal +layout: true +class: + +--- +# Important Reminder + +## This is an important reminder +## Make sure zoom is running and recording!!! +## Make sure captioning is turned on + +--- +[//]: # (Outline Slide) +# Learning Goals for today + + +--- +# Some key things to know about Laser Cutting + +.left-column50[ +We're using a [Glowforge](https://glowforge.com/). +- It takes SVGs as input +- It can engrave, cut, etc +- We're providing plywood, 3mm thick [double check with calipers] +] + +.right-column50[ +Software options + +- Powerpoint: Can even [merge shapes](https://www.indezine.com/products/powerpoint/learn/shapes/2016/shape-union.html). Probably best for total beginners if you have it. +- [Adobe Illustrator](https://www.adobe.com/products/illustrator.html). Best for most tasks if you have it +- [AutoCAD](https://www.autodesk.com/products/autocad/overview?term=1-YEAR&tab=subscription) (free for students). Probably overkill +- [Inkscape](https://www.autodesk.com/products/autocad/overview?term=1-YEAR&tab=subscription) (free). Best free option +] + +--- +# What can you do? + +.left-column40[ + +] +.right-column60[ +Cutting: Makes a hole. +- Any line can be cut + +Scoring: Doesn't cut all the way through. +- Again, any line + +Engraving: Burns. Can do greyscale. +- Expand with fill +- Images. Make sure they're not too dark. +] + +--- +# Essential Measurements + +The amount of wood removed by the laser cutter as it burns through the wood. + +Should always test for each new type of wood and wood thickness + +[Instructable](https://www.instructables.com/How-to-Adjust-for-Wood-Thickness-and-Kerf-on-a-Las/) on how to do this + +Only an issue if you're making a box or something else that has to assemble + +Use calipers to measure! + +--- + +# Your process + +.left-column50[ +Measure thrice + +Make an svg + +Print it on paper + +Cut it out and check your measurements AGAIN +] +.right-column50[ +Decorate + +Save to SVG +- First "expand" (if needed) +- Include mm as units +- Include images +] + + +--- +# The End! + -- GitLab