Difference between revisions of "ElectiveMMM2016-1"

From DigitalCraft_Wiki
Jump to navigation Jump to search
Line 282: Line 282:
 
File:Artistbook Prada IMG 9647.jpg | [http://patricktresset.com/new/project/paul-a/ Paul-A by Patrick Tresset]
 
File:Artistbook Prada IMG 9647.jpg | [http://patricktresset.com/new/project/paul-a/ Paul-A by Patrick Tresset]
 
File:Generative5.jpg | [http://martijnkoomen.com/?p=25 Ant made by Martijn Koomen]
 
File:Generative5.jpg | [http://martijnkoomen.com/?p=25 Ant made by Martijn Koomen]
File:Pen_houding.jpg | [User:Hans.Schuttenbeld_Tools_of_the_Trade Hans Schuttenbeld]
+
File:Pen_houding.jpg | [[User:Hans.Schuttenbeld_Tools_of_the_Trade Hans Schuttenbeld]]
 
</gallery>
 
</gallery>

Revision as of 22:51, 30 November 2016

Schedule

Week Date Group Time Location Subject
1 17 Nov 2016 1 8:30 - 10:10 Prototyping space Intro & 3D Printing
1 17 Nov 2016 2 10:30 - 12:10 Prototyping space Intro & 3D Printing
2 24 Nov 2016 1 & 2 8:30 - 12:10 (Teacher presence between 9:30 - 12:00) Prototyping space Work on assignment 1
3 1 Dec 2016 1 9:30 - 11:00 Prototyping space The Plotter
3 1 Dec 2016 2 11:00 - 12:30 Prototyping space The Plotter
4 8 Dec 2016 1 & 2 8:30 - 12:10 (Teacher presence between 9:30 - 12:00) Prototyping space Work on assignment 2
5 15 Dec 2016 1 9:30 - 11:00 Prototyping space Printing and Plotting
5 15 Dec 2016 2 11:00 - 12:30 Prototyping space Printing and Plotting
6 22 Dec 2016 1 & 2 8:30 - 12:10 (Teacher presence between 9:30 - 12:00) Prototyping space Work on assignment 3
7 12 Jan 2017 1 9:30 - 11:00 Prototyping space Human powered machine project
7 12 Jan 2017 2 11:00 - 12:30 Prototyping space Human powered machine project
8 19 Jan 2017 1 & 2 8:30 - 12:10 (Teacher presence between 9:30 - 12:00) Prototyping space Work Human powered machine project
9 26 Jan 2017 1 & 2 8:30 - 12:10 (Teacher presence between 9:30 - 12:00) Prototyping space Work on Human powered machine project
10 2 Feb 2017 1 9:30 - 11:00 Prototyping space Judgement day
10 2 Feb 2017 2 11:00 - 12:30 Prototyping space Judgement day

3D printing

3d-printing-fails-2.jpg

3D printing is a widely used additive manufacturing technique. In this block you learn about the different 3D printing techniques, the advantages and disadvantages. We will also look at the language used to control many 3D printing (and many other computer controlled machines). You will see this is actually a very simple technique, however making a good 3D print is not necessarily easy. As for all techniques, experimenting is key in learning how get the most out of 3D printing

Techniques

Fused Deposition Modeling (FDM)

FDM is, due to the consumer 3D printers of this type, the most widely known 3D printing technique. With FDM a layers of material are stacked on top of each other. In this way the object is build up layer by layer. This technique can be used with almost any material that can be extruded. This holds for most plastics when heated to just below the melting point. But also other materials like clay, chocolate, bee wax etc. can be used.

Stereo Litography (SLA)

SLA uses a UV laser to harden a special resin at specific points. The 3D object, in a way, grows out of the resin.

Selective Laser Sintering (SLS)

Laser sintering uses a laser to melt/sinter particles together. This technique can be used to print in metals.

Powder bed and inkjet 3D printing (binder-jetting)

Inkjet 3D printing is a technique very similar to SLS where a laser melts small particles of material together. With inkjet 3D printing a binder is used instead of a laser. The material can be metal particles but also some type of plaster. The printer uses standard inkjet printing cardridges for printing in full colour. After printing the part is very brittle and usually needs to be impregnated with a solidifying material like epoxy or cyanoacrylate.

3D Modeling

To use a 3D printer you'll need a 3D model to print. For this you can use almost any 3D program. Choose the one you are most familiar with and see if it can export STL, OBJ, DAE or AMF files. If you just get started with 3D modeling starting with Sketchup or Tinkercad is a good starting point. Other, more advanced programs like Solidworks, Inventor, Maya, Blender, Rhino etc. can of course be used as well.

If you don't want to go into 3D modeling yourself there are also places where you can download 3D models. The two most widely known are:

Slicing

After you have your 3D model you will need to prepare it for printing. This means you need to slice the model into very thin slice. You can imagine this as slicing a cucumber in very thin slices of e.g. 0.1mm thick, and stack each slice back on top of each other somewhere else. The 3D printers we have at the WdKA are Ultimakers. The program to slice and print your 3D model with these Ultimakers is Cura. You can download this program for OSX, Windows and Linux here: https://ultimaker.com/en/products/cura-software

The Cura program also has the option to save the output of the slicer to a file. This file is called a GCode file or sometimes and nc file. This file contains a list of all the steps the 3D printer is going to do in order to print the model. You can open this gcode file in any text editor and have a look and even change it. This may sometimes be necessary if, for example, you have a very complex print. It may be needed that at some point the print speed needs to go down or the temperature up. This can not be done directly from within the Cura program (without using a plugin) but by adding the appropriate gcode at the right place you can make this work.

GCode

From Wikipedia on G-Code:

G-code (also RS-274), which has many variants, is the common name for the most widely used numerical control (NC) programming language. It is used mainly in computer-aided manufacturing to control automated machine tools. G-code is sometimes called G programming language, not to be confused with LabVIEW's G programming language.

G-code is a language in which people tell computerized machine tools how to make something. The "how" is defined by instructions on where to move, how fast to move, and what path to move. The most common situation is that, within a machine tool, a cutting tool is moved according to these instructions through a toolpath and cuts away material to leave only the finished workpiece. The same concept also extends to noncutting tools such as forming or burnishing tools, photoplotting, additive methods such as 3D printing, and measuring instruments.

Simply put, G-Code is the language that tells the machine what to do, which movements to make, when to deposit material, when to stop etc. etc.. For example, a simple G-Code line that tells the machine to move to position X:10mm, Y:10mm could be:

G1 X10 Y10

Here the code G1 is the code for move to. To draw a square with the 3D printer would require four such movements. Assuming we start from location X0 Y0 Z0 and want to draw a square of 10 by 10 mm:

G1 X0 Y10
G1 X10 Y10
G1 X10 Y0
G1 X0 Y0

For a list of G-Code commands an Ultimaker 3D printer understands (or a printer running Marlin) see: https://github.com/ErikZalm/Marlin/blob/Stable/Marlin/Marlin_main.cpp Scrolling down will reveal the G-Code list.

An easy way to manually control your printer and send G-Codes by hand is Pronterface/Printrun: http://www.pronterface.com



Plotting

Mugplotter.jpg

The cut or pen plotter is a fun and easy machine to work with. It either cuts out material with a small knife or it draws with a stylus. In many ways it is pretty much like a 3D printer without the Z-axis (height). It can lift up and down the knife or stylus of course. Some plotters can also adjust how hard the blade or stylus pushes onto the surface.

Talking to your plotter (HPGL)

You can of course use your standard software to plot or cut out things. But it gets a lot more fun when you actually can control what the plotter is doing. Many plotters talk a language that looks a lot like the GCode we saw for the 3D printer (and CNC mills etc.). The plotters we have a the WdKA you can use talk a language that is call HPGL. It was used mostly by HP plotters but became a standard for most plotters later on.

The language is very simple. Just like GCode you have a simple few letter command and some parameters. For example, to draw a straight line starting at the current position you would send the following text to the plotter:

PD 100,100;

PD stands for Pen DOWN. The two numbers are the X and Y coordinates on your paper.

If you would first want to move to position X100 and Y100 and want to draw a square afterwards you would send this:

PU 100,100;
PD 100, 200;
PD 200, 200;
PD 200, 100;
PD 100, 100;

PU of course stands for Pen UP.

HPGL has more commands that make drawing easier, like commands for drawing rectangles, circles and arcs. It also has commands for drawing text. Have a look at the reference: File:HPGL.pdf for all commands.

Connecting to the plotter to send commands

An easy way to connect to your plotter is using a terminal.

For OSX [Zterm
For Windows [putty]

It is also possible to use [Processing] or any other language you like to control the plotter.

Some examples using Processing to control the plotters you can find here:
https://github.com/mywdka/plotter_examples some examples showing basic HPGL commands
https://github.com/mywdka/mouserPlotter/tree/master using the mouse to plot on multiple plotters




Assignments

After each subject you need to conduct experiments with the technique / machine covered. These experiments are very valuable for learning to master the technique or machine. Most assignments ask you to find the boundaries of the machine or try something which it is not normally used for. Playing with extreme settings shows you what happens when a setting is not good and help you recognize and solve faults in your results. Try not to just change settings but think about what will happen and why. And remember too have fun with this, the results can be quite unexpected.

In the final assignment you will make a machine that makes but is human powered. A good example is the analog 3D printer by Daniel de Bruin. Of course there will be less time so the results are not expected to be this polished.

The weight of the assignments is as follows:

  • assignment 1: 3D Printing: 20%
  • assignment 2: Milling and Lasercutting: 20%
  • assignment 3: Printing and Plotting: 20%
  • final assignment: 40%

Remember to document your process! Make pictures, movies and keep as many results as possible, also (or especially) the failed ones



Assignment 1: 3D printing experiments

For this assignment you will need to experiment with a 3D printer/technique. You can 3D print in the Digital Lab or at the Interaction Station. At the interaction station you can find a yellow leaflet near the 3D printer information on how to get started. You can also download it here: File:Ultimakermanual.pdf. If you get stuck or need an extra kickstart, ask the digital lab or interaction station instructors.

Don't use an object too large, you will need to print it several times

  • Find or make a 3D object and print it using one of the conventional 3D printing techniques. Try to get the print as clean as possible. As the school only has FDM printers this will most likely be on an Ultimaker. ProtoSpace in Utrecht has a 3D systems inkjet printer and Fablabl Breda has a Formlabs SLA printer (ask Charlotte from the digital lab).
  • Print at least 3 other versions changing settings drastically. For example print a version with a temperature much higher than normal, or with a speed very low or high. Adjust settings on the fly and see what happens. Document your process!

Do one of the following (or both):

  • Adjust the G-Code of the object (e.g. make it stop somewhere so you can insert something into the object and continue again, or make the Z wobble). You may also make a G-Code yourself and try to print it. Remember to save the new G-Code!
  • Experiment with strange / weird models and what they do. For example, try a model with a lot of overhang, or long thin pillars etc. Have a look at the drooloop flowers on thingiverse: http://www.thingiverse.com/thing:240158

After this assignment you will have (at least) 5 printed objects and a lot of experience with 3D printing and what different settings do for the specific printing.



Assignment 2: Mimicking the plotter

For this assignment you are going to mimic the plotter with another machine. The mimicked plotter should at least be able to produce a drawn output. Preferably based on an some input.

You'll need to find something that is able to move a pen around and figure out a way to control this. Control is very broad and can be computer based, human or nature based.

Things you can think about:

  • an extension for the 3D printer so you can attaches a pen and draw based on a (1-layer) 3D model
  • toys
  • use a drone
  • use ropes, elastics, rods
  • use gravity

Document your process and results!

For inspiration: